![]() |
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().