20 #ifndef GNEAdditionalSet_h
21 #define GNEAdditionalSet_h
66 std::vector<GNEAdditional*> additionalChilds = std::vector<GNEAdditional*>(),
67 std::vector<GNEEdge*> edgeChilds = std::vector<GNEEdge*>(),
68 std::vector<GNELane*> laneChilds = std::vector<GNELane*>());
bool removeLaneChild(GNELane *lane)
remove lane element to this set
bool addEdgeChild(GNEEdge *edge)
add edge element to this set
SumoXMLTag
Numbers representing SUMO-XML - element names.
void setLaneChilds(std::vector< GNELane * > lanes)
set lane childs
std::vector< GNEAdditional * > childAdditionals
typedef for containers
bool addLaneChild(GNELane *lane)
add lane element to this set
int getNumberOfAdditionalChilds() const
get number of additional childs of this additionalSet
~GNEAdditionalSet()
Destructor.
virtual std::string getAttribute(SumoXMLAttr key) const =0
Stores the information about how to visualize structures.
SUMOReal rotationOverLane
childEdges myChildEdges
map of child edges and their positions and rotation
childLanes myChildLanes
list of child lanes and their positions and rotation
A NBNetBuilder extended by visualisation and editing capabilities.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
std::vector< SUMOReal > rotationsOverLanes
GNEAdditionalSet(const std::string &id, GNEViewNet *viewNet, Position pos, SumoXMLTag tag, bool blocked=false, std::vector< GNEAdditional * > additionalChilds=std::vector< GNEAdditional * >(), std::vector< GNEEdge * > edgeChilds=std::vector< GNEEdge * >(), std::vector< GNELane * > laneChilds=std::vector< GNELane * >())
Constructor.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
An Element wich group additionalSet elements.
GNEAdditionalSet & operator=(const GNEAdditionalSet &)
Invalidated assignment operator.
bool removeEdgeChild(GNEEdge *edge)
remove edge element to this set
std::map< GUIGlObject *, Position > myConnectionMiddlePosition
map to keep the middle position of connection
void updateConnections()
update connections.
Position positionOverLane
A point in 2D or 3D with translation and scaling methods.
bool removeAdditionalGeometryChild(GNEAdditional *additional)
remove additional element to this set
void setEdgeChilds(std::vector< GNEEdge * > edges)
set edge childs
bool addAdditionalChild(GNEAdditional *additional)
add additional element to this set
virtual void drawGL(const GUIVisualizationSettings &s) const =0
Draws the object.
void drawConnections() const
draw connections.
A road/street connecting two junctions (netedit-version)
std::vector< GNEAdditional * > myChildAdditionals
list of additional childs (Position and rotations is derived from additional)
int getNumberOfEdgeChilds() const
get number of edge childs of this additionalSet
virtual void writeAdditional(OutputDevice &device, const std::string ¤tDirectory)=0
writte additionalSet element into a xml file
std::vector< std::string > getAdditionalChildIds() const
get ids of additional childs
int getNumberOfLaneChilds() const
get number of lane childs of this additionalSet
An Element which don't belongs to GNENet but has influency in the simulation.
virtual void updateGeometry()=0
update pre-computed geometry information
std::vector< laneChild > childLanes
void writeAdditionalChildrens(OutputDevice &device, const std::string ¤tDirectory)
writte children of this additionalSet
std::vector< std::string > getEdgeChildIds() const
get ids of edge childs
Static storage of an output device and its base (abstract) implementation.
virtual void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)=0
method for setting the attribute and letting the object perform additional changes ...
virtual bool isValid(SumoXMLAttr key, const std::string &value)=0
method for checking if the key and their conrrespond attribute are valids
std::vector< std::string > getLaneChildIds() const
get ids of lane childs
std::vector< edgeChild > childEdges
std::vector< Position > positionsOverLanes
virtual const std::string & getParentName() const =0
Returns the name of the parent object (if any)