55 GUIPolygon(
const std::string&
id,
const std::string& type,
57 double layer = 0,
double angle = 0,
const std::string& imgFile =
"",
bool relativePath =
false);
A class that stores a 2D geometrical boundary.
A window containing a gl-object's parameter.
virtual void setShape(const PositionVector &shape)
set a new shape and update the tesselation
static bool checkDraw(const GUIVisualizationSettings &s, const SUMOPolygon *polygon, const GUIGlObject *o)
check if Polygon can be drawn
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
virtual void setShapeNaviDegree(const double angle)
Sets a new angle in navigational degrees.
void storeTesselation(const bool fill, const PositionVector &shape, double lineWidth) const
store the drawing commands in a display list
static void setColor(const GUIVisualizationSettings &s, const SUMOPolygon *polygon, const GUIGlObject *o, bool disableSelectionColor)
set color
PositionVector * myRotatedShape
shape rotated on the centroid, if rotation is needed, nullptr otherwise
GLuint myDisplayList
id of the display list for the cached tesselation
static void drawInnerPolygon(const GUIVisualizationSettings &s, const SUMOPolygon *polygon, const GUIGlObject *o, const PositionVector shape, double layer, bool disableSelectionColor)
draw inner Polygon (before pushName() )
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
static void performTesselation(const bool fill, const PositionVector &shape, const double lineWidth)
FXMutex myLock
The mutex used to avoid concurrent updates of the shape.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
GUIPolygon(const std::string &id, const std::string &type, const RGBColor &color, const PositionVector &shape, bool geo, bool fill, double lineWidth, double layer=0, double angle=0, const std::string &imgFile="", bool relativePath=false)
Constructor.
virtual void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
Stores the information about how to visualize structures.
PositionVector myShape
The positions of the polygon.
virtual void setShapeNaviDegree(const double angle)
Sets a new angle in navigational degrees.