 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
16 #ifndef GNEHierarchicalParentElements_h
17 #define GNEHierarchicalParentElements_h
65 const std::vector<GNEEdge*>& parentEdges,
66 const std::vector<GNELane*>& parentLanes,
67 const std::vector<GNEShape*>& parentShapes,
68 const std::vector<GNEAdditional*>& parentAdditionals,
69 const std::vector<GNEDemandElement*>& parentDemandElements);
std::vector< GNEEdge * > myRouteEdges
list of edges used in Flow/Trips/PersonTrips
void replaceMiddleParentEdges(GNEDemandElement *elementChild, const std::vector< GNEEdge * > &newMiddleEdges, const bool updateChildReferences)
replace middle (via) parent edges
An Element which don't belongs to GNENet but has influency in the simulation.
std::vector< GNEAdditional * > myParentAdditionals
list of parent additionals of this element
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< GNEEdge * > & getPathEdges() const
get path edges
void replaceLastParentEdge(GNEDemandElement *elementChild, GNEEdge *newLastEdge)
replace the last parent edge (used by demand elements)
void replacePathEdges(GNEDemandElement *elementChild, const std::vector< GNEEdge * > &routeEdges)
replace edge route Parents
void replaceFirstParentEdge(GNEDemandElement *elementChild, GNEEdge *newFirstEdge)
replace the first parent edge (used by demand elements)
struct for pack all variables and functions relative to connections between hierarchical element and ...
~GNEHierarchicalParentElements()
Destructor.
const std::vector< GNEEdge * > & getParentEdges() const
get parent edges
GNEGeometry::ParentConnections myParentConnections
variable ParentConnections
std::vector< GNELane * > myParentLanes
list of parent lanes of this element
std::vector< GNEDemandElement * > myParentDemandElements
list of demand elements parents of this element
const std::vector< GNELane * > & getParentLanes() const
get parent lanes
void removeParentEdge(GNEEdge *edge)
remove parent edge
std::vector< GNEEdge * > myParentEdges
list of parent edges of this element
A road/street connecting two junctions (netedit-version)
const std::vector< GNEAdditional * > & getParentAdditionals() const
get parent additionals
GNEHierarchicalParentElements(const GNEHierarchicalParentElements &)=delete
Invalidated copy constructor.
const std::vector< GNEDemandElement * > & getParentDemandElements() const
get parent demand elements
std::vector< GNEShape * > myParentShapes
list of parent shapes of this element
void replaceParentLanes(GNEShape *elementChild, const std::string &newLaneIDs)
replace the parent edges of a shape
A point in 2D or 3D with translation and scaling methods.
std::vector< GNEEdge * > getMiddleParentEdges() const
get middle (via) parent edges
void addParentLane(GNELane *lane)
void addParentDemandElement(GNEDemandElement *demandElement)
void replaceParentAdditional(GNEShape *shapeTobeChanged, const std::string &newParentAdditionalID, int additionalParentIndex)
replace the parent additional of a shape
GNEHierarchicalParentElements(GNEAttributeCarrier *AC, const std::vector< GNEEdge * > &parentEdges, const std::vector< GNELane * > &parentLanes, const std::vector< GNEShape * > &parentShapes, const std::vector< GNEAdditional * > &parentAdditionals, const std::vector< GNEDemandElement * > &parentDemandElements)
Constructor used by elements that have another additionals as parent.
GNEAttributeCarrier * myAC
pointer to AC (needed to avoid diamond problem)
std::string getNewListOfParents(const GNENetElement *currentElement, const GNENetElement *newNextElement) const
if use edge/parent lanes as a list of consecutive elements, obtain a list of IDs of elements after in...
void addParentAdditional(GNEAdditional *additional)
void removeParentDemandElement(GNEDemandElement *demandElement)
remove parent demand element
GNEHierarchicalParentElements & operator=(const GNEHierarchicalParentElements &)=delete
Invalidated assignment operator.
const std::vector< GNEShape * > & getParentShapes() const
get parent shapes
An special type of Attribute carrier that owns hierarchical elements.
void addParentShape(GNEShape *shape)
void replaceParentDemandElement(GNEShape *shapeTobeChanged, const std::string &newParentDemandElementID, int demandElementParentIndex)
replace the parent demand element of a shape
virtual void updateGeometry()=0
void removeParentLane(GNELane *lane)
remove parent lane
virtual Position getPositionInView() const =0
Returns position of hierarchical element in view.
void removeParentAdditional(GNEAdditional *additional)
remove parent additional
void addParentEdge(GNEEdge *edge)
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
void removeParentShape(GNEShape *shape)
remove parent shape