Eclipse SUMO - Simulation of Urban MObility
RailwayRouter< E, V > Class Template Reference

#include <RailwayRouter.h>

Inheritance diagram for RailwayRouter< E, V >:
[legend]
Collaboration diagram for RailwayRouter< E, V >:
[legend]

Public Types

typedef double(* Operation) (const E *const, const V *const, double)
 Type of the function that is used to retrieve the edge effort. More...
 

Public Member Functions

void buildPathFrom (const typename SUMOAbstractRouter< E, V >::EdgeInfo *rbegin, std::vector< const E * > &edges)
 Builds the path from marked edges. More...
 
SUMOAbstractRouter< E, V > * clone ()
 
bool compute (const E *from, const E *to, const 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 The definition of the effort depends on the wished routing scheme. More...
 
bool compute (const E *from, double fromPos, const E *to, double toPos, const 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, also taking into account position along the edges to ensure currect handling of looped routes The definition of the effort depends on the wished routing scheme. More...
 
bool computeLooped (const E *from, const E *to, const 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)
 
const SUMOAbstractRouter< E, V >::EdgeInfogetEdgeInfo (int index) const
 
double getEffort (const E *const e, const V *const v, double t) const
 
double getTravelTime (const E *const e, const V *const v, const double t, const double effort) const
 
const std::string & getType () const
 
void init (const int edgeID, const SUMOTime msTime)
 
bool isProhibited (const E *const edge, const V *const vehicle) const
 
bool isValid (const std::vector< const E * > &edges, const V *const v) const
 
void prohibit (const std::vector< E * > &toProhibit)
 
 RailwayRouter (const std::vector< E * > &edges, bool unbuildIsWarning, typename SUMOAbstractRouter< E, V >::Operation effortOperation, typename SUMOAbstractRouter< E, V >::Operation ttOperation=nullptr, bool silent=false, const bool havePermissions=false, const bool haveRestrictions=false, double maxTrainLength=5000)
 Constructor. More...
 
double recomputeCosts (const std::vector< const E * > &edges, const V *const v, SUMOTime msTime, double *lengthp=nullptr) const
 
double recomputeCostsPos (const std::vector< const E * > &edges, const V *const v, double fromPos, double toPos, SUMOTime msTime, double *lengthp=nullptr) const
 
virtual void reset (const V *const vehicle)
 reset internal caches, used by CHRouter More...
 
void setAutoBulkMode (const bool mode)
 
virtual void setBulkMode (const bool mode)
 
double setHint (const typename std::vector< const E * >::const_iterator routeBegin, const typename std::vector< const E * >::const_iterator routeEnd, const V *const v, SUMOTime msTime)
 
void startQuery ()
 
void updateViaCost (const E *const prev, const E *const e, const V *const v, double &time, double &effort, double &length) const
 
void updateViaEdgeCost (const E *viaEdge, const V *const v, double &time, double &effort, double &length) const
 
virtual ~RailwayRouter ()
 Destructor. More...
 

Protected Attributes

bool myAmClean
 whether we are already initialized More...
 
bool myAutoBulkMode
 whether we are currently trying to detect bulk mode automatically More...
 
bool myBulkMode
 whether we are currently operating several route queries in a bulk More...
 
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfomyEdgeInfos
 The container of edge information. More...
 
MsgHandler *const myErrorMsgHandler
 the handler for routing errors More...
 
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > myFound
 list of visited Edges (for resetting) More...
 
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > myFrontierList
 A container for reusage of the min edge heap. More...
 
const bool myHavePermissions
 whether edge permissions need to be considered More...
 
const bool myHaveRestrictions
 whether edge restrictions need to be considered More...
 
Operation myOperation
 The object's operation to perform. More...
 
std::vector< E * > myProhibited
 The list of explicitly prohibited edges. More...
 
Operation myTTOperation
 The object's operation to perform for travel times. More...
 

Private Types

typedef DijkstraRouter< _RailEdge, V > _InternalDijkstra
 
typedef SUMOAbstractRouter< _RailEdge, V > _InternalRouter
 
typedef RailEdge< E, V > _RailEdge
 

Private Member Functions

bool _compute (const E *from, const E *to, const V *const vehicle, SUMOTime msTime, std::vector< const E * > &into, bool silent, bool avoidUnsafeBackTracking)
 
void ensureInternalRouter ()
 
const std::vector< _RailEdge * > & getRailEdges ()
 
RailwayRouteroperator= (const RailwayRouter &s)
 Invalidated assignment operator. More...
 
 RailwayRouter (RailwayRouter *other)
 

Static Private Member Functions

static const E * getStraightPredecessor (const E *edge, std::vector< const E * > &prevRoute, int backIndex)
 
static double getTravelTimeStatic (const RailEdge< E, V > *const edge, const V *const veh, double time)
 

Private Attributes

std::vector< _RailEdge * > myInitialEdges
 a RailEdge for every existing edge, filled on construction (but not in clones) More...
 
_InternalRoutermyInternalRouter
 
const double myMaxTrainLength
 
long long int myNumQueries
 
RailwayRouter< E, V > *const myOriginal
 
long long int myQueryStartTime
 the time spent querying in milliseconds More...
 
long long int myQueryTimeSum
 
long long int myQueryVisits
 counters for performance logging More...
 
std::vector< _RailEdge * > myRailEdges
 complete rail network filled on demand (but not in clones) More...
 
const bool mySilent
 whether to suppress warning/error if no route was found More...
 
const std::string myType
 the type of this router More...
 

Static Private Attributes

static double myReversalPenalty
 
static double myReversalPenaltyFactor
 
static SUMOAbstractRouter< E, V >::Operation myStaticOperation
 The object's operation to perform. (hack) More...
 

Detailed Description

template<class E, class V>
class RailwayRouter< E, V >

The router for rail vehicles for track networks where some sections may be used in both directions and trains may reverse depending on location and train length

Example (assume each track section is 100m long) running from left to right and a negative sign indicates reverse direction

  A     C      D

.______.______.______. ._____/ B

Consider a train of 200m length that enters on B and must move to A (with a reversal): The necessary route is B C D -D -C -A were D,-D are needed for the train to fully pass the switch

We shadow the normal edge graph with a railEdge graph to include virtual turnarounds that look at the train length. The graph extension takes place via RailEdge::init() For edge C we create a virtual turnaround (as successor of C) that connectes C with -C and is then expanded to C D -D -C for trains longer than 100m. The expension takes place via RailEdge::insertOriginalEdges()

Definition at line 67 of file RailwayRouter.h.

Member Typedef Documentation

◆ _InternalDijkstra

template<class E , class V >
typedef DijkstraRouter<_RailEdge, V> RailwayRouter< E, V >::_InternalDijkstra
private

Definition at line 74 of file RailwayRouter.h.

◆ _InternalRouter

template<class E , class V >
typedef SUMOAbstractRouter<_RailEdge, V> RailwayRouter< E, V >::_InternalRouter
private

Definition at line 73 of file RailwayRouter.h.

◆ _RailEdge

template<class E , class V >
typedef RailEdge<E, V> RailwayRouter< E, V >::_RailEdge
private

Definition at line 72 of file RailwayRouter.h.

◆ Operation

template<class E , class V >
typedef double(* SUMOAbstractRouter< E, V >::Operation) (const E *const, const V *const, double)
inherited

Type of the function that is used to retrieve the edge effort.

Definition at line 92 of file SUMOAbstractRouter.h.

Constructor & Destructor Documentation

◆ RailwayRouter() [1/2]

template<class E , class V >
RailwayRouter< E, V >::RailwayRouter ( const std::vector< E * > &  edges,
bool  unbuildIsWarning,
typename SUMOAbstractRouter< E, V >::Operation  effortOperation,
typename SUMOAbstractRouter< E, V >::Operation  ttOperation = nullptr,
bool  silent = false,
const bool  havePermissions = false,
const bool  haveRestrictions = false,
double  maxTrainLength = 5000 
)
inline

Constructor.

Definition at line 79 of file RailwayRouter.h.

References RailwayRouter< E, V >::myInitialEdges, and RailwayRouter< E, V >::myStaticOperation.

◆ ~RailwayRouter()

template<class E , class V >
virtual RailwayRouter< E, V >::~RailwayRouter ( )
inlinevirtual

Destructor.

Definition at line 92 of file RailwayRouter.h.

References RailwayRouter< E, V >::myInternalRouter.

◆ RailwayRouter() [2/2]

template<class E , class V >
RailwayRouter< E, V >::RailwayRouter ( RailwayRouter< E, V > *  other)
inlineprivate

Definition at line 153 of file RailwayRouter.h.

Member Function Documentation

◆ _compute()

template<class E , class V >
bool RailwayRouter< E, V >::_compute ( const E *  from,
const E *  to,
const V *const  vehicle,
SUMOTime  msTime,
std::vector< const E * > &  into,
bool  silent,
bool  avoidUnsafeBackTracking 
)
inlineprivate

Definition at line 168 of file RailwayRouter.h.

References SUMOAbstractRouter< E, V >::compute(), RailwayRouter< E, V >::getStraightPredecessor(), MIN2(), RailwayRouter< E, V >::myInternalRouter, SUMOAbstractRouter< E, V >::myProhibited, time2string(), toString(), and WRITE_WARNING.

Referenced by RailwayRouter< E, V >::compute().

Here is the caller graph for this function:

◆ buildPathFrom()

template<class E , class V >
void SUMOAbstractRouter< E, V >::buildPathFrom ( const typename SUMOAbstractRouter< E, V >::EdgeInfo rbegin,
std::vector< const E * > &  edges 
)
inlineinherited

Builds the path from marked edges.

Definition at line 364 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::EdgeInfo::edge, and SUMOAbstractRouter< E, V >::EdgeInfo::prev.

Referenced by AStarRouter< E, V >::compute(), and DijkstraRouter< E, V >::compute().

Here is the caller graph for this function:

◆ clone()

template<class E , class V >
SUMOAbstractRouter<E, V>* RailwayRouter< E, V >::clone ( )
inlinevirtual

Implements SUMOAbstractRouter< E, V >.

Definition at line 96 of file RailwayRouter.h.

◆ compute() [1/2]

template<class E , class V >
bool RailwayRouter< E, V >::compute ( const E *  from,
const E *  to,
const V *const  vehicle,
SUMOTime  msTime,
std::vector< const E * > &  into,
bool  silent = false 
)
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, V >.

Definition at line 102 of file RailwayRouter.h.

References RailwayRouter< E, V >::_compute(), RailwayRouter< E, V >::ensureInternalRouter(), RailwayRouter< E, V >::myMaxTrainLength, toString(), and WRITE_WARNINGF.

◆ compute() [2/2]

template<class E , class V >
bool SUMOAbstractRouter< E, V >::compute ( const E *  from,
double  fromPos,
const E *  to,
double  toPos,
const V *const  vehicle,
SUMOTime  msTime,
std::vector< const E * > &  into,
bool  silent = false 
)
inlineinherited

Builds the route between the given edges using the minimum effort at the given time, also taking into account position along the edges to ensure currect handling of looped routes The definition of the effort depends on the wished routing scheme.

Definition at line 183 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::computeLooped().

◆ computeLooped()

template<class E , class V >
bool SUMOAbstractRouter< E, V >::computeLooped ( const E *  from,
const E *  to,
const V *const  vehicle,
SUMOTime  msTime,
std::vector< const E * > &  into,
bool  silent = false 
)
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 198 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::compute(), MsgHandler::informf(), SUMOAbstractRouter< E, V >::myErrorMsgHandler, SUMOAbstractRouter< E, V >::recomputeCosts(), SVC_IGNORING, and TL.

Referenced by SUMOAbstractRouter< E, V >::compute(), and MSBaseVehicle::reroute().

Here is the caller graph for this function:

◆ endQuery()

template<class E , class V >
void SUMOAbstractRouter< E, V >::endQuery ( int  visits)
inlineinherited

Definition at line 339 of file SUMOAbstractRouter.h.

References SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::myQueryStartTime, SUMOAbstractRouter< E, V >::myQueryTimeSum, and SUMOAbstractRouter< E, V >::myQueryVisits.

Referenced by AStarRouter< E, V >::compute(), CHRouter< E, V >::compute(), and DijkstraRouter< E, V >::compute().

Here is the caller graph for this function:

◆ ensureInternalRouter()

template<class E , class V >
void RailwayRouter< E, V >::ensureInternalRouter ( )
inlineprivate

◆ getEdgeInfo()

template<class E , class V >
const SUMOAbstractRouter<E, V>::EdgeInfo& SUMOAbstractRouter< E, V >::getEdgeInfo ( int  index) const
inlineinherited

Definition at line 169 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myEdgeInfos.

◆ getEffort()

template<class E , class V >
double SUMOAbstractRouter< E, V >::getEffort ( const E *const  e,
const V *const  v,
double  t 
) const
inlineinherited

◆ getRailEdges()

template<class E , class V >
const std::vector<_RailEdge*>& RailwayRouter< E, V >::getRailEdges ( )
inlineprivate

Definition at line 255 of file RailwayRouter.h.

References RailwayRouter< E, V >::myInitialEdges, RailwayRouter< E, V >::myMaxTrainLength, RailwayRouter< E, V >::myOriginal, and RailwayRouter< E, V >::myRailEdges.

Referenced by RailwayRouter< E, V >::ensureInternalRouter().

Here is the caller graph for this function:

◆ getStraightPredecessor()

template<class E , class V >
static const E* RailwayRouter< E, V >::getStraightPredecessor ( const E *  edge,
std::vector< const E * > &  prevRoute,
int  backIndex 
)
inlinestaticprivate

Definition at line 303 of file RailwayRouter.h.

Referenced by RailwayRouter< E, V >::_compute().

Here is the caller graph for this function:

◆ getTravelTime()

template<class E , class V >
double SUMOAbstractRouter< E, V >::getTravelTime ( const E *const  e,
const V *const  v,
const double  t,
const double  effort 
) const
inlineinherited

Definition at line 231 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myTTOperation.

Referenced by AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::updateViaCost(), and SUMOAbstractRouter< E, V >::updateViaEdgeCost().

Here is the caller graph for this function:

◆ getTravelTimeStatic()

template<class E , class V >
static double RailwayRouter< E, V >::getTravelTimeStatic ( const RailEdge< E, V > *const  edge,
const V *const  veh,
double  time 
)
inlinestaticprivate

Definition at line 272 of file RailwayRouter.h.

References RailEdge< E, V >::getOriginal(), RailEdge< E, V >::insertOriginalEdges(), RailEdge< E, V >::isVirtual(), MAX2(), RailwayRouter< E, V >::myReversalPenalty, RailwayRouter< E, V >::myReversalPenaltyFactor, and RailwayRouter< E, V >::myStaticOperation.

Referenced by RailwayRouter< E, V >::ensureInternalRouter().

Here is the caller graph for this function:

◆ getType()

template<class E , class V >
const std::string& SUMOAbstractRouter< E, V >::getType ( ) const
inlineinherited

Definition at line 165 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myType.

◆ init()

template<class E , class V >
void SUMOAbstractRouter< E, V >::init ( const int  edgeID,
const SUMOTime  msTime 
)
inlineinherited

Definition at line 136 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myAmClean, SUMOAbstractRouter< E, V >::myEdgeInfos, SUMOAbstractRouter< E, V >::myFound, SUMOAbstractRouter< E, V >::myFrontierList, and STEPS2TIME.

Referenced by AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::setHint().

Here is the caller graph for this function:

◆ isProhibited()

template<class E , class V >
bool SUMOAbstractRouter< E, V >::isProhibited ( const E *const  edge,
const V *const  vehicle 
) const
inlineinherited

Definition at line 227 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myHavePermissions, and SUMOAbstractRouter< E, V >::myHaveRestrictions.

Referenced by SUMOAbstractRouter< E, V >::isValid(), and SUMOAbstractRouter< E, V >::setHint().

Here is the caller graph for this function:

◆ isValid()

template<class E , class V >
bool SUMOAbstractRouter< E, V >::isValid ( const std::vector< const E * > &  edges,
const V *const  v 
) const
inlineinherited

Definition at line 260 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::isProhibited().

Referenced by RORouteDef::addAlternative().

Here is the caller graph for this function:

◆ operator=()

template<class E , class V >
RailwayRouter& RailwayRouter< E, V >::operator= ( const RailwayRouter< E, V > &  s)
private

Invalidated assignment operator.

◆ prohibit()

template<class E , class V >
void RailwayRouter< E, V >::prohibit ( const std::vector< E * > &  toProhibit)
inlinevirtual

◆ recomputeCosts()

template<class E , class V >
double RailwayRouter< E, V >::recomputeCosts ( const std::vector< const E * > &  edges,
const V *const  v,
SUMOTime  msTime,
double *  lengthp = nullptr 
) const
inlinevirtual

◆ recomputeCostsPos()

template<class E , class V >
double SUMOAbstractRouter< E, V >::recomputeCostsPos ( const std::vector< const E * > &  edges,
const V *const  v,
double  fromPos,
double  toPos,
SUMOTime  msTime,
double *  lengthp = nullptr 
) const
inlineinherited

Definition at line 287 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::getEffort(), SUMOAbstractRouter< E, V >::recomputeCosts(), and STEPS2TIME.

Referenced by MSDispatch::computeDetourTime().

Here is the caller graph for this function:

◆ reset()

template<class E , class V >
virtual void SUMOAbstractRouter< E, V >::reset ( const V *const  vehicle)
inlinevirtualinherited

reset internal caches, used by CHRouter

Reimplemented in CHRouter< E, V >.

Definition at line 161 of file SUMOAbstractRouter.h.

References UNUSED_PARAMETER.

Referenced by computeRoutes(), and ROMAAssignments::incremental().

Here is the caller graph for this function:

◆ setAutoBulkMode()

template<class E , class V >
void SUMOAbstractRouter< E, V >::setAutoBulkMode ( const bool  mode)
inlineinherited

Definition at line 348 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myAutoBulkMode.

Referenced by LandmarkLookupTable< E, V >::LandmarkLookupTable().

Here is the caller graph for this function:

◆ setBulkMode()

template<class E , class V >
virtual void SUMOAbstractRouter< E, V >::setBulkMode ( const bool  mode)
inlinevirtualinherited

Reimplemented in IntermodalRouter< E, L, N, V >.

Definition at line 344 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::myBulkMode.

Referenced by ROMAAssignments::computePath(), MSDevice_StationFinder::findChargingStation(), ROMAAssignments::incremental(), and IntermodalRouter< E, L, N, V >::setBulkMode().

Here is the caller graph for this function:

◆ setHint()

template<class E , class V >
double SUMOAbstractRouter< E, V >::setHint ( const typename std::vector< const E * >::const_iterator  routeBegin,
const typename std::vector< const E * >::const_iterator  routeEnd,
const V *const  v,
SUMOTime  msTime 
)
inlineinherited

◆ startQuery()

template<class E , class V >
void SUMOAbstractRouter< E, V >::startQuery ( )
inlineinherited

Definition at line 334 of file SUMOAbstractRouter.h.

References SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::myNumQueries, and SUMOAbstractRouter< E, V >::myQueryStartTime.

Referenced by AStarRouter< E, V >::compute(), CHRouter< E, V >::compute(), and DijkstraRouter< E, V >::compute().

Here is the caller graph for this function:

◆ updateViaCost()

template<class E , class V >
void SUMOAbstractRouter< E, V >::updateViaCost ( const E *const  prev,
const E *const  e,
const V *const  v,
double &  time,
double &  effort,
double &  length 
) const
inlineinherited

Definition at line 245 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::getEffort(), SUMOAbstractRouter< E, V >::getTravelTime(), and SUMOAbstractRouter< E, V >::updateViaEdgeCost().

Referenced by IntermodalRouter< E, L, N, V >::compute(), RailwayRouter< E, V >::recomputeCosts(), SUMOAbstractRouter< E, V >::recomputeCosts(), and SUMOAbstractRouter< E, V >::setHint().

Here is the caller graph for this function:

◆ updateViaEdgeCost()

template<class E , class V >
void SUMOAbstractRouter< E, V >::updateViaEdgeCost ( const E *  viaEdge,
const V *const  v,
double &  time,
double &  effort,
double &  length 
) const
inlineinherited

Definition at line 235 of file SUMOAbstractRouter.h.

References SUMOAbstractRouter< E, V >::getEffort(), and SUMOAbstractRouter< E, V >::getTravelTime().

Referenced by AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::updateViaCost().

Here is the caller graph for this function:

Field Documentation

◆ myAmClean

template<class E , class V >
bool SUMOAbstractRouter< E, V >::myAmClean
protectedinherited

whether we are already initialized

Definition at line 390 of file SUMOAbstractRouter.h.

Referenced by AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::init().

◆ myAutoBulkMode

template<class E , class V >
bool SUMOAbstractRouter< E, V >::myAutoBulkMode
protectedinherited

whether we are currently trying to detect bulk mode automatically

Definition at line 387 of file SUMOAbstractRouter.h.

Referenced by DijkstraRouter< E, V >::clone(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::setAutoBulkMode().

◆ myBulkMode

template<class E , class V >
bool SUMOAbstractRouter< E, V >::myBulkMode
protectedinherited

whether we are currently operating several route queries in a bulk

Definition at line 384 of file SUMOAbstractRouter.h.

Referenced by AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::setBulkMode().

◆ myEdgeInfos

◆ myErrorMsgHandler

◆ myFound

template<class E , class V >
std::vector<typename SUMOAbstractRouter<E, V>::EdgeInfo*> SUMOAbstractRouter< E, V >::myFound
protectedinherited

◆ myFrontierList

template<class E , class V >
std::vector<typename SUMOAbstractRouter<E, V>::EdgeInfo*> SUMOAbstractRouter< E, V >::myFrontierList
protectedinherited

A container for reusage of the min edge heap.

Definition at line 405 of file SUMOAbstractRouter.h.

Referenced by AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::init().

◆ myHavePermissions

template<class E , class V >
const bool SUMOAbstractRouter< E, V >::myHavePermissions
protectedinherited

◆ myHaveRestrictions

template<class E , class V >
const bool SUMOAbstractRouter< E, V >::myHaveRestrictions
protectedinherited

◆ myInitialEdges

template<class E , class V >
std::vector<_RailEdge*> RailwayRouter< E, V >::myInitialEdges
private

a RailEdge for every existing edge, filled on construction (but not in clones)

Definition at line 329 of file RailwayRouter.h.

Referenced by RailwayRouter< E, V >::getRailEdges(), and RailwayRouter< E, V >::RailwayRouter().

◆ myInternalRouter

◆ myMaxTrainLength

template<class E , class V >
const double RailwayRouter< E, V >::myMaxTrainLength
private

◆ myNumQueries

template<class E , class V >
long long int SUMOAbstractRouter< E, V >::myNumQueries
privateinherited

◆ myOperation

template<class E , class V >
Operation SUMOAbstractRouter< E, V >::myOperation
protectedinherited

◆ myOriginal

template<class E , class V >
RailwayRouter<E, V>* const RailwayRouter< E, V >::myOriginal
private

Definition at line 327 of file RailwayRouter.h.

Referenced by RailwayRouter< E, V >::getRailEdges().

◆ myProhibited

template<class E , class V >
std::vector<E*> SUMOAbstractRouter< E, V >::myProhibited
protectedinherited

The list of explicitly prohibited edges.

Definition at line 399 of file SUMOAbstractRouter.h.

Referenced by RailwayRouter< E, V >::_compute(), RailwayRouter< E, V >::prohibit(), and SUMOAbstractRouter< E, V >::prohibit().

◆ myQueryStartTime

template<class E , class V >
long long int SUMOAbstractRouter< E, V >::myQueryStartTime
privateinherited

the time spent querying in milliseconds

Definition at line 417 of file SUMOAbstractRouter.h.

Referenced by SUMOAbstractRouter< E, V >::endQuery(), and SUMOAbstractRouter< E, V >::startQuery().

◆ myQueryTimeSum

template<class E , class V >
long long int SUMOAbstractRouter< E, V >::myQueryTimeSum
privateinherited

◆ myQueryVisits

template<class E , class V >
long long int SUMOAbstractRouter< E, V >::myQueryVisits
privateinherited

counters for performance logging

Definition at line 414 of file SUMOAbstractRouter.h.

Referenced by SUMOAbstractRouter< E, V >::endQuery(), and SUMOAbstractRouter< E, V >::~SUMOAbstractRouter().

◆ myRailEdges

template<class E , class V >
std::vector<_RailEdge*> RailwayRouter< E, V >::myRailEdges
private

complete rail network filled on demand (but not in clones)

Definition at line 331 of file RailwayRouter.h.

Referenced by RailwayRouter< E, V >::getRailEdges().

◆ myReversalPenalty

template<class E , class V >
double RailwayRouter< E, V >::myReversalPenalty
staticprivate

Definition at line 346 of file RailwayRouter.h.

Referenced by RailwayRouter< E, V >::getTravelTimeStatic().

◆ myReversalPenaltyFactor

template<class E , class V >
double RailwayRouter< E, V >::myReversalPenaltyFactor
staticprivate

Definition at line 347 of file RailwayRouter.h.

Referenced by RailwayRouter< E, V >::getTravelTimeStatic().

◆ mySilent

template<class E , class V >
const bool RailwayRouter< E, V >::mySilent
private

whether to suppress warning/error if no route was found

Definition at line 334 of file RailwayRouter.h.

Referenced by RailwayRouter< E, V >::ensureInternalRouter().

◆ myStaticOperation

template<class E , class V >
SUMOAbstractRouter< E, V >::Operation RailwayRouter< E, V >::myStaticOperation
staticprivate

The object's operation to perform. (hack)

Definition at line 344 of file RailwayRouter.h.

Referenced by RailwayRouter< E, V >::getTravelTimeStatic(), and RailwayRouter< E, V >::RailwayRouter().

◆ myTTOperation

template<class E , class V >
Operation SUMOAbstractRouter< E, V >::myTTOperation
protectedinherited

The object's operation to perform for travel times.

Definition at line 381 of file SUMOAbstractRouter.h.

Referenced by DijkstraRouter< E, V >::clone(), and SUMOAbstractRouter< E, V >::getTravelTime().

◆ myType

template<class E , class V >
const std::string SUMOAbstractRouter< E, V >::myType
privateinherited

the type of this router

Definition at line 411 of file SUMOAbstractRouter.h.

Referenced by SUMOAbstractRouter< E, V >::getType(), and SUMOAbstractRouter< E, V >::~SUMOAbstractRouter().


The documentation for this class was generated from the following file: