SUMO - Simulation of Urban MObility
|
#include <BulkStarRouter.h>
Data Structures | |
struct | EdgeInfo |
class | EdgeInfoComparator |
Public Types | |
typedef SUMOReal(E::* | MinTTOperation) (const V *const) const |
typedef SUMOReal(* | Operation) (const E *const, const V *const, SUMOReal) |
Type of the function that is used to retrieve the edge effort. More... | |
Public Member Functions | |
void | buildPathFrom (EdgeInfo *rbegin, std::vector< const E * > &edges) |
Builds the path from marked edges. More... | |
BulkStarRouter (size_t noE, bool unbuildIsWarning, Operation operation, MinTTOperation minTTOperation) | |
Constructor. More... | |
virtual SUMOAbstractRouter< E, V > * | clone () const |
void | compute (const E *from, const E *to, const V *const vehicle, SUMOTime msTime, std::vector< const E * > &into) |
Builds the route between the given edges using the minimum travel time. More... | |
void | endQuery (int visits) |
SUMOReal | getEffort (const E *const e, const V *const v, SUMOReal t) const |
SUMOReal | getMinEffort (const E *const e, const V *const v) const |
void | init () |
void | prepare (const E *destination, const V *fastestVehicle, bool skip) |
Builds a complete shorteset path tree in the (static) reverse graph from destination (Dijkstra until all EdgeInfos are visited) More... | |
SUMOReal | recomputeCosts (const std::vector< const E * > &edges, const V *const v, SUMOTime msTime) const |
void | startQuery () |
virtual | ~BulkStarRouter () |
Destructor. More... | |
Protected Attributes | |
Operation | myOperation |
The object's operation to perform. More... | |
Private Types | |
enum | Prepared { NO, YES, YES_EXACT } |
Private Attributes | |
EdgeInfoComparator | myComparator |
std::vector< EdgeInfo > | myEdgeInfos |
The container of edge information. More... | |
MsgHandler *const | myErrorMsgHandler |
the handler for routing errors More... | |
std::vector< EdgeInfo * > | myFound |
list of visited Edges (for resetting) More... | |
std::vector< EdgeInfo * > | myFrontier |
A container for reusage of the min edge heap. More... | |
MinTTOperation | myMinTTOperation |
const E * | myPreparedDestination |
Definition at line 74 of file BulkStarRouter.h.
typedef SUMOReal(E::* BulkStarRouter< E, V, PF >::MinTTOperation) (const V *const) const |
Definition at line 79 of file BulkStarRouter.h.
typedef SUMOReal(* BulkStarRouter< E, V, PF >::Operation) (const E *const, const V *const, SUMOReal) |
Type of the function that is used to retrieve the edge effort.
Definition at line 78 of file BulkStarRouter.h.
|
private |
Enumerator | |
---|---|
NO | |
YES | |
YES_EXACT |
Definition at line 355 of file BulkStarRouter.h.
|
inline |
Constructor.
Definition at line 83 of file BulkStarRouter.h.
References BulkStarRouter< E, V, PF >::myEdgeInfos.
|
inlinevirtual |
Destructor.
Definition at line 94 of file BulkStarRouter.h.
|
inline |
Builds the path from marked edges.
Definition at line 345 of file BulkStarRouter.h.
References BulkStarRouter< E, V, PF >::EdgeInfo::edge, and BulkStarRouter< E, V, PF >::EdgeInfo::prev.
Referenced by BulkStarRouter< E, V, PF >::compute().
|
inlinevirtual |
Implements SUMOAbstractRouter< E, V >.
Definition at line 96 of file BulkStarRouter.h.
References MsgHandler::getWarningInstance(), BulkStarRouter< E, V, PF >::myEdgeInfos, BulkStarRouter< E, V, PF >::myErrorMsgHandler, BulkStarRouter< E, V, PF >::myMinTTOperation, and SUMOAbstractRouter< E, V >::myOperation.
|
inlinevirtual |
Builds the route between the given edges using the minimum travel time.
Implements SUMOAbstractRouter< E, V >.
Definition at line 249 of file BulkStarRouter.h.
References BulkStarRouter< E, V, PF >::buildPathFrom(), BulkStarRouter< E, V, PF >::EdgeInfo::edge, SUMOAbstractRouter< E, V >::endQuery(), SUMOAbstractRouter< E, V >::getEffort(), BulkStarRouter< E, V, PF >::EdgeInfo::heuristicTime, MsgHandler::inform(), BulkStarRouter< E, V, PF >::init(), max, MAX2(), BulkStarRouter< E, V, PF >::EdgeInfo::minRemaining, BulkStarRouter< E, V, PF >::myComparator, BulkStarRouter< E, V, PF >::myEdgeInfos, BulkStarRouter< E, V, PF >::myErrorMsgHandler, BulkStarRouter< E, V, PF >::myFound, BulkStarRouter< E, V, PF >::myFrontier, BulkStarRouter< E, V, PF >::myPreparedDestination, BulkStarRouter< E, V, PF >::NO, BulkStarRouter< E, V, PF >::EdgeInfo::prev, SUMOAbstractRouter< E, V >::startQuery(), STEPS2TIME, SUMOReal, SVC_IGNORING, BulkStarRouter< E, V, PF >::EdgeInfo::traveltime, BulkStarRouter< E, V, PF >::EdgeInfo::visited, BulkStarRouter< E, V, PF >::YES, and BulkStarRouter< E, V, PF >::YES_EXACT.
|
inlineinherited |
Definition at line 100 of file SUMOAbstractRouter.h.
Referenced by DijkstraRouterTT< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), DijkstraRouterEffort< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), AStarRouter< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), BulkStarRouter< E, V, PF >::compute(), and CHRouter< E, V, PF >::compute().
|
inlineinherited |
Definition at line 91 of file SUMOAbstractRouter.h.
Referenced by DijkstraRouterTT< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), DijkstraRouterEffort< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), AStarRouter< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), BulkStarRouter< E, V, PF >::compute(), CHRouterWrapper< E, V, PF >::recomputeCosts(), DijkstraRouterEffort< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::recomputeCosts(), DijkstraRouterTT< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::recomputeCosts(), AStarRouter< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::recomputeCosts(), BulkStarRouter< E, V, PF >::recomputeCosts(), CHRouter< E, V, PF >::recomputeCosts(), and CHRouter< E, V, PF >::synchronize().
|
inline |
Definition at line 156 of file BulkStarRouter.h.
References BulkStarRouter< E, V, PF >::myMinTTOperation.
Referenced by BulkStarRouter< E, V, PF >::prepare().
|
inline |
Definition at line 235 of file BulkStarRouter.h.
References BulkStarRouter< E, V, PF >::myFound, and BulkStarRouter< E, V, PF >::myFrontier.
Referenced by BulkStarRouter< E, V, PF >::compute().
|
inlinevirtual |
Builds a complete shorteset path tree in the (static) reverse graph from destination (Dijkstra until all EdgeInfos are visited)
[in] | destination | The common destination for the following routes |
[in] | fastestVehicle | An optimistic vehicle (fastest, least restriction) for the following routes |
[in] | skip | Whether to shortcut the preparation (query uses euclidean heuristic) |
Reimplemented from SUMOAbstractRouter< E, V >.
Definition at line 167 of file BulkStarRouter.h.
References BulkStarRouter< E, V, PF >::EdgeInfo::edge, BulkStarRouter< E, V, PF >::getMinEffort(), BulkStarRouter< E, V, PF >::EdgeInfo::heuristicTime, max, BulkStarRouter< E, V, PF >::EdgeInfo::minRemaining, BulkStarRouter< E, V, PF >::myComparator, BulkStarRouter< E, V, PF >::myEdgeInfos, BulkStarRouter< E, V, PF >::myFound, BulkStarRouter< E, V, PF >::myFrontier, BulkStarRouter< E, V, PF >::myPreparedDestination, BulkStarRouter< E, V, PF >::EdgeInfo::prev, SUMOReal, BulkStarRouter< E, V, PF >::EdgeInfo::traveltime, and BulkStarRouter< E, V, PF >::EdgeInfo::visited.
|
inlinevirtual |
Implements SUMOAbstractRouter< E, V >.
Definition at line 331 of file BulkStarRouter.h.
References SUMOAbstractRouter< E, V >::getEffort(), STEPS2TIME, and SUMOReal.
|
inlineinherited |
Definition at line 95 of file SUMOAbstractRouter.h.
Referenced by DijkstraRouterTT< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), DijkstraRouterEffort< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), AStarRouter< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::compute(), BulkStarRouter< E, V, PF >::compute(), and CHRouter< E, V, PF >::compute().
|
private |
Definition at line 369 of file BulkStarRouter.h.
Referenced by BulkStarRouter< E, V, PF >::compute(), and BulkStarRouter< E, V, PF >::prepare().
|
private |
The container of edge information.
Definition at line 362 of file BulkStarRouter.h.
Referenced by BulkStarRouter< E, V, PF >::BulkStarRouter(), BulkStarRouter< E, V, PF >::clone(), BulkStarRouter< E, V, PF >::compute(), and BulkStarRouter< E, V, PF >::prepare().
|
private |
the handler for routing errors
Definition at line 372 of file BulkStarRouter.h.
Referenced by BulkStarRouter< E, V, PF >::clone(), and BulkStarRouter< E, V, PF >::compute().
|
private |
list of visited Edges (for resetting)
Definition at line 367 of file BulkStarRouter.h.
Referenced by BulkStarRouter< E, V, PF >::compute(), BulkStarRouter< E, V, PF >::init(), and BulkStarRouter< E, V, PF >::prepare().
|
private |
A container for reusage of the min edge heap.
Definition at line 365 of file BulkStarRouter.h.
Referenced by BulkStarRouter< E, V, PF >::compute(), BulkStarRouter< E, V, PF >::init(), and BulkStarRouter< E, V, PF >::prepare().
|
private |
Definition at line 374 of file BulkStarRouter.h.
Referenced by BulkStarRouter< E, V, PF >::clone(), and BulkStarRouter< E, V, PF >::getMinEffort().
|
protectedinherited |
The object's operation to perform.
Definition at line 107 of file SUMOAbstractRouter.h.
Referenced by DijkstraRouterEffort< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::clone(), DijkstraRouterTT< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::clone(), AStarRouter< MSEdge, SUMOVehicle, prohibited_withRestrictions< MSEdge, SUMOVehicle > >::clone(), CHRouterWrapper< E, V, PF >::clone(), BulkStarRouter< E, V, PF >::clone(), CHRouter< E, V, PF >::clone(), and SUMOAbstractRouter< E, PedestrianTrip< E, N > >::getEffort().
|
private |
Definition at line 376 of file BulkStarRouter.h.
Referenced by BulkStarRouter< E, V, PF >::compute(), and BulkStarRouter< E, V, PF >::prepare().