![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Hierarchical container (used for keep myParent and myChildren. More...
#include <GNEHierarchicalContainer.h>
Public Member Functions | |
template<> | |
void | addChildElement (const GNEHierarchicalElement *, GNEDemandElement *demandElement) |
template<> | |
void | addChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEAdditional *additional) |
template<> | |
void | addChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEEdge *edge) |
template<> | |
void | addChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEGenericData *genericData) |
template<> | |
void | addChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEJunction *junction) |
template<> | |
void | addChildElement (const GNEHierarchicalElement *hierarchicalElement, GNELane *lane) |
template<typename T > | |
void | addChildElement (const GNEHierarchicalElement *hierarchicalElement, T *element) |
add child element More... | |
template<> | |
void | addParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEAdditional *additional) |
template<> | |
void | addParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEDemandElement *demandElement) |
template<> | |
void | addParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEEdge *edge) |
template<> | |
void | addParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEGenericData *genericData) |
template<> | |
void | addParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEJunction *junction) |
template<> | |
void | addParentElement (const GNEHierarchicalElement *hierarchicalElement, GNELane *lane) |
template<typename T > | |
void | addParentElement (const GNEHierarchicalElement *hierarchicalElement, T *element) |
add parent element More... | |
template<> | |
const std::vector< GNEJunction * > & | getChildren () const |
template<typename T > | |
const T & | getChildren () const |
get children More... | |
size_t | getContainerSize () const |
get container size More... | |
template<> | |
const std::vector< GNEJunction * > & | getParents () const |
template<typename T > | |
const T & | getParents () const |
get parents More... | |
GNEHierarchicalContainer () | |
default constructor More... | |
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) More... | |
template<> | |
void | removeChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEAdditional *additional) |
template<> | |
void | removeChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEDemandElement *demandElement) |
template<> | |
void | removeChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEEdge *edge) |
template<> | |
void | removeChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEGenericData *genericData) |
template<> | |
void | removeChildElement (const GNEHierarchicalElement *hierarchicalElement, GNEJunction *junction) |
template<> | |
void | removeChildElement (const GNEHierarchicalElement *hierarchicalElement, GNELane *lane) |
template<typename T > | |
void | removeChildElement (const GNEHierarchicalElement *hierarchicalElement, T *element) |
remove child element More... | |
template<> | |
void | removeParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEAdditional *additional) |
template<> | |
void | removeParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEDemandElement *demandElement) |
template<> | |
void | removeParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEEdge *edge) |
template<> | |
void | removeParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEGenericData *genericData) |
template<> | |
void | removeParentElement (const GNEHierarchicalElement *hierarchicalElement, GNEJunction *junction) |
template<> | |
void | removeParentElement (const GNEHierarchicalElement *hierarchicalElement, GNELane *lane) |
template<typename T > | |
void | removeParentElement (const GNEHierarchicalElement *hierarchicalElement, T *element) |
remove parent element More... | |
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 More... | |
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 More... | |
Private Attributes | |
std::vector< GNEAdditional * > | myChildAdditionals |
vector with the child additional More... | |
std::vector< GNEDemandElement * > | myChildDemandElements |
vector with the child demand elements More... | |
std::vector< GNEEdge * > | myChildEdges |
vector with the child edges More... | |
std::vector< GNEGenericData * > | myChildGenericDatas |
vector with the generic child data elements More... | |
std::vector< GNEJunction * > | myChildJunctions |
vector with the child junctions More... | |
std::vector< GNELane * > | myChildLanes |
vector with the child lanes More... | |
std::vector< GNEAdditional * > | myParentAdditionals |
vector of parent additionals More... | |
std::vector< GNEDemandElement * > | myParentDemandElements |
vector of parent demand elements More... | |
std::vector< GNEEdge * > | myParentEdges |
vector of parent edges More... | |
std::vector< GNEGenericData * > | myParentGenericDatas |
vector of parent generic datas More... | |
std::vector< GNEJunction * > | myParentJunctions |
vector of parent junctions More... | |
std::vector< GNELane * > | myParentLanes |
vector of parent lanes More... | |
Static Private Attributes | |
static const bool | checkContainer = true |
flag for enable/disable check duplicate elements (only used for debug purposes) More... | |
Hierarchical container (used for keep myParent and myChildren.
Definition at line 42 of file GNEHierarchicalContainer.h.
GNEHierarchicalContainer::GNEHierarchicalContainer | ( | ) |
default constructor
Definition at line 34 of file GNEHierarchicalContainer.cpp.
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 37 of file GNEHierarchicalContainer.cpp.
void GNEHierarchicalContainer::addChildElement | ( | const GNEHierarchicalElement * | , |
GNEDemandElement * | demandElement | ||
) |
Definition at line 255 of file GNEHierarchicalContainer.cpp.
References myChildDemandElements.
void GNEHierarchicalContainer::addChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEAdditional * | additional | ||
) |
Definition at line 244 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildAdditionals.
void GNEHierarchicalContainer::addChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEEdge * | edge | ||
) |
Definition at line 222 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildEdges.
void GNEHierarchicalContainer::addChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEGenericData * | genericData | ||
) |
Definition at line 271 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildGenericDatas.
void GNEHierarchicalContainer::addChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEJunction * | junction | ||
) |
Definition at line 211 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildJunctions.
void GNEHierarchicalContainer::addChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNELane * | lane | ||
) |
Definition at line 233 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildLanes.
void GNEHierarchicalContainer::addChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
T * | element | ||
) |
add child element
Referenced by GNEHierarchicalElement::addChildElement().
void GNEHierarchicalContainer::addParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEAdditional * | additional | ||
) |
Definition at line 106 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentAdditionals.
void GNEHierarchicalContainer::addParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEDemandElement * | demandElement | ||
) |
Definition at line 117 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentDemandElements.
void GNEHierarchicalContainer::addParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEEdge * | edge | ||
) |
Definition at line 84 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentEdges.
void GNEHierarchicalContainer::addParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEGenericData * | genericData | ||
) |
Definition at line 128 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentGenericDatas.
void GNEHierarchicalContainer::addParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEJunction * | junction | ||
) |
Definition at line 73 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentJunctions.
void GNEHierarchicalContainer::addParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNELane * | lane | ||
) |
Definition at line 95 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentLanes.
void GNEHierarchicalContainer::addParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
T * | element | ||
) |
add parent element
Referenced by GNEHierarchicalElement::addParentElement().
const std::vector< GNEGenericData * > & GNEHierarchicalContainer::getChildren | ( | ) | const |
Definition at line 426 of file GNEHierarchicalContainer.cpp.
References myChildJunctions.
const T & GNEHierarchicalContainer::getChildren | ( | ) | const |
get children
Referenced by GNEChange::addElementInParentsAndChildren(), GNEHierarchicalElement::getChildAdditionals(), GNEHierarchicalElement::getChildDemandElements(), GNEHierarchicalElement::getChildEdges(), GNEHierarchicalElement::getChildGenericDatas(), GNEHierarchicalElement::getChildJunctions(), GNEHierarchicalElement::getChildLanes(), GNEChange::removeElementFromParentsAndChildren(), and GNEHierarchicalElement::replaceChildElements().
size_t GNEHierarchicalContainer::getContainerSize | ( | ) | const |
get container size
Definition at line 54 of file GNEHierarchicalContainer.cpp.
References myChildAdditionals, myChildDemandElements, myChildEdges, myChildGenericDatas, myChildJunctions, myChildLanes, myParentAdditionals, myParentDemandElements, myParentEdges, myParentGenericDatas, myParentJunctions, and myParentLanes.
Referenced by GNEHierarchicalElement::getAllHierarchicalElements().
const std::vector< GNEGenericData * > & GNEHierarchicalContainer::getParents | ( | ) | const |
Definition at line 354 of file GNEHierarchicalContainer.cpp.
References myParentJunctions.
const T & GNEHierarchicalContainer::getParents | ( | ) | const |
get parents
Referenced by GNEChange::addElementInParentsAndChildren(), GNEHierarchicalElement::getParentAdditionals(), GNEHierarchicalElement::getParentDemandElements(), GNEHierarchicalElement::getParentEdges(), GNEHierarchicalElement::getParentGenericDatas(), GNEHierarchicalElement::getParentJunctions(), GNEHierarchicalElement::getParentLanes(), GNEChange_DemandElement::redo(), GNEChange::removeElementFromParentsAndChildren(), GNEHierarchicalElement::replaceParentElements(), and GNEChange_DemandElement::undo().
void GNEHierarchicalContainer::removeChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEAdditional * | additional | ||
) |
Definition at line 318 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildAdditionals.
void GNEHierarchicalContainer::removeChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEDemandElement * | demandElement | ||
) |
Definition at line 330 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildDemandElements.
void GNEHierarchicalContainer::removeChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEEdge * | edge | ||
) |
Definition at line 294 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildEdges.
void GNEHierarchicalContainer::removeChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEGenericData * | genericData | ||
) |
Definition at line 342 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildGenericDatas.
void GNEHierarchicalContainer::removeChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEJunction * | junction | ||
) |
Definition at line 282 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildJunctions.
void GNEHierarchicalContainer::removeChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNELane * | lane | ||
) |
Definition at line 306 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myChildLanes.
void GNEHierarchicalContainer::removeChildElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
T * | element | ||
) |
remove child element
Referenced by GNEHierarchicalElement::removeChildElement().
void GNEHierarchicalContainer::removeParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEAdditional * | additional | ||
) |
Definition at line 175 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentAdditionals.
void GNEHierarchicalContainer::removeParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEDemandElement * | demandElement | ||
) |
Definition at line 187 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentDemandElements.
void GNEHierarchicalContainer::removeParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEEdge * | edge | ||
) |
Definition at line 151 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentEdges.
void GNEHierarchicalContainer::removeParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEGenericData * | genericData | ||
) |
Definition at line 199 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentGenericDatas.
void GNEHierarchicalContainer::removeParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNEJunction * | junction | ||
) |
Definition at line 139 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentJunctions.
void GNEHierarchicalContainer::removeParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
GNELane * | lane | ||
) |
Definition at line 163 of file GNEHierarchicalContainer.cpp.
References checkContainer, GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTagStr(), and myParentLanes.
void GNEHierarchicalContainer::removeParentElement | ( | const GNEHierarchicalElement * | hierarchicalElement, |
T * | element | ||
) |
remove parent element
Referenced by GNEHierarchicalElement::removeParentElement().
void GNEHierarchicalContainer::setChildren | ( | const std::vector< GNEAdditional * > & | newChildren | ) |
Definition at line 480 of file GNEHierarchicalContainer.cpp.
References myChildAdditionals.
void GNEHierarchicalContainer::setChildren | ( | const std::vector< GNEDemandElement * > & | newChildren | ) |
Definition at line 486 of file GNEHierarchicalContainer.cpp.
References myChildDemandElements.
void GNEHierarchicalContainer::setChildren | ( | const std::vector< GNEEdge * > & | newChildren | ) |
Definition at line 468 of file GNEHierarchicalContainer.cpp.
References myChildEdges.
void GNEHierarchicalContainer::setChildren | ( | const std::vector< GNEGenericData * > & | newChildren | ) |
Definition at line 492 of file GNEHierarchicalContainer.cpp.
References myChildGenericDatas.
void GNEHierarchicalContainer::setChildren | ( | const std::vector< GNEJunction * > & | newChildren | ) |
Definition at line 462 of file GNEHierarchicalContainer.cpp.
References myChildJunctions.
void GNEHierarchicalContainer::setChildren | ( | const std::vector< GNELane * > & | newChildren | ) |
Definition at line 474 of file GNEHierarchicalContainer.cpp.
References myChildLanes.
void GNEHierarchicalContainer::setChildren | ( | const T & | newChildren | ) |
set children
Referenced by GNEHierarchicalElement::replaceChildElements().
void GNEHierarchicalContainer::setParents | ( | const std::vector< GNEAdditional * > & | newParents | ) |
Definition at line 408 of file GNEHierarchicalContainer.cpp.
References myParentAdditionals.
void GNEHierarchicalContainer::setParents | ( | const std::vector< GNEDemandElement * > & | newParents | ) |
Definition at line 414 of file GNEHierarchicalContainer.cpp.
References myParentDemandElements.
void GNEHierarchicalContainer::setParents | ( | const std::vector< GNEEdge * > & | newParents | ) |
Definition at line 396 of file GNEHierarchicalContainer.cpp.
References myParentEdges.
void GNEHierarchicalContainer::setParents | ( | const std::vector< GNEGenericData * > & | newParents | ) |
Definition at line 420 of file GNEHierarchicalContainer.cpp.
References myParentGenericDatas.
void GNEHierarchicalContainer::setParents | ( | const std::vector< GNEJunction * > & | newParents | ) |
Definition at line 390 of file GNEHierarchicalContainer.cpp.
References myParentJunctions.
void GNEHierarchicalContainer::setParents | ( | const std::vector< GNELane * > & | newParents | ) |
Definition at line 402 of file GNEHierarchicalContainer.cpp.
References myParentLanes.
void GNEHierarchicalContainer::setParents | ( | const T & | newParents | ) |
set parents
Referenced by GNEDemandElement::replaceMiddleParentEdges(), and GNEHierarchicalElement::replaceParentElements().
|
staticprivate |
flag for enable/disable check duplicate elements (only used for debug purposes)
Definition at line 130 of file GNEHierarchicalContainer.h.
Referenced by addChildElement(), addParentElement(), removeChildElement(), and removeParentElement().
|
private |
vector with the child additional
Definition at line 121 of file GNEHierarchicalContainer.h.
Referenced by addChildElement(), getContainerSize(), removeChildElement(), and setChildren().
|
private |
vector with the child demand elements
Definition at line 124 of file GNEHierarchicalContainer.h.
Referenced by addChildElement(), getContainerSize(), removeChildElement(), and setChildren().
|
private |
vector with the child edges
Definition at line 115 of file GNEHierarchicalContainer.h.
Referenced by addChildElement(), getContainerSize(), removeChildElement(), and setChildren().
|
private |
vector with the generic child data elements
Definition at line 127 of file GNEHierarchicalContainer.h.
Referenced by addChildElement(), getContainerSize(), removeChildElement(), and setChildren().
|
private |
vector with the child junctions
Definition at line 112 of file GNEHierarchicalContainer.h.
Referenced by addChildElement(), getChildren(), getContainerSize(), removeChildElement(), and setChildren().
|
private |
vector with the child lanes
Definition at line 118 of file GNEHierarchicalContainer.h.
Referenced by addChildElement(), getContainerSize(), removeChildElement(), and setChildren().
|
private |
vector of parent additionals
Definition at line 103 of file GNEHierarchicalContainer.h.
Referenced by addParentElement(), getContainerSize(), removeParentElement(), and setParents().
|
private |
vector of parent demand elements
Definition at line 106 of file GNEHierarchicalContainer.h.
Referenced by addParentElement(), getContainerSize(), removeParentElement(), and setParents().
|
private |
vector of parent edges
Definition at line 97 of file GNEHierarchicalContainer.h.
Referenced by addParentElement(), getContainerSize(), removeParentElement(), and setParents().
|
private |
vector of parent generic datas
Definition at line 109 of file GNEHierarchicalContainer.h.
Referenced by addParentElement(), getContainerSize(), removeParentElement(), and setParents().
|
private |
vector of parent junctions
Definition at line 94 of file GNEHierarchicalContainer.h.
Referenced by addParentElement(), getContainerSize(), getParents(), removeParentElement(), and setParents().
|
private |
vector of parent lanes
Definition at line 100 of file GNEHierarchicalContainer.h.
Referenced by addParentElement(), getContainerSize(), removeParentElement(), and setParents().