Eclipse SUMO - Simulation of Urban MObility
SUMOAbstractRouterPermissions< E, V > Class Template Referenceabstract

#include <SUMOAbstractRouter.h>

Inheritance diagram for SUMOAbstractRouterPermissions< E, V >:
Collaboration diagram for SUMOAbstractRouterPermissions< E, V >:

Public Types

typedef double(* Operation) (const E *const, const V *const, double)
 Type of the function that is used to retrieve the edge effort. More...
 

Public Member Functions

virtual SUMOAbstractRouterclone ()=0
 
virtual bool compute (const E *from, const E *to, const V *const vehicle, SUMOTime msTime, std::vector< const E *> &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 E *from, const E *to, const V *const vehicle, SUMOTime msTime, std::vector< const E *> &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 E *const e, const V *const v, double t) const
 
double getTravelTime (const E *const e, const V *const v, const double t, const double effort) const
 
bool isProhibited (const E *const edge, const V *const vehicle) const
 
void prohibit (const std::vector< E *> &toProhibit)
 
double recomputeCosts (const std::vector< const E *> &edges, const V *const v, SUMOTime msTime, double *lengthp=nullptr) const
 
void setBulkMode (const bool mode)
 
void startQuery ()
 
 SUMOAbstractRouterPermissions (const std::string &type, bool unbuildIsWarning, typename SUMOAbstractRouter< E, V >::Operation operation=nullptr, typename SUMOAbstractRouter< E, V >::Operation ttOperation=nullptr)
 Constructor. More...
 
void updateViaCost (const E *const prev, const E *const e, const V *const v, double &time, double &effort, double &length) const
 
void updateViaEdgeCost (const E *viaEdge, const V *const v, double &time, double &effort, double &length) const
 
virtual ~SUMOAbstractRouterPermissions ()
 Destructor. 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...
 
Operation myOperation
 The object's operation to perform. More...
 
std::vector< E * > myProhibited
 
Operation myTTOperation
 The object's operation to perform for travel times. More...
 

Detailed Description

template<class E, class V>
class SUMOAbstractRouterPermissions< E, V >

Definition at line 258 of file SUMOAbstractRouter.h.

Member Typedef Documentation

◆ Operation

template<class E, class V>
typedef double(* SUMOAbstractRouter< E, V >::Operation) (const E *const, const V *const, double)
inherited

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

Definition at line 94 of file SUMOAbstractRouter.h.

Constructor & Destructor Documentation

◆ SUMOAbstractRouterPermissions()

template<class E, class V>
SUMOAbstractRouterPermissions< E, V >::SUMOAbstractRouterPermissions ( const std::string &  type,
bool  unbuildIsWarning,
typename SUMOAbstractRouter< E, V >::Operation  operation = nullptr,
typename SUMOAbstractRouter< E, V >::Operation  ttOperation = nullptr 
)
inline

Constructor.

Definition at line 261 of file SUMOAbstractRouter.h.

◆ ~SUMOAbstractRouterPermissions()

template<class E, class V>
virtual SUMOAbstractRouterPermissions< E, V >::~SUMOAbstractRouterPermissions ( )
inlinevirtual

Destructor.

Definition at line 267 of file SUMOAbstractRouter.h.

Member Function Documentation

◆ clone()

◆ compute()

◆ computeLooped()

template<class E, class V>
bool SUMOAbstractRouter< E, V >::computeLooped ( const E *  from,
const E *  to,
const V *const  vehicle,
SUMOTime  msTime,
std::vector< const E *> &  into,
bool  silent = false 
)
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 125 of file SUMOAbstractRouter.h.

Referenced by MSBaseVehicle::reroute(), and MSTriggeredRerouter::rerouteParkingArea().

◆ endQuery()

template<class E, class V>
void SUMOAbstractRouter< E, V >::endQuery ( int  visits)
inlineinherited

Definition at line 219 of file SUMOAbstractRouter.h.

◆ getEffort()

template<class E, class V>
double SUMOAbstractRouter< E, V >::getEffort ( const E *const  e,
const V *const  v,
double  t 
) const
inlineinherited

◆ getTravelTime()

template<class E, class V>
double SUMOAbstractRouter< E, V >::getTravelTime ( const E *const  e,
const V *const  v,
const double  t,
const double  effort 
) const
inlineinherited

◆ isProhibited()

template<class E, class V>
bool SUMOAbstractRouterPermissions< E, V >::isProhibited ( const E *const  edge,
const V *const  vehicle 
) const
inlinevirtual

Reimplemented from SUMOAbstractRouter< E, V >.

Definition at line 270 of file SUMOAbstractRouter.h.

◆ prohibit()

template<class E, class V>
void SUMOAbstractRouterPermissions< E, V >::prohibit ( const std::vector< E *> &  toProhibit)
inline

◆ recomputeCosts()

◆ setBulkMode()

template<class E, class V>
void SUMOAbstractRouter< E, V >::setBulkMode ( const bool  mode)
inlineinherited

Definition at line 224 of file SUMOAbstractRouter.h.

Referenced by ROMAAssignments::incremental().

◆ startQuery()

template<class E, class V>
void SUMOAbstractRouter< E, V >::startQuery ( )
inlineinherited

Definition at line 214 of file SUMOAbstractRouter.h.

◆ updateViaCost()

template<class E, class V>
void SUMOAbstractRouter< E, V >::updateViaCost ( const E *const  prev,
const E *const  e,
const V *const  v,
double &  time,
double &  effort,
double &  length 
) const
inlineinherited

◆ updateViaEdgeCost()

template<class E, class V>
void SUMOAbstractRouter< E, V >::updateViaEdgeCost ( const E *  viaEdge,
const V *const  v,
double &  time,
double &  effort,
double &  length 
) const
inlineinherited

Field Documentation

◆ myBulkMode

template<class E, class V>
bool SUMOAbstractRouter< E, V >::myBulkMode
protectedinherited

whether we are currently operating several route queries in a bulk

Definition at line 239 of file SUMOAbstractRouter.h.

Referenced by SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::setBulkMode().

◆ myErrorMsgHandler

template<class E, class V>
MsgHandler* const SUMOAbstractRouter< E, V >::myErrorMsgHandler
protectedinherited

the handler for routing errors

Definition at line 230 of file SUMOAbstractRouter.h.

Referenced by SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::computeLooped().

◆ myOperation

template<class E, class V>
Operation SUMOAbstractRouter< E, V >::myOperation
protectedinherited

The object's operation to perform.

Definition at line 233 of file SUMOAbstractRouter.h.

Referenced by SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::getEffort().

◆ myProhibited

template<class E, class V>
std::vector<E*> SUMOAbstractRouterPermissions< E, V >::myProhibited
protected

Definition at line 282 of file SUMOAbstractRouter.h.

◆ myTTOperation

template<class E, class V>
Operation SUMOAbstractRouter< E, V >::myTTOperation
protectedinherited

The object's operation to perform for travel times.

Definition at line 236 of file SUMOAbstractRouter.h.

Referenced by SUMOAbstractRouter< E, IntermodalTrip< E, N, V > >::getTravelTime().


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