67 const std::vector<GNEJunction*>& parentJunctions,
68 const std::vector<GNEEdge*>& parentEdges,
69 const std::vector<GNELane*>& parentLanes,
70 const std::vector<GNEAdditional*>& parentAdditionals,
71 const std::vector<GNEShape*>& parentShapes,
72 const std::vector<GNETAZElement*>& parentTAZElements,
73 const std::vector<GNEDemandElement*>& parentDemandElements,
74 const std::vector<GNEGenericData*>& parentGenericDatas);
GNEGeometry::ParentConnections myParentConnections
variable ParentConnections
std::vector< GNEJunction * > myParentJunctions
vector of junction parents
void replaceFirstParentTAZElement(GNEGenericData *elementChild, GNETAZElement *newFirstTAZElement)
replace the first parent TAZElement (used by generic data elements)
std::vector< GNEAdditional * > myParentAdditionals
vector of additional parents
void replaceLastParentTAZElement(GNEGenericData *elementChild, GNETAZElement *newLastTAZElement)
replace the last parent TAZElement (used by demand elements)
An Element which don't belongs to GNENet but has influency in the simulation.
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...
An special type of Attribute carrier that owns hierarchical elements.
std::vector< GNEEdge * > myParentEdges
vector of edge parents
void updateSecondParentJunction(GNEJunction *junction)
update last parent junction
const std::vector< GNELane * > & getParentLanes() const
get parent lanes
std::vector< GNEGenericData * > myParentGenericDatas
vector of generic datas parents
GNEJunction * getSecondParentJunction() const
remove parent junction
void updateFirstParentJunction(GNEJunction *junction)
update front parent junction
An Element which don't belongs to GNENet but has influency in the simulation.
~GNEHierarchicalParentElements()
Destructor.
std::vector< GNELane * > myParentLanes
vector of lane parents
const std::vector< GNEEdge * > & getParentEdges() const
get parent edges
GNEJunction * getFirstParentJunction() const
get front parent junction
struct for pack all variables and functions relative to connections between hierarchical element and ...
const std::vector< GNEAdditional * > & getParentAdditionals() const
get parent additionals
std::vector< GNEDemandElement * > myParentDemandElements
vector of demand elements parents
std::vector< GNEEdge * > getMiddleParentEdges() const
get middle (via) parent edges
const GNEAttributeCarrier * myAC
pointer to AC (needed to avoid diamond problem)
A point in 2D or 3D with translation and scaling methods.
void replaceMiddleParentEdges(GNEDemandElement *elementChild, const std::vector< GNEEdge *> &newMiddleEdges, const bool updateChildReferences)
replace middle (via) parent edges
void replaceParentAdditional(GNEShape *shapeTobeChanged, const std::string &newParentAdditionalID, int additionalParentIndex)
replace the parent additional of a shape
const std::vector< GNEDemandElement * > & getParentDemandElements() const
get parent demand elements
std::vector< GNEShape * > myParentShapes
vector of shape parents
GNEHierarchicalParentElements(const GNEAttributeCarrier *AC, const std::vector< GNEJunction *> &parentJunctions, const std::vector< GNEEdge *> &parentEdges, const std::vector< GNELane *> &parentLanes, const std::vector< GNEAdditional *> &parentAdditionals, const std::vector< GNEShape *> &parentShapes, const std::vector< GNETAZElement *> &parentTAZElements, const std::vector< GNEDemandElement *> &parentDemandElements, const std::vector< GNEGenericData *> &parentGenericDatas)
Constructor used by elements that have another additionals as parent.
void addParentElement(T *element)
add child
A road/street connecting two junctions (netedit-version)
void replaceParentLanes(GNEShape *elementChild, const std::string &newLaneIDs)
replace the parent edges of a shape
const std::vector< GNEShape * > & getParentShapes() const
get parent shapes
An Element which don't belongs to GNENet but has influency in the simulation.
GNEHierarchicalParentElements & operator=(const GNEHierarchicalParentElements &)=delete
Invalidated assignment operator.
std::vector< GNETAZElement * > myParentTAZElements
vector of TAZElement parents
void removeParentElement(T *element)
remove child
void replaceFirstParentEdge(GNEDemandElement *elementChild, GNEEdge *newFirstEdge)
replace the first parent edge (used by demand elements)
void replaceLastParentEdge(GNEDemandElement *elementChild, GNEEdge *newLastEdge)
replace the last parent edge (used by demand elements)
virtual Position getPositionInView() const =0
Returns position of hierarchical element in view.
virtual void updateGeometry()=0
const std::vector< GNEGenericData * > & getParentGenericDatas() const
get parent demand elements
void replaceParentDemandElement(GNEShape *shapeTobeChanged, const std::string &newParentDemandElementID, int demandElementParentIndex)
replace the parent demand element of a shape
An Element which don't belongs to GNENet but has influency in the simulation.
void replaceParentEdges(GNEShape *elementChild, const std::string &newEdgeIDs)
replace the parent edges of a shape
const std::vector< GNETAZElement * > & getParentTAZElements() const
get parent TAZElements