Eclipse SUMO - Simulation of Urban MObility
|
#include <AFRouter.h>
Data Structures | |
class | EdgeInfoComparator |
Public Types | |
typedef KDTreePartition< E, N, V >::Cell | Cell |
typedef AFInfo< E >::FlagInfo | FlagInfo |
typedef AbstractLookupTable< FlippedEdge< E, N, V >, V > | FlippedLookupTable |
typedef AbstractLookupTable< E, V > | LookupTable |
typedef double(* | Operation) (const E *const, const V *const, double) |
Type of the function that is used to retrieve the edge effort. | |
Public Member Functions | |
AFRouter (const std::vector< E * > &edges, const KDTreePartition< E, N, V > *partition, bool unbuildIsWarning, typename SUMOAbstractRouter< E, V >::Operation operation, typename SUMOAbstractRouter< FlippedEdge< E, N, V >, V >::Operation flippedOperation, SUMOTime weightPeriod, const std::shared_ptr< const LookupTable > lookup=nullptr, const std::shared_ptr< const FlippedLookupTable > flippedLookup=nullptr, const bool havePermissions=false, const bool haveRestrictions=false) | |
Constructor. | |
AFRouter (const std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo > &edgeInfos, const KDTreePartition< E, N, V > *partition, bool unbuildIsWarning, typename SUMOAbstractRouter< E, V >::Operation operation, std::vector< FlagInfo * > *flagInfos, const std::shared_ptr< const LookupTable > lookup=nullptr, const bool havePermissions=false, const bool haveRestrictions=false) | |
Special cloning constructor, only for time-independent instances which never rebuild arc infos. | |
AFRouter (const std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo > &edgeInfos, const std::vector< E * > &edges, const KDTreePartition< E, N, V > *partition, bool unbuildIsWarning, typename SUMOAbstractRouter< E, V >::Operation operation, typename SUMOAbstractRouter< FlippedEdge< E, N, V >, V >::Operation flippedOperation, SUMOTime weightPeriod, const std::shared_ptr< const LookupTable > lookup=nullptr, const std::shared_ptr< const FlippedLookupTable > flippedLookup=nullptr, const bool havePermissions=false, const bool haveRestrictions=false) | |
"Normal" cloning constructor for uninitialized or time-dependent instances | |
void | buildPathFrom (const typename SUMOAbstractRouter< E, V >::EdgeInfo *rbegin, std::vector< const E * > &edges) |
Builds the path from marked edges. | |
virtual SUMOAbstractRouter< E, V > * | clone () |
Cloning method. | |
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 travel time param[in] from The from-/start/source/head edge param[in] to The to-/end/target/tail edge param[in] vehicle The vehicle param[in] msTime The start time of the routes in milliseconds param[out] into The vector of edges, into which the solution route is written. | |
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. | |
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. | |
SUMOAbstractRouter< E, V >::EdgeInfo * | edgeInfo (const E *const edge) |
Returns the edge information for the passed edge. | |
const SUMOAbstractRouter< E, V >::EdgeInfo * | edgeInfo (const E *const edge) const |
Returns the edge information for the passed edge. | |
void | endQuery (int visits) |
Stop timer for query time sum. | |
std::tuple< int, int, bool > | flagContext (const E *settledEdge, const E *targetEdge) |
Returns the flag context for a route query from given settled edge to the target edge. | |
std::tuple< int, int, bool > | flagContextNaive (const E *settledEdge, const E *targetEdge) |
Kept for runtime comparisons. | |
std::vector< bool > & | flags (const E *edge) |
Returns the arc flags of the passed edge. | |
const SUMOAbstractRouter< E, V >::EdgeInfo & | getEdgeInfo (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) |
Initialize the arc flag router param[in] edgeID The edge id(entifier) param[in] msTime The start time of the routes in milliseconds. | |
bool | isProhibited (const E *const edge, const V *const vehicle) const |
bool | isValid (const std::vector< const E * > &edges, const V *const v) const |
virtual void | prohibit (const std::vector< E * > &toProhibit) |
virtual 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 |
void | reportStatistics () |
Report query time statistics. | |
virtual void | reset (const V *const vehicle) |
Trigger arc flags rebuild. | |
void | resetStatistics () |
Reset query time statistics. | |
void | setAutoBulkMode (const bool mode) |
virtual void | setBulkMode (const bool mode) |
Bulk mode is not supported. | |
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 () |
Start timer for query time sum. | |
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 | ~AFRouter () |
Destructor. | |
Static Public Member Functions | |
static bool | flag (const FlagInfo *flagInfo, const std::tuple< int, int, bool > flagContext) |
Returns the arc flag of the edge in flagInfo wrt flagContext. | |
static int | partitionLevel2SHARCLevel (int partitionLevel, int numberOfPartitionLevels) |
Converts a partition level number to a SHARC level number. | |
static int | sHARCLevel2PartitionLevel (int sHARCLevel, int numberOfPartitionLevels) |
Converts a SHARC level number to a partition level number. | |
Protected Attributes | |
bool | myAmClean |
whether we are already initialized | |
bool | myAutoBulkMode |
whether we are currently trying to detect bulk mode automatically | |
AFBuilder< E, N, V, M > * | myBuilder |
The builder. | |
bool | myBulkMode |
whether we are currently operating several route queries in a bulk | |
EdgeInfoComparator | myComparator |
The comparator for edge information. | |
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo > | myEdgeInfos |
The container of edge information. | |
MsgHandler *const | myErrorMsgHandler |
the handler for routing errors | |
std::vector< FlagInfo * > * | myFlagInfos |
Edge infos containing the associated edge and its arc flags. | |
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > | myFound |
list of visited Edges (for resetting) | |
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > | myFrontierList |
A container for reusage of the min edge heap. | |
const bool | myHavePermissions |
whether edge permissions need to be considered | |
const bool | myHaveRestrictions |
whether edge restrictions need to be considered | |
const std::shared_ptr< const LookupTable > | myLookupTable |
The lookup table for travel time heuristics. | |
double | myMaxSpeed |
The maximum speed in the network. | |
long long int | myNumQueries |
Operation | myOperation |
The object's operation to perform. | |
const KDTreePartition< E, N, V > * | myPartition |
The partition. | |
std::vector< E * > | myProhibited |
The list of explicitly prohibited edges. | |
long long int | myQueryStartTime |
The time spent querying in milliseconds. | |
long long int | myQueryTimeSum |
long long int | myQueryVisits |
Counters for performance logging. | |
Operation | myTTOperation |
The object's operation to perform for travel times. | |
const std::string | myType |
The type of this router. | |
SUMOTime | myValidUntil |
The validity duration of the current flag infos (exclusive) | |
const SUMOTime | myWeightPeriod |
The validity duration of one weight interval. | |
Private Attributes | |
std::tuple< int, int, bool > | myLastFlagContext |
The last flag context. | |
const Cell * | myLastSettledEdgeCell |
The cell of the last settled edge. | |
const Cell * | myTargetEdgeCellLevel0 |
The cell of the target edge at SHARC level 0. | |
Computes the shortest path through a network with an arc flag routing algorithm (Hilger et al.) in its multi-level variant (also called "stripped SHARC" by Delling et al.)
The template parameters are:
E | The edge class to use (MSEdge/ROEdge) |
N | The node class to use (MSJunction/RONode) |
V | The vehicle class to use (MSVehicle/ROVehicle) |
The router is edge-based It must know the number of edges for internal reasons and whether a missing connection between two given edges (unbuild route) shall be reported as an error or as a warning
Definition at line 91 of file AFRouter.h.
typedef KDTreePartition<E,N,V>::Cell AFRouter< E, N, V, M >::Cell |
Definition at line 94 of file AFRouter.h.
Definition at line 95 of file AFRouter.h.
typedef AbstractLookupTable<FlippedEdge<E, N, V>, V> AFRouter< E, N, V, M >::FlippedLookupTable |
Definition at line 96 of file AFRouter.h.
typedef AbstractLookupTable<E, V> AFRouter< E, N, V, M >::LookupTable |
Definition at line 93 of file AFRouter.h.
|
inherited |
Type of the function that is used to retrieve the edge effort.
Definition at line 92 of file SUMOAbstractRouter.h.
|
inline |
Constructor.
[in] | edges | The edges |
[in] | partition | A partition of the router's network wrt a k-d tree subdivision scheme |
[in] | unbuildIsWarning | The flag indicating whether network unbuilds should issue warnings or errors |
[in] | operation | The operation for a forward graph |
[in] | flippedOperation | The operation for a backward graph with flipped edges |
[in] | weightPeriod | The validity duration of one weight interval |
[in] | lookup | The lookup table for a forward graph |
[in] | flippedLookup | The lookup table for a backward graph with flipped edges |
[in] | havePermissions | The boolean flag indicating whether edge permissions need to be considered or not |
[in] | haveRestrictions | The boolean flag indicating whether edge restrictions need to be considered or not |
Definition at line 150 of file AFRouter.h.
References MAX2(), SUMOAbstractRouter< E, V >::myEdgeInfos, and AFRouter< E, N, V, M >::myMaxSpeed.
|
inline |
"Normal" cloning constructor for uninitialized or time-dependent instances
[in] | edges | The edges |
[in] | partition | A partition of the router's network wrt a k-d tree subdivision scheme |
[in] | unbuildIsWarning | The flag indicating whether network unbuilds should issue warnings or errors |
[in] | operation | The operation for a forward graph |
[in] | flippedOperation | The operation for a backward graph with flipped edges |
[in] | weightPeriod | The validity duration of one weight interval |
[in] | lookup | The lookup table for a forward graph |
[in] | flippedLookup | The lookup table for a backward graph with flipped edges |
[in] | havePermissions | The boolean flag indicating whether edge permissions need to be considered |
[in] | haveRestrictions | The boolean flag indicating whether edge restrictions need to be considered |
Definition at line 195 of file AFRouter.h.
References SUMOAbstractRouter< E, V >::EdgeInfo::edge, AFRouter< E, N, V, M >::edgeInfo(), MAX2(), SUMOAbstractRouter< E, V >::myEdgeInfos, and AFRouter< E, N, V, M >::myMaxSpeed.
|
inline |
Special cloning constructor, only for time-independent instances which never rebuild arc infos.
[in] | edgeInfos | The vector of edge information |
[in] | partition | A partition of the router's network wrt a k-d tree subdivision scheme |
[in] | unbuildIsWarning | The flag indicating whether network unbuilds should issue warnings or errors |
[in] | operation | The operation for a forward graph |
[in] | flagInfos | The vector of arc flag information |
[in] | lookup | The lookup table for a forward graph |
[in] | havePermissions | The boolean flag indicating whether edge permissions need to be considered |
[in] | haveRestrictions | The boolean flag indicating whether edge restrictions need to be considered |
Definition at line 240 of file AFRouter.h.
References SUMOAbstractRouter< E, V >::EdgeInfo::edge, AFRouter< E, N, V, M >::edgeInfo(), MAX2(), SUMOAbstractRouter< E, V >::myEdgeInfos, and AFRouter< E, N, V, M >::myMaxSpeed.
Destructor.
Definition at line 272 of file AFRouter.h.
References AFRouter< E, N, V, M >::myBuilder.
|
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 AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), and Node2EdgeRouter< E, N, V, M >::computeNode2Edge().
|
inlinevirtual |
Cloning method.
Implements SUMOAbstractRouter< E, V >.
Definition at line 277 of file AFRouter.h.
References MsgHandler::getWarningInstance(), AFRouter< E, N, V, M >::myBuilder, SUMOAbstractRouter< E, V >::myEdgeInfos, SUMOAbstractRouter< E, V >::myErrorMsgHandler, AFRouter< E, N, V, M >::myFlagInfos, SUMOAbstractRouter< E, V >::myHavePermissions, SUMOAbstractRouter< E, V >::myHaveRestrictions, AFRouter< E, N, V, M >::myLookupTable, SUMOAbstractRouter< E, V >::myOperation, AFRouter< E, N, V, M >::myPartition, AFRouter< E, N, V, M >::myWeightPeriod, and SUMOTime_MAX.
|
inlinevirtual |
Builds the route between the given edges using the minimum travel time param[in] from The from-/start/source/head edge param[in] to The to-/end/target/tail edge param[in] vehicle The vehicle param[in] msTime The start time of the routes in milliseconds param[out] into The vector of edges, into which the solution route is written.
[in] | silent | The boolean flag indicating whether the method stays silent or puts out messages |
Implements SUMOAbstractRouter< E, V >.
Definition at line 391 of file AFRouter.h.
References AFInfo< E >::FlagInfo::arcFlags, SUMOAbstractRouter< E, V >::buildPathFrom(), AFRouter< E, N, V, M >::endQuery(), AFRouter< E, N, V, M >::flag(), AFRouter< E, N, V, M >::flagContext(), SysUtils::getCurrentMillis(), SUMOAbstractRouter< E, V >::getEffort(), Named::getIDSecure(), SUMOAbstractRouter< E, V >::getTravelTime(), MsgHandler::inform(), MsgHandler::informf(), AFRouter< E, N, V, M >::init(), MAX2(), MIN2(), SUMOAbstractRouter< E, V >::myAmClean, AFRouter< E, N, V, M >::myBuilder, AFRouter< E, N, V, M >::myComparator, SUMOAbstractRouter< E, V >::myEdgeInfos, SUMOAbstractRouter< E, V >::myErrorMsgHandler, SUMOAbstractRouter< E, V >::myFound, SUMOAbstractRouter< E, V >::myFrontierList, AFRouter< E, N, V, M >::myLookupTable, AFRouter< E, N, V, M >::myMaxSpeed, AFRouter< E, N, V, M >::myValidUntil, AFRouter< E, N, V, M >::myWeightPeriod, AFRouter< E, N, V, M >::reset(), AFRouter< E, N, V, M >::startQuery(), SVC_IGNORING, UNREACHABLE, and SUMOAbstractRouter< E, V >::updateViaEdgeCost().
|
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().
|
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().
|
inline |
Returns the edge information for the passed edge.
[in] | edge | The edge |
Definition at line 103 of file AFRouter.h.
References SUMOAbstractRouter< E, V >::myEdgeInfos.
Referenced by AFRouter< E, N, V, M >::AFRouter(), and AFRouter< E, N, V, M >::AFRouter().
|
inline |
Returns the edge information for the passed edge.
[in] | edge | The edge |
Definition at line 112 of file AFRouter.h.
References SUMOAbstractRouter< E, V >::myEdgeInfos.
Stop timer for query time sum.
Definition at line 749 of file AFRouter.h.
References SUMOAbstractRouter< E, V >::endQuery(), and SysUtils::getCurrentMillis().
Referenced by AFRouter< E, N, V, M >::compute().
|
inlinestatic |
Returns the arc flag of the edge in flagInfo wrt flagContext.
[in] | flagInfo | The arc flag information |
[in] | flagContext | The flag context tuple |
Definition at line 335 of file AFRouter.h.
References AFInfo< E >::FlagInfo::arcFlags, and AFRouter< E, N, V, M >::flagContext().
Referenced by AFRouter< E, N, V, M >::compute().
std::tuple< int, int, bool > AFRouter< E, N, V, M >::flagContext | ( | const E * | settledEdge, |
const E * | targetEdge | ||
) |
Returns the flag context for a route query from given settled edge to the target edge.
[in] | settledEdge | The settled edge |
[in] | targetEdge | The target edge |
Definition at line 680 of file AFRouter.h.
References KDTreePartition< E, N, V >::Cell::contains(), KDTreePartition< E, N, V >::Cell::getSupercell(), and KDTreePartition< E, N, V >::Cell::isLeftOrLowerCell().
Referenced by AFRouter< E, N, V, M >::compute(), and AFRouter< E, N, V, M >::flag().
std::tuple< int, int, bool > AFRouter< E, N, V, M >::flagContextNaive | ( | const E * | settledEdge, |
const E * | targetEdge | ||
) |
Kept for runtime comparisons.
Definition at line 645 of file AFRouter.h.
References KDTreePartition< E, N, V >::Cell::contains(), KDTreePartition< E, N, V >::Cell::getSupercell(), and KDTreePartition< E, N, V >::Cell::isLeftOrLowerCell().
Returns the arc flags of the passed edge.
[in] | edge | The edge |
Definition at line 613 of file AFRouter.h.
|
inlineinherited |
Definition at line 169 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myEdgeInfos.
|
inlineinherited |
Definition at line 330 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myOperation.
Referenced by IntermodalRouter< E, L, N, V >::compute(), AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), PedestrianRouter< E, L, N, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), RailwayRouter< E, V >::recomputeCosts(), SUMOAbstractRouter< E, V >::recomputeCostsPos(), SUMOAbstractRouter< E, V >::setHint(), CHBuilder< E, V >::synchronize(), SUMOAbstractRouter< E, V >::updateViaCost(), and SUMOAbstractRouter< E, V >::updateViaEdgeCost().
|
inlineinherited |
Definition at line 231 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myTTOperation.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), SUMOAbstractRouter< E, V >::updateViaCost(), and SUMOAbstractRouter< E, V >::updateViaEdgeCost().
|
inlineinherited |
Definition at line 165 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myType.
Initialize the arc flag router param[in] edgeID The edge id(entifier) param[in] msTime The start time of the routes in milliseconds.
Definition at line 622 of file AFRouter.h.
References STEPS2TIME.
Referenced by AFRouter< E, N, V, M >::compute().
|
inlineinherited |
Definition at line 227 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myHavePermissions, and SUMOAbstractRouter< E, V >::myHaveRestrictions.
Referenced by Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), SUMOAbstractRouter< E, V >::isValid(), Node2EdgeRouter< E, N, V, M >::recomputeCostsNoLastEdge(), and SUMOAbstractRouter< E, V >::setHint().
|
inlineinherited |
Definition at line 260 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::isProhibited().
Referenced by RORouteDef::addAlternative().
|
inlinestatic |
Converts a partition level number to a SHARC level number.
[in] | partitionLevel | The partition level |
[in] | numberOfPartitionLevels | The number of partition levels |
Definition at line 299 of file AFRouter.h.
Referenced by AFBuild< E, N, V, M >::partitionLevel2SHARCLevel().
|
inlinevirtualinherited |
Reimplemented in CHRouter< E, V >, CHRouterWrapper< E, V >, IntermodalRouter< E, L, N, V >, PedestrianRouter< E, L, N, V >, and RailwayRouter< E, V >.
Definition at line 352 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myEdgeInfos, and SUMOAbstractRouter< E, V >::myProhibited.
Referenced by AFBuild< E, N, V, M >::AFBuild(), IntermodalRouter< E, L, N, V >::prohibit(), PedestrianRouter< E, L, N, V >::prohibit(), and RailwayRouter< E, V >::prohibit().
|
inlinevirtualinherited |
Reimplemented in RailwayRouter< E, V >.
Definition at line 269 of file SUMOAbstractRouter.h.
References STEPS2TIME, and SUMOAbstractRouter< E, V >::updateViaCost().
Referenced by RORouteDef::addAlternative(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::computeLooped(), ROMAAssignments::computePath(), MSDispatch::computePickupTime(), computeRoutes(), MSDevice_StationFinder::estimateConsumption(), MSStoppingPlaceRerouter::evaluateDestination(), LIBSUMO_NAMESPACE::Simulation::findRoute(), NBPTLineCont::getCost(), MSBaseVehicle::insertStop(), LandmarkLookupTable< E, V, M >::LandmarkLookupTable(), RailwayRouter< E, V >::recomputeCosts(), SUMOAbstractRouter< E, V >::recomputeCostsPos(), MSBaseVehicle::replaceStop(), MSBaseVehicle::reroute(), MSBaseVehicle::rerouteBetweenStops(), MSVehicle::rerouteParkingArea(), ROMAAssignments::sue(), and MSTriggeredRerouter::triggerRouting().
|
inlineinherited |
Definition at line 287 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::getEffort(), SUMOAbstractRouter< E, V >::recomputeCosts(), and STEPS2TIME.
Referenced by MSDispatch::computeDetourTime().
Report query time statistics.
Definition at line 756 of file AFRouter.h.
References elapsedMs2string(), toString(), and WRITE_MESSAGE.
Trigger arc flags rebuild.
[in] | The | vehicle |
Reimplemented from SUMOAbstractRouter< E, V >.
Definition at line 352 of file AFRouter.h.
References elapsedMs2string(), SysUtils::getCurrentMillis(), AFRouter< E, N, V, M >::myBuilder, AFRouter< E, N, V, M >::myFlagInfos, AFRouter< E, N, V, M >::myValidUntil, and AFRouter< E, N, V, M >::myWeightPeriod.
Referenced by AFRouter< E, N, V, M >::compute().
Reset query time statistics.
Definition at line 767 of file AFRouter.h.
|
inlineinherited |
Definition at line 348 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::myAutoBulkMode.
Referenced by LandmarkLookupTable< E, V, M >::LandmarkLookupTable().
Bulk mode is not supported.
Reimplemented from SUMOAbstractRouter< E, V >.
Definition at line 561 of file AFRouter.h.
References UNUSED_PARAMETER.
|
inlineinherited |
Definition at line 299 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::EdgeInfo::edge, SUMOAbstractRouter< E, V >::EdgeInfo::effort, SUMOAbstractRouter< E, V >::getEffort(), SUMOAbstractRouter< E, V >::init(), SUMOAbstractRouter< E, V >::isProhibited(), SUMOAbstractRouter< E, V >::myEdgeInfos, SUMOAbstractRouter< E, V >::myFound, STEPS2TIME, and SUMOAbstractRouter< E, V >::updateViaCost().
|
inlinestatic |
Converts a SHARC level number to a partition level number.
[in] | sHARCLevel | The SHARC level |
[in] | numberOfPartitionLevels | The number of partition levels |
Definition at line 317 of file AFRouter.h.
Referenced by AFBuild< E, N, V, M >::sHARCLevel2PartitionLevel(), and AFBuilder< E, N, V, M >::sHARCLevel2PartitionLevel().
Start timer for query time sum.
Definition at line 742 of file AFRouter.h.
References SysUtils::getCurrentMillis(), and SUMOAbstractRouter< E, V >::startQuery().
Referenced by AFRouter< E, N, V, M >::compute().
|
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(), Node2EdgeRouter< E, N, V, M >::recomputeCostsNoLastEdge(), and SUMOAbstractRouter< E, V >::setHint().
|
inlineinherited |
Definition at line 235 of file SUMOAbstractRouter.h.
References SUMOAbstractRouter< E, V >::getEffort(), and SUMOAbstractRouter< E, V >::getTravelTime().
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), and SUMOAbstractRouter< E, V >::updateViaCost().
|
protectedinherited |
whether we are already initialized
Definition at line 390 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), and SUMOAbstractRouter< E, V >::init().
|
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().
The builder.
Definition at line 582 of file AFRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AFRouter< E, N, V, M >::compute(), AFRouter< E, N, V, M >::reset(), and AFRouter< E, N, V, M >::~AFRouter().
|
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, M >::compute(), DijkstraRouter< E, V >::compute(), and SUMOAbstractRouter< E, V >::setBulkMode().
|
protected |
The comparator for edge information.
Definition at line 572 of file AFRouter.h.
Referenced by AFRouter< E, N, V, M >::compute().
|
protectedinherited |
The container of edge information.
Definition at line 402 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::AFRouter(), AFRouter< E, N, V, M >::AFRouter(), AFRouter< E, N, V, M >::AFRouter(), AStarRouter< E, V, M >::AStarRouter(), AStarRouter< E, V, M >::AStarRouter(), AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), DijkstraRouter< E, V >::DijkstraRouter(), DijkstraRouter< E, V >::DijkstraRouter(), AFRouter< E, N, V, M >::edgeInfo(), Node2EdgeRouter< E, N, V, M >::edgeInfo(), AFRouter< E, N, V, M >::edgeInfo(), Node2EdgeRouter< E, N, V, M >::edgeInfo(), SUMOAbstractRouter< E, V >::getEdgeInfo(), SUMOAbstractRouter< E, V >::init(), SUMOAbstractRouter< E, V >::prohibit(), and SUMOAbstractRouter< E, V >::setHint().
|
protectedinherited |
the handler for routing errors
Definition at line 375 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), CHRouter< E, V >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), CHRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), SUMOAbstractRouter< E, V >::computeLooped(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), and RailwayRouter< E, V >::ensureInternalRouter().
Edge infos containing the associated edge and its arc flags.
Definition at line 568 of file AFRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), and AFRouter< E, N, V, M >::reset().
|
protectedinherited |
list of visited Edges (for resetting)
Definition at line 407 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), SUMOAbstractRouter< E, V >::init(), Node2EdgeRouter< E, N, V, M >::reset(), and SUMOAbstractRouter< E, V >::setHint().
|
protectedinherited |
A container for reusage of the min edge heap.
Definition at line 405 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::compute(), AStarRouter< E, V, M >::compute(), DijkstraRouter< E, V >::compute(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::computeNode2Edges(), SUMOAbstractRouter< E, V >::init(), and Node2EdgeRouter< E, N, V, M >::reset().
|
protectedinherited |
whether edge permissions need to be considered
Definition at line 393 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), CHRouter< E, V >::clone(), CHRouterWrapper< E, V >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), RailwayRouter< E, V >::ensureInternalRouter(), and SUMOAbstractRouter< E, V >::isProhibited().
|
protectedinherited |
whether edge restrictions need to be considered
Definition at line 396 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), CHRouter< E, V >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), RailwayRouter< E, V >::ensureInternalRouter(), and SUMOAbstractRouter< E, V >::isProhibited().
The last flag context.
Definition at line 603 of file AFRouter.h.
The cell of the last settled edge.
Definition at line 601 of file AFRouter.h.
|
protected |
The lookup table for travel time heuristics.
Definition at line 574 of file AFRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), and AFRouter< E, N, V, M >::compute().
The maximum speed in the network.
Definition at line 576 of file AFRouter.h.
Referenced by AFRouter< E, N, V, M >::AFRouter(), AFRouter< E, N, V, M >::AFRouter(), AFRouter< E, N, V, M >::AFRouter(), and AFRouter< E, N, V, M >::compute().
Definition at line 589 of file AFRouter.h.
|
protectedinherited |
The object's operation to perform.
Definition at line 378 of file SUMOAbstractRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AStarRouter< E, V, M >::clone(), CHRouter< E, V >::clone(), CHRouterWrapper< E, V >::clone(), DijkstraRouter< E, V >::clone(), Node2EdgeRouter< E, N, V, M >::clone(), CHRouterWrapper< E, V >::compute(), and SUMOAbstractRouter< E, V >::getEffort().
|
protected |
The partition.
Definition at line 570 of file AFRouter.h.
Referenced by AFRouter< E, N, V, M >::clone().
|
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().
The time spent querying in milliseconds.
Definition at line 592 of file AFRouter.h.
Definition at line 593 of file AFRouter.h.
Counters for performance logging.
Definition at line 588 of file AFRouter.h.
The cell of the target edge at SHARC level 0.
Definition at line 605 of file AFRouter.h.
|
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().
The type of this router.
Definition at line 585 of file AFRouter.h.
The validity duration of the current flag infos (exclusive)
Definition at line 580 of file AFRouter.h.
Referenced by AFRouter< E, N, V, M >::compute(), and AFRouter< E, N, V, M >::reset().
The validity duration of one weight interval.
Definition at line 578 of file AFRouter.h.
Referenced by AFRouter< E, N, V, M >::clone(), AFRouter< E, N, V, M >::compute(), and AFRouter< E, N, V, M >::reset().