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

#include <SUMOAbstractRouter.h>

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

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 SUMOAbstractRouter * clone ()=0
 
virtual bool compute (const E *from, const E *to, const V *const vehicle, SUMOTime msTime, std::vector< const E *> &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 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) const
 
void setBulkMode (const bool mode)
 
void startQuery ()
 
 SUMOAbstractRouterPermissions (const std::string &type, 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) const
 
virtual ~SUMOAbstractRouterPermissions ()
 Destructor. 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...
 
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 166 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 49 of file SUMOAbstractRouter.h.

Constructor & Destructor Documentation

◆ SUMOAbstractRouterPermissions()

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

Constructor.

Definition at line 169 of file SUMOAbstractRouter.h.

◆ ~SUMOAbstractRouterPermissions()

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

Destructor.

Definition at line 174 of file SUMOAbstractRouter.h.

Member Function Documentation

◆ clone()

◆ compute()

◆ endQuery()

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

Definition at line 130 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 177 of file SUMOAbstractRouter.h.

◆ prohibit()

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

◆ recomputeCosts()

template<class E, class V>
double SUMOAbstractRouter< E, V >::recomputeCosts ( const std::vector< const E *> &  edges,
const V *const  v,
SUMOTime  msTime 
) const
inlineinherited

◆ setBulkMode()

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

Definition at line 135 of file SUMOAbstractRouter.h.

Referenced by ROMAAssignments::incremental().

◆ startQuery()

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

Definition at line 125 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 
) 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 147 of file SUMOAbstractRouter.h.

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

◆ myOperation

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

The object's operation to perform.

Definition at line 141 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 189 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 144 of file SUMOAbstractRouter.h.

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


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