SUMO - Simulation of Urban MObility
ROJTRRouter Class Referenceabstract

Computes routes using junction turning percentages. More...

#include <ROJTRRouter.h>

Inheritance diagram for ROJTRRouter:
Inheritance graph
Collaboration diagram for ROJTRRouter:
Collaboration graph

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)=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...
 
void endQuery (int visits)
 
double getEffort (const ROEdge *const e, const ROVehicle *const v, double t) const
 
virtual double recomputeCosts (const std::vector< const ROEdge * > &edges, const ROVehicle *const v, SUMOTime msTime) const=0
 
 ROJTRRouter (bool unbuildIsWarningOnly, bool acceptAllDestinations, int maxEdges, bool ignoreClasses, bool allowLoops)
 Constructor. More...
 
void setBulkMode (const bool mode)
 
void startQuery ()
 
 ~ROJTRRouter ()
 Destructor. More...
 
Implementatios of SUMOAbstractRouter
bool compute (const ROEdge *from, const ROEdge *to, const ROVehicle *const vehicle, SUMOTime time, ConstROEdgeVector &into)
 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...
 
Operation myOperation
 The object's operation to perform. 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...
 
const bool myUnbuildIsWarningOnly
 Whether unbuildable routes shall be reported as warniings, not errors. More...
 

Detailed Description

Computes routes using junction turning percentages.

Definition at line 53 of file ROJTRRouter.h.

Member Typedef Documentation

◆ Operation

typedef double(* SUMOAbstractRouter< ROEdge , ROVehicle >::Operation) (const ROEdge *const, const ROVehicle *const, double)
inherited

Type of the function that is used to retrieve the edge effort.

Definition at line 56 of file SUMOAbstractRouter.h.

Constructor & Destructor Documentation

◆ ROJTRRouter()

ROJTRRouter::ROJTRRouter ( bool  unbuildIsWarningOnly,
bool  acceptAllDestinations,
int  maxEdges,
bool  ignoreClasses,
bool  allowLoops 
)

Constructor.

Parameters
[in]unbuildIsWarningOnlyWhether not closed routes shall not yield in an error
[in]acceptAllDestinationsIf false, only sinks will be used as final edges
[in]maxEdgesThe maximum number of edges a route may have
[in]ignoreClassesWhether routing shall be done without regarding vehicle classes
[in]allowLoopsWhether a vehicle may reuse a road

Definition at line 42 of file ROJTRRouter.cpp.

Referenced by clone().

◆ ~ROJTRRouter()

ROJTRRouter::~ROJTRRouter ( )

Destructor.

Definition at line 51 of file ROJTRRouter.cpp.

Member Function Documentation

◆ clone()

◆ compute() [1/2]

virtual bool SUMOAbstractRouter< ROEdge , ROVehicle >::compute ( const ROEdge from,
const ROEdge to,
const ROVehicle *const  vehicle,
SUMOTime  msTime,
std::vector< const ROEdge *> &  into 
)
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.

◆ compute() [2/2]

bool ROJTRRouter::compute ( const ROEdge from,
const ROEdge to,
const ROVehicle *const  vehicle,
SUMOTime  time,
ConstROEdgeVector into 
)

Computes a route.

The description how routes are computed is given in the user documentation

Parameters
[in]fromThe edge the vehicle starts at
[in]toThe destination edge - invalid here
[in]vehicleThe vehicle to compute the route for
[in]timeThe departure time of the vehicle

Definition at line 55 of file ROJTRRouter.cpp.

References ROJTREdge::chooseNext(), ROEdge::ET_SINK, MsgHandler::getErrorInstance(), ROEdge::getFunc(), Named::getID(), ROEdge::getTravelTime(), MsgHandler::getWarningInstance(), MsgHandler::inform(), myAcceptAllDestination, myAllowLoops, myIgnoreClasses, myMaxEdges, myUnbuildIsWarningOnly, ROEdge::prohibits(), and STEPS2TIME.

Referenced by clone().

◆ endQuery()

void SUMOAbstractRouter< ROEdge , ROVehicle >::endQuery ( int  visits)
inlineinherited

Definition at line 96 of file SUMOAbstractRouter.h.

◆ getEffort()

double SUMOAbstractRouter< ROEdge , ROVehicle >::getEffort ( const ROEdge *const  e,
const ROVehicle *const  v,
double  t 
) const
inlineinherited

Definition at line 87 of file SUMOAbstractRouter.h.

◆ recomputeCosts() [1/2]

virtual double SUMOAbstractRouter< ROEdge , ROVehicle >::recomputeCosts ( const std::vector< const ROEdge *> &  edges,
const ROVehicle *const  v,
SUMOTime  msTime 
) const
pure virtualinherited

◆ recomputeCosts() [2/2]

double ROJTRRouter::recomputeCosts ( const ConstROEdgeVector edges,
const ROVehicle *const  v,
SUMOTime  msTime 
) const

Recomputes the costs of a route.

Parameters
[in]edgesThe route
[in]vThe vehicle that belongs to the route
[in]msTimeThe departure time of the vehicle
Returns
The route costs

Definition at line 92 of file ROJTRRouter.cpp.

References STEPS2TIME.

Referenced by clone().

◆ setBulkMode()

void SUMOAbstractRouter< ROEdge , ROVehicle >::setBulkMode ( const bool  mode)
inlineinherited

Definition at line 101 of file SUMOAbstractRouter.h.

◆ startQuery()

void SUMOAbstractRouter< ROEdge , ROVehicle >::startQuery ( )
inlineinherited

Definition at line 91 of file SUMOAbstractRouter.h.

Field Documentation

◆ myAcceptAllDestination

const bool ROJTRRouter::myAcceptAllDestination
private

Whether all edges may be used as route end.

Definition at line 105 of file ROJTRRouter.h.

Referenced by clone(), and compute().

◆ myAllowLoops

const bool ROJTRRouter::myAllowLoops
private

Whether a vehicle may reuse a road.

Definition at line 114 of file ROJTRRouter.h.

Referenced by clone(), and compute().

◆ myBulkMode

bool SUMOAbstractRouter< ROEdge , ROVehicle >::myBulkMode
protectedinherited

whether we are currently operating several route queries in a bulk

Definition at line 110 of file SUMOAbstractRouter.h.

◆ myIgnoreClasses

const bool ROJTRRouter::myIgnoreClasses
private

Whether vehicle class information shall be ignored.

Definition at line 111 of file ROJTRRouter.h.

Referenced by clone(), and compute().

◆ myMaxEdges

const int ROJTRRouter::myMaxEdges
private

The maximum number of edges a route may have.

Definition at line 108 of file ROJTRRouter.h.

Referenced by clone(), and compute().

◆ myOperation

Operation SUMOAbstractRouter< ROEdge , ROVehicle >::myOperation
protectedinherited

The object's operation to perform.

Definition at line 107 of file SUMOAbstractRouter.h.

◆ myUnbuildIsWarningOnly

const bool ROJTRRouter::myUnbuildIsWarningOnly
private

Whether unbuildable routes shall be reported as warniings, not errors.

Definition at line 102 of file ROJTRRouter.h.

Referenced by clone(), and compute().


The documentation for this class was generated from the following files: