Eclipse SUMO - Simulation of Urban MObility
GUIPointOfInterest.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
20 // missing_desc
21 /****************************************************************************/
22 #pragma once
23 #include <config.h>
24 
25 #include <string>
29 
30 
31 // ===========================================================================
32 // class definitions
33 // ===========================================================================
34 /*
35  * @class GUIPointOfInterest
36  * @brief The GUI-version of a point of interest
37  */
39 public:
58  GUIPointOfInterest(const std::string& id, const std::string& type, const RGBColor& color,
59  const Position& pos, bool geo, const std::string& lane, double posOverLane,
60  bool friendlyPos, double posLat, const std::string& icon, double layer, double angle,
61  const std::string& imgFile, bool relativePath, double width, double height);
62 
64  virtual ~GUIPointOfInterest();
65 
67 
68 
77 
86 
88  double getExaggeration(const GUIVisualizationSettings& s) const override;
89 
95  Boundary getCenteringBoundary() const override;
96 
101  void drawGL(const GUIVisualizationSettings& s) const override;
102 
103  double getClickPriority() const override {
104  return getShapeLayer();
105  }
106 
108  virtual const std::string getOptionalName() const override {
109  return getShapeName();
110  }
112 
114  static bool checkDraw(const GUIVisualizationSettings& s, const GUIGlObject* o);
115 
117  static void setColor(const GUIVisualizationSettings& s, const PointOfInterest* POI, const GUIGlObject* o, bool forceSelectionColor);
118 
120  static void drawInnerPOI(const GUIVisualizationSettings& s, const PointOfInterest* POI, const GUIGlObject* o, const bool disableSelectionColor,
121  const double layer, const double width, const double height);
122 };
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:39
The popup menu of a globject.
A window containing a gl-object's parameter.
double getClickPriority() const override
Returns the priority of receiving mouse clicks.
void drawGL(const GUIVisualizationSettings &s) const override
Draws the object.
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent) override
Returns an own parameter window.
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent) override
Returns an own popup-menu.
virtual const std::string getOptionalName() const override
Returns the name of the object (default "")
Boundary getCenteringBoundary() const override
Returns the boundary to which the view shall be centered in order to show the object.
double getExaggeration(const GUIVisualizationSettings &s) const override
return exaggeration associated with this GLObject
static bool checkDraw(const GUIVisualizationSettings &s, const GUIGlObject *o)
check if POI can be drawn
static void drawInnerPOI(const GUIVisualizationSettings &s, const PointOfInterest *POI, const GUIGlObject *o, const bool disableSelectionColor, const double layer, const double width, const double height)
draw inner POI (before pushName() )
GUIPointOfInterest(const std::string &id, const std::string &type, const RGBColor &color, const Position &pos, bool geo, const std::string &lane, double posOverLane, bool friendlyPos, double posLat, const std::string &icon, double layer, double angle, const std::string &imgFile, bool relativePath, double width, double height)
Constructor.
virtual ~GUIPointOfInterest()
Destructor.
static void setColor(const GUIVisualizationSettings &s, const PointOfInterest *POI, const GUIGlObject *o, bool forceSelectionColor)
set color
Stores the information about how to visualize structures.
C++ TraCI client API implementation.
Definition: POI.h:34
A point-of-interest.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:37
const std::string getShapeName() const
Returns the name of the Shape.
Definition: Shape.h:110
double getShapeLayer() const
Returns the layer of the Shape.
Definition: Shape.h:91