Eclipse SUMO - Simulation of Urban MObility
GNEPathElements Class Reference

An special type of Attribute carrier that owns hierarchical elements. More...

#include <GNEPathElements.h>

Inheritance diagram for GNEPathElements:
[legend]
Collaboration diagram for GNEPathElements:
[legend]

Data Structures

class  PathElement
 path element More...
 

Public Member Functions

void drawJunctionPathChildren (const GUIVisualizationSettings &s, const GNEJunction *junction, const double offset) const
 draw junction path child More...
 
void drawLanePathChildren (const GUIVisualizationSettings &s, const GNELane *lane, const double offset) const
 draw lane path child More...
 
const std::vector< GNEPathElements::PathElement > & getPath () const
 get path edges More...
 
 GNEPathElements (GNEAdditional *additionalElement)
 Constructor for additional elements. More...
 
 GNEPathElements (GNEDemandElement *demandElement)
 Constructor for demand elements. More...
 
 GNEPathElements (GNEGenericData *genericData)
 Constructor for generic datas. More...
 
 ~GNEPathElements ()
 Destructor. More...
 

Protected Member Functions

void calculateConsecutivePathLanes (const std::vector< GNELane * > &lanes)
 calculate consecutive path lanes (used by E2Detectors) More...
 
void calculateConsecutivePathLanes (SUMOVehicleClass vClass, const bool allowedVClass, const std::vector< GNEEdge * > &edges)
 calculate consecutive path lanes (used by routes) More...
 
void calculateGenericDataLanePath (const std::vector< GNEEdge * > &edges)
 calculate consecutive path lanes (used by genericdatas) More...
 
void calculatePathLanes (SUMOVehicleClass vClass, const bool allowedVClass, GNELane *fromLane, GNELane *toLane, const std::vector< GNEEdge * > &viaEdges)
 calculate path lanes (Dijkstra) More...
 
void resetPathLanes (SUMOVehicleClass vClass, const bool allowedVClass, GNELane *fromLane, GNELane *toLane, const std::vector< GNEEdge * > &viaEdges)
 reset path lanes More...
 

Private Member Functions

void addElements ()
 add elements More...
 
const std::vector< GNEEdge * > calculateFromViaToEdges (GNELane *fromLane, GNELane *toLane, const std::vector< GNEEdge * > &viaEdges)
 calculate from-via-to edges More...
 
 GNEPathElements ()
 default constructor More...
 
 GNEPathElements (const GNEPathElements &)=delete
 Invalidated copy constructor. More...
 
GNEPathElementsoperator= (const GNEPathElements &)=delete
 Invalidated assignment operator. More...
 
void removeElements ()
 remove elements More...
 
void updatePathElements ()
 update path element More...
 

Private Attributes

GNEAdditionalmyAdditionalElement
 pointer to additional element More...
 
GNEDemandElementmyDemandElement
 pointer to demand element More...
 
GNEGenericDatamyGenericData
 pointer to generic data More...
 
std::vector< PathElementmyPathElements
 vector of edges used in paths More...
 

Detailed Description

An special type of Attribute carrier that owns hierarchical elements.

Definition at line 44 of file GNEPathElements.h.

Constructor & Destructor Documentation

◆ GNEPathElements() [1/5]

GNEPathElements::GNEPathElements ( GNEAdditional additionalElement)

Constructor for additional elements.

Definition at line 78 of file GNEPathElements.cpp.

◆ GNEPathElements() [2/5]

GNEPathElements::GNEPathElements ( GNEDemandElement demandElement)

Constructor for demand elements.

Definition at line 85 of file GNEPathElements.cpp.

◆ GNEPathElements() [3/5]

GNEPathElements::GNEPathElements ( GNEGenericData genericData)

Constructor for generic datas.

Definition at line 92 of file GNEPathElements.cpp.

◆ ~GNEPathElements()

