61 myJunctionParent(junctionParent),
63 myStateTarget(myState),
78 myJunctionParent(nullptr),
196 if (FXSELTYPE(sel) == SEL_COMMAND) {
222 glTranslated(0, 0, 0.5);
282 for (std::vector<std::string>::const_iterator it = names.begin(); it != names.end(); it++) {
285 FXMenuRadio* mc =
new FXMenuRadio(
myPopup, (*it + origHint).c_str(),
this, FXDataTarget::ID_OPTION + state);
#define WRITE_WARNINGF(...)
@ GNE_TAG_INTERNAL_LANE
internal lane
LinkState
The right-of-way state of a link between two lanes used when constructing a NBTrafficLightLogic,...
@ LINKSTATE_TL_REDYELLOW
The link has red light (must brake) but indicates upcoming green.
@ LINKSTATE_STOP
This is an uncontrolled, minor link, has to stop.
@ LINKSTATE_TL_GREEN_MAJOR
The link has green light, may pass.
@ LINKSTATE_TL_OFF_BLINKING
The link is controlled by a tls which is off and blinks, has to brake.
@ LINKSTATE_TL_YELLOW_MINOR
The link has yellow light, has to brake anyway.
@ LINKSTATE_TL_RED
The link has red light (must brake)
@ LINKSTATE_TL_GREEN_MINOR
The link has green light, has to brake.
@ LINKSTATE_TL_OFF_NOSIGNAL
The link is controlled by a tls which is off, not blinking, may pass.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
A class that stores a 2D geometrical boundary.
static void setColor(const RGBColor &c)
Sets the gl-color to this value.
static void popMatrix()
pop matrix
static void pushMatrix()
push matrix
static void drawTextSettings(const GUIVisualizationTextSettings &settings, const std::string &text, const Position &pos, const double scale, const double angle=0, const double layer=2048, const int align=0)
double getCommonAttributeDouble(SumoXMLAttr key) const
PositionVector getCommonAttributePositionVector(SumoXMLAttr key) const
void setCommonAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList)
void drawInLayer(const double typeOrLayer, const double extraOffset=0) const
draw element in the given layer, or in front if corresponding flag is enabled
Position getCommonAttributePosition(SumoXMLAttr key) const
GNENet * myNet
pointer to net
bool isCommonAttributeValid(SumoXMLAttr key, const std::string &value) const
std::string getCommonAttribute(SumoXMLAttr key) const
void calculateContourExtrudedShape(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const GUIGlObject *glObject, const PositionVector &shape, const double layer, const double extrusionWidth, const double scale, const bool closeFirstExtrem, const bool closeLastExtrem, const double offset, const GNESegment *segment, const GUIGlObject *boundaryParent, const bool addToSelectedObjects=true) const
calculate contour extruded (used in elements formed by a central shape)
Boundary getContourBoundary() const
get contour boundary
bool drawDottedContours(const GUIVisualizationSettings &s, const GUIVisualizationSettings::Detail d, const GNEAttributeCarrier *AC, const double lineWidth, const bool addOffset) const
draw dotted contours (basics, select, delete, inspect...)
GNEViewNet * getViewNet() const
get view net
void deleteGLObject()
delete element
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
bool checkDrawOverContour() const override
check if draw over contour (orange)
void updateGeometry() override
update pre-computed geometry information
Parameterised * getParameters() override
get parameters associated with this internalLane
GNEInternalLane()
FOX needs this.
bool checkDrawDeleteContour() const override
check if draw delete contour (pink/white)
long onDefault(FXObject *, FXSelector, void *)
multiplexes message to two targets
static RGBColor colorForLinksState(FXuint state)
return the color for each linkstate
LinkState myOrigState
the original state of the link (used for tracking modification)
bool checkDrawSelectContour() const override
check if draw select contour (blue)
PositionVector getAttributePositionVector(SumoXMLAttr key) const
void setAttribute(SumoXMLAttr key, const std::string &value, GNEUndoList *undoList) override
void updateCenteringBoundary(const bool updateGrid)
update centering boundary (implies change in RTREE)
bool checkDrawMoveContour() const override
check if draw move contour (red)
FXuint myState
the state of the link (used for visualization)
double getAttributeDouble(SumoXMLAttr key) const override
LinkState getLinkState() const
whether link state has been modified
FXDataTarget myStateTarget
int myTlIndex
the tl-index of this lane
GNEMoveElement * getMoveElement() const override
methods to retrieve the elements linked to this internalLane
GUIGLObjectPopupMenu * myPopup
the created popup
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
Position getPositionInView() const
Returns position of hierarchical element in view.
bool checkDrawDeleteContourSmall() const override
check if draw delete contour small (pink/white)
void removeGeometryPoint(const Position clickedPosition, GNEUndoList *undoList)
remove geometry point in the clicked position
GNEMoveOperation * getMoveOperation()
static StringBijection< FXuint >::Entry linkStateNamesValues[]
linkstates names values
bool checkDrawToContour() const override
check if draw from contour (magenta)
std::string getAttribute(SumoXMLAttr key) const override
GUIGeometry myInternalLaneGeometry
internal lane geometry
static const StringBijection< FXuint > LinkStateNames
long names for link states
int getTLIndex() const
get Traffic Light index
bool checkDrawRelatedContour() const override
check if draw related contour (cyan)
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Position getAttributePosition(SumoXMLAttr key) const override
void updateGLObject()
update GLObject (geometry, ID, etc.)
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
bool isValid(SumoXMLAttr key, const std::string &value) override
~GNEInternalLane()
Destructor.
bool checkDrawFromContour() const override
check if draw from contour (green)
void setLinkState(LinkState state)
set the linkState (controls drawing color)
GNETLSEditorFrame * myEditor
the editor to inform about changes
GNEJunction * myJunctionParent
pointer to junction parent
void addInternalLane(const GNEInternalLane *internalLane)
add internal lane
Position getPositionInView() const
Returns position of hierarchical element in view.
void removeInternalLane(const GNEInternalLane *internalLane)
remove internal lane
GNEViewNet * getViewNet() const
get view net
GNEContour myNetworkElementContour
network element contour
void handleChange(GNEInternalLane *lane)
update phase definition for the current traffic light and phase
const GUIGlObject * getGUIGlObjectFront() const
get front GUIGLObject or a pointer to nullptr
const GNEViewNetHelper::EditModes & getEditModes() const
get edit modes
const GNEViewNetHelper::ViewObjectsSelector & getViewObjectsSelector() const
get objects under cursor
bool selectingDetectorsTLSMode() const
check if we're selecting detectors in TLS mode
static void drawGeometry(const GUIVisualizationSettings::Detail d, const GUIGeometry &geometry, const double width, double offset=0)
draw geometry
const PositionVector & getShape() const
The shape of the additional element.
void updateGeometry(const PositionVector &shape)
update entire geometry
const std::string & getMicrosimID() const
Returns the id of the object as known to microsim.
void buildPopupHeader(GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
Builds the header.
GUIGlObjectType getType() const
Returns the type of the object as coded in GUIGlObjectType.
A window containing a gl-object's parameter.
void closeBuilding(const Parameterised *p=0)
Closes the building of the table.
void destroyPopup()
destroys the popup
GUIGLObjectPopupMenu * getPopup() const
ge the current popup-menu
Stores the information about how to visualize structures.
GUIVisualizationTextSettings internalEdgeName
Detail getDetailLevel(const double exaggeration) const
return the detail level
GUIVisualizationConnectionSettings connectionSettings
connection settings
GUIVisualizationDottedContourSettings dottedContourSettings
dotted contour settings
static const RGBColor & getLinkColor(const LinkState &ls, bool realistic=false)
map from LinkState to color constants
double scale
information about a lane's width (temporary, used for a single view)
bool drawForViewObjectsHandler
whether drawing is performed for the purpose of selecting objects in view using ViewObjectsHandler
double angle
The current view rotation angle.
static FXColor getFXColor(const RGBColor &col)
converts FXColor to RGBColor
An upper class for objects with additional parameters.
A point in 2D or 3D with translation and scaling methods.
Position getLineCenter() const
get line center
static const RGBColor BLACK
std::vector< std::string > getStrings() const
get all strings
T get(const std::string &str) const
get key
bool isCurrentSupermodeNetwork() const
@check if current supermode is Network
static const double connectionWidth
connection width
static const double segmentWidth
width of dotted contour segments
bool show(const GUIGlObject *o) const
whether to show the text