![]() |
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. More... | |
Public Member Functions | |
| 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. More... | |
| 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. More... | |
| void | endQuery (int visits) |
| 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 |
| bool | isProhibited (const ROEdge *const edge, const ROVehicle *const vehicle) const |
| virtual void | prohibit (const std::vector< ROEdge * > &) |
| double | recomputeCosts (const std::vector< const ROEdge * > &edges, const ROVehicle *const v, SUMOTime msTime, double *lengthp=nullptr) const |
| ROJTRRouter (bool unbuildIsWarningOnly, bool acceptAllDestinations, int maxEdges, bool ignoreClasses, bool allowLoops) | |
| Constructor. More... | |
| void | setBulkMode (const bool mode) |
| 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. More... | |
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. More... | |
| double | recomputeCosts (const ConstROEdgeVector &edges, const ROVehicle *const v, SUMOTime msTime) const |
| Recomputes the costs of a route. More... | |
Protected Attributes | |
| bool | myBulkMode |
| whether we are currently operating several route queries in a bulk More... | |
| MsgHandler *const | myErrorMsgHandler |
| the handler for routing errors More... | |
| const bool | myHavePermissions |
| whether edge permissions need to be considered More... | |
| const bool | myHaveRestrictions |
| whether edge restrictions need to be considered More... | |
| Operation | myOperation |
| The object's operation to perform. More... | |
| std::vector< ROEdge * > | myProhibited |
| Operation | myTTOperation |
| The object's operation to perform for travel times. More... | |
Private Attributes | |
| const bool | myAcceptAllDestination |
| Whether all edges may be used as route end. More... | |
| const bool | myAllowLoops |
| Whether a vehicle may reuse a road. More... | |
| const bool | myIgnoreClasses |
| Whether vehicle class information shall be ignored. More... | |
| const int | myMaxEdges |
| The maximum number of edges a route may have. More... | |
| long long int | myNumQueries |
| long long int | myQueryStartTime |
| the time spent querying in milliseconds More... | |
| long long int | myQueryTimeSum |
| long long int | myQueryVisits |
| counters for performance logging More... | |
| const std::string | myType |
| the type of this router More... | |
| const bool | myUnbuildIsWarningOnly |
| Whether unbuildable routes shall be reported as warniings, not errors. More... | |
Computes routes using junction turning percentages.
Definition at line 45 of file ROJTRRouter.h.
|
inherited |
Type of the function that is used to retrieve the edge effort.
Definition at line 96 of file SUMOAbstractRouter.h.
| ROJTRRouter::ROJTRRouter | ( | bool | unbuildIsWarningOnly, |
| bool | acceptAllDestinations, | ||
| int | maxEdges, | ||
| bool | ignoreClasses, | ||
| bool | allowLoops | ||
| ) |
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 |
Definition at line 34 of file ROJTRRouter.cpp.
Referenced by clone().
| ROJTRRouter::~ROJTRRouter | ( | ) |
Destructor.
Definition at line 43 of file ROJTRRouter.cpp.
|
inlinevirtual |
Implements SUMOAbstractRouter< ROEdge, ROVehicle >.
Definition at line 62 of file ROJTRRouter.h.
References myAcceptAllDestination, myAllowLoops, myIgnoreClasses, myMaxEdges, myUnbuildIsWarningOnly, and ROJTRRouter().
|
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 47 of file ROJTRRouter.cpp.
References ROJTREdge::chooseNext(), MsgHandler::getErrorInstance(), Named::getID(), ROEdge::getTravelTime(), MsgHandler::getWarningInstance(), MsgHandler::inform(), ROEdge::isSink(), myAcceptAllDestination, myAllowLoops, 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 130 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 225 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 216 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 165 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 159 of file SUMOAbstractRouter.h.
|
inlinevirtualinherited |
Definition at line 163 of file SUMOAbstractRouter.h.
| double ROJTRRouter::recomputeCosts | ( | const ConstROEdgeVector & | edges, |
| const ROVehicle *const | v, | ||
| SUMOTime | msTime | ||
| ) | const |
Recomputes the costs of a route.
| [in] | edges | The route |
| [in] | v | The vehicle that belongs to the route |
| [in] | msTime | The departure time of the vehicle |
|
inlineinherited |
Definition at line 195 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 230 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 220 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 179 of file SUMOAbstractRouter.h.
|
inlineinherited |
Definition at line 169 of file SUMOAbstractRouter.h.
|
private |
Whether all edges may be used as route end.
Definition at line 97 of file ROJTRRouter.h.
|
private |
Whether a vehicle may reuse a road.
Definition at line 106 of file ROJTRRouter.h.
|
protectedinherited |
whether we are currently operating several route queries in a bulk
Definition at line 245 of file SUMOAbstractRouter.h.
|
protectedinherited |
the handler for routing errors
Definition at line 236 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether edge permissions need to be considered
Definition at line 248 of file SUMOAbstractRouter.h.
|
protectedinherited |
whether edge restrictions need to be considered
Definition at line 251 of file SUMOAbstractRouter.h.
|
private |
Whether vehicle class information shall be ignored.
Definition at line 103 of file ROJTRRouter.h.
|
private |
The maximum number of edges a route may have.
Definition at line 100 of file ROJTRRouter.h.
|
privateinherited |
Definition at line 261 of file SUMOAbstractRouter.h.
|
protectedinherited |
The object's operation to perform.
Definition at line 239 of file SUMOAbstractRouter.h.
|
protectedinherited |
Definition at line 253 of file SUMOAbstractRouter.h.
|
privateinherited |
the time spent querying in milliseconds
Definition at line 263 of file SUMOAbstractRouter.h.
|
privateinherited |
Definition at line 264 of file SUMOAbstractRouter.h.
|
privateinherited |
counters for performance logging
Definition at line 260 of file SUMOAbstractRouter.h.
|
protectedinherited |
The object's operation to perform for travel times.
Definition at line 242 of file SUMOAbstractRouter.h.
|
privateinherited |
the type of this router
Definition at line 257 of file SUMOAbstractRouter.h.
|
private |
Whether unbuildable routes shall be reported as warniings, not errors.
Definition at line 94 of file ROJTRRouter.h.