![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <CHBuilder.h>
Data Structures | |
| class | CHConnection |
| Forward/backward connection with associated FORWARD cost. More... | |
| class | CHInfo |
| class | CHInfoComparator |
| class | Connection |
| Forward/backward connection with associated forward/backward cost. More... | |
| struct | Hierarchy |
| struct | Shortcut |
Public Types | |
| typedef std::pair< const E *, const E * > | ConstEdgePair |
| typedef std::map< ConstEdgePair, const E * > | ShortcutVia |
Public Member Functions | |
| Hierarchy * | buildContractionHierarchy (SUMOTime time, const V *const vehicle, const SUMOAbstractRouter< E, V > *effortProvider) |
| CHBuilder (const std::vector< E * > &edges, bool unbuildIsWarning, const SUMOVehicleClass svc, bool validatePermissions) | |
| Constructor. | |
| virtual | ~CHBuilder () |
| Destructor. | |
Private Types | |
| typedef std::pair< const CHConnection *, const CHConnection * > | CHConnectionPair |
| typedef std::vector< CHConnectionPair > | CHConnectionPairs |
| typedef std::vector< CHConnection > | CHConnections |
Private Member Functions | |
| void | disconnect (CHConnections &connections, CHInfo *other) |
| remove all connections to/from the given edge (assume it exists only once) | |
| CHInfo * | getCHInfo (const E *const edge) |
| CHBuilder & | operator= (const CHBuilder &s) |
| Invalidated assignment operator. | |
| void | synchronize (CHInfo &info, double time, const V *const vehicle, const SUMOAbstractRouter< E, V > *effortProvider) |
| copy connections from the original net (modified destructively during contraction) | |
| bool | tryUpdateFront (std::vector< CHInfo * > &queue) |
| tries to update the priority of the first edge | |
Private Attributes | |
| std::vector< CHInfo > | myCHInfos |
| static vector for lookup | |
| CHInfoComparator | myCmp |
| Comparator for contraction priority. | |
| const std::vector< E * > & | myEdges |
| all edges with numerical ids | |
| MsgHandler *const | myErrorMsgHandler |
| the handler for routing errors | |
| SPTree< CHInfo, CHConnection > * | mySPTree |
| the shortest path tree to use when searching for shortcuts | |
| const SUMOVehicleClass | mySVC |
| the permissions for which the hierarchy was constructed | |
| int | myUpdateCount |
| counters for performance logging | |
Definition at line 62 of file CHBuilder.h.
|
private |
Definition at line 219 of file CHBuilder.h.
|
private |
Definition at line 220 of file CHBuilder.h.
|
private |
Definition at line 218 of file CHBuilder.h.
Definition at line 76 of file CHBuilder.h.
| typedef std::map<ConstEdgePair, const E*> CHBuilder< E, V >::ShortcutVia |
Definition at line 77 of file CHBuilder.h.
|
inline |
Constructor.
| [in] | validatePermissions | Whether a multi-permission hierarchy shall be built If set to false, the net is pruned in synchronize() and the hierarchy is tailored to the svc |
Definition at line 89 of file CHBuilder.h.
References myCHInfos, myEdges, myErrorMsgHandler, mySPTree, mySVC, and myUpdateCount.
Referenced by operator=().
|
inline |
Definition at line 108 of file CHBuilder.h.
References CHBuilder< E, V >::CHInfo::approaching, CHBuilder< E, V >::CHConnection::cost, CHBuilder< E, V >::Shortcut::cost, disconnect(), CHBuilder< E, V >::CHInfo::edge, CHBuilder< E, V >::Shortcut::edgePair, MsgHandler::endProcessMsg(), CHBuilder< E, V >::CHInfo::followers, getCHInfo(), SysUtils::getCurrentMillis(), MsgHandler::getMessageInstance(), myCHInfos, myCmp, mySPTree, mySVC, myUpdateCount, CHBuilder< E, V >::CHConnection::permissions, CHBuilder< E, V >::Shortcut::permissions, CHBuilder< E, V >::CHInfo::priority, PROGRESS_BEGIN_MESSAGE, PROGRESS_DONE_MESSAGE, CHBuilder< E, V >::CHInfo::rank, CHBuilder< E, V >::CHInfo::shortcuts, STEPS2TIME, SumoVehicleClassStrings, synchronize(), CHBuilder< E, V >::CHConnection::target, time2string(), toString(), tryUpdateFront(), CHBuilder< E, V >::Shortcut::underlying, CHBuilder< E, V >::CHInfo::updatePriority(), and WRITE_MESSAGE.
|
inlineprivate |
remove all connections to/from the given edge (assume it exists only once)
Definition at line 456 of file CHBuilder.h.
Referenced by buildContractionHierarchy().
Definition at line 416 of file CHBuilder.h.
References myCHInfos.
Referenced by buildContractionHierarchy(), and synchronize().
Invalidated assignment operator.
References CHBuilder().
|
inlineprivate |
copy connections from the original net (modified destructively during contraction)
Definition at line 422 of file CHBuilder.h.
References CHBuilder< E, V >::CHInfo::approaching, CHBuilder< E, V >::CHInfo::edge, CHBuilder< E, V >::CHInfo::followers, getCHInfo(), SUMOAbstractRouter< E, V >::getEffort(), mySPTree, and mySVC.
Referenced by buildContractionHierarchy().
tries to update the priority of the first edge
Definition at line 469 of file CHBuilder.h.
References CHBuilder< E, V >::CHInfo::edge, myCmp, mySPTree, myUpdateCount, and CHBuilder< E, V >::CHInfo::updatePriority().
Referenced by buildContractionHierarchy().
static vector for lookup
Definition at line 503 of file CHBuilder.h.
Referenced by buildContractionHierarchy(), CHBuilder(), and getCHInfo().
|
private |
Comparator for contraction priority.
Definition at line 506 of file CHBuilder.h.
Referenced by buildContractionHierarchy(), and tryUpdateFront().
|
private |
the handler for routing errors
Definition at line 500 of file CHBuilder.h.
Referenced by CHBuilder().
the shortest path tree to use when searching for shortcuts
Definition at line 509 of file CHBuilder.h.
Referenced by buildContractionHierarchy(), CHBuilder(), synchronize(), tryUpdateFront(), and ~CHBuilder().
|
private |
the permissions for which the hierarchy was constructed
Definition at line 512 of file CHBuilder.h.
Referenced by buildContractionHierarchy(), CHBuilder(), and synchronize().
counters for performance logging
Definition at line 515 of file CHBuilder.h.
Referenced by buildContractionHierarchy(), CHBuilder(), and tryUpdateFront().