Eclipse SUMO - Simulation of Urban MObility
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GNEHierarchicalContainer Class Reference

Hierarchical container (used for keep myParent and myChildren. More...

#include <GNEHierarchicalContainer.h>

Public Member Functions

template<>
void addChildElement (GNEAdditional *additional)
 
template<>
void addChildElement (GNEDemandElement *demandElement)
 
template<>
void addChildElement (GNEEdge *edge)
 
template<>
void addChildElement (GNEGenericData *genericData)
 
template<>
void addChildElement (GNEJunction *junction)
 
template<>
void addChildElement (GNELane *lane)
 
template<typename T >
void addChildElement (T *element)
 add child element
 
template<>
void addParentElement (GNEAdditional *additional)
 
template<>
void addParentElement (GNEDemandElement *demandElement)
 
template<>
void addParentElement (GNEEdge *edge)
 
template<>
void addParentElement (GNEGenericData *genericData)
 
template<>
void addParentElement (GNEJunction *junction)
 
template<>
void addParentElement (GNELane *lane)
 
template<typename T >
void addParentElement (T *element)
 add parent element
 
template<>
const std::vector< GNEJunction * > & getChildren () const
 
template<>
const std::vector< GNEEdge * > & getChildren () const
 
template<>
const std::vector< GNELane * > & getChildren () const
 
template<>
const std::vector< GNEAdditional * > & getChildren () const
 
template<>
const std::vector< GNEDemandElement * > & getChildren () const
 
template<>
const std::vector< GNEGenericData * > & getChildren () const
 
template<typename T >
const T & getChildren () const
 get children
 
size_t getContainerSize () const
 get container size
 
template<>
const std::vector< GNEJunction * > & getParents () const
 
template<>
const std::vector< GNEEdge * > & getParents () const
 
template<>
const std::vector< GNELane * > & getParents () const
 
template<>
const std::vector< GNEAdditional * > & getParents () const
 
template<>
const std::vector< GNEDemandElement * > & getParents () const
 
template<>
const std::vector< GNEGenericData * > & getParents () const
 
template<typename T >
const T & getParents () const
 get parents
 
 GNEHierarchicalContainer ()
 default constructor
 
 GNEHierarchicalContainer (const std::vector< GNEJunction * > &parentJunctions, const std::vector< GNEEdge * > &parentEdges, const std::vector< GNELane * > &parentLanes, const std::vector< GNEAdditional * > &parentAdditionals, const std::vector< GNEDemandElement * > &ParentDemandElements, const std::vector< GNEGenericData * > &parentGenericDatas)
 parameter constructor (only for parents)
 
template<>
void removeChildElement (GNEAdditional *additional)
 
template<>
void removeChildElement (GNEDemandElement *demandElement)
 
template<>
void removeChildElement (GNEEdge *edge)
 
template<>
void removeChildElement (GNEGenericData *genericData)
 
template<>
void removeChildElement (GNEJunction *junction)
 
template<>
void removeChildElement (GNELane *lane)
 
template<typename T >
void removeChildElement (T *element)
 remove child element
 
template<>
void removeParentElement (GNEAdditional *additional)
 
template<>
void removeParentElement (GNEDemandElement *demandElement)
 
template<>
void removeParentElement (GNEEdge *edge)
 
template<>
void removeParentElement (GNEGenericData *genericData)
 
template<>
void removeParentElement (GNEJunction *junction)
 
template<>
void removeParentElement (GNELane *lane)
 
template<typename T >
void removeParentElement (T *element)
 remove parent element
 
template<>
void setChildren (const std::vector< GNEAdditional * > &newChildren)
 
template<>
void setChildren (const std::vector< GNEDemandElement * > &newChildren)
 
template<>
void setChildren (const std::vector< GNEEdge * > &newChildren)
 
template<>
void setChildren (const std::vector< GNEGenericData * > &newChildren)
 
template<>
void setChildren (const std::vector< GNEJunction * > &newChildren)
 
template<>
void setChildren (const std::vector< GNELane * > &newChildren)
 
template<typename T >
void setChildren (const T &newChildren)
 set children
 
template<>
void setParents (const std::vector< GNEAdditional * > &newParents)
 
template<>
void setParents (const std::vector< GNEDemandElement * > &newParents)
 
template<>
void setParents (const std::vector< GNEEdge * > &newParents)
 
template<>
void setParents (const std::vector< GNEGenericData * > &newParents)
 
template<>
void setParents (const std::vector< GNEJunction * > &newParents)
 
template<>
void setParents (const std::vector< GNELane * > &newParents)
 
template<typename T >
void setParents (const T &newParents)
 set parents
 

Private Attributes

std::vector< GNEAdditional * > myChildAdditionals
 vector with the child additional
 
std::vector< GNEDemandElement * > myChildDemandElements
 vector with the child demand elements
 
std::vector< GNEEdge * > myChildEdges
 vector with the child edges
 
std::vector< GNEGenericData * > myChildGenericDatas
 vector with the generic child data elements
 
std::vector< GNEJunction * > myChildJunctions
 vector with the child junctions
 
std::vector< GNELane * > myChildLanes
 vector with the child lanes
 
std::vector< GNEAdditional * > myParentAdditionals
 vector of parent additionals
 
std::vector< GNEDemandElement * > myParentDemandElements
 vector of parent demand elements
 
std::vector< GNEEdge * > myParentEdges
 vector of parent edges
 
std::vector< GNEGenericData * > myParentGenericDatas
 vector of parent generic datas
 
std::vector< GNEJunction * > myParentJunctions
 vector of parent junctions
 
std::vector< GNELane * > myParentLanes
 vector of parent lanes
 

Detailed Description

Hierarchical container (used for keep myParent and myChildren.

Definition at line 42 of file GNEHierarchicalContainer.h.

Constructor & Destructor Documentation

◆ GNEHierarchicalContainer() [1/2]

GNEHierarchicalContainer::GNEHierarchicalContainer ( )

default constructor

Definition at line 30 of file GNEHierarchicalContainer.cpp.

◆ GNEHierarchicalContainer() [2/2]

GNEHierarchicalContainer::GNEHierarchicalContainer ( const std::vector< GNEJunction * > &  parentJunctions,
const std::vector< GNEEdge * > &  parentEdges,
const std::vector< GNELane * > &  parentLanes,
const std::vector< GNEAdditional * > &  parentAdditionals,
const std::vector< GNEDemandElement * > &  ParentDemandElements,
const std::vector< GNEGenericData * > &  parentGenericDatas 
)

parameter constructor (only for parents)

Definition at line 33 of file GNEHierarchicalContainer.cpp.

Member Function Documentation

◆ addChildElement() [1/7]

template<>
void GNEHierarchicalContainer::addChildElement ( GNEAdditional additional)

Definition at line 195 of file GNEHierarchicalContainer.cpp.

References myChildAdditionals.

◆ addChildElement() [2/7]

template<>
void GNEHierarchicalContainer::addChildElement ( GNEDemandElement demandElement)

Definition at line 201 of file GNEHierarchicalContainer.cpp.

References myChildDemandElements.

◆ addChildElement() [3/7]

template<>
void GNEHierarchicalContainer::addChildElement ( GNEEdge edge)

Definition at line 183 of file GNEHierarchicalContainer.cpp.

References myChildEdges.

◆ addChildElement() [4/7]

template<>
void GNEHierarchicalContainer::addChildElement ( GNEGenericData genericData)

Definition at line 208 of file GNEHierarchicalContainer.cpp.

References myChildGenericDatas.

◆ addChildElement() [5/7]

template<>
void GNEHierarchicalContainer::addChildElement ( GNEJunction junction)

Definition at line 177 of file GNEHierarchicalContainer.cpp.

References myChildJunctions.

◆ addChildElement() [6/7]

template<>
void GNEHierarchicalContainer::addChildElement ( GNELane lane)

Definition at line 189 of file GNEHierarchicalContainer.cpp.

References myChildLanes.

◆ addChildElement() [7/7]

template<typename T >
void GNEHierarchicalContainer::addChildElement ( T *  element)

add child element

Referenced by GNEHierarchicalElement::addChildElement().

Here is the caller graph for this function:

◆ addParentElement() [1/7]

template<>
void GNEHierarchicalContainer::addParentElement ( GNEAdditional additional)

Definition at line 87 of file GNEHierarchicalContainer.cpp.

References myParentAdditionals.

◆ addParentElement() [2/7]

template<>
void GNEHierarchicalContainer::addParentElement ( GNEDemandElement demandElement)

Definition at line 93 of file GNEHierarchicalContainer.cpp.

References myParentDemandElements.

◆ addParentElement() [3/7]

template<>
void GNEHierarchicalContainer::addParentElement ( GNEEdge edge)

Definition at line 75 of file GNEHierarchicalContainer.cpp.

References myParentEdges.

◆ addParentElement() [4/7]

template<>
void GNEHierarchicalContainer::addParentElement ( GNEGenericData genericData)

Definition at line 99 of file GNEHierarchicalContainer.cpp.

References myParentGenericDatas.

◆ addParentElement() [5/7]

template<>
void GNEHierarchicalContainer::addParentElement ( GNEJunction junction)

Definition at line 69 of file GNEHierarchicalContainer.cpp.

References myParentJunctions.

◆ addParentElement() [6/7]

template<>
void GNEHierarchicalContainer::addParentElement ( GNELane lane)

Definition at line 81 of file GNEHierarchicalContainer.cpp.

References myParentLanes.

◆ addParentElement() [7/7]

template<typename T >
void GNEHierarchicalContainer::addParentElement ( T *  element)

add parent element

Referenced by GNEHierarchicalElement::addParentElement().

Here is the caller graph for this function:

◆ getChildren() [1/7]

template<>
const std::vector< GNEJunction * > & GNEHierarchicalContainer::getChildren ( ) const

Definition at line 358 of file GNEHierarchicalContainer.cpp.

References myChildJunctions.

◆ getChildren() [2/7]

template<>
const std::vector< GNEEdge * > & GNEHierarchicalContainer::getChildren ( ) const

Definition at line 364 of file GNEHierarchicalContainer.cpp.

References myChildEdges.

◆ getChildren() [3/7]

template<>
const std::vector< GNELane * > & GNEHierarchicalContainer::getChildren ( ) const

Definition at line 370 of file GNEHierarchicalContainer.cpp.

References myChildLanes.

◆ getChildren() [4/7]

template<>
const std::vector< GNEAdditional * > & GNEHierarchicalContainer::getChildren ( ) const

Definition at line 376 of file GNEHierarchicalContainer.cpp.

References myChildAdditionals.

◆ getChildren() [5/7]

template<>
const std::vector< GNEDemandElement * > & GNEHierarchicalContainer::getChildren ( ) const

Definition at line 382 of file GNEHierarchicalContainer.cpp.

References myChildDemandElements.

◆ getChildren() [6/7]

template<>
const std::vector< GNEGenericData * > & GNEHierarchicalContainer::getChildren ( ) const

Definition at line 388 of file GNEHierarchicalContainer.cpp.

References myChildGenericDatas.

◆ getChildren() [7/7]

template<typename T >
const T & GNEHierarchicalContainer::getChildren ( ) const

◆ getContainerSize()

size_t GNEHierarchicalContainer::getContainerSize ( ) const

get container size

Definition at line 50 of file GNEHierarchicalContainer.cpp.

References myChildAdditionals, myChildDemandElements, myChildEdges, myChildGenericDatas, myChildJunctions, myChildLanes, myParentAdditionals, myParentDemandElements, myParentEdges, myParentGenericDatas, myParentJunctions, and myParentLanes.

Referenced by GNEHierarchicalElement::getAllHierarchicalElements().

Here is the caller graph for this function:

◆ getParents() [1/7]

template<>
const std::vector< GNEJunction * > & GNEHierarchicalContainer::getParents ( ) const

Definition at line 286 of file GNEHierarchicalContainer.cpp.

References myParentJunctions.

◆ getParents() [2/7]

template<>
const std::vector< GNEEdge * > & GNEHierarchicalContainer::getParents ( ) const

Definition at line 292 of file GNEHierarchicalContainer.cpp.

References myParentEdges.

◆ getParents() [3/7]

template<>
const std::vector< GNELane * > & GNEHierarchicalContainer::getParents ( ) const

Definition at line 298 of file GNEHierarchicalContainer.cpp.

References myParentLanes.

◆ getParents() [4/7]

template<>
const std::vector< GNEAdditional * > & GNEHierarchicalContainer::getParents ( ) const

Definition at line 304 of file GNEHierarchicalContainer.cpp.

References myParentAdditionals.

◆ getParents() [5/7]

template<>
const std::vector< GNEDemandElement * > & GNEHierarchicalContainer::getParents ( ) const

Definition at line 310 of file GNEHierarchicalContainer.cpp.

References myParentDemandElements.

◆ getParents() [6/7]

template<>
const std::vector< GNEGenericData * > & GNEHierarchicalContainer::getParents ( ) const

Definition at line 316 of file GNEHierarchicalContainer.cpp.

References myParentGenericDatas.

◆ getParents() [7/7]

◆ removeChildElement() [1/7]

template<>
void GNEHierarchicalContainer::removeChildElement ( GNEAdditional additional)

◆ removeChildElement() [2/7]

template<>
void GNEHierarchicalContainer::removeChildElement ( GNEDemandElement demandElement)

◆ removeChildElement() [3/7]

template<>
void GNEHierarchicalContainer::removeChildElement ( GNEEdge edge)

Definition at line 226 of file GNEHierarchicalContainer.cpp.

References GNEAttributeCarrier::getTagStr(), and myChildEdges.

◆ removeChildElement() [4/7]

template<>
void GNEHierarchicalContainer::removeChildElement ( GNEGenericData genericData)

◆ removeChildElement() [5/7]

template<>
void GNEHierarchicalContainer::removeChildElement ( GNEJunction junction)

◆ removeChildElement() [6/7]

template<>
void GNEHierarchicalContainer::removeChildElement ( GNELane lane)

Definition at line 238 of file GNEHierarchicalContainer.cpp.

References GNEAttributeCarrier::getTagStr(), and myChildLanes.

◆ removeChildElement() [7/7]

template<typename T >
void GNEHierarchicalContainer::removeChildElement ( T *  element)

remove child element

Referenced by GNEHierarchicalElement::removeChildElement().

Here is the caller graph for this function:

◆ removeParentElement() [1/7]

template<>
void GNEHierarchicalContainer::removeParentElement ( GNEAdditional additional)

◆ removeParentElement() [2/7]

template<>
void GNEHierarchicalContainer::removeParentElement ( GNEDemandElement demandElement)

◆ removeParentElement() [3/7]

template<>
void GNEHierarchicalContainer::removeParentElement ( GNEEdge edge)

◆ removeParentElement() [4/7]

template<>
void GNEHierarchicalContainer::removeParentElement ( GNEGenericData genericData)

◆ removeParentElement() [5/7]

template<>
void GNEHierarchicalContainer::removeParentElement ( GNEJunction junction)

◆ removeParentElement() [6/7]

template<>
void GNEHierarchicalContainer::removeParentElement ( GNELane lane)

◆ removeParentElement() [7/7]

template<typename T >
void GNEHierarchicalContainer::removeParentElement ( T *  element)

remove parent element

Referenced by GNEHierarchicalElement::removeParentElement().

Here is the caller graph for this function:

◆ setChildren() [1/7]

template<>
void GNEHierarchicalContainer::setChildren ( const std::vector< GNEAdditional * > &  newChildren)

Definition at line 412 of file GNEHierarchicalContainer.cpp.

References myChildAdditionals.

◆ setChildren() [2/7]

template<>
void GNEHierarchicalContainer::setChildren ( const std::vector< GNEDemandElement * > &  newChildren)

Definition at line 418 of file GNEHierarchicalContainer.cpp.

References myChildDemandElements.

◆ setChildren() [3/7]

template<>
void GNEHierarchicalContainer::setChildren ( const std::vector< GNEEdge * > &  newChildren)

Definition at line 400 of file GNEHierarchicalContainer.cpp.

References myChildEdges.

◆ setChildren() [4/7]

template<>
void GNEHierarchicalContainer::setChildren ( const std::vector< GNEGenericData * > &  newChildren)

Definition at line 424 of file GNEHierarchicalContainer.cpp.

References myChildGenericDatas.

◆ setChildren() [5/7]

template<>
void GNEHierarchicalContainer::setChildren ( const std::vector< GNEJunction * > &  newChildren)

Definition at line 394 of file GNEHierarchicalContainer.cpp.

References myChildJunctions.

◆ setChildren() [6/7]

template<>
void GNEHierarchicalContainer::setChildren ( const std::vector< GNELane * > &  newChildren)

Definition at line 406 of file GNEHierarchicalContainer.cpp.

References myChildLanes.

◆ setChildren() [7/7]

template<typename T >
void GNEHierarchicalContainer::setChildren ( const T &  newChildren)

set children

Referenced by GNEHierarchicalElement::replaceChildElements().

Here is the caller graph for this function:

◆ setParents() [1/7]

template<>
void GNEHierarchicalContainer::setParents ( const std::vector< GNEAdditional * > &  newParents)

Definition at line 340 of file GNEHierarchicalContainer.cpp.

References myParentAdditionals.

◆ setParents() [2/7]

template<>
void GNEHierarchicalContainer::setParents ( const std::vector< GNEDemandElement * > &  newParents)

Definition at line 346 of file GNEHierarchicalContainer.cpp.

References myParentDemandElements.

◆ setParents() [3/7]

template<>
void GNEHierarchicalContainer::setParents ( const std::vector< GNEEdge * > &  newParents)

Definition at line 328 of file GNEHierarchicalContainer.cpp.

References myParentEdges.

◆ setParents() [4/7]

template<>
void GNEHierarchicalContainer::setParents ( const std::vector< GNEGenericData * > &  newParents)

Definition at line 352 of file GNEHierarchicalContainer.cpp.

References myParentGenericDatas.

◆ setParents() [5/7]

template<>
void GNEHierarchicalContainer::setParents ( const std::vector< GNEJunction * > &  newParents)

Definition at line 322 of file GNEHierarchicalContainer.cpp.

References myParentJunctions.

◆ setParents() [6/7]

template<>
void GNEHierarchicalContainer::setParents ( const std::vector< GNELane * > &  newParents)

Definition at line 334 of file GNEHierarchicalContainer.cpp.

References myParentLanes.

◆ setParents() [7/7]

template<typename T >
void GNEHierarchicalContainer::setParents ( const T &  newParents)

set parents

Referenced by GNEHierarchicalElement::replaceParentElements().

Here is the caller graph for this function:

Field Documentation

◆ myChildAdditionals

std::vector<GNEAdditional*> GNEHierarchicalContainer::myChildAdditionals
private

vector with the child additional

Definition at line 121 of file GNEHierarchicalContainer.h.

Referenced by addChildElement(), getChildren(), getContainerSize(), removeChildElement(), and setChildren().

◆ myChildDemandElements

std::vector<GNEDemandElement*> GNEHierarchicalContainer::myChildDemandElements
private

vector with the child demand elements

Definition at line 124 of file GNEHierarchicalContainer.h.

Referenced by addChildElement(), getChildren(), getContainerSize(), removeChildElement(), and setChildren().

◆ myChildEdges

std::vector<GNEEdge*> GNEHierarchicalContainer::myChildEdges
private

vector with the child edges

Definition at line 115 of file GNEHierarchicalContainer.h.

Referenced by addChildElement(), getChildren(), getContainerSize(), removeChildElement(), and setChildren().

◆ myChildGenericDatas

std::vector<GNEGenericData*> GNEHierarchicalContainer::myChildGenericDatas
private

vector with the generic child data elements

Definition at line 127 of file GNEHierarchicalContainer.h.

Referenced by addChildElement(), getChildren(), getContainerSize(), removeChildElement(), and setChildren().

◆ myChildJunctions

std::vector<GNEJunction*> GNEHierarchicalContainer::myChildJunctions
private

vector with the child junctions

Definition at line 112 of file GNEHierarchicalContainer.h.

Referenced by addChildElement(), getChildren(), getContainerSize(), removeChildElement(), and setChildren().

◆ myChildLanes

std::vector<GNELane*> GNEHierarchicalContainer::myChildLanes
private

vector with the child lanes

Definition at line 118 of file GNEHierarchicalContainer.h.

Referenced by addChildElement(), getChildren(), getContainerSize(), removeChildElement(), and setChildren().

◆ myParentAdditionals

std::vector<GNEAdditional*> GNEHierarchicalContainer::myParentAdditionals
private

vector of parent additionals

Definition at line 103 of file GNEHierarchicalContainer.h.

Referenced by addParentElement(), getContainerSize(), getParents(), removeParentElement(), and setParents().

◆ myParentDemandElements

std::vector<GNEDemandElement*> GNEHierarchicalContainer::myParentDemandElements
private

vector of parent demand elements

Definition at line 106 of file GNEHierarchicalContainer.h.

Referenced by addParentElement(), getContainerSize(), getParents(), removeParentElement(), and setParents().

◆ myParentEdges

std::vector<GNEEdge*> GNEHierarchicalContainer::myParentEdges
private

vector of parent edges

Definition at line 97 of file GNEHierarchicalContainer.h.

Referenced by addParentElement(), getContainerSize(), getParents(), removeParentElement(), and setParents().

◆ myParentGenericDatas

std::vector<GNEGenericData*> GNEHierarchicalContainer::myParentGenericDatas
private

vector of parent generic datas

Definition at line 109 of file GNEHierarchicalContainer.h.

Referenced by addParentElement(), getContainerSize(), getParents(), removeParentElement(), and setParents().

◆ myParentJunctions

std::vector<GNEJunction*> GNEHierarchicalContainer::myParentJunctions
private

vector of parent junctions

Definition at line 94 of file GNEHierarchicalContainer.h.

Referenced by addParentElement(), getContainerSize(), getParents(), removeParentElement(), and setParents().

◆ myParentLanes

std::vector<GNELane*> GNEHierarchicalContainer::myParentLanes
private

vector of parent lanes

Definition at line 100 of file GNEHierarchicalContainer.h.

Referenced by addParentElement(), getContainerSize(), getParents(), removeParentElement(), and setParents().


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