98 myStateTarget(myState),
102 int segments = (int)
myShape.size() - 1;
106 for (
int i = 0; i < segments; ++i) {
134 if (FXSELTYPE(sel) == SEL_COMMAND) {
188 for (std::vector<std::string>::const_iterator it = names.begin(); it != names.end(); it++) {
191 FXMenuRadio* mc =
new FXMenuRadio(
myPopup, (*it + origHint).c_str(),
this, FXDataTarget::ID_OPTION + state);
The link has green light, may pass.
double scale
information about a lane's width (temporary, used for a single view)
void closeBuilding(const Parameterised *p=0)
Closes the building of the table.
double distanceTo2D(const Position &p2) const
returns the euclidean distance in the x-y-plane
static void drawBoxLines(const PositionVector &geom, const std::vector< double > &rots, const std::vector< double > &lengths, double width, int cornerDetail=0, double offset=0)
Draws thick lines.
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
double x() const
Returns the x-position.
The link has green light, has to brake.
Stores the information about how to visualize structures.
This is an uncontrolled, minor link, has to stop.
static RGBColor colorForLinksState(FXuint state)
return the color for each linkstate
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
int myTlIndex
the tl-index of this lane
const PositionVector myShape
the shape of the edge
static StringBijection< FXuint >::Entry linkStateNamesValues[]
linkstates names values
The link is controlled by a tls which is off, not blinking, may pass.
GUIGlID getGlID() const
Returns the numerical id of the object.
A class that stores a 2D geometrical boundary.
FXDataTarget myStateTarget
LinkState myOrigState
the original state of the link (used for tracking modification)
std::vector< std::string > getStrings() const
std::vector< double > myShapeRotations
static void setColor(const RGBColor &c)
Sets the gl-color to this value.
A point in 2D or 3D with translation and scaling methods.
double y() const
Returns the y-position.
LinkState
The right-of-way state of a link between two lanes used when constructing a NBTrafficLightLogic, in MSLink and GNEInternalLane.
void handleChange(GNEInternalLane *lane)
update phase definition for the current traffic light and phase
Boundary & grow(double by)
extends the boundary by the given amount
static void drawLine(const Position &beg, double rot, double visLength)
Draws a thin line.
int getTLIndex() const
get Traffic Light index
GNETLSEditorFrame * myEditor
the editor to inform about changes
void destroyPopup()
destoys the popup
long onDefault(FXObject *, FXSelector, void *)
multiplexes message to two targets
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
virtual ~GNEInternalLane()
Destructor.
std::vector< double > myShapeLengths
The lengths of the shape parts.
The link has yellow light, may pass.
The link is controlled by a tls which is off and blinks, has to brake.
The link has red light (must brake)
void setLinkState(LinkState state)
set the linkState (controls drawing color)
GUIGLObjectPopupMenu * myPopup
the created popup
static const StringBijection< FXuint > LinkStateNames
long names for link states
static FXColor getFXColor(const RGBColor &col)
converts FXColor to RGBColor
T get(const std::string &str) const
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
GNEInternalLane()
FOX needs this.
The link has yellow light, has to brake anyway.
Boundary getBoxBoundary() const
Returns a boundary enclosing this list of lines.
A window containing a gl-object's parameter.
static const RGBColor & getLinkColor(const LinkState &ls)
The link has red light (must brake) but indicates upcoming green.
LinkState getLinkState() const
whether link state has been modfied
FXuint myState
the state of the link (used for visualization)
void buildPopupHeader(GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
Builds the header.