Eclipse SUMO - Simulation of Urban MObility
GUISUMOAbstractView.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-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
17 // The base class for a view
18 /****************************************************************************/
19 #ifndef GUISUMOAbstractView_h
20 #define GUISUMOAbstractView_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <string>
29 #include <vector>
30 #include <map>
31 #include <fx.h>
32 // fx3d includes windows.h so we need to guard against macro pollution
33 #ifdef WIN32
34 #define NOMINMAX
35 #endif
36 #include <fx3d.h>
37 #ifdef WIN32
38 #undef NOMINMAX
39 #endif
40 
41 #include <utils/geom/Boundary.h>
42 #include <utils/geom/Position.h>
43 #include <utils/common/RGBColor.h>
44 #include <utils/common/SUMOTime.h>
47 
48 
49 // ===========================================================================
50 // class declarations
51 // ===========================================================================
52 class GUIGlChildWindow;
53 class GUIVehicle;
55 class GUIMainWindow;
57 class GUIGlObject;
61 
62 
63 // ===========================================================================
64 // class definitions
65 // ===========================================================================
72 class GUISUMOAbstractView : public FXGLCanvas {
73  FXDECLARE(GUISUMOAbstractView)
74 
75 public:
77  GUISUMOAbstractView(FXComposite* p, GUIMainWindow& app, GUIGlChildWindow* parent, const SUMORTree& grid, FXGLVisual* glVis, FXGLCanvas* share);
78 
80  virtual ~GUISUMOAbstractView();
81 
84 
86  virtual void recenterView();
87 
94  virtual void centerTo(GUIGlID id, bool applyZoom, double zoomDist = 20);
95 
102  virtual void centerTo(const Position& pos, bool applyZoom, double zoomDist = 20);
103 
105  void centerTo(const Boundary& bound);
106 
108  virtual void setViewportFromToRot(const Position& lookFrom, const Position& lookAt, double rotation);
109 
111  virtual void copyViewportTo(GUISUMOAbstractView* view);
112 
114  double m2p(double meter) const;
115 
117  double p2m(double pixel) const;
118 
121  //bool allowRotation() const;
122 
125 
127  void setWindowCursorPosition(FXint x, FXint y);
128 
130  FXbool makeCurrent();
131 
133  bool isInEditMode();
134 
137 
140 
142 
143  virtual long onConfigure(FXObject*, FXSelector, void*);
144  virtual long onPaint(FXObject*, FXSelector, void*);
145  virtual long onLeftBtnPress(FXObject*, FXSelector, void*);
146  virtual long onLeftBtnRelease(FXObject*, FXSelector, void*);
147  virtual long onMiddleBtnPress(FXObject*, FXSelector, void*);
148  virtual long onMiddleBtnRelease(FXObject*, FXSelector, void*);
149  virtual long onRightBtnPress(FXObject*, FXSelector, void*);
150  virtual long onRightBtnRelease(FXObject*, FXSelector, void*);
151  virtual long onDoubleClicked(FXObject*, FXSelector, void*);
152  virtual long onMouseWheel(FXObject*, FXSelector, void*);
153  virtual long onMouseMove(FXObject*, FXSelector, void*);
154  virtual long onMouseLeft(FXObject*, FXSelector, void*);
156 
158 
159  virtual long onKeyPress(FXObject* o, FXSelector sel, void* data);
160  virtual long onKeyRelease(FXObject* o, FXSelector sel, void* data);
162 
163  //@brief open object dialog
164  virtual void openObjectDialog();
165 
167  void updateToolTip();
168 
171 
176  void addSnapshot(SUMOTime time, const std::string& file, const int w = -1, const int h = -1);
177 
187  std::string makeSnapshot(const std::string& destFile, const int w = -1, const int h = -1);
188 
190  virtual void saveFrame(const std::string& destFile, FXColor* buf);
191 
193  virtual void endSnapshot() {}
194 
196  virtual void checkSnapshots();
197 
198  void waitForSnapshots(const SUMOTime snapshotTime);
199 
201  virtual SUMOTime getCurrentTimeStep() const;
203 
206 
208  virtual void showViewportEditor();
209 
211  void showViewschemeEditor();
212 
214  void showToolTips(bool val);
215 
217  virtual bool setColorScheme(const std::string&);
218 
221 
223  virtual void buildColorRainbow(const GUIVisualizationSettings& /*s*/, GUIColorScheme& /*scheme*/, int /*active*/, GUIGlObjectType /*objectType*/,
224  bool hide = false, double hideThreshold = 0) {
225  UNUSED_PARAMETER(hide);
226  UNUSED_PARAMETER(hideThreshold);
227  }
228 
230  virtual std::vector<std::string> getEdgeDataAttrs() const {
231  return std::vector<std::string>();
232  }
233 
235  virtual std::vector<std::string> getEdgeLaneParamKeys(bool /*edgeKeys*/) const {
236  return std::vector<std::string>();
237  }
238 
240  virtual std::vector<std::string> getVehicleParamKeys(bool /*vTypeKeys*/) const {
241  return std::vector<std::string>();
242  }
243 
246 
249 
251  // @todo: check why this is here
252  double getGridWidth() const;
253 
255  // @todo: check why this is here
256  double getGridHeight() const;
257 
259  virtual void startTrack(int /*id*/);
260 
262  virtual void stopTrack();
263 
265  virtual GUIGlID getTrackedID() const;
266 
268  virtual void onGamingClick(Position /*pos*/);
269  virtual void onGamingRightClick(Position /*pos*/);
270 
273 
278  bool addAdditionalGLVisualisation(GUIGlObject* const which);
279 
285  bool removeAdditionalGLVisualisation(GUIGlObject* const which);
286 
291  bool isAdditionalGLVisualisationEnabled(GUIGlObject* const which) const;
293 
295  const Position& getPopupPosition() const;
296 
298  void destroyPopup();
299 
300 public:
303  struct Decal {
305  Decal();
306 
308  std::string filename;
310  double centerX;
312  double centerY;
314  double centerZ;
316  double width;
318  double height;
320  double altitude;
322  double rot;
324  double tilt;
326  double roll;
328  double layer;
332  bool skip2D;
336  int glID;
338  FXImage* image;
339  };
340 
341 public:
343  FXComboBox* getColoringSchemesCombo();
344 
347 
351  Position snapToActiveGrid(const Position& pos, bool snapXY = true) const;
352 
354  Position screenPos2NetPos(int x, int y) const;
355 
357  void addDecals(const std::vector<Decal>& decals);
358 
361 
363  double getDelay() const;
364 
366  void setDelay(double delay);
367 
369  void setBreakpoints(const std::vector<SUMOTime>& breakpoints);
370 
372  virtual const std::vector<SUMOTime> retrieveBreakpoints() const {
373  return std::vector<SUMOTime>();
374  }
375 
377  double getFPS() const;
378 
379 protected:
381  void paintGL();
382 
384  void updatePositionInformation() const;
385 
387  virtual int doPaintGL(int /*mode*/, const Boundary& /*boundary*/);
388 
390  virtual void doInit();
391 
393  void paintGLGrid();
394 
396  void displayLegend();
397 
399  void displayColorLegend();
400 
402  void drawFPS();
403 
406 
408  std::vector<GUIGlID> getObjectsUnderCursor();
409 
411  std::vector<GUIGlObject*> getGUIGlObjectsUnderCursor();
412 
414  std::vector<GUIGlObject*> getGUIGlObjectsUnderGrippedCursor();
415 
418 
420  std::vector<GUIGlID> getObjectsAtPosition(Position pos, double radius);
421 
423  std::vector<GUIGlObject*> getGUIGlObjectsAtPosition(Position pos, double radius);
424 
426  std::vector<GUIGlID> getObjectsInBoundary(Boundary bound, bool singlePosition);
427 
429  void showToolTipFor(const GUIGlID id);
430 
431 protected:
433 
434 
435  FXImage* checkGDALImage(Decal& d);
436 
438  void drawDecals();
439 
443  Boundary applyGLTransform(bool fixRatio = true);
444 
445 protected:
448 
451 
454 
457 
460 
463 
466 
469 
472 
475 
478 
481 
484 
487 
491  std::vector<Decal> myDecals;
492 
494  FXMutex myDecalsLock;
496 
498  std::map<SUMOTime, std::vector<std::tuple<std::string, int, int> > > mySnapshots;
499 
502 
504  FXCondition mySnapshotCondition;
505 
507  mutable FXMutex myPolyDrawLock;
508 
510  std::map<GUIGlObject*, int> myAdditionallyDrawn;
511 
514 
515 private:
516  // @brief sensitivity for "<>AtPosition(...) functions
517  static const double SENSITIVITY;
518 };
519 
520 
521 #endif
522 
523 /****************************************************************************/
524 
GUIPerspectiveChanger
Definition: GUIPerspectiveChanger.h:52
GUISUMOAbstractView::getVisibleBoundary
Boundary getVisibleBoundary() const
get visible boundary
Definition: GUISUMOAbstractView.cpp:268
GUISUMOAbstractView::openObjectDialog
virtual void openObjectDialog()
Definition: GUISUMOAbstractView.cpp:1040
GUISUMOAbstractView::Decal::roll
double roll
The roll of the image to the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:326
GUISUMOAbstractView::doInit
virtual void doInit()
doInit
Definition: GUISUMOAbstractView.cpp:263
Boundary.h
UNUSED_PARAMETER
#define UNUSED_PARAMETER(x)
Definition: StdDefs.h:31
GUISUMOAbstractView::makeCurrent
FXbool makeCurrent()
A reimplementation due to some internal reasons.
Definition: GUISUMOAbstractView.cpp:841
GUISUMOAbstractView::setViewportFromToRot
virtual void setViewportFromToRot(const Position &lookFrom, const Position &lookAt, double rotation)
applies the given viewport settings
Definition: GUISUMOAbstractView.cpp:1366
GUISUMOAbstractView::showViewportEditor
virtual void showViewportEditor()
show viewport editor
Definition: GUISUMOAbstractView.cpp:1357
GUIGlObjectTypes.h
GUISUMOAbstractView::copyViewportTo
virtual void copyViewportTo(GUISUMOAbstractView *view)
copy the viewport to the given view
Definition: GUISUMOAbstractView.cpp:1374
GUISUMOAbstractView::getGridHeight
double getGridHeight() const
get grid height
Definition: GUISUMOAbstractView.cpp:1419
GUISUMOAbstractView::stopTrack
virtual void stopTrack()
stop track
Definition: GUISUMOAbstractView.cpp:1430
GUISUMOAbstractView::myMouseHotspotX
int myMouseHotspotX
Offset to the mouse-hotspot from the mouse position.
Definition: GUISUMOAbstractView.h:462
GUISUMOAbstractView::onRightBtnPress
virtual long onRightBtnPress(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:967
GUISUMOAbstractView::Decal::image
FXImage * image
The image pointer for later cleanup.
Definition: GUISUMOAbstractView.h:338
SUMOTime.h
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:72
GUISUMOAbstractView::myAdditionallyDrawn
std::map< GUIGlObject *, int > myAdditionallyDrawn
List of objects for which GUIGlObject::drawGLAdditional is called.
Definition: GUISUMOAbstractView.h:510
GUIDialog_ViewSettings
The dialog to change the view (gui) settings.
Definition: GUIDialog_ViewSettings.h:47
GUISUMOAbstractView::myPolyDrawLock
FXMutex myPolyDrawLock
poly draw lock
Definition: GUISUMOAbstractView.h:507
GUISUMOAbstractView::isInEditMode
bool isInEditMode()
returns true, if the edit button was pressed
Definition: GUISUMOAbstractView.cpp:169
GUISUMOAbstractView::getObjectsUnderCursor
std::vector< GUIGlID > getObjectsUnderCursor()
returns the id of the objects under the cursor using GL_SELECT (including overlapped objects)
Definition: GUISUMOAbstractView.cpp:335
GUISUMOAbstractView::setColorScheme
virtual bool setColorScheme(const std::string &)
set color scheme
Definition: GUISUMOAbstractView.cpp:1389
GUISUMOAbstractView::getColoringSchemesCombo
FXComboBox * getColoringSchemesCombo()
get coloring schemes combo
Definition: GUISUMOAbstractView.cpp:1450
GUISUMOAbstractView::showViewschemeEditor
void showViewschemeEditor()
show viewsscheme editor
Definition: GUISUMOAbstractView.cpp:1321
GUISUMOAbstractView::myDecals
std::vector< Decal > myDecals
Definition: GUISUMOAbstractView.h:491
GUISUMOAbstractView::buildViewToolBars
virtual void buildViewToolBars(GUIGlChildWindow &)
builds the view toolbars
Definition: GUISUMOAbstractView.h:83
GUISUMOAbstractView::waitForSnapshots
void waitForSnapshots(const SUMOTime snapshotTime)
Definition: GUISUMOAbstractView.cpp:1306
GUISUMOAbstractView::myParent
GUIGlChildWindow * myParent
The parent window.
Definition: GUISUMOAbstractView.h:450
GUISUMOAbstractView::m2p
double m2p(double meter) const
meter-to-pixels conversion method
Definition: GUISUMOAbstractView.cpp:771
GUISUMOAbstractView::onGamingRightClick
virtual void onGamingRightClick(Position)
Definition: GUISUMOAbstractView.cpp:1445
GUISUMOAbstractView::getGUIGlObjectsUnderCursor
std::vector< GUIGlObject * > getGUIGlObjectsUnderCursor()
returns the GUIGlObject under the cursor using GL_SELECT (including overlapped objects)
Definition: GUISUMOAbstractView.cpp:351
GUISUMOAbstractView::getObjectUnderCursor
GUIGlID getObjectUnderCursor()
returns the id of the front object under the cursor using GL_SELECT
Definition: GUISUMOAbstractView.cpp:329
GUISUMOAbstractView::centerTo
virtual void centerTo(GUIGlID id, bool applyZoom, double zoomDist=20)
centers to the chosen artifact
Definition: GUISUMOAbstractView.cpp:789
GUISUMOAbstractView::Decal::centerY
double centerY
The center of the image in y-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:312
GUISUMOAbstractView::showToolTips
void showToolTips(bool val)
show tool tips
Definition: GUISUMOAbstractView.cpp:1383
GUISUMOAbstractView::Decal::filename
std::string filename
The path to the file the image is located at.
Definition: GUISUMOAbstractView.h:308
GUISUMOAbstractView::drawFPS
void drawFPS()
Draws frames-per-second indicator.
Definition: GUISUMOAbstractView.cpp:751
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:34
GUISUMOAbstractView::getEdgeLaneParamKeys
virtual std::vector< std::string > getEdgeLaneParamKeys(bool) const
return list of available edge parameters
Definition: GUISUMOAbstractView.h:235
GUISUMOAbstractView::addSnapshot
void addSnapshot(SUMOTime time, const std::string &file, const int w=-1, const int h=-1)
Sets the snapshot time to file map.
Definition: GUISUMOAbstractView.cpp:1097
GUISUMOAbstractView::applyGLTransform
Boundary applyGLTransform(bool fixRatio=true)
applies gl-transformations to fit the Boundary given by myChanger onto the canvas....
Definition: GUISUMOAbstractView.cpp:1621
GUISUMOAbstractView::checkSnapshots
virtual void checkSnapshots()
Checks whether it is time for a snapshot.
Definition: GUISUMOAbstractView.cpp:1273
GUISUMOAbstractView::GUISUMOAbstractView
GUISUMOAbstractView(FXComposite *p, GUIMainWindow &app, GUIGlChildWindow *parent, const SUMORTree &grid, FXGLVisual *glVis, FXGLCanvas *share)
constructor
Definition: GUISUMOAbstractView.cpp:123
GUISUMOAbstractView::Decal::centerZ
double centerZ
The center of the image in z-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:314
GUISUMOAbstractView::getObjectAtPosition
GUIGlID getObjectAtPosition(Position pos)
returns the id of the object at position using GL_SELECT
Definition: GUISUMOAbstractView.cpp:357
GUISUMOAbstractView::Decal::height
double height
The height of the image (net coordinates in y-direction, in m)
Definition: GUISUMOAbstractView.h:318
GUIGLObjectPopupMenu
The popup menu of a globject.
Definition: GUIGLObjectPopupMenu.h:47
GUISUMOAbstractView::setWindowCursorPosition
void setWindowCursorPosition(FXint x, FXint y)
Returns the gl-id of the object under the given coordinates.
Definition: GUISUMOAbstractView.cpp:834
GUISUMOAbstractView::updateToolTip
void updateToolTip()
A method that updates the tooltip.
Definition: GUISUMOAbstractView.cpp:181
GUISUMOAbstractView::paintGL
void paintGL()
performs the painting of the simulation
Definition: GUISUMOAbstractView.cpp:274
GUISUMOAbstractView::Decal::skip2D
bool skip2D
Whether this image should be skipped in 2D-views.
Definition: GUISUMOAbstractView.h:332
GUISUMOAbstractView::snapToActiveGrid
Position snapToActiveGrid(const Position &pos, bool snapXY=true) const
Returns a position that is mapped to the closest grid point if the grid is active.
Definition: GUISUMOAbstractView.cpp:196
RGBColor.h
GUISUMOAbstractView::onMouseWheel
virtual long onMouseWheel(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:997
GUISUMOAbstractView::updatePositionInformation
void updatePositionInformation() const
update position information
Definition: GUISUMOAbstractView.cpp:242
GUISUMOAbstractView::onRightBtnRelease
virtual long onRightBtnRelease(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:976
GUIGlObjectType
GUIGlObjectType
Definition: GUIGlObjectTypes.h:39
GUISUMOAbstractView::Decal::layer
double layer
The layer of the image.
Definition: GUISUMOAbstractView.h:328
SUMORTree
A RT-tree for efficient storing of SUMO's GL-objects.
Definition: SUMORTree.h:68
GUISUMOAbstractView::myAmInitialised
bool myAmInitialised
Internal information whether doInit() was called.
Definition: GUISUMOAbstractView.h:477
GUIDialog_EditViewport
A dialog to change the viewport.
Definition: GUIDialog_EditViewport.h:42
GUISUMOAbstractView::getGUIGlObjectsAtPosition
std::vector< GUIGlObject * > getGUIGlObjectsAtPosition(Position pos, double radius)
returns the GUIGlObjects at position within the given (rectangular) radius using GL_SELECT
Definition: GUISUMOAbstractView.cpp:442
GUISUMOAbstractView::myFrameDrawTime
long myFrameDrawTime
counter for measuring rendering time
Definition: GUISUMOAbstractView.h:513
GUISUMOAbstractView::getObjectsAtPosition
std::vector< GUIGlID > getObjectsAtPosition(Position pos, double radius)
returns the ids of the object at position within the given (rectangular) radius using GL_SELECT
Definition: GUISUMOAbstractView.cpp:407
GUISUMOAbstractView::Decal::screenRelative
bool screenRelative
Whether this image should be skipped in 2D-views.
Definition: GUISUMOAbstractView.h:334
GUISUMOAbstractView::onLeftBtnRelease
virtual long onLeftBtnRelease(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:943
GUISUMOAbstractView::myMouseHotspotY
int myMouseHotspotY
Definition: GUISUMOAbstractView.h:462
GUISUMOAbstractView::getCurrentTimeStep
virtual SUMOTime getCurrentTimeStep() const
get the current simulation time
Definition: GUISUMOAbstractView.cpp:1315
GUISUMOAbstractView::myInEditMode
bool myInEditMode
Information whether too-tip informations shall be generated.
Definition: GUISUMOAbstractView.h:459
GUISUMOAbstractView::displayLegend
void displayLegend()
Draws a line with ticks, and the length information.
Definition: GUISUMOAbstractView.cpp:582
GUISUMOAbstractView::Decal::rot
double rot
The rotation of the image in the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:322
GUISUMOAbstractView::Decal::tilt
double tilt
The tilt of the image to the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:324
GUISUMOAbstractView::getVisualisationSettings
GUIVisualizationSettings * getVisualisationSettings() const
get visualitation settings
Definition: GUISUMOAbstractView.cpp:236
GUISUMOAbstractView::onDoubleClicked
virtual long onDoubleClicked(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:991
SUMORTree.h
GUIVehicle
A MSVehicle extended by some values for usage within the gui.
Definition: GUIVehicle.h:53
GUISUMOAbstractView::myWindowCursorPositionY
FXint myWindowCursorPositionY
Definition: GUISUMOAbstractView.h:483
GUISUMOAbstractView::onMiddleBtnRelease
virtual long onMiddleBtnRelease(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:961
GUISUMOAbstractView::onConfigure
virtual long onConfigure(FXObject *, FXSelector, void *)
mouse functions
Definition: GUISUMOAbstractView.cpp:848
Boundary
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:41
GUISUMOAbstractView::myWindowCursorPositionX
FXint myWindowCursorPositionX
Position of the cursor relative to the window.
Definition: GUISUMOAbstractView.h:483
GUISUMOAbstractView::mySnapshotCondition
FXCondition mySnapshotCondition
the semaphore when waiting for snapshots to finish
Definition: GUISUMOAbstractView.h:504
FOX_CONSTRUCTOR
#define FOX_CONSTRUCTOR(classname)
Definition: config.h:13
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:38
GUISUMOAbstractView::onMouseLeft
virtual long onMouseLeft(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:1034
GUISUMOAbstractView::remove
void remove(GUIDialog_EditViewport *)
remove viewport
Definition: GUISUMOAbstractView.cpp:1401
GUISUMOAbstractView::SENSITIVITY
static const double SENSITIVITY
Definition: GUISUMOAbstractView.h:517
GUISUMOAbstractView::myVisualizationSettings
GUIVisualizationSettings * myVisualizationSettings
visualization settings
Definition: GUISUMOAbstractView.h:471
GUISUMOAbstractView::Decal::altitude
double altitude
The altitude of the image (net coordinates in z-direction, in m)
Definition: GUISUMOAbstractView.h:320
GUISUMOAbstractView::drawDecals
void drawDecals()
Draws the stored decals.
Definition: GUISUMOAbstractView.cpp:1535
GUIGlObject
Definition: GUIGlObject.h:65
GUISUMOAbstractView::endSnapshot
virtual void endSnapshot()
Ends a video snapshot.
Definition: GUISUMOAbstractView.h:193
GUISUMOAbstractView::getPositionInformation
Position getPositionInformation() const
Returns the cursor's x/y position within the network.
Definition: GUISUMOAbstractView.cpp:190
GUISUMOAbstractView::onKeyRelease
virtual long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Definition: GUISUMOAbstractView.cpp:1085
GUISUMOAbstractView::startTrack
virtual void startTrack(int)
star track
Definition: GUISUMOAbstractView.cpp:1425
GUISUMOAbstractView::getPopupPosition
const Position & getPopupPosition() const
get position of current popup
Definition: GUISUMOAbstractView.cpp:879
GUISUMOAbstractView::getViewportEditor
GUIDialog_EditViewport * getViewportEditor()
get the viewport and create it on first access
Definition: GUISUMOAbstractView.cpp:1336
GUISUMOAbstractView::getVehicleParamKeys
virtual std::vector< std::string > getVehicleParamKeys(bool) const
return list of available vehicle parameters
Definition: GUISUMOAbstractView.h:240
Position.h
GUISUMOAbstractView::onGamingClick
virtual void onGamingClick(Position)
on gaming click
Definition: GUISUMOAbstractView.cpp:1441
GUISUMOAbstractView::buildColorRainbow
virtual void buildColorRainbow(const GUIVisualizationSettings &, GUIColorScheme &, int, GUIGlObjectType, bool hide=false, double hideThreshold=0)
recalibrate color scheme according to the current value range
Definition: GUISUMOAbstractView.h:223
GUISUMOAbstractView::makeSnapshot
std::string makeSnapshot(const std::string &destFile, const int w=-1, const int h=-1)
Takes a snapshots and writes it into the given file.
Definition: GUISUMOAbstractView.cpp:1107
GUISUMOAbstractView::removeAdditionalGLVisualisation
bool removeAdditionalGLVisualisation(GUIGlObject *const which)
Removes an object from the list of objects that show additional things.
Definition: GUISUMOAbstractView.cpp:1595
GUIMainWindow
Definition: GUIMainWindow.h:46
GUISUMOAbstractView::getChanger
GUIPerspectiveChanger & getChanger() const
get changer
Definition: GUISUMOAbstractView.cpp:175
GUISUMOAbstractView::getFPS
double getFPS() const
retrieve FPS
Definition: GUISUMOAbstractView.cpp:746
GUISUMOAbstractView::addAdditionalGLVisualisation
bool addAdditionalGLVisualisation(GUIGlObject *const which)
Adds an object to call its additional visualisation method.
Definition: GUISUMOAbstractView.cpp:1583
GUISUMOAbstractView::setDelay
void setDelay(double delay)
Sets the delay of the parent application.
Definition: GUISUMOAbstractView.cpp:1661
GUISUMOAbstractView::p2m
double p2m(double pixel) const
pixels-to-meters conversion method
Definition: GUISUMOAbstractView.cpp:777
GUISUMOAbstractView::getDelay
double getDelay() const
Returns the delay of the parent application.
Definition: GUISUMOAbstractView.cpp:1655
GUISUMOAbstractView::checkGDALImage
FXImage * checkGDALImage(Decal &d)
check whether we can read image data or position with gdal
Definition: GUISUMOAbstractView.cpp:1456
GUISUMOAbstractView::getWindowCursorPosition
Position getWindowCursorPosition() const
Returns the information whether rotation is allowd.
Definition: GUISUMOAbstractView.cpp:828
GUISUMOAbstractView::showToolTipFor
void showToolTipFor(const GUIGlID id)
invokes the tooltip for the given object
Definition: GUISUMOAbstractView.cpp:520
GUIGlID
unsigned int GUIGlID
Definition: GUIGlObject.h:42
GUISUMOAbstractView::Decal::Decal
Decal()
Constructor.
Definition: GUISUMOAbstractView.cpp:1672
GUISUMOAbstractView::myApp
GUIMainWindow * myApp
The application.
Definition: GUISUMOAbstractView.h:447
GUISUMOAbstractView::myGrid
SUMORTree * myGrid
The visualization speed-up.
Definition: GUISUMOAbstractView.h:453
GUISUMOAbstractView::~GUISUMOAbstractView
virtual ~GUISUMOAbstractView()
destructor
Definition: GUISUMOAbstractView.cpp:151
GUISUMOAbstractView::paintGLGrid
void paintGLGrid()
paints a grid
Definition: GUISUMOAbstractView.cpp:540
GUISUMOAbstractView::onMiddleBtnPress
virtual long onMiddleBtnPress(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:955
GUISUMOAbstractView::setBreakpoints
void setBreakpoints(const std::vector< SUMOTime > &breakpoints)
Sets the breakpoints of the parent application.
Definition: GUISUMOAbstractView.cpp:1667
GUISUMOAbstractView::myUseToolTips
bool myUseToolTips
use tool tips
Definition: GUISUMOAbstractView.h:474
GUISUMOAbstractView::onKeyPress
virtual long onKeyPress(FXObject *o, FXSelector sel, void *data)
keyboard functions
Definition: GUISUMOAbstractView.cpp:1074
GUISUMOAbstractView::Decal::initialised
bool initialised
Whether this image was initialised (inserted as a texture)
Definition: GUISUMOAbstractView.h:330
GUISUMOAbstractView::getGUIGlObjectsUnderGrippedCursor
std::vector< GUIGlObject * > getGUIGlObjectsUnderGrippedCursor()
returns the GUIGlObject under the gripped cursor using GL_SELECT (including overlapped objects)
Definition: GUISUMOAbstractView.cpp:341
GUISUMOAbstractView::addDecals
void addDecals(const std::vector< Decal > &decals)
add decals
Definition: GUISUMOAbstractView.cpp:230
GUISUMOAbstractView::myPopup
GUIGLObjectPopupMenu * myPopup
The current popup-menu.
Definition: GUISUMOAbstractView.h:465
config.h
GUISUMOAbstractView::myVisualizationChanger
GUIDialog_ViewSettings * myVisualizationChanger
Visualization changer.
Definition: GUISUMOAbstractView.h:486
GUISUMOAbstractView::getEdgeDataAttrs
virtual std::vector< std::string > getEdgeDataAttrs() const
return list of loaded edgeData attributes
Definition: GUISUMOAbstractView.h:230
GUISUMOAbstractView::recenterView
virtual void recenterView()
recenters the view
Definition: GUISUMOAbstractView.cpp:783
GUISUMOAbstractView::mySnapshotsMutex
FXMutex mySnapshotsMutex
The mutex to use before accessing the decals list in order to avoid thread conflicts.
Definition: GUISUMOAbstractView.h:501
GUISUMOAbstractView::getObjectsInBoundary
std::vector< GUIGlID > getObjectsInBoundary(Boundary bound, bool singlePosition)
returns the ids of all objects in the given boundary
Definition: GUISUMOAbstractView.cpp:472
GUISUMOAbstractView::saveFrame
virtual void saveFrame(const std::string &destFile, FXColor *buf)
Adds a frame to a video snapshot which will be initialized if neccessary.
Definition: GUISUMOAbstractView.cpp:1266
GUISUMOAbstractView::onLeftBtnPress
virtual long onLeftBtnPress(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:894
GUISUMOAbstractView::myViewportChooser
GUIDialog_EditViewport * myViewportChooser
viewport chooser
Definition: GUISUMOAbstractView.h:480
GUISUMOAbstractView::screenPos2NetPos
Position screenPos2NetPos(int x, int y) const
Translate screen position to network position.
Definition: GUISUMOAbstractView.cpp:215
GUISUMOAbstractView::retrieveBreakpoints
virtual const std::vector< SUMOTime > retrieveBreakpoints() const
retrieve breakpoints if provided by the application
Definition: GUISUMOAbstractView.h:372
GUIGlChildWindow
Definition: GUIGlChildWindow.h:40
GUIVisualizationSettings
Stores the information about how to visualize structures.
Definition: GUIVisualizationSettings.h:345
GUISUMOAbstractView::destroyPopup
void destroyPopup()
destoys the popup
Definition: GUISUMOAbstractView.cpp:884
GUISUMOAbstractView::mySnapshots
std::map< SUMOTime, std::vector< std::tuple< std::string, int, int > > > mySnapshots
Snapshots.
Definition: GUISUMOAbstractView.h:498
GUISUMOAbstractView::myChanger
GUIPerspectiveChanger * myChanger
The perspective changer.
Definition: GUISUMOAbstractView.h:456
GUISUMOAbstractView::onMouseMove
virtual long onMouseMove(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:1013
GUISUMOAbstractView::displayColorLegend
void displayColorLegend()
Draws a legend for the current edge coloring scheme.
Definition: GUISUMOAbstractView.cpp:648
GUISUMOAbstractView::Decal::width
double width
The width of the image (net coordinates in x-direction, in m)
Definition: GUISUMOAbstractView.h:316
GUISUMOAbstractView::myPopupPosition
Position myPopupPosition
The current popup-menu position.
Definition: GUISUMOAbstractView.h:468
GUISUMOAbstractView::Decal::centerX
double centerX
The center of the image in x-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:310
GUISUMOAbstractView::Decal
A decal (an image) that can be shown.
Definition: GUISUMOAbstractView.h:303
GUISUMOAbstractView::Decal::glID
int glID
whether the decal shall be drawn in screen coordinates, rather than network coordinates
Definition: GUISUMOAbstractView.h:336
GUIPropertyScheme
Definition: GUIPropertyScheme.h:45
GUISUMOAbstractView::doPaintGL
virtual int doPaintGL(int, const Boundary &)
paint GL
Definition: GUISUMOAbstractView.cpp:257
GUISUMOAbstractView::getTrackedID
virtual GUIGlID getTrackedID() const
get tracked id
Definition: GUISUMOAbstractView.cpp:1435
GUISUMOAbstractView::myDecalsLock
FXMutex myDecalsLock
The mutex to use before accessing the decals list in order to avoid thread conflicts.
Definition: GUISUMOAbstractView.h:494
GUISUMOAbstractView::onPaint
virtual long onPaint(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:866
GUISUMOAbstractView::getGridWidth
double getGridWidth() const
get grid width
Definition: GUISUMOAbstractView.cpp:1413
GUISUMOAbstractView::isAdditionalGLVisualisationEnabled
bool isAdditionalGLVisualisationEnabled(GUIGlObject *const which) const
Check if an object is added in the additional GL visualitation.
Definition: GUISUMOAbstractView.cpp:1611