17 #ifndef GNENetElement_h 18 #define GNENetElement_h An special type of Attribute carrier that owns hierarchical elements.
SumoXMLTag
Numbers representing SUMO-XML - element names.
virtual void setGenericParametersStr(const std::string &value)=0
set generic parameters in string format
PositionVector shape
The shape of the netElement element.
GNENet * myNet
the net to inform about updates
struct for pack all variables related with geometry of elemement
GNENet * getNet() const
get Net in which this element is placed
bool drawUsingSelectColor() const
check if attribute carrier must be drawn using selecting color.
virtual std::string generateChildID(SumoXMLTag childTag)=0
gererate a new ID for an element child
Stores the information about how to visualize structures.
virtual Position getPositionInView() const =0
Returns position of hierarchical element in view.
void setEnabledAttribute(const int enabledAttributes)
method for enabling the attribute and nothing else (used in GNEChange_EnableAttribute) ...
NetElementGeometry myGeometry
netElement geometry
A NBNetBuilder extended by visualisation and editing capabilities.
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
virtual void drawGL(const GUIVisualizationSettings &s) const =0
Draws the object.
virtual Boundary getCenteringBoundary() const =0
Returns the boundary to which the view shall be centered in order to show the object.
A class that stores a 2D geometrical boundary.
Boundary myMovingGeometryBoundary
boundary used during moving of elements
~GNENetElement()
Destructor.
std::string getPopUpID() const
get PopPup ID (Used in AC Hierarchy)
GNENetElement(GNENet *net, const std::string &id, GUIGlObjectType type, SumoXMLTag tag)
Constructor.
An special type of Attribute carrier that owns hierarchical elements.
std::vector< double > shapeRotations
The rotations of the single shape parts.
std::string getHierarchyName() const
get Hierarchy Name (Used in AC Hierarchy)
A point in 2D or 3D with translation and scaling methods.
bool isAttributeEnabled(SumoXMLAttr key) const
virtual void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)=0
const NetElementGeometry & getGeometry() const
virtual bool isValid(SumoXMLAttr key, const std::string &value)=0
virtual GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)=0
Returns an own popup-menu.
void selectAttributeCarrier(bool changeFlag=true)
select attribute carrier using GUIGlobalSelection
NetElementGeometry()
constructor
std::vector< double > shapeLengths
The lengths of the single shape parts.
void unselectAttributeCarrier(bool changeFlag=true)
unselect attribute carrier using GUIGlobalSelection
virtual std::string getGenericParametersStr() const =0
return generic parameters in string format
virtual void updateGeometry()=0
update pre-computed geometry information
An Element which don't belongs to GNENet but has influency in the simulation.
virtual std::vector< std::pair< std::string, std::string > > getGenericParameters() const =0
return generic parameters as vector of pairs format
virtual std::string getAttribute(SumoXMLAttr key) const =0
GNENetElement & operator=(const GNENetElement &)=delete
Invalidated assignment operator.
void calculateShapeRotationsAndLengths()
calculate shape rotations and lengths
void enableAttribute(SumoXMLAttr key, GNEUndoList *undoList)
void clearGeometry()
reset geometry
A window containing a gl-object's parameter.
bool isAttributeCarrierSelected() const
check if attribute carrier is selected
An Element which don't belongs to GNENet but has influency in the simulation.