GNEPathElements::~GNEPathElements ( )

Destructor.

Definition at line 99 of file GNEPathElements.cpp.

◆ GNEPathElements() [4/5]

GNEPathElements::GNEPathElements ( )
private

default constructor

Definition at line 395 of file GNEPathElements.cpp.

◆ GNEPathElements() [5/5]

GNEPathElements::GNEPathElements ( const GNEPathElements )
privatedelete

Invalidated copy constructor.

Member Function Documentation

◆ addElements()

void GNEPathElements::addElements ( )
private

add elements

Definition at line 300 of file GNEPathElements.cpp.

References myAdditionalElement, myDemandElement, myGenericData, and myPathElements.

Referenced by calculateConsecutivePathLanes(), calculateGenericDataLanePath(), calculatePathLanes(), and resetPathLanes().

Here is the caller graph for this function:

◆ calculateConsecutivePathLanes() [1/2]

void GNEPathElements::calculateConsecutivePathLanes ( const std::vector< GNELane * > &  lanes)
protected

calculate consecutive path lanes (used by E2Detectors)

Definition at line 227 of file GNEPathElements.cpp.

References addElements(), myPathElements, removeElements(), and updatePathElements().

◆ calculateConsecutivePathLanes() [2/2]

void GNEPathElements::calculateConsecutivePathLanes ( SUMOVehicleClass  vClass,
const bool  allowedVClass,
const std::vector< GNEEdge * > &  edges 
)
protected

calculate consecutive path lanes (used by routes)

Definition at line 206 of file GNEPathElements.cpp.

References addElements(), myPathElements, removeElements(), and updatePathElements().

Referenced by GNERoute::computePath(), GNEWalk::computePath(), GNERoute::invalidatePath(), GNEWalk::invalidatePath(), and GNEDetectorE2::updateGeometry().

Here is the caller graph for this function:

◆ calculateFromViaToEdges()

const std::vector< GNEEdge * > GNEPathElements::calculateFromViaToEdges ( GNELane fromLane,
GNELane toLane,
const std::vector< GNEEdge * > &  viaEdges 
)
private

calculate from-via-to edges

Definition at line 379 of file GNEPathElements.cpp.

References GNELane::getParentEdge().

Referenced by calculatePathLanes(), and resetPathLanes().

Here is the caller graph for this function:

◆ calculateGenericDataLanePath()

void GNEPathElements::calculateGenericDataLanePath ( const std::vector< GNEEdge * > &  edges)
protected

calculate consecutive path lanes (used by genericdatas)

Definition at line 278 of file GNEPathElements.cpp.

References addElements(), myGenericData, myPathElements, removeElements(), and updatePathElements().

Referenced by GNEEdgeData::updateGeometry(), and GNEEdgeRelData::updateGeometry().

Here is the caller graph for this function:

◆ calculatePathLanes()

void GNEPathElements::calculatePathLanes ( SUMOVehicleClass  vClass,
const bool  allowedVClass,
GNELane fromLane,
GNELane toLane,
const std::vector< GNEEdge * > &  viaEdges 
)
protected

calculate path lanes (Dijkstra)

Definition at line 170 of file GNEPathElements.cpp.

References addElements(), calculateFromViaToEdges(), GNENetHelper::PathCalculator::calculatePath(), GNEAttributeCarrier::getNet(), GNENet::getPathCalculator(), myDemandElement, myPathElements, removeElements(), and updatePathElements().

Referenced by GNEPersonTrip::computePath(), GNERide::computePath(), GNEVehicle::computePath(), and GNEWalk::computePath().

Here is the caller graph for this function:

◆ drawJunctionPathChildren()

void GNEPathElements::drawJunctionPathChildren ( const GUIVisualizationSettings s,
const GNEJunction junction,
const double  offset 
) const

draw junction path child

Definition at line 138 of file GNEPathElements.cpp.

References GNEAdditional::drawPartialGL(), GNEGenericData::drawPartialGL(), GNEDemandElement::drawPartialGL(), GNEGenericData::isGenericDataVisible(), myAdditionalElement, myDemandElement, myGenericData, and myPathElements.

Referenced by GNEJunction::drawJunctionChildren().

Here is the caller graph for this function:

◆ drawLanePathChildren()

void GNEPathElements::drawLanePathChildren ( const GUIVisualizationSettings s,
const GNELane lane,
const double  offset 
) const

draw lane path child

Definition at line 109 of file GNEPathElements.cpp.

References GNEAdditional::drawPartialGL(), GNEGenericData::drawPartialGL(), GNEDemandElement::drawPartialGL(), GNEGenericData::isGenericDataVisible(), myAdditionalElement, myDemandElement, myGenericData, and myPathElements.

Referenced by GNELane::drawPathAdditionalElements(), GNELane::drawPathDemandElements(), and GNELane::drawPathGenericDataElements().

Here is the caller graph for this function:

◆ getPath()

const std::vector< GNEPathElements::PathElement > & GNEPathElements::getPath ( ) const

get path edges

Definition at line 103 of file GNEPathElements.cpp.

References myPathElements.

Referenced by GNEPersonTrip::isDemandElementValid(), GNERide::isDemandElementValid(), GNEVehicle::isDemandElementValid(), GNEWalk::isDemandElementValid(), GNEDetectorE2::updateGeometry(), GNEPersonTrip::updateGeometry(), GNERide::updateGeometry(), GNERoute::updateGeometry(), GNEVehicle::updateGeometry(), and GNEWalk::updateGeometry().

Here is the caller graph for this function:

◆ operator=()

GNEPathElements& GNEPathElements::operator= ( const GNEPathElements )
privatedelete

Invalidated assignment operator.

◆ removeElements()

void GNEPathElements::removeElements ( )
private

remove elements

Definition at line 335 of file GNEPathElements.cpp.

References myAdditionalElement, myDemandElement, myGenericData, and myPathElements.

Referenced by calculateConsecutivePathLanes(), calculateGenericDataLanePath(), calculatePathLanes(), and resetPathLanes().

Here is the caller graph for this function:

◆ resetPathLanes()

void GNEPathElements::resetPathLanes ( SUMOVehicleClass  vClass,
const bool  allowedVClass,
GNELane fromLane,
GNELane toLane,
const std::vector< GNEEdge * > &  viaEdges 
)
protected

reset path lanes

Definition at line 244 of file GNEPathElements.cpp.

References addElements(), calculateFromViaToEdges(), myPathElements, removeElements(), and updatePathElements().

Referenced by GNEPersonTrip::invalidatePath(), GNERide::invalidatePath(), GNEVehicle::invalidatePath(), and GNEWalk::invalidatePath().

Here is the caller graph for this function:

◆ updatePathElements()

void GNEPathElements::updatePathElements ( )
private

update path element

Definition at line 370 of file GNEPathElements.cpp.

References myPathElements.

Referenced by calculateConsecutivePathLanes(), calculateGenericDataLanePath(), calculatePathLanes(), and resetPathLanes().

Here is the caller graph for this function:

Field Documentation

◆ myAdditionalElement

GNEAdditional* GNEPathElements::myAdditionalElement
private

pointer to additional element

Definition at line 117 of file GNEPathElements.h.

Referenced by addElements(), drawJunctionPathChildren(), drawLanePathChildren(), and removeElements().

◆ myDemandElement

GNEDemandElement* GNEPathElements::myDemandElement
private

pointer to demand element

Definition at line 120 of file GNEPathElements.h.

Referenced by addElements(), calculatePathLanes(), drawJunctionPathChildren(), drawLanePathChildren(), and removeElements().

◆ myGenericData

GNEGenericData* GNEPathElements::myGenericData
private

◆ myPathElements


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