![]() |
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 () |
| 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.
References myAcceptAllDestination, myAllowLoops, myDiscountSources, myIgnoreClasses, myMaxEdges, myUnbuildIsWarningOnly, and SUMOAbstractRouter< ROEdge, ROVehicle >::SUMOAbstractRouter().
Referenced by clone().
| ROJTRRouter::~ROJTRRouter | ( | ) |
Destructor.
Definition at line 46 of file ROJTRRouter.cpp.
|
inlineinherited |
Builds the path from marked edges.
Definition at line 382 of file SUMOAbstractRouter.h.
|
inlinevirtual |
Implements SUMOAbstractRouter< ROEdge, ROVehicle >.
Definition at line 62 of file ROJTRRouter.h.
References myAcceptAllDestination, myAllowLoops, myDiscountSources, myIgnoreClasses, myMaxEdges, myUnbuildIsWarningOnly, ROJTRRouter(), and SUMOAbstractRouter< ROEdge, ROVehicle >::SUMOAbstractRouter().
|
virtual |
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 |
Implements SUMOAbstractRouter< ROEdge, ROVehicle >.
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 if from == to, return the shortest looped route.
Definition at line 206 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 352 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 177 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 338 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 365 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 361 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
Definition at line 357 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 307 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 347 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.
Referenced by clone(), compute(), and ROJTRRouter().
|
private |
Whether a vehicle may reuse a road.
Definition at line 96 of file ROJTRRouter.h.
Referenced by clone(), compute(), and ROJTRRouter().
|
protectedinherited |
whether we are already initialized
Definition at line 408 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether we are currently trying to detect bulk mode automatically
Definition at line 405 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether we are currently operating several route queries in a bulk
Definition at line 402 of file SUMOAbstractRouter.h.
|
private |
Whether upstream flows shall be discounted from source flows.
Definition at line 99 of file ROJTRRouter.h.
Referenced by clone(), compute(), and ROJTRRouter().
|
protectedinherited |
The container of edge information.
Definition at line 420 of file SUMOAbstractRouter.h.
|
protectedinherited |
the handler for routing errors
Definition at line 393 of file SUMOAbstractRouter.h.
|
protectedinherited |
list of visited Edges (for resetting)
Definition at line 425 of file SUMOAbstractRouter.h.
|
protectedinherited |
A container for reusage of the min edge heap.
Definition at line 423 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether edge permissions need to be considered
Definition at line 411 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether edge restrictions need to be considered
Definition at line 414 of file SUMOAbstractRouter.h.
|
private |
Whether vehicle class information shall be ignored.
Definition at line 93 of file ROJTRRouter.h.
Referenced by clone(), compute(), and ROJTRRouter().
|
private |
The maximum number of edges a route may have.
Definition at line 90 of file ROJTRRouter.h.
Referenced by clone(), compute(), and ROJTRRouter().
|
privateinherited |
Definition at line 433 of file SUMOAbstractRouter.h.
|
protectedinherited |
The object's operation to perform.
Definition at line 396 of file SUMOAbstractRouter.h.
|
protectedinherited |
The list of explicitly prohibited edges and estimated end time of prohibition.
Definition at line 417 of file SUMOAbstractRouter.h.
|
privateinherited |
the time spent querying in milliseconds
Definition at line 435 of file SUMOAbstractRouter.h.
|
privateinherited |
Definition at line 436 of file SUMOAbstractRouter.h.
|
privateinherited |
counters for performance logging
Definition at line 432 of file SUMOAbstractRouter.h.
|
protectedinherited |
The object's operation to perform for travel times.
Definition at line 399 of file SUMOAbstractRouter.h.
|
privateinherited |
the type of this router
Definition at line 429 of file SUMOAbstractRouter.h.
|
private |
Whether unbuildable routes shall be reported as warniings, not errors.
Definition at line 84 of file ROJTRRouter.h.
Referenced by clone(), compute(), and ROJTRRouter().