20 #ifndef GNEAdditional_h 21 #define GNEAdditional_h virtual bool isValid(SumoXMLAttr key, const std::string &value)=0
method for checking if the key and their conrrespond attribute are valids
virtual void openAdditionalDialog()
open Additional Dialog
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
virtual const std::string & getParentName() const =0
Returns the name of the parent object (if any)
SumoXMLTag
Numbers representing SUMO-XML - element names.
GUIIcon
An enumeration of icons used by the gui applications.
PositionVector getShape() const
Returns additional element's shape.
GNELane * myLane
The lane this additional belongs.
Stores the information about how to visualize structures.
bool myRotationLefthand
rotation depending of the option "Lefthand"
bool isAdditionalSelected() const
Dialog to edit sequences, parameters, etc.. of Additionals.
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 Position getPositionInView() const =0
Returns position of additional in view.
virtual void drawGL(const GUIVisualizationSettings &s) const =0
Draws the object.
A NBNetBuilder extended by visualisation and editing capabilities.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
void commmitAdditionalGeometryMoved(const Position &oldPos, GNEUndoList *undoList)
updated geometry changes in the attributes of additional
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
GNEAdditionalDialog * myAdditionalDialog
pointer to additional dialog
std::vector< double > myShapeRotations
A class that stores a 2D geometrical boundary.
GNEViewNet * myViewNet
The GNEViewNet this additional element belongs.
RGBColor myBaseColorSelected
base color selected (Default blue)
GNEViewNet * getViewNet() const
Returns a pointer to GNEViewNet in which additional element is located.
void changeEdge(const std::string &edgeID)
change edge of additional
GNEEdge * getEdge() const
get edge of additional, or NULL if additional isn't placed over an edge
GNELane * getLane() const
get lane of additional, or NULL if additional isn't placed over a Lane
bool myMovable
boolean to check if additional element is movable (with the mouse). By default true ...
const std::string & getAdditionalID() const
returns the ID of additional
PositionVector myShape
The shape of the additional element.
A point in 2D or 3D with translation and scaling methods.
GNEAdditional(const std::string &id, GNEViewNet *viewNet, Position pos, SumoXMLTag tag, GUIIcon icon)
Constructor.
void setBlockIconRotation(GNELane *lane=NULL)
set Rotation of block Icon
std::vector< std::vector< Position > > myConnectionPositions
Matrix with the Vertex's positions of connections between Additional Parent an their childs...
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
std::vector< double > myShapeLengths
The lengths of the shape parts.
void setAdditionalID(const std::string &id)
set the ID of additional
void drawLockIcon(double size=0.5) const
draw lock icon
~GNEAdditional()
Destructor.
virtual std::string getAttribute(SumoXMLAttr key) const =0
void changeLane(const std::string &laneID)
change lane of additional
Position myBlockIconOffset
The offSet of the block icon.
GNEAdditional & operator=(const GNEAdditional &)
Invalidated assignment operator.
A road/street connecting two junctions (netedit-version)
void drawParentAndChildrenConnections() const
draw connections between Parent and childrens
bool myBlocked
boolean to check if additional element is blocked (i.e. cannot be moved with mouse) ...
void moveAdditionalGeometry(const Position &offset)
change the position of the additional geometry
An Element which don't belongs to GNENet but has influency in the simulation.
RGBColor myBaseColor
base color (Default green)
bool isAdditionalBlocked() const
Check if additional item is currently blocked (i.e. cannot be moved with mouse)
bool mySelectable
boolean to check if additional element is selectable (With GNESelectorFrame). By default true ...
Static storage of an output device and its base (abstract) implementation.
Position myPosition
The position in which this additional element is located.
void setPositionInView(const Position &pos)
set new position in the view
virtual void updateGeometry()=0
update pre-computed geometry information
bool myInspectionable
boolean to check if additional element is inspectionable (With GNEInspectorFrame). By default true
bool isAdditionalSelectable() const
check if additional element is selectable (With GNESelectorFrame)
bool isAdditionalInspectionable() const
check if additional element is inspectionable (With GNEInspectorFrame)
GNEEdge * myEdge
The edge this additional belongs.
A window containing a gl-object's parameter.
virtual void writeAdditional(OutputDevice &device) const =0
writte additional element into a xml file
double myBlockIconRotation
The rotation of the block icon.
Position myBlockIconPosition
position of the block icon
bool isAdditionalMovable() const
check if additional element is movable