![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <MSNet.h>
Data Structures | |
struct | TripItem |
Public Types | |
typedef IntermodalNetwork< E, L, N, V > | Network |
typedef double(* | Operation) (const E *const, const IntermodalTrip< E, N, V > *const, double) |
Type of the function that is used to retrieve the edge effort. More... | |
Public Member Functions | |
SUMOAbstractRouter< E, _IntermodalTrip > * | clone () |
bool | compute (const E *, const E *, const _IntermodalTrip *const, SUMOTime, std::vector< const E * > &, bool) |
Builds the route between the given edges using the minimum effort at the given time The definition of the effort depends on the wished routing scheme. More... | |
bool | compute (const E *from, const E *to, const double departPos, const double arrivalPos, const std::string stopID, const double speed, const V *const vehicle, const SVCPermissions modeSet, const SUMOTime msTime, std::vector< TripItem > &into, const double externalFactor=0.) |
Builds the route between the given edges using the minimum effort at the given time The definition of the effort depends on the wished routing scheme. More... | |
bool | computeLooped (const E *from, const E *to, const IntermodalTrip< E, N, V > *const vehicle, SUMOTime msTime, std::vector< const E * > &into, bool silent=false) |
Builds the route between the given edges using the minimum effort at the given time if from == to, return the shortest looped route. More... | |
void | endQuery (int visits) |
double | getEffort (const E *const e, const IntermodalTrip< E, N, V > *const v, double t) const |
EffortCalculator * | getExternalEffort () const |
Network * | getNetwork () const |
double | getTravelTime (const E *const e, const IntermodalTrip< E, N, V > *const v, const double t, const double effort) const |
IntermodalRouter (CreateNetCallback callback, const int carWalkTransfer, const std::string &routingAlgorithm, const int routingMode=0, EffortCalculator *calc=nullptr) | |
Constructor. More... | |
virtual bool | isProhibited (const E *const, const IntermodalTrip< E, N, V > *const) const |
void | prohibit (const std::vector< E * > &toProhibit) |
double | recomputeCosts (const std::vector< const E * > &edges, const IntermodalTrip< E, N, V > *const v, SUMOTime msTime, double *lengthp=nullptr) const |
void | setBulkMode (const bool mode) |
void | startQuery () |
void | updateViaCost (const E *const prev, const E *const e, const IntermodalTrip< E, N, V > *const v, double &time, double &effort, double &length) const |
void | updateViaEdgeCost (const E *viaEdge, const IntermodalTrip< E, N, V > *const v, double &time, double &effort, double &length) const |
void | writeNetwork (OutputDevice &dev) |
void | writeWeights (OutputDevice &dev) |
virtual | ~IntermodalRouter () |
Destructor. More... | |
Protected Attributes | |
bool | myBulkMode |
whether we are currently operating several route queries in a bulk More... | |
MsgHandler *const | myErrorMsgHandler |
the handler for routing errors More... | |
Operation | myOperation |
The object's operation to perform. More... | |
Operation | myTTOperation |
The object's operation to perform for travel times. More... | |
Private Types | |
typedef IntermodalEdge< E, L, N, V > | _IntermodalEdge |
typedef IntermodalTrip< E, N, V > | _IntermodalTrip |
typedef AStarRouter< _IntermodalEdge, _IntermodalTrip, _InternalRouter > | _InternalAStar |
typedef DijkstraRouter< _IntermodalEdge, _IntermodalTrip, _InternalRouter > | _InternalDijkstra |
typedef SUMOAbstractRouterPermissions< _IntermodalEdge, _IntermodalTrip > | _InternalRouter |
typedef void(* | CreateNetCallback) (IntermodalRouter< E, L, N, V > &) |
Private Member Functions | |
void | createNet () |
IntermodalRouter (Network *net, const int carWalkTransfer, const std::string &routingAlgorithm, const int routingMode, EffortCalculator *calc) | |
IntermodalRouter & | operator= (const IntermodalRouter &s) |
Invalidated assignment operator. More... | |
Static Private Member Functions | |
static double | getCombined (const _IntermodalEdge *const edge, const _IntermodalTrip *const trip, double time) |
static double | getEffortAggregated (const _IntermodalEdge *const edge, const _IntermodalTrip *const trip, double time) |
Private Attributes | |
const bool | myAmClone |
CreateNetCallback | myCallback |
const int | myCarWalkTransfer |
EffortCalculator *const | myExternalEffort |
Network * | myIntermodalNet |
_InternalRouter * | myInternalRouter |
long long int | myNumQueries |
long long int | myQueryStartTime |
the time spent querying in milliseconds More... | |
long long int | myQueryTimeSum |
long long int | myQueryVisits |
counters for performance logging More... | |
const std::string | myRoutingAlgorithm |
const int | myRoutingMode |
const std::string | myType |
the type of this router More... | |
The router for pedestrians (on a bidirectional network of sidewalks and crossings)
|
private |
Definition at line 61 of file IntermodalRouter.h.
|
private |
Definition at line 62 of file IntermodalRouter.h.
|
private |
Definition at line 65 of file IntermodalRouter.h.
|
private |
Definition at line 64 of file IntermodalRouter.h.
|
private |
Definition at line 63 of file IntermodalRouter.h.
|
private |
Definition at line 60 of file IntermodalRouter.h.
typedef IntermodalNetwork<E, L, N, V> IntermodalRouter< E, L, N, V >::Network |
Definition at line 57 of file IntermodalRouter.h.
|
inherited |
Type of the function that is used to retrieve the edge effort.
Definition at line 94 of file SUMOAbstractRouter.h.
|
inline |
Constructor.
Definition at line 86 of file IntermodalRouter.h.
|
inlinevirtual |
Destructor.
Definition at line 95 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myAmClone, IntermodalRouter< E, L, N, V >::myIntermodalNet, and IntermodalRouter< E, L, N, V >::myInternalRouter.
|
inlineprivate |
Definition at line 244 of file IntermodalRouter.h.
|
inlinevirtual |
Implements SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >.
Definition at line 102 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::createNet(), IntermodalRouter< E, L, N, V >::myCarWalkTransfer, IntermodalRouter< E, L, N, V >::myExternalEffort, IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myRoutingAlgorithm, and IntermodalRouter< E, L, N, V >::myRoutingMode.
|
inlinevirtual |
Builds the route between the given edges using the minimum effort at the given time The definition of the effort depends on the wished routing scheme.
Implements SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >.
Definition at line 195 of file IntermodalRouter.h.
|
inline |
Builds the route between the given edges using the minimum effort at the given time The definition of the effort depends on the wished routing scheme.
Definition at line 109 of file IntermodalRouter.h.
References IntermodalTrip< E, N, V >::arrivalPos, SUMOAbstractRouter< E, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalTrip< E, N, V >::departPos, IntermodalNetwork< E, L, N, V >::getArrivalEdge(), IntermodalNetwork< E, L, N, V >::getDepartEdge(), SUMOAbstractRouter< E, V >::getEffort(), Named::getID(), IntermodalNetwork< E, L, N, V >::getStopEdge(), getVehicleClassNames(), IntermodalRouter< E, L, N, V >::myExternalEffort, IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myInternalRouter, EffortCalculator::output(), STEPS2TIME, TIME2STEPS, toString(), and SUMOAbstractRouter< E, V >::updateViaCost().
Referenced by libsumo::Simulation::findIntermodalRoute(), and MSTransportable::Stage_Trip::setArrived().
|
inlineinherited |
Builds the route between the given edges using the minimum effort at the given time if from == to, return the shortest looped route.
Definition at line 125 of file SUMOAbstractRouter.h.
|
inlineprivate |
Definition at line 259 of file IntermodalRouter.h.
References IntermodalNetwork< E, L, N, V >::addCarEdges(), IntermodalNetwork< E, L, N, V >::getAllEdges(), IntermodalRouter< E, L, N, V >::getCombined(), IntermodalRouter< E, L, N, V >::getEffortAggregated(), IntermodalEdge< E, L, N, V >::getEffortStatic(), IntermodalEdge< E, L, N, V >::getTravelTimeStatic(), IntermodalEdge< E, L, N, V >::getTravelTimeStaticRandomized(), gWeightsRandomFactor, EffortCalculator::init(), IntermodalRouter< E, L, N, V >::myCallback, IntermodalRouter< E, L, N, V >::myCarWalkTransfer, IntermodalRouter< E, L, N, V >::myExternalEffort, IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myInternalRouter, IntermodalRouter< E, L, N, V >::myRoutingAlgorithm, and IntermodalRouter< E, L, N, V >::myRoutingMode.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::prohibit(), IntermodalRouter< E, L, N, V >::writeNetwork(), and IntermodalRouter< E, L, N, V >::writeWeights().
|
inlineinherited |
Definition at line 219 of file SUMOAbstractRouter.h.
|
inlinestaticprivate |
Definition at line 255 of file IntermodalRouter.h.
References IntermodalTrip< E, N, V >::calc, IntermodalTrip< E, N, V >::externalFactor, EffortCalculator::getEffort(), IntermodalEdge< E, L, N, V >::getNumericalID(), and IntermodalEdge< E, L, N, V >::getTravelTime().
Referenced by IntermodalRouter< E, L, N, V >::createNet().
|
inlineinherited |
Definition at line 210 of file SUMOAbstractRouter.h.
|
inlinestaticprivate |
Definition at line 251 of file IntermodalRouter.h.
References IntermodalEdge< E, L, N, V >::getEffort(), and IntermodalEdge< E, L, N, V >::hasEffort().
Referenced by IntermodalRouter< E, L, N, V >::createNet().
|
inline |
Definition at line 239 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myExternalEffort.
Referenced by MSNet::adaptIntermodalRouter().
|
inline |
Definition at line 235 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::myIntermodalNet.
Referenced by MSInsertionControl::adaptIntermodalRouter(), RONet::adaptIntermodalRouter(), MSVehicleControl::adaptIntermodalRouter(), and MSNet::adaptIntermodalRouter().
|
inlineinherited |
Definition at line 159 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
Definition at line 154 of file SUMOAbstractRouter.h.
|
private |
Invalidated assignment operator.
|
inline |
Definition at line 200 of file IntermodalRouter.h.
References IntermodalRouter< E, L, N, V >::createNet(), IntermodalNetwork< E, L, N, V >::getBothDirections(), IntermodalNetwork< E, L, N, V >::getCarEdge(), IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myInternalRouter, and SUMOAbstractRouterPermissions< E, V >::prohibit().
|
inlineinherited |
Definition at line 189 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 224 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 214 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 173 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 163 of file SUMOAbstractRouter.h.
|
inline |
Definition at line 211 of file IntermodalRouter.h.
References OutputDevice::closeTag(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalNetwork< E, L, N, V >::getAllEdges(), IntermodalRouter< E, L, N, V >::myIntermodalNet, OutputDevice::openTag(), SUMO_ATTR_ID, SUMO_ATTR_LENGTH, SUMO_ATTR_LINE, SUMO_TAG_EDGE, SVC_IGNORING, toString(), and OutputDevice::writeAttr().
Referenced by RONet::writeIntermodal().
|
inline |
Definition at line 223 of file IntermodalRouter.h.
References OutputDevice::closeTag(), IntermodalRouter< E, L, N, V >::createNet(), DEFAULT_PEDESTRIAN_SPEED, IntermodalNetwork< E, L, N, V >::getAllEdges(), IntermodalRouter< E, L, N, V >::myIntermodalNet, OutputDevice::openTag(), SUMO_ATTR_ID, SUMO_TAG_EDGE, SVC_BICYCLE, SVC_BUS, SVC_PASSENGER, and OutputDevice::writeAttr().
Referenced by RONet::writeIntermodal().
|
private |
Definition at line 295 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::~IntermodalRouter().
|
protectedinherited |
whether we are currently operating several route queries in a bulk
Definition at line 239 of file SUMOAbstractRouter.h.
|
private |
Definition at line 298 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 299 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
protectedinherited |
the handler for routing errors
Definition at line 230 of file SUMOAbstractRouter.h.
|
private |
Definition at line 302 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), and IntermodalRouter< E, L, N, V >::getExternalEffort().
|
private |
Definition at line 297 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalRouter< E, L, N, V >::getNetwork(), IntermodalRouter< E, L, N, V >::prohibit(), IntermodalRouter< E, L, N, V >::writeNetwork(), IntermodalRouter< E, L, N, V >::writeWeights(), and IntermodalRouter< E, L, N, V >::~IntermodalRouter().
|
private |
Definition at line 296 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::compute(), IntermodalRouter< E, L, N, V >::createNet(), IntermodalRouter< E, L, N, V >::prohibit(), and IntermodalRouter< E, L, N, V >::~IntermodalRouter().
|
privateinherited |
Definition at line 247 of file SUMOAbstractRouter.h.
|
protectedinherited |
The object's operation to perform.
Definition at line 233 of file SUMOAbstractRouter.h.
|
privateinherited |
the time spent querying in milliseconds
Definition at line 249 of file SUMOAbstractRouter.h.
|
privateinherited |
Definition at line 250 of file SUMOAbstractRouter.h.
|
privateinherited |
counters for performance logging
Definition at line 246 of file SUMOAbstractRouter.h.
|
private |
Definition at line 300 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 301 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
protectedinherited |
The object's operation to perform for travel times.
Definition at line 236 of file SUMOAbstractRouter.h.
|
privateinherited |
the type of this router
Definition at line 243 of file SUMOAbstractRouter.h.