Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
AFBuilder< E, N, V, M > Class Template Reference

Builds arc flags for shortest path search with the arc flag router. More...

#include <AFBuilder.h>

Collaboration diagram for AFBuilder< E, N, V, M >:
[legend]

Public Types

typedef AFInfo< E >::FlagInfo FlagInfo
 
typedef AbstractLookupTable< FlippedEdge< E, N, V >, V > FlippedLookupTable
 

Public Member Functions

 AFBuilder (int numberOfLevels, const std::vector< E * > &edges, bool unbuildIsWarning, typename SUMOAbstractRouter< FlippedEdge< E, N, V >, V >::Operation flippedOperation, const std::shared_ptr< const FlippedLookupTable > flippedLookup=nullptr, const bool havePermissions=false, const bool haveRestrictions=false, const std::vector< FlippedEdge< E, N, V > * > *toProhibit=nullptr)
 Constructor.
 
std::vector< FlagInfo * > & build (SUMOTime msTime, const V *const vehicle)
 Build the arc flag information for the arc flag router.
 
AFBuild< E, N, V, M > * getArcFlagBuild ()
 Returns the arc flag build.
 
const std::vector< E * > & getEdges ()
 Returns the edges.
 
void reset ()
 Resets the builder.
 
int sHARCLevel2PartitionLevel (int sHARCLevel)
 Converts a SHARC level number to a partition level number.
 
 ~AFBuilder ()
 Destructor.
 

Protected Attributes

bool myAmClean
 
AFBuild< E, N, V, M > * myArcFlagBuild
 The arc flag build.
 
const std::vector< E * > & myEdges
 The edges.
 
std::vector< FlagInfo * > myFlagInfos
 The flag informations.
 
std::vector< FlippedEdge< E, N, V > * > myFlippedEdges
 The flipped (backward) edges.
 
KDTreePartition< FlippedEdge< E, N, V >, FlippedNode< E, N, V >, V > * myFlippedPartition
 The k-d tree partition of the backward graph with flipped edges.
 
int myNumberOfArcFlags
 The number of arc flags per each edge.
 
int myNumberOfLevels
 The number of levels of the k-d tree partition of the network.
 

Detailed Description

template<class E, class N, class V, class M>
class AFBuilder< E, N, V, M >

Builds arc flags for shortest path search with the arc flag router.

Definition at line 51 of file AFBuilder.h.

Member Typedef Documentation

◆ FlagInfo

template<class E , class N , class V , class M >
typedef AFInfo<E>::FlagInfo AFBuilder< E, N, V, M >::FlagInfo

Definition at line 53 of file AFBuilder.h.

◆ FlippedLookupTable

template<class E , class N , class V , class M >
typedef AbstractLookupTable<FlippedEdge<E, N, V>, V> AFBuilder< E, N, V, M >::FlippedLookupTable

Definition at line 54 of file AFBuilder.h.

Constructor & Destructor Documentation

◆ AFBuilder()

template<class E , class N , class V , class M >
AFBuilder< E, N, V, M >::AFBuilder ( int  numberOfLevels,
const std::vector< E * > &  edges,
bool  unbuildIsWarning,
typename SUMOAbstractRouter< FlippedEdge< E, N, V >, V >::Operation  flippedOperation,
const std::shared_ptr< const FlippedLookupTable flippedLookup = nullptr,
const bool  havePermissions = false,
const bool  haveRestrictions = false,
const std::vector< FlippedEdge< E, N, V > * > *  toProhibit = nullptr 
)
inline

Constructor.

Parameters
[in]numberOfLevelsThe number of levels
[in]edgesThe container with all edges of the network
[in]unbuildIsWarningThe flag indicating whether network unbuilds should issue warnings or errors
[in]flippedOperationThe operation for a backward graph with flipped edges
[in]flippedLookupThe lookup table for a backward graph with flipped edges
[in]havePermissionsThe flag indicating whether edges have permissions which must be respected
[in]haveRestrictionsThe flag indicating whether edges have restrictions which must be respected
[in]toProhibitThe list of explicitly prohibited edges

Definition at line 66 of file AFBuilder.h.

References AFBuilder< E, N, V, M >::myArcFlagBuild, AFBuilder< E, N, V, M >::myFlagInfos, AFBuilder< E, N, V, M >::myFlippedEdges, AFBuilder< E, N, V, M >::myFlippedPartition, and AFBuilder< E, N, V, M >::myNumberOfLevels.

◆ ~AFBuilder()

template<class E , class N , class V , class M >
AFBuilder< E, N, V, M >::~AFBuilder ( )

Destructor.

Definition at line 180 of file AFBuilder.h.

Member Function Documentation

◆ build()

template<class E , class N , class V , class M >
std::vector< typename AFInfo< E >::FlagInfo * > & AFBuilder< E, N, V, M >::build ( SUMOTime  msTime,
const V *const  vehicle 
)

Build the arc flag information for the arc flag router.

Parameters
[in]msTimeThe start time of the routes in milliseconds
[in]Thevehicle
Returns
The vector with the arc flag information

Definition at line 197 of file AFBuilder.h.

◆ getArcFlagBuild()

template<class E , class N , class V , class M >
AFBuild< E, N, V, M > * AFBuilder< E, N, V, M >::getArcFlagBuild ( )
inline

Returns the arc flag build.

Definition at line 111 of file AFBuilder.h.

References AFBuilder< E, N, V, M >::myArcFlagBuild.

◆ getEdges()

template<class E , class N , class V , class M >
const std::vector< E * > & AFBuilder< E, N, V, M >::getEdges ( )
inline

Returns the edges.

Definition at line 115 of file AFBuilder.h.

References AFBuilder< E, N, V, M >::myEdges.

◆ reset()

template<class E , class N , class V , class M >
void AFBuilder< E, N, V, M >::reset ( )

Resets the builder.

Definition at line 189 of file AFBuilder.h.

◆ sHARCLevel2PartitionLevel()

template<class E , class N , class V , class M >
int AFBuilder< E, N, V, M >::sHARCLevel2PartitionLevel ( int  sHARCLevel)
inline

Converts a SHARC level number to a partition level number.

Parameters
[in]sHARCLevelThe SHARC level
Returns
The partition level number

Definition at line 130 of file AFBuilder.h.

References AFBuilder< E, N, V, M >::myNumberOfLevels, and AFRouter< E, N, V, M >::sHARCLevel2PartitionLevel().

Field Documentation

◆ myAmClean

template<class E , class N , class V , class M >
bool AFBuilder< E, N, V, M >::myAmClean
protected

Definition at line 172 of file AFBuilder.h.

◆ myArcFlagBuild

template<class E , class N , class V , class M >
AFBuild<E, N, V, M>* AFBuilder< E, N, V, M >::myArcFlagBuild
protected

The arc flag build.

Definition at line 162 of file AFBuilder.h.

Referenced by AFBuilder< E, N, V, M >::AFBuilder(), and AFBuilder< E, N, V, M >::getArcFlagBuild().

◆ myEdges

template<class E , class N , class V , class M >
const std::vector<E*>& AFBuilder< E, N, V, M >::myEdges
protected

The edges.

Definition at line 154 of file AFBuilder.h.

Referenced by AFBuilder< E, N, V, M >::getEdges().

◆ myFlagInfos

template<class E , class N , class V , class M >
std::vector<FlagInfo*> AFBuilder< E, N, V, M >::myFlagInfos
protected

The flag informations.

Definition at line 160 of file AFBuilder.h.

Referenced by AFBuilder< E, N, V, M >::AFBuilder().

◆ myFlippedEdges

template<class E , class N , class V , class M >
std::vector<FlippedEdge<E, N, V>*> AFBuilder< E, N, V, M >::myFlippedEdges
protected

The flipped (backward) edges.

Definition at line 156 of file AFBuilder.h.

Referenced by AFBuilder< E, N, V, M >::AFBuilder().

◆ myFlippedPartition

template<class E , class N , class V , class M >
KDTreePartition<FlippedEdge<E, N, V>, FlippedNode<E, N, V>, V>* AFBuilder< E, N, V, M >::myFlippedPartition
protected

The k-d tree partition of the backward graph with flipped edges.

Definition at line 158 of file AFBuilder.h.

Referenced by AFBuilder< E, N, V, M >::AFBuilder().

◆ myNumberOfArcFlags

template<class E , class N , class V , class M >
int AFBuilder< E, N, V, M >::myNumberOfArcFlags
protected

The number of arc flags per each edge.

Definition at line 166 of file AFBuilder.h.

◆ myNumberOfLevels

template<class E , class N , class V , class M >
int AFBuilder< E, N, V, M >::myNumberOfLevels
protected

The number of levels of the k-d tree partition of the network.

Definition at line 164 of file AFBuilder.h.

Referenced by AFBuilder< E, N, V, M >::AFBuilder(), and AFBuilder< E, N, V, M >::sHARCLevel2PartitionLevel().


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