55 const std::vector<GNEJunction*>& parentJunctions,
56 const std::vector<GNEEdge*>& parentEdges,
57 const std::vector<GNELane*>& parentLanes,
58 const std::vector<GNEAdditional*>& parentAdditionals,
59 const std::vector<GNEDemandElement*>& parentDemandElements,
60 const std::vector<GNEGenericData*>& parentGenericDatas);
170 template<
typename T,
typename U>
174 parent->removeChildElement(elementChild);
180 parent->addChildElement(elementChild);
185 template<
typename T,
typename U>
189 child->removeChildElement(elementChild);
195 child->addChildElement(elementChild);
SumoXMLTag
Numbers representing SUMO-XML - element names.
Hierarchical container (used for keep myParent and myChildren.
const T & getChildren() const
get children
void setChildren(const T &newChildren)
set children
void setParents(const T &newParents)
set parents
const T & getParents() const
get parents
const std::vector< GNEJunction * > & getParentJunctions() const
get parent junctions
void addChildElement(T *element)
add child element
const std::vector< GNEDemandElement * > & getChildDemandElements() const
return child demand elements
~GNEHierarchicalElement()
Destructor.
const std::vector< GNEGenericData * > & getParentGenericDatas() const
get parent demand elements
bool checkChildAdditionalsOverlapping() const
check if children are overlapped (Used by Rerouters)
const std::vector< GNELane * > & getChildLanes() const
get child lanes
const GNEHierarchicalContainer & getHierarchicalContainer() const
get hierarchicalcontainer with parents and children
const std::vector< GNEAdditional * > getParentStoppingPlaces() const
get parent stoppingPlaces (used by plans)
const std::vector< GNEAdditional * > getParentTAZs() const
get parent TAZs (used by plans)
const std::vector< GNEDemandElement * > & getParentDemandElements() const
get parent demand elements
GNEHierarchicalContainer myHierarchicalContainer
hierarchical container with parents and children
bool checkChildDemandElementsOverlapping() const
check if childs demand elements are overlapped
const std::vector< GNEAdditional * > & getParentAdditionals() const
get parent additionals
void addParentElement(T *element)
add parent element
virtual Position getPositionInView() const =0
Returns position of hierarchical element in view.
const std::vector< GNEEdge * > & getChildEdges() const
get child edges
const std::vector< GNEEdge * > & getParentEdges() const
get parent edges
GNEHierarchicalElement * getHierarchicalElement()
get GNEHierarchicalElement associated with this AttributeCarrier
std::vector< GNEHierarchicalElement * > getAllHierarchicalElements() const
get all parents and children
void removeChildElement(T *element)
remove child element
std::string getNewListOfParents(const GNENetworkElement *currentElement, const GNENetworkElement *newNextElement) const
if use edge/parent lanes as a list of consecutive elements, obtain a list of IDs of elements after in...
virtual void updateGeometry()=0
update pre-computed geometry information
GNEHierarchicalElement(const GNEHierarchicalElement &)=delete
Invalidated copy constructor.
const std::vector< GNEJunction * > & getChildJunctions() const
get child junctions
GNEHierarchicalElement & operator=(const GNEHierarchicalElement &)=delete
Invalidated assignment operator.
const std::vector< GNELane * > & getParentLanes() const
get parent lanes
const std::vector< GNEAdditional * > & getChildAdditionals() const
return child additionals
void replaceParentElements(T *elementChild, const U &newParents)
replace parent elements
void replaceChildElements(T *elementChild, const U &newChildren)
replace child elements
const std::vector< GNEGenericData * > & getChildGenericDatas() const
return child generic data elements
void removeParentElement(T *element)
remove parent element
void restoreHierarchicalContainer(const GNEHierarchicalContainer &container)
restore hierarchical container
A NBNetBuilder extended by visualisation and editing capabilities.
A point in 2D or 3D with translation and scaling methods.