 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
17 #ifndef GNEHierarchicalElementParents_h
18 #define GNEHierarchicalElementParents_h
64 const std::vector<GNEEdge*>& edgeParents,
65 const std::vector<GNELane*>& laneParents,
66 const std::vector<GNEShape*>& shapeParents,
67 const std::vector<GNEAdditional*>& additionalParents,
68 const std::vector<GNEDemandElement*>& demandElementParents);
std::vector< GNEDemandElement * > myDemandElementParents
list of demand elements parents of this element
An Element which don't belongs to GNENet but has influency in the simulation.
An Element which don't belongs to GNENet but has influency in the simulation.
GNEAttributeCarrier * myAC
pointer to AC (needed to avoid diamond problem)
void changeAdditionalParent(GNEShape *shapeTobeChanged, const std::string &newAdditionalParentID, int additionalParentIndex)
change additional parent of a shape
GNEHierarchicalElementParents(GNEAttributeCarrier *AC, const std::vector< GNEEdge * > &edgeParents, const std::vector< GNELane * > &laneParents, const std::vector< GNEShape * > &shapeParents, const std::vector< GNEAdditional * > &additionalParents, const std::vector< GNEDemandElement * > &demandElementParents)
Constructor used by elements that have another additionals as parent.
const std::vector< GNEShape * > & getShapeParents() const
get shapes of VSS
ParentConnections myParentConnections
variable ParentConnections
const std::vector< GNEEdge * > & getEdgeParents() const
get edge parents
GNEHierarchicalElementParents & operator=(const GNEHierarchicalElementParents &)=delete
Invalidated assignment operator.
std::vector< GNEAdditional * > myAdditionalParents
list of additional parents of this element
void draw(const GUIVisualizationSettings &s, const GUIGlObjectType parentType) const
draw connections between Parent and childrens
An special type of Attribute carrier that owns hierarchical elements.
void addLaneParent(GNELane *lane)
void addDemandElementParent(GNEDemandElement *demandElement)
A road/street connecting two junctions (netedit-version)
void removeShapeParent(GNEShape *shape)
remove shape parent
const std::vector< GNELane * > & getLaneParents() const
get lanes of VSS
std::vector< GNELane * > myLaneParents
list of lane parents of this element
struct for pack all variables and functions relative to connections between hierarchical element and ...
GNEHierarchicalElementParents * myHierarchicalElement
pointer to hierarchical element parent
void removeLaneParent(GNELane *lane)
remove lane parent
void changeDemandElementParent(GNEShape *shapeTobeChanged, const std::string &newDemandElementParentID, int demandElementParentIndex)
change first demand element parent of a shape
A point in 2D or 3D with translation and scaling methods.
std::vector< std::pair< Position, double > > symbolsPositionAndRotation
position and rotation of every symbol over lane
void addAdditionalParent(GNEAdditional *additional)
virtual Position getPositionInView() const =0
Returns position of hierarchical element in view.
void addEdgeParent(GNEEdge *edge)
std::vector< GNEShape * > myShapeParents
list of shape parents of this element
void removeDemandElementParent(GNEDemandElement *demandElement)
remove demand element parent from this demand element
const std::vector< GNEDemandElement * > & getDemandElementParents() const
return vector of demand elements that have as Parent this edge (For example, Calibrators)
const std::vector< GNEAdditional * > & getAdditionalParents() const
return vector of additionals that have as Parent this edge (For example, Calibrators)
ParentConnections(GNEHierarchicalElementParents *hierarchicalElement)
constructor
void addShapeParent(GNEShape *shape)
void changeLaneParents(GNEShape *elementChild, const std::string &newLaneIDs)
change edge parents of a shape
virtual void updateGeometry()=0
void update()
update Connection's geometry
void removeAdditionalParent(GNEAdditional *additional)
remove additional parent from this additional
std::vector< GNEEdge * > myEdgeParents
list of edge parents of this element
Stores the information about how to visualize structures.
void changeEdgeParents(GNEShape *elementChild, const std::string &newEdgeIDs)
change edge parents of a shape
std::vector< PositionVector > connectionPositions
Matrix with the Vertex's positions of connections between parents an their children.
~GNEHierarchicalElementParents()
Destructor.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
void removeEdgeParent(GNEEdge *edge)
remove edge parent