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.org/sumo
3// Copyright (C) 2001-2022 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 declarations
33// ===========================================================================
34
35
36// ===========================================================================
37// class definitions
38// ===========================================================================
39/*
40 * @class GUIPointOfInterest
41 * @brief The GUI-version of a point of interest
42 */
44public:
62 GUIPointOfInterest(const std::string& id, const std::string& type, const RGBColor& color,
63 const Position& pos, bool geo, const std::string& lane, double posOverLane,
64 bool friendlyPos, double posLat, double layer, double angle, const std::string& imgFile,
65 bool relativePath, double width, double height);
66
68 virtual ~GUIPointOfInterest();
69
71
72
81
90
92 double getExaggeration(const GUIVisualizationSettings& s) const override;
93
99 Boundary getCenteringBoundary() const override;
100
105 void drawGL(const GUIVisualizationSettings& s) const override;
106
107 double getClickPriority() const override {
108 return getShapeLayer();
109 }
111
113 static bool checkDraw(const GUIVisualizationSettings& s, const GUIGlObject* o);
114
116 static void setColor(const GUIVisualizationSettings& s, const PointOfInterest* POI, const GUIGlObject* o, bool forceSelectionColor);
117
119 static void drawInnerPOI(const GUIVisualizationSettings& s, const PointOfInterest* POI, const GUIGlObject* o, const bool disableSelectionColor,
120 const double layer, const double width, const double height);
121};
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.
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, double layer, double angle, const std::string &imgFile, bool relativePath, double width, double height)
Constructor.
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() )
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.
A point-of-interest.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:37
double getShapeLayer() const
Returns the layer of the Shape.
Definition: Shape.h:91