![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Computes routes using junction turning percentages. More...
#include <ROJTRRouter.h>
Public Types | |
| typedef double(* | Operation) (const ROEdge *const, const ROVehicle *const, double) |
| Type of the function that is used to retrieve the edge effort. | |
| typedef std::map< const ROEdge *, double > | Prohibitions |
| Prohibitions and their estimated end time. | |
Public Member Functions | |
| void | buildPathFrom (const typename SUMOAbstractRouter< ROEdge, ROVehicle >::EdgeInfo *rbegin, std::vector< const ROEdge * > &edges) |
| Builds the path from marked edges. | |
| virtual SUMOAbstractRouter< ROEdge, ROVehicle > * | clone () |
| virtual bool | compute (const ROEdge *from, const ROEdge *to, const ROVehicle *const vehicle, SUMOTime msTime, std::vector< const ROEdge * > &into, bool silent=false)=0 |
| 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. | |
| bool | compute (const ROEdge *from, double fromPos, const ROEdge *to, double toPos, const ROVehicle *const vehicle, SUMOTime msTime, std::vector< const ROEdge * > &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 ROEdge *from, const ROEdge *to, const ROVehicle *const vehicle, SUMOTime msTime, std::vector< const ROEdge * > &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. | |
| void | endQuery (int visits) |
| const SUMOAbstractRouter< ROEdge, ROVehicle >::EdgeInfo & | getEdgeInfo (int index) const |
| double | getEffort (const ROEdge *const e, const ROVehicle *const v, double t) const |
| double | getTravelTime (const ROEdge *const e, const ROVehicle *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 ROEdge *const edge, const ROVehicle *const vehicle) const |
| bool | isValid (const std::vector< const ROEdge * > &edges, const ROVehicle *const v) const |
| virtual void | prohibit (const Prohibitions &toProhibit) |
| virtual double | recomputeCosts (const std::vector< const ROEdge * > &edges, const ROVehicle *const v, SUMOTime msTime, double *lengthp=nullptr) const |
| double | recomputeCostsPos (const std::vector< const ROEdge * > &edges, const ROVehicle *const v, double fromPos, double toPos, SUMOTime msTime, double *lengthp=nullptr) const |
| virtual void | reset (const ROVehicle *const vehicle) |
| reset internal caches, used by CHRouter | |
| ROJTRRouter (bool unbuildIsWarningOnly, bool acceptAllDestinations, int maxEdges, bool ignoreClasses, bool allowLoops, bool discountSources) | |
| Constructor. | |
| void | setAutoBulkMode (const bool mode) |
| virtual void | setBulkMode (const bool mode) |
| double | setHint (const typename std::vector< const ROEdge * >::const_iterator routeBegin, const typename std::vector< const ROEdge * >::const_iterator routeEnd, const ROVehicle *const v, SUMOTime msTime) |
| void | startQuery () |
| void | updateViaCost (const ROEdge *const prev, const ROEdge *const e, const ROVehicle *const v, double &time, double &effort, double &length) const |
| void | updateViaEdgeCost (const ROEdge *viaEdge, const ROVehicle *const v, double &time, double &effort, double &length) const |
| ~ROJTRRouter () | |
| Destructor. | |
Implementatios of SUMOAbstractRouter | |
| bool | compute (const ROEdge *from, const ROEdge *to, const ROVehicle *const vehicle, SUMOTime time, ConstROEdgeVector &into, bool silent=false) |
| Computes a route. | |
Protected Attributes | |
| bool | myAmClean |
| whether we are already initialized | |
| bool | myAutoBulkMode |
| whether we are currently trying to detect bulk mode automatically | |
| bool | myBulkMode |
| whether we are currently operating several route queries in a bulk | |
| std::vector< typename SUMOAbstractRouter< ROEdge, ROVehicle >::EdgeInfo > | myEdgeInfos |
| The container of edge information. | |
| MsgHandler *const | myErrorMsgHandler |
| the handler for routing errors | |
| std::vector< typename SUMOAbstractRouter< ROEdge, ROVehicle >::EdgeInfo * > | myFound |
| list of visited Edges (for resetting) | |
| std::vector< typename SUMOAbstractRouter< ROEdge, ROVehicle >::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 | |
| Operation | myOperation |
| The object's operation to perform. | |
| Prohibitions | myProhibited |
| The list of explicitly prohibited edges and estimated end time of prohibition. | |
| Operation | myTTOperation |
| The object's operation to perform for travel times. | |
Private Attributes | |
| const bool | myAcceptAllDestination |
| Whether all edges may be used as route end. | |
| const bool | myAllowLoops |
| Whether a vehicle may reuse a road. | |
| const bool | myDiscountSources |
| Whether upstream flows shall be discounted from source flows. | |
| const bool | myIgnoreClasses |
| Whether vehicle class information shall be ignored. | |
| const int | myMaxEdges |
| The maximum number of edges a route may have. | |
| long long int | myNumQueries |
| long long int | myQueryStartTime |
| the time spent querying in milliseconds | |
| long long int | myQueryTimeSum |
| long long int | myQueryVisits |
| counters for performance logging | |
| const std::string | myType |
| the type of this router | |
| const bool | myUnbuildIsWarningOnly |
| Whether unbuildable routes shall be reported as warniings, not errors. | |
Computes routes using junction turning percentages.
Definition at line 43 of file ROJTRRouter.h.
|
inherited |
Type of the function that is used to retrieve the edge effort.
Definition at line 95 of file SUMOAbstractRouter.h.
|
inherited |
Prohibitions and their estimated end time.
Definition at line 98 of file SUMOAbstractRouter.h.
| ROJTRRouter::ROJTRRouter | ( | bool | unbuildIsWarningOnly, |
| bool | acceptAllDestinations, | ||
| int | maxEdges, | ||
| bool | ignoreClasses, | ||
| bool | allowLoops, | ||
| bool | discountSources | ||
| ) |
Constructor.
| [in] | unbuildIsWarningOnly | Whether not closed routes shall not yield in an error |
| [in] | acceptAllDestinations | If false, only sinks will be used as final edges |
| [in] | maxEdges | The maximum number of edges a route may have |
| [in] | ignoreClasses | Whether routing shall be done without regarding vehicle classes |
| [in] | allowLoops | Whether a vehicle may reuse a road |
| [in] | discountSources | Whether upstream flow shall be discounted from source flows |
Definition at line 33 of file ROJTRRouter.cpp.
| ROJTRRouter::~ROJTRRouter | ( | ) |
Destructor.
Definition at line 46 of file ROJTRRouter.cpp.
|
inlineinherited |
Builds the path from marked edges.
Definition at line 385 of file SUMOAbstractRouter.h.
|
inlinevirtual |
Implements SUMOAbstractRouter< ROEdge, ROVehicle >.
Definition at line 62 of file ROJTRRouter.h.
References myAcceptAllDestination, myAllowLoops, myDiscountSources, myIgnoreClasses, myMaxEdges, and myUnbuildIsWarningOnly.
|
pure virtualinherited |
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.
| bool ROJTRRouter::compute | ( | const ROEdge * | from, |
| const ROEdge * | to, | ||
| const ROVehicle *const | vehicle, | ||
| SUMOTime | time, | ||
| ConstROEdgeVector & | into, | ||
| bool | silent = false |
||
| ) |
Computes a route.
The description how routes are computed is given in the user documentation
| [in] | from | The edge the vehicle starts at |
| [in] | to | The destination edge - invalid here |
| [in] | vehicle | The vehicle to compute the route for |
| [in] | time | The departure time of the vehicle |
| [filled] | into The list of edges to store the route into |
Definition at line 50 of file ROJTRRouter.cpp.
References ROJTREdge::chooseNext(), MsgHandler::getErrorInstance(), Named::getID(), ROJTREdge::getSourceFlow(), ROEdge::getTravelTime(), MsgHandler::getWarningInstance(), MsgHandler::inform(), ROEdge::isSink(), myAcceptAllDestination, myAllowLoops, myDiscountSources, myIgnoreClasses, myMaxEdges, myUnbuildIsWarningOnly, ROEdge::prohibits(), and STEPS2TIME.
|
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 191 of file SUMOAbstractRouter.h.
|
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 206 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 355 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 177 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 341 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 239 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 173 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 144 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 235 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 268 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
Definition at line 368 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
Definition at line 277 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 295 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
reset internal caches, used by CHRouter
Definition at line 169 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 364 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
Definition at line 360 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 310 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 350 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 253 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 243 of file SUMOAbstractRouter.h.
|
private |
Whether all edges may be used as route end.
Definition at line 87 of file ROJTRRouter.h.
|
private |
Whether a vehicle may reuse a road.
Definition at line 96 of file ROJTRRouter.h.
|
protectedinherited |
whether we are already initialized
Definition at line 411 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether we are currently trying to detect bulk mode automatically
Definition at line 408 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether we are currently operating several route queries in a bulk
Definition at line 405 of file SUMOAbstractRouter.h.
|
private |
Whether upstream flows shall be discounted from source flows.
Definition at line 99 of file ROJTRRouter.h.
|
protectedinherited |
The container of edge information.
Definition at line 423 of file SUMOAbstractRouter.h.
|
protectedinherited |
the handler for routing errors
Definition at line 396 of file SUMOAbstractRouter.h.
|
protectedinherited |
list of visited Edges (for resetting)
Definition at line 428 of file SUMOAbstractRouter.h.
|
protectedinherited |
A container for reusage of the min edge heap.
Definition at line 426 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether edge permissions need to be considered
Definition at line 414 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether edge restrictions need to be considered
Definition at line 417 of file SUMOAbstractRouter.h.
|
private |
Whether vehicle class information shall be ignored.
Definition at line 93 of file ROJTRRouter.h.
|
private |
The maximum number of edges a route may have.
Definition at line 90 of file ROJTRRouter.h.
|
privateinherited |
Definition at line 436 of file SUMOAbstractRouter.h.
|
protectedinherited |
The object's operation to perform.
Definition at line 399 of file SUMOAbstractRouter.h.
|
protectedinherited |
The list of explicitly prohibited edges and estimated end time of prohibition.
Definition at line 420 of file SUMOAbstractRouter.h.
|
privateinherited |
the time spent querying in milliseconds
Definition at line 438 of file SUMOAbstractRouter.h.
|
privateinherited |
Definition at line 439 of file SUMOAbstractRouter.h.
|
privateinherited |
counters for performance logging
Definition at line 435 of file SUMOAbstractRouter.h.
|
protectedinherited |
The object's operation to perform for travel times.
Definition at line 402 of file SUMOAbstractRouter.h.
|
privateinherited |
the type of this router
Definition at line 432 of file SUMOAbstractRouter.h.
|
private |
Whether unbuildable routes shall be reported as warniings, not errors.
Definition at line 84 of file ROJTRRouter.h.