![]() |
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 *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 | compute (const E *, const E *, const _IntermodalTrip *const, SUMOTime, std::vector< const E *> &) |
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... | |
void | endQuery (int visits) |
double | getEffort (const E *const e, const IntermodalTrip< E, N, V > *const v, double t) 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) 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 | 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... | |
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 |
const std::string | myRoutingAlgorithm |
const int | myRoutingMode |
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 96 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 227 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.
|
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(), IntermodalNetwork< E, L, N, V >::getStopEdge(), IntermodalRouter< E, L, N, V >::TripItem::length, IntermodalRouter< E, L, N, V >::myExternalEffort, IntermodalRouter< E, L, N, V >::myIntermodalNet, IntermodalRouter< E, L, N, V >::myInternalRouter, STEPS2TIME, TIME2STEPS, toString(), IntermodalRouter< E, L, N, V >::TripItem::TripItem(), and SUMOAbstractRouter< E, V >::updateViaCost().
Referenced by libsumo::Simulation::findIntermodalRoute(), and MSTransportable::Stage_Trip::setArrived().
|
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 182 of file IntermodalRouter.h.
|
inlineprivate |
Definition at line 241 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(), 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 180 of file SUMOAbstractRouter.h.
References SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::myQueryStartTime, SUMOAbstractRouter< E, V >::myQueryTimeSum, and SUMOAbstractRouter< E, V >::myQueryVisits.
|
inlinestaticprivate |
Definition at line 237 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 171 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myOperation.
|
inlinestaticprivate |
Definition at line 233 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 222 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 128 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::EdgeInfo::effort, and SUMOAbstractRouter< E, V >::myTTOperation.
|
inlinevirtualinherited |
Definition at line 124 of file SUMOAbstractRouter.h.
|
private |
Invalidated assignment operator.
|
inline |
Definition at line 187 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 155 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::EdgeInfo::effort, SUMOAbstractRouter< E, V >::isProhibited(), SUMOAbstractRouter< E, V >::EdgeInfo::prev, STEPS2TIME, and SUMOAbstractRouter< E, V >::updateViaCost().
|
inlineinherited |
Definition at line 185 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myBulkMode.
|
inlineinherited |
Definition at line 175 of file SUMOAbstractRouter.h.
References SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::myNumQueries, and SUMOAbstractRouter< E, V >::myQueryStartTime.
|
inlineinherited |
Definition at line 132 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::getEffort(), and SUMOAbstractRouter< E, V >::getTravelTime().
|
inline |
Definition at line 198 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 210 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 275 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 197 of file SUMOAbstractRouter.h.
|
private |
Definition at line 278 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 279 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 282 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), IntermodalRouter< E, L, N, V >::compute(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 277 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 276 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().
|
protectedinherited |
The object's operation to perform.
Definition at line 191 of file SUMOAbstractRouter.h.
|
private |
Definition at line 280 of file IntermodalRouter.h.
Referenced by IntermodalRouter< E, L, N, V >::clone(), and IntermodalRouter< E, L, N, V >::createNet().
|
private |
Definition at line 281 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 194 of file SUMOAbstractRouter.h.