@Override
public RoutingModule get() {
final TravelTime travelTime = new TravelTime(){
@Override public double getLinkTravelTime(Link link, double time, Person person, Vehicle vehicle) {
return link.getLength() / Math.min( link.getFreespeed(time) , params.getTeleportedModeFreespeedLimit() ) ;
}
} ;
TravelDisutility travelDisutility = new TravelDisutility(){
@Override public double getLinkTravelDisutility(Link link, double time, Person person, Vehicle vehicle) {
return travelTime.getLinkTravelTime(link, time, person, vehicle) ;
}
@Override public double getLinkMinimumTravelDisutility(Link link) {
return link.getLength() / Math.min( link.getFreespeed() , params.getTeleportedModeFreespeedLimit() ) ;
}
} ;
Gbl.assertNotNull(leastCostPathCalculatorFactory);
LeastCostPathCalculator routeAlgoPtFreeFlow = leastCostPathCalculatorFactory.createPathCalculator(
network, travelDisutility, travelTime);
return DefaultRoutingModules.createPseudoTransitRouter(params.getMode(), populationFactory,
network, routeAlgoPtFreeFlow, params);
}
}