Eclipse SUMO - Simulation of Urban MObility
|
#include <AFCentralizedSPTree.h>
Data Structures | |
class | EdgeInfoComparator |
Public Types | |
typedef AFInfo< E >::ArcInfo | ArcInfo |
typedef KDTreePartition< E, N, V >::Cell | Cell |
Public Member Functions | |
AFCentralizedSPTree (const std::vector< E * > &edges, std::vector< ArcInfo * > &arcInfos, bool unbuildIsWarning, SUMOAbstractRouter< E, V > *effortProvider, const bool havePermissions=false, const bool haveRestrictions=false) | |
Constructor. | |
bool | computeCentralizedSPTree (SUMOTime msTime, const Cell *cell, const V *const vehicle, const std::map< const E *, std::vector< const E * > > &incomingEdgesOfOutgoingBoundaryEdges, bool silent=false) |
Computes a shortest path tree for each boundary edge of the given cell, returns true iff this was successful. | |
bool | isProhibited (const E *const edge, const V *const vehicle) const |
Returns true iff driving the given vehicle on the given edge is prohibited. | |
~AFCentralizedSPTree () | |
Destructor. | |
Protected Member Functions | |
void | init (std::vector< const E * > fromEdges, const V *const vehicle, SUMOTime msTime) |
Initialize the arc flag router. | |
Protected Attributes | |
std::vector< ArcInfo * > & | myArcInfos |
The edge informations specific to arc flag routing. | |
EdgeInfoComparator * | myComparator |
The comparator. | |
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo > | myEdgeInfos |
The container of edge information. | |
SUMOAbstractRouter< E, V > * | myEffortProvider |
The object's operation to perform. | |
MsgHandler *const | myErrorMsgHandler |
The handler for routing errors. | |
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > | myFound |
The list of visited edges (for resetting) | |
std::vector< typename SUMOAbstractRouter< E, V >::EdgeInfo * > | myFrontierList |
The min edge heap. | |
const bool | myHavePermissions |
The boolean flag indicating whether edge permissions need to be considered or not. | |
const bool | myHaveRestrictions |
The boolean flag indicating whether edge restrictions need to be considered or not. | |
double | myMaxSpeed |
The maximum speed in the network. | |
Definition at line 54 of file AFCentralizedSPTree.h.
typedef AFInfo<E>::ArcInfo AFCentralizedSPTree< E, N, V >::ArcInfo |
Definition at line 57 of file AFCentralizedSPTree.h.
typedef KDTreePartition<E,N,V>::Cell AFCentralizedSPTree< E, N, V >::Cell |
Definition at line 56 of file AFCentralizedSPTree.h.
|
inline |
Constructor.
[in] | edges | The edges |
[in] | arcInfos | The arc informations (for arc flag routing) |
[in] | unbuildIsWarning | The flag indicating whether network unbuilds should issue warnings or errors |
[in] | effortProvider | The effort provider |
[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 99 of file AFCentralizedSPTree.h.
References MAX2(), AFCentralizedSPTree< E, N, V >::myArcInfos, AFCentralizedSPTree< E, N, V >::myComparator, AFCentralizedSPTree< E, N, V >::myEdgeInfos, and AFCentralizedSPTree< E, N, V >::myMaxSpeed.
|
inline |
Destructor.
Definition at line 116 of file AFCentralizedSPTree.h.
References AFCentralizedSPTree< E, N, V >::myComparator.
|
inline |
Computes a shortest path tree for each boundary edge of the given cell, returns true iff this was successful.
[in] | msTime | The start time of the paths/routes in milliseconds |
[in] | cell | The cell as a part of a k-d tree partition of the network |
[in] | vehicle | The vehicle |
[in] | incomingEdgesOfOutgoingBoundaryEdges | Maps each outgoing boundary edge to its incoming edges |
[in] | silent | The boolean flag indicating whether the method stays silent or puts out messages |
Definition at line 138 of file AFCentralizedSPTree.h.
References KDTreePartition< E, N, V >::Cell::contains(), SUMOAbstractRouter< E, V >::EdgeInfo::edge, AFInfo< E >::ArcInfo::effortsToBoundaryNodes, Named::getIDSecure(), KDTreePartition< E, N, V >::Cell::getOutgoingBoundaryEdges(), KDTreePartition< E, N, V >::Cell::getSupercell(), MsgHandler::inform(), AFCentralizedSPTree< E, N, V >::init(), AFCentralizedSPTree< E, N, V >::isProhibited(), AFInfo< E >::ArcInfoBase::key, SUMOAbstractRouter< E, V >::EdgeInfo::leaveTime, AFCentralizedSPTree< E, N, V >::myArcInfos, AFCentralizedSPTree< E, N, V >::myComparator, AFCentralizedSPTree< E, N, V >::myEdgeInfos, AFCentralizedSPTree< E, N, V >::myEffortProvider, AFCentralizedSPTree< E, N, V >::myErrorMsgHandler, AFCentralizedSPTree< E, N, V >::myFound, AFCentralizedSPTree< E, N, V >::myFrontierList, SVC_IGNORING, AFInfo< E >::ArcInfoBase::touched, UNREACHABLE, and SUMOAbstractRouter< E, V >::EdgeInfo::visited.
|
protected |
Initialize the arc flag router.
[in] | fromEdges | The container of from-/head/source edges |
[in] | vehicle | The vehicle |
[in] | msTime | The start time of the paths/routes in milliseconds |
Definition at line 337 of file AFCentralizedSPTree.h.
References AFInfo< E >::ArcInfoBase::key, and STEPS2TIME.
Referenced by AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree().
|
inline |
Returns true iff driving the given vehicle on the given edge is prohibited.
[in] | edge | The edge |
[in] | vehicle | The vehicle |
Definition at line 125 of file AFCentralizedSPTree.h.
References AFCentralizedSPTree< E, N, V >::myHavePermissions, and AFCentralizedSPTree< E, N, V >::myHaveRestrictions.
Referenced by AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree().
|
protected |
The edge informations specific to arc flag routing.
Definition at line 317 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::AFCentralizedSPTree(), and AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree().
|
protected |
The comparator.
Definition at line 327 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::AFCentralizedSPTree(), AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree(), and AFCentralizedSPTree< E, N, V >::~AFCentralizedSPTree().
|
protected |
The container of edge information.
Definition at line 314 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::AFCentralizedSPTree(), and AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree().
|
protected |
The object's operation to perform.
Definition at line 325 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree().
|
protected |
The handler for routing errors.
Definition at line 323 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree().
|
protected |
The list of visited edges (for resetting)
Definition at line 312 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree().
|
protected |
The min edge heap.
Definition at line 310 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree().
|
protected |
The boolean flag indicating whether edge permissions need to be considered or not.
Definition at line 319 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::isProhibited().
|
protected |
The boolean flag indicating whether edge restrictions need to be considered or not.
Definition at line 321 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::isProhibited().
|
protected |
The maximum speed in the network.
Definition at line 329 of file AFCentralizedSPTree.h.
Referenced by AFCentralizedSPTree< E, N, V >::AFCentralizedSPTree().