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 /****************************************************************************/
18 // The base class for a view
19 /****************************************************************************/
20 #ifndef GUISUMOAbstractView_h
21 #define GUISUMOAbstractView_h
22 
23 
24 // ===========================================================================
25 // included modules
26 // ===========================================================================
27 #include <config.h>
28 
29 #include <string>
30 #include <vector>
31 #include <map>
32 #include <fx.h>
33 // fx3d includes windows.h so we need to guard against macro pollution
34 #ifdef WIN32
35 #define NOMINMAX
36 #endif
37 #include <fx3d.h>
38 #ifdef WIN32
39 #undef NOMINMAX
40 #endif
41 
42 #include <utils/geom/Boundary.h>
43 #include <utils/geom/Position.h>
44 #include <utils/common/RGBColor.h>
45 #include <utils/common/SUMOTime.h>
48 
49 
50 // ===========================================================================
51 // class declarations
52 // ===========================================================================
53 class GUIGlChildWindow;
54 class GUIVehicle;
56 class GUIMainWindow;
58 class GUIGlObject;
62 
63 
64 // ===========================================================================
65 // class definitions
66 // ===========================================================================
73 class GUISUMOAbstractView : public FXGLCanvas {
74  FXDECLARE(GUISUMOAbstractView)
75 
76 public:
78  GUISUMOAbstractView(FXComposite* p, GUIMainWindow& app, GUIGlChildWindow* parent, const SUMORTree& grid, FXGLVisual* glVis, FXGLCanvas* share);
79 
81  virtual ~GUISUMOAbstractView();
82 
85 
87  virtual void recenterView();
88 
95  virtual void centerTo(GUIGlID id, bool applyZoom, double zoomDist = 20);
96 
103  virtual void centerTo(const Position& pos, bool applyZoom, double zoomDist = 20);
104 
106  void centerTo(const Boundary& bound);
107 
109  virtual void setViewportFromToRot(const Position& lookFrom, const Position& lookAt, double rotation);
110 
112  virtual void copyViewportTo(GUISUMOAbstractView* view);
113 
115  double m2p(double meter) const;
116 
118  double p2m(double pixel) const;
119 
122  //bool allowRotation() const;
123 
126 
128  void setWindowCursorPosition(FXint x, FXint y);
129 
131  FXbool makeCurrent();
132 
134  bool isInEditMode();
135 
138 
141 
143 
144  virtual long onConfigure(FXObject*, FXSelector, void*);
145  virtual long onPaint(FXObject*, FXSelector, void*);
146  virtual long onLeftBtnPress(FXObject*, FXSelector, void*);
147  virtual long onLeftBtnRelease(FXObject*, FXSelector, void*);
148  virtual long onMiddleBtnPress(FXObject*, FXSelector, void*);
149  virtual long onMiddleBtnRelease(FXObject*, FXSelector, void*);
150  virtual long onRightBtnPress(FXObject*, FXSelector, void*);
151  virtual long onRightBtnRelease(FXObject*, FXSelector, void*);
152  virtual long onDoubleClicked(FXObject*, FXSelector, void*);
153  virtual long onMouseWheel(FXObject*, FXSelector, void*);
154  virtual long onMouseMove(FXObject*, FXSelector, void*);
155  virtual long onMouseLeft(FXObject*, FXSelector, void*);
157 
159 
160  virtual long onKeyPress(FXObject* o, FXSelector sel, void* data);
161  virtual long onKeyRelease(FXObject* o, FXSelector sel, void* data);
163 
164  //@brief open object dialog
165  virtual void openObjectDialog();
166 
168  void updateToolTip();
169 
172 
175  void addSnapshot(SUMOTime time, const std::string& file, const int width = -1, const int height = -1);
176 
184  std::string makeSnapshot(const std::string& destFile, const int width = -1, const int height = -1);
185 
187  virtual void saveFrame(const std::string& destFile, FXColor* buf);
188 
190  virtual void endSnapshot() {}
191 
193  virtual void checkSnapshots();
194 
195  void waitForSnapshots(const SUMOTime snapshotTime);
196 
198  virtual SUMOTime getCurrentTimeStep() const;
200 
203 
205  virtual void showViewportEditor();
206 
208  void showViewschemeEditor();
209 
211  void showToolTips(bool val);
212 
214  virtual bool setColorScheme(const std::string&);
215 
218 
220  virtual void buildColorRainbow(const GUIVisualizationSettings& /*s*/, GUIColorScheme& /*scheme*/, int /*active*/, GUIGlObjectType /*objectType*/,
221  bool hide = false, double hideThreshold = 0) {
222  UNUSED_PARAMETER(hide);
223  UNUSED_PARAMETER(hideThreshold);
224  }
225 
227  virtual std::vector<std::string> getEdgeDataAttrs() const {
228  return std::vector<std::string>();
229  }
230 
232  virtual std::vector<std::string> getEdgeLaneParamKeys(bool /*edgeKeys*/) const {
233  return std::vector<std::string>();
234  }
235 
238 
241 
243  // @todo: check why this is here
244  double getGridWidth() const;
245 
247  // @todo: check why this is here
248  double getGridHeight() const;
249 
251  virtual void startTrack(int /*id*/);
252 
254  virtual void stopTrack();
255 
257  virtual GUIGlID getTrackedID() const;
258 
260  virtual void onGamingClick(Position /*pos*/);
261  virtual void onGamingRightClick(Position /*pos*/);
262 
265 
270  bool addAdditionalGLVisualisation(const GUIGlObject* const which);
271 
277  bool removeAdditionalGLVisualisation(const GUIGlObject* const which);
278 
283  bool isAdditionalGLVisualisationEnabled(GUIGlObject* const which) const;
285 
287  const Position& getPopupPosition() const;
288 
290  void destroyPopup();
291 
292 public:
295  struct Decal {
297  Decal();
298 
300  std::string filename;
302  double centerX;
304  double centerY;
306  double centerZ;
308  double width;
310  double height;
312  double altitude;
314  double rot;
316  double tilt;
318  double roll;
320  double layer;
324  bool skip2D;
328  int glID;
330  FXImage* image;
331  };
332 
333 public:
335  FXComboBox* getColoringSchemesCombo();
336 
339 
343  Position snapToActiveGrid(const Position& pos, bool snapXY = true) const;
344 
346  Position screenPos2NetPos(int x, int y) const;
347 
349  void addDecals(const std::vector<Decal>& decals);
350 
353 
355  double getDelay() const;
356 
358  void setDelay(double delay);
359 
361  void setBreakpoints(const std::vector<SUMOTime>& breakpoints);
362 
364  virtual const std::vector<SUMOTime> retrieveBreakpoints() const {
365  return std::vector<SUMOTime>();
366  }
367 
369  double getFPS() const;
370 
371 protected:
373  void paintGL();
374 
376  void updatePositionInformation() const;
377 
379  virtual int doPaintGL(int /*mode*/, const Boundary& /*boundary*/);
380 
382  virtual void doInit();
383 
385  void paintGLGrid();
386 
388  void displayLegend();
389 
391  void displayColorLegend();
392 
394  void drawFPS();
395 
398 
400  std::vector<GUIGlID> getObjectstUnderCursor();
401 
403  std::vector<GUIGlObject*> getGUIGlObjectsUnderCursor();
404 
407 
409  std::vector<GUIGlID> getObjectsAtPosition(Position pos, double radius);
410 
412  std::vector<GUIGlObject*> getGUIGlObjectsAtPosition(Position pos, double radius);
413 
415  std::vector<GUIGlID> getObjectsInBoundary(Boundary bound);
416 
418  void showToolTipFor(const GUIGlID id);
419 
420 protected:
423 
425  FXImage* checkGDALImage(Decal& d);
426 
428  void drawDecals();
429 
433  Boundary applyGLTransform(bool fixRatio = true);
434 
435 protected:
438 
441 
444 
447 
450 
453 
456 
459 
462 
465 
468 
471 
474 
477 
481  std::vector<Decal> myDecals;
482 
484  FXMutex myDecalsLock;
486 
488  std::map<SUMOTime, std::vector<std::tuple<std::string, int, int> > > mySnapshots;
489 
492 
494  FXCondition mySnapshotCondition;
495 
497  mutable FXMutex myPolyDrawLock;
498 
500  std::map<const GUIGlObject*, int> myAdditionallyDrawn;
501 
504 
505 private:
506  // @brief sensitivity for "<>AtPosition(...) functions
507  static const double SENSITIVITY;
508 };
509 
510 
511 #endif
512 
513 /****************************************************************************/
514 
GUIPerspectiveChanger
Definition: GUIPerspectiveChanger.h:53
GUISUMOAbstractView::getVisibleBoundary
Boundary getVisibleBoundary() const
get visible boundary
Definition: GUISUMOAbstractView.cpp:266
GUISUMOAbstractView::openObjectDialog
virtual void openObjectDialog()
Definition: GUISUMOAbstractView.cpp:1002
GUISUMOAbstractView::Decal::roll
double roll
The roll of the image to the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:318
GUISUMOAbstractView::doInit
virtual void doInit()
doInit
Definition: GUISUMOAbstractView.cpp:261
GUISUMOAbstractView::addAdditionalGLVisualisation
bool addAdditionalGLVisualisation(const GUIGlObject *const which)
Adds an object to call its additional visualisation method.
Definition: GUISUMOAbstractView.cpp:1545
Boundary.h
UNUSED_PARAMETER
#define UNUSED_PARAMETER(x)
Definition: StdDefs.h:32
GUISUMOAbstractView::makeCurrent
FXbool makeCurrent()
A reimplementation due to some internal reasons.
Definition: GUISUMOAbstractView.cpp:821
GUISUMOAbstractView::setViewportFromToRot
virtual void setViewportFromToRot(const Position &lookFrom, const Position &lookAt, double rotation)
applies the given viewport settings
Definition: GUISUMOAbstractView.cpp:1328
GUISUMOAbstractView::showViewportEditor
virtual void showViewportEditor()
show viewport editor
Definition: GUISUMOAbstractView.cpp:1319
GUIGlObjectTypes.h
GUISUMOAbstractView::copyViewportTo
virtual void copyViewportTo(GUISUMOAbstractView *view)
copy the viewport to the given view
Definition: GUISUMOAbstractView.cpp:1336
GUISUMOAbstractView::getGridHeight
double getGridHeight() const
get grid Height
Definition: GUISUMOAbstractView.cpp:1381
GUISUMOAbstractView::stopTrack
virtual void stopTrack()
stop track
Definition: GUISUMOAbstractView.cpp:1392
GUISUMOAbstractView::myMouseHotspotX
int myMouseHotspotX
Offset to the mouse-hotspot from the mouse position.
Definition: GUISUMOAbstractView.h:452
GUISUMOAbstractView::onRightBtnPress
virtual long onRightBtnPress(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:929
GUISUMOAbstractView::Decal::image
FXImage * image
The image pointer for later cleanup.
Definition: GUISUMOAbstractView.h:330
SUMOTime.h
GUISUMOAbstractView
Definition: GUISUMOAbstractView.h:73
GUIDialog_ViewSettings
The dialog to change the view (gui) settings.
Definition: GUIDialog_ViewSettings.h:48
GUISUMOAbstractView::myPolyDrawLock
FXMutex myPolyDrawLock
poly draw lock
Definition: GUISUMOAbstractView.h:497
GUISUMOAbstractView::isInEditMode
bool isInEditMode()
returns true, if the edit button was pressed
Definition: GUISUMOAbstractView.cpp:167
GUISUMOAbstractView::setColorScheme
virtual bool setColorScheme(const std::string &)
set color scheme
Definition: GUISUMOAbstractView.cpp:1351
GUISUMOAbstractView::getColoringSchemesCombo
FXComboBox * getColoringSchemesCombo()
get coloring schemes combo
Definition: GUISUMOAbstractView.cpp:1412
GUISUMOAbstractView::showViewschemeEditor
void showViewschemeEditor()
show viewsscheme editor
Definition: GUISUMOAbstractView.cpp:1283
GUISUMOAbstractView::myDecals
std::vector< Decal > myDecals
Definition: GUISUMOAbstractView.h:481
GUISUMOAbstractView::buildViewToolBars
virtual void buildViewToolBars(GUIGlChildWindow &)
builds the view toolbars
Definition: GUISUMOAbstractView.h:84
GUISUMOAbstractView::waitForSnapshots
void waitForSnapshots(const SUMOTime snapshotTime)
Definition: GUISUMOAbstractView.cpp:1268
GUISUMOAbstractView::myParent
GUIGlChildWindow * myParent
The parent window.
Definition: GUISUMOAbstractView.h:440
GUISUMOAbstractView::m2p
double m2p(double meter) const
meter-to-pixels conversion method
Definition: GUISUMOAbstractView.cpp:751
GUISUMOAbstractView::getObjectstUnderCursor
std::vector< GUIGlID > getObjectstUnderCursor()
returns the id of the objects under the cursor using GL_SELECT (including overlapped objects)
Definition: GUISUMOAbstractView.cpp:333
GUISUMOAbstractView::onGamingRightClick
virtual void onGamingRightClick(Position)
Definition: GUISUMOAbstractView.cpp:1407
GUISUMOAbstractView::getGUIGlObjectsUnderCursor
std::vector< GUIGlObject * > getGUIGlObjectsUnderCursor()
returns the GUIGlObject under the cursor using GL_SELECT (including overlapped objects)
Definition: GUISUMOAbstractView.cpp:340
GUISUMOAbstractView::getObjectUnderCursor
GUIGlID getObjectUnderCursor()
returns the id of the front object under the cursor using GL_SELECT
Definition: GUISUMOAbstractView.cpp:327
GUISUMOAbstractView::centerTo
virtual void centerTo(GUIGlID id, bool applyZoom, double zoomDist=20)
centers to the chosen artifact
Definition: GUISUMOAbstractView.cpp:769
GUISUMOAbstractView::GUISUMOAbstractView
GUISUMOAbstractView()
FOX need this.
Definition: GUISUMOAbstractView.h:422
GUISUMOAbstractView::Decal::centerY
double centerY
The center of the image in y-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:304
GUISUMOAbstractView::showToolTips
void showToolTips(bool val)
show tool tips
Definition: GUISUMOAbstractView.cpp:1345
GUISUMOAbstractView::Decal::filename
std::string filename
The path to the file the image is located at.
Definition: GUISUMOAbstractView.h:300
GUISUMOAbstractView::drawFPS
void drawFPS()
Draws frames-per-second indicator.
Definition: GUISUMOAbstractView.cpp:731
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:35
GUISUMOAbstractView::getEdgeLaneParamKeys
virtual std::vector< std::string > getEdgeLaneParamKeys(bool) const
return list of available edge parameters
Definition: GUISUMOAbstractView.h:232
GUISUMOAbstractView::applyGLTransform
Boundary applyGLTransform(bool fixRatio=true)
applies gl-transformations to fit the Boundary given by myChanger onto the canvas....
Definition: GUISUMOAbstractView.cpp:1583
GUISUMOAbstractView::checkSnapshots
virtual void checkSnapshots()
Checks whether it is time for a snapshot.
Definition: GUISUMOAbstractView.cpp:1235
GUISUMOAbstractView::Decal::centerZ
double centerZ
The center of the image in z-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:306
GUISUMOAbstractView::getObjectAtPosition
GUIGlID getObjectAtPosition(Position pos)
returns the id of the object at position using GL_SELECT
Definition: GUISUMOAbstractView.cpp:346
GUISUMOAbstractView::Decal::height
double height
The height of the image (net coordinates in y-direction, in m)
Definition: GUISUMOAbstractView.h:310
GUIGLObjectPopupMenu
The popup menu of a globject.
Definition: GUIGLObjectPopupMenu.h:48
GUISUMOAbstractView::setWindowCursorPosition
void setWindowCursorPosition(FXint x, FXint y)
Returns the gl-id of the object under the given coordinates.
Definition: GUISUMOAbstractView.cpp:814
GUISUMOAbstractView::updateToolTip
void updateToolTip()
A method that updates the tooltip.
Definition: GUISUMOAbstractView.cpp:179
GUISUMOAbstractView::paintGL
void paintGL()
performs the painting of the simulation
Definition: GUISUMOAbstractView.cpp:272
GUISUMOAbstractView::Decal::skip2D
bool skip2D
Whether this image should be skipped in 2D-views.
Definition: GUISUMOAbstractView.h:324
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:194
RGBColor.h
GUISUMOAbstractView::onMouseWheel
virtual long onMouseWheel(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:959
GUISUMOAbstractView::updatePositionInformation
void updatePositionInformation() const
update position information
Definition: GUISUMOAbstractView.cpp:240
GUISUMOAbstractView::onRightBtnRelease
virtual long onRightBtnRelease(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:938
GUIGlObjectType
GUIGlObjectType
Definition: GUIGlObjectTypes.h:40
GUISUMOAbstractView::Decal::layer
double layer
The layer of the image.
Definition: GUISUMOAbstractView.h:320
SUMORTree
A RT-tree for efficient storing of SUMO's GL-objects.
Definition: SUMORTree.h:69
GUISUMOAbstractView::myAmInitialised
bool myAmInitialised
Internal information whether doInit() was called.
Definition: GUISUMOAbstractView.h:467
GUIDialog_EditViewport
A dialog to change the viewport.
Definition: GUIDialog_EditViewport.h:43
GUISUMOAbstractView::getObjectsInBoundary
std::vector< GUIGlID > getObjectsInBoundary(Boundary bound)
returns the ids of all objects in the given boundary
Definition: GUISUMOAbstractView.cpp:460
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:430
GUISUMOAbstractView::myFrameDrawTime
long myFrameDrawTime
counter for measuring rendering time
Definition: GUISUMOAbstractView.h:503
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:395
GUISUMOAbstractView::Decal::screenRelative
bool screenRelative
Whether this image should be skipped in 2D-views.
Definition: GUISUMOAbstractView.h:326
GUISUMOAbstractView::onLeftBtnRelease
virtual long onLeftBtnRelease(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:905
GUISUMOAbstractView::myMouseHotspotY
int myMouseHotspotY
Definition: GUISUMOAbstractView.h:452
GUISUMOAbstractView::getCurrentTimeStep
virtual SUMOTime getCurrentTimeStep() const
get the current simulation time
Definition: GUISUMOAbstractView.cpp:1277
GUISUMOAbstractView::myInEditMode
bool myInEditMode
Information whether too-tip informations shall be generated.
Definition: GUISUMOAbstractView.h:449
GUISUMOAbstractView::displayLegend
void displayLegend()
Draws a line with ticks, and the length information.
Definition: GUISUMOAbstractView.cpp:562
GUISUMOAbstractView::Decal::rot
double rot
The rotation of the image in the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:314
GUISUMOAbstractView::Decal::tilt
double tilt
The tilt of the image to the ground plane (in degrees)
Definition: GUISUMOAbstractView.h:316
GUISUMOAbstractView::getVisualisationSettings
GUIVisualizationSettings * getVisualisationSettings() const
get visualitation settings
Definition: GUISUMOAbstractView.cpp:1357
GUISUMOAbstractView::onDoubleClicked
virtual long onDoubleClicked(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:953
SUMORTree.h
GUIVehicle
A MSVehicle extended by some values for usage within the gui.
Definition: GUIVehicle.h:54
GUISUMOAbstractView::myWindowCursorPositionY
FXint myWindowCursorPositionY
Definition: GUISUMOAbstractView.h:473
GUISUMOAbstractView::onMiddleBtnRelease
virtual long onMiddleBtnRelease(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:923
GUISUMOAbstractView::addSnapshot
void addSnapshot(SUMOTime time, const std::string &file, const int width=-1, const int height=-1)
Sets the snapshot time to file map.
Definition: GUISUMOAbstractView.cpp:1059
GUISUMOAbstractView::onConfigure
virtual long onConfigure(FXObject *, FXSelector, void *)
mouse functions
Definition: GUISUMOAbstractView.cpp:828
Boundary
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:42
GUISUMOAbstractView::myWindowCursorPositionX
FXint myWindowCursorPositionX
Position of the cursor relative to the window.
Definition: GUISUMOAbstractView.h:473
GUISUMOAbstractView::mySnapshotCondition
FXCondition mySnapshotCondition
the semaphore when waiting for snapshots to finish
Definition: GUISUMOAbstractView.h:494
GUISUMOAbstractView::myAdditionallyDrawn
std::map< const GUIGlObject *, int > myAdditionallyDrawn
List of objects for which GUIGlObject::drawGLAdditional is called.
Definition: GUISUMOAbstractView.h:500
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
GUISUMOAbstractView::onMouseLeft
virtual long onMouseLeft(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:996
GUISUMOAbstractView::remove
void remove(GUIDialog_EditViewport *)
remove viewport
Definition: GUISUMOAbstractView.cpp:1363
GUISUMOAbstractView::SENSITIVITY
static const double SENSITIVITY
Definition: GUISUMOAbstractView.h:507
GUISUMOAbstractView::myVisualizationSettings
GUIVisualizationSettings * myVisualizationSettings
visualization settings
Definition: GUISUMOAbstractView.h:461
GUISUMOAbstractView::Decal::altitude
double altitude
The altitude of the image (net coordinates in z-direction, in m)
Definition: GUISUMOAbstractView.h:312
GUISUMOAbstractView::drawDecals
void drawDecals()
Draws the stored decals.
Definition: GUISUMOAbstractView.cpp:1497
GUIGlObject
Definition: GUIGlObject.h:66
GUISUMOAbstractView::endSnapshot
virtual void endSnapshot()
Ends a video snapshot.
Definition: GUISUMOAbstractView.h:190
GUISUMOAbstractView::getPositionInformation
Position getPositionInformation() const
Returns the cursor's x/y position within the network.
Definition: GUISUMOAbstractView.cpp:188
GUISUMOAbstractView::onKeyRelease
virtual long onKeyRelease(FXObject *o, FXSelector sel, void *data)
Definition: GUISUMOAbstractView.cpp:1047
GUISUMOAbstractView::startTrack
virtual void startTrack(int)
star track
Definition: GUISUMOAbstractView.cpp:1387
GUISUMOAbstractView::getPopupPosition
const Position & getPopupPosition() const
get position of current popup
Definition: GUISUMOAbstractView.cpp:859
GUISUMOAbstractView::getViewportEditor
GUIDialog_EditViewport * getViewportEditor()
get the viewport and create it on first access
Definition: GUISUMOAbstractView.cpp:1298
Position.h
GUISUMOAbstractView::onGamingClick
virtual void onGamingClick(Position)
on gaming click
Definition: GUISUMOAbstractView.cpp:1403
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:220
GUIMainWindow
Definition: GUIMainWindow.h:47
GUISUMOAbstractView::getChanger
GUIPerspectiveChanger & getChanger() const
get changer
Definition: GUISUMOAbstractView.cpp:173
GUISUMOAbstractView::getFPS
double getFPS() const
retrieve FPS
Definition: GUISUMOAbstractView.cpp:726
GUISUMOAbstractView::setDelay
void setDelay(double delay)
Sets the delay of the parent application.
Definition: GUISUMOAbstractView.cpp:1623
GUISUMOAbstractView::p2m
double p2m(double pixel) const
pixels-to-meters conversion method
Definition: GUISUMOAbstractView.cpp:757
GUISUMOAbstractView::getDelay
double getDelay() const
Returns the delay of the parent application.
Definition: GUISUMOAbstractView.cpp:1617
GUISUMOAbstractView::removeAdditionalGLVisualisation
bool removeAdditionalGLVisualisation(const GUIGlObject *const which)
Removes an object from the list of objects that show additional things.
Definition: GUISUMOAbstractView.cpp:1557
GUISUMOAbstractView::checkGDALImage
FXImage * checkGDALImage(Decal &d)
check whether we can read image data or position with gdal
Definition: GUISUMOAbstractView.cpp:1418
GUISUMOAbstractView::getWindowCursorPosition
Position getWindowCursorPosition() const
Returns the information whether rotation is allowd.
Definition: GUISUMOAbstractView.cpp:808
GUISUMOAbstractView::showToolTipFor
void showToolTipFor(const GUIGlID id)
invokes the tooltip for the given object
Definition: GUISUMOAbstractView.cpp:500
GUIGlID
unsigned int GUIGlID
Definition: GUIGlObject.h:43
GUISUMOAbstractView::Decal::Decal
Decal()
Constructor.
Definition: GUISUMOAbstractView.cpp:1634
GUISUMOAbstractView::myApp
GUIMainWindow * myApp
The application.
Definition: GUISUMOAbstractView.h:437
GUISUMOAbstractView::myGrid
SUMORTree * myGrid
The visualization speed-up.
Definition: GUISUMOAbstractView.h:443
GUISUMOAbstractView::~GUISUMOAbstractView
virtual ~GUISUMOAbstractView()
destructor
Definition: GUISUMOAbstractView.cpp:152
GUISUMOAbstractView::paintGLGrid
void paintGLGrid()
paints a grid
Definition: GUISUMOAbstractView.cpp:520
GUISUMOAbstractView::onMiddleBtnPress
virtual long onMiddleBtnPress(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:917
GUISUMOAbstractView::setBreakpoints
void setBreakpoints(const std::vector< SUMOTime > &breakpoints)
Sets the breakpoints of the parent application.
Definition: GUISUMOAbstractView.cpp:1629
GUISUMOAbstractView::myUseToolTips
bool myUseToolTips
use tool tips
Definition: GUISUMOAbstractView.h:464
GUISUMOAbstractView::onKeyPress
virtual long onKeyPress(FXObject *o, FXSelector sel, void *data)
keyboard functions
Definition: GUISUMOAbstractView.cpp:1036
GUISUMOAbstractView::Decal::initialised
bool initialised
Whether this image was initialised (inserted as a texture)
Definition: GUISUMOAbstractView.h:322
GUISUMOAbstractView::addDecals
void addDecals(const std::vector< Decal > &decals)
add decals
Definition: GUISUMOAbstractView.cpp:228
GUISUMOAbstractView::myPopup
GUIGLObjectPopupMenu * myPopup
The current popup-menu.
Definition: GUISUMOAbstractView.h:455
config.h
GUISUMOAbstractView::myVisualizationChanger
GUIDialog_ViewSettings * myVisualizationChanger
Visualization changer.
Definition: GUISUMOAbstractView.h:476
GUISUMOAbstractView::getEdgeDataAttrs
virtual std::vector< std::string > getEdgeDataAttrs() const
return list of loaded edgeData attributes
Definition: GUISUMOAbstractView.h:227
GUISUMOAbstractView::makeSnapshot
std::string makeSnapshot(const std::string &destFile, const int width=-1, const int height=-1)
Takes a snapshots and writes it into the given file.
Definition: GUISUMOAbstractView.cpp:1069
GUISUMOAbstractView::recenterView
virtual void recenterView()
recenters the view
Definition: GUISUMOAbstractView.cpp:763
GUISUMOAbstractView::mySnapshotsMutex
FXMutex mySnapshotsMutex
The mutex to use before accessing the decals list in order to avoid thread conflicts.
Definition: GUISUMOAbstractView.h:491
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:1228
GUISUMOAbstractView::onLeftBtnPress
virtual long onLeftBtnPress(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:874
GUISUMOAbstractView::myViewportChooser
GUIDialog_EditViewport * myViewportChooser
viewport chooser
Definition: GUISUMOAbstractView.h:470
GUISUMOAbstractView::screenPos2NetPos
Position screenPos2NetPos(int x, int y) const
Translate screen position to network position.
Definition: GUISUMOAbstractView.cpp:213
GUISUMOAbstractView::retrieveBreakpoints
virtual const std::vector< SUMOTime > retrieveBreakpoints() const
retrieve breakpoints if provided by the application
Definition: GUISUMOAbstractView.h:364
GUIGlChildWindow
Definition: GUIGlChildWindow.h:41
GUIVisualizationSettings
Stores the information about how to visualize structures.
Definition: GUIVisualizationSettings.h:346
GUISUMOAbstractView::destroyPopup
void destroyPopup()
destoys the popup
Definition: GUISUMOAbstractView.cpp:864
GUISUMOAbstractView::mySnapshots
std::map< SUMOTime, std::vector< std::tuple< std::string, int, int > > > mySnapshots
Snapshots.
Definition: GUISUMOAbstractView.h:488
GUISUMOAbstractView::myChanger
GUIPerspectiveChanger * myChanger
The perspective changer.
Definition: GUISUMOAbstractView.h:446
GUISUMOAbstractView::onMouseMove
virtual long onMouseMove(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:975
GUISUMOAbstractView::displayColorLegend
void displayColorLegend()
Draws a legend for the current edge coloring scheme.
Definition: GUISUMOAbstractView.cpp:628
GUISUMOAbstractView::Decal::width
double width
The width of the image (net coordinates in x-direction, in m)
Definition: GUISUMOAbstractView.h:308
GUISUMOAbstractView::myPopupPosition
Position myPopupPosition
The current popup-menu position.
Definition: GUISUMOAbstractView.h:458
GUISUMOAbstractView::Decal::centerX
double centerX
The center of the image in x-direction (net coordinates, in m)
Definition: GUISUMOAbstractView.h:302
GUISUMOAbstractView::Decal
A decal (an image) that can be shown.
Definition: GUISUMOAbstractView.h:295
GUISUMOAbstractView::Decal::glID
int glID
whether the decal shall be drawn in screen coordinates, rather than network coordinates
Definition: GUISUMOAbstractView.h:328
GUIPropertyScheme
Definition: GUIPropertyScheme.h:46
GUISUMOAbstractView::doPaintGL
virtual int doPaintGL(int, const Boundary &)
paint GL
Definition: GUISUMOAbstractView.cpp:255
GUISUMOAbstractView::getTrackedID
virtual GUIGlID getTrackedID() const
get tracked id
Definition: GUISUMOAbstractView.cpp:1397
GUISUMOAbstractView::myDecalsLock
FXMutex myDecalsLock
The mutex to use before accessing the decals list in order to avoid thread conflicts.
Definition: GUISUMOAbstractView.h:484
GUISUMOAbstractView::onPaint
virtual long onPaint(FXObject *, FXSelector, void *)
Definition: GUISUMOAbstractView.cpp:846
GUISUMOAbstractView::getGridWidth
double getGridWidth() const
get grid width
Definition: GUISUMOAbstractView.cpp:1375
GUISUMOAbstractView::isAdditionalGLVisualisationEnabled
bool isAdditionalGLVisualisationEnabled(GUIGlObject *const which) const
Check if an object is added in the additional GL visualitation.
Definition: GUISUMOAbstractView.cpp:1573