Eclipse SUMO - Simulation of Urban MObility
GNEViewNet.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-2020 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 /****************************************************************************/
18 // A view on the network being edited (adapted from GUIViewTraffic)
19 /****************************************************************************/
20 #pragma once
21 #include "GNEViewNetHelper.h"
22 
25 #include <utils/geom/Position.h>
32 
33 // ===========================================================================
34 // class definitions
35 // ===========================================================================
42  FXDECLARE(GNEViewNet)
43 
44 
45  friend struct GNEViewNetHelper;
46 
47 public:
48  /* @brief constructor
49  * @param[in] tmpParent temporal FXFrame parent so that we can add items to view area in the desired order
50  * @param[in] actualParent FXFrame parent of GNEViewNet
51  * @param[in] app main windows
52  * @param[in] viewParent viewParent of this viewNet
53  * @param[in] net traffic net
54  * @param[in] undoList pointer to UndoList modul
55  * @param[in] glVis a reference to GLVisuals
56  * @param[in] share a reference to FXCanvas
57  */
58  GNEViewNet(FXComposite* tmpParent, FXComposite* actualParent, GUIMainWindow& app,
59  GNEViewParent* viewParent, GNENet* net, GNEUndoList* undoList,
60  FXGLVisual* glVis, FXGLCanvas* share);
61 
63  ~GNEViewNet();
64 
67 
69  void updateViewNet() const;
70 
72  void forceSupermodeNetwork();
73 
75  std::set<std::pair<std::string, GNEAttributeCarrier*> > getAttributeCarriersInBoundary(const Boundary& boundary, bool forceSelectEdges = false);
76 
78  const GNEViewNetHelper::ObjectsUnderCursor& getObjectsUnderCursor() const;
79 
85 
87  bool setColorScheme(const std::string& name);
88 
90  void buildColorRainbow(const GUIVisualizationSettings& s, GUIColorScheme& scheme, int active, GUIGlObjectType objectType,
91  bool hide = false, double hideThreshold = 0.);
92 
94  std::vector<std::string> getEdgeLaneParamKeys(bool edgeKeys) const;
95 
97  std::vector<std::string> getEdgeDataAttrs() const;
98 
100  void openObjectDialog();
101 
102  // save visualization settings
103  void saveVisualizationSettings() const;
104 
106  const GNEViewNetHelper::EditModes& getEditModes() const;
107 
109  const GNEViewNetHelper::TestingMode& getTestingMode() const;
110 
112  const GNEViewNetHelper::NetworkViewOptions& getNetworkViewOptions() const;
113 
115  const GNEViewNetHelper::DemandViewOptions& getDemandViewOptions() const;
116 
118  const GNEViewNetHelper::DataViewOptions& getDataViewOptions() const;
119 
121  const GNEViewNetHelper::MouseButtonKeyPressed& getMouseButtonKeyPressed() const;
122 
124  const GNEViewNetHelper::EditNetworkElementShapes& getEditNetworkElementShapes() const;
125 
129  long onLeftBtnPress(FXObject*, FXSelector, void*);
130 
132  long onLeftBtnRelease(FXObject*, FXSelector, void*);
133 
135  long onRightBtnPress(FXObject*, FXSelector, void*);
136 
138  long onRightBtnRelease(FXObject*, FXSelector, void*);
139 
141  long onMouseMove(FXObject*, FXSelector, void*);
142 
144  long onKeyPress(FXObject* o, FXSelector sel, void* data);
145 
147  long onKeyRelease(FXObject* o, FXSelector sel, void* data);
149 
153  long onCmdSetSupermode(FXObject*, FXSelector sel, void*);
154 
156  long onCmdSetMode(FXObject*, FXSelector sel, void*);
157 
159 
161  long onCmdSplitEdge(FXObject*, FXSelector, void*);
162 
164  long onCmdSplitEdgeBidi(FXObject*, FXSelector, void*);
165 
167  long onCmdReverseEdge(FXObject*, FXSelector, void*);
168 
170  long onCmdAddReversedEdge(FXObject*, FXSelector, void*);
171 
173  long onCmdEditEdgeEndpoint(FXObject*, FXSelector, void*);
174 
176  long onCmdResetEdgeEndpoint(FXObject*, FXSelector, void*);
177 
179  long onCmdStraightenEdges(FXObject*, FXSelector, void*);
180 
182  long onCmdSmoothEdges(FXObject*, FXSelector, void*);
183 
185  long onCmdStraightenEdgesElevation(FXObject*, FXSelector, void*);
186 
188  long onCmdSmoothEdgesElevation(FXObject*, FXSelector, void*);
189 
191  long onCmdResetLength(FXObject*, FXSelector, void*);
192 
194  long onCmdSimplifyShape(FXObject*, FXSelector, void*);
195 
197  long onCmdDeleteGeometryPoint(FXObject*, FXSelector, void*);
198 
200  long onCmdClosePolygon(FXObject*, FXSelector, void*);
201 
203  long onCmdOpenPolygon(FXObject*, FXSelector, void*);
204 
206  long onCmdSetFirstGeometryPoint(FXObject*, FXSelector, void*);
207 
209  long onCmdTransformPOI(FXObject*, FXSelector, void*);
210 
212  long onCmdDuplicateLane(FXObject*, FXSelector, void*);
213 
215  long onCmdResetLaneCustomShape(FXObject*, FXSelector, void*);
216 
218  long onCmdLaneOperation(FXObject*, FXSelector sel, void*);
219 
221  long onCmdLaneReachability(FXObject*, FXSelector sel, void*);
222 
224  long onCmdOpenAdditionalDialog(FXObject*, FXSelector, void*);
225 
227  long onCmdEditJunctionShape(FXObject*, FXSelector, void*);
228 
230  long onCmdResetJunctionShape(FXObject*, FXSelector, void*);
231 
233  long onCmdReplaceJunction(FXObject*, FXSelector, void*);
234 
236  long onCmdSplitJunction(FXObject*, FXSelector, void*);
237 
239  long onCmdSplitJunctionReconnect(FXObject*, FXSelector, void*);
240 
242  long onCmdSelectRoundabout(FXObject*, FXSelector, void*);
243 
245  long onCmdConvertRoundabout(FXObject*, FXSelector, void*);
246 
248  long onCmdClearConnections(FXObject*, FXSelector, void*);
249 
251  long onCmdResetConnections(FXObject*, FXSelector, void*);
252 
254  long onCmdEditConnectionShape(FXObject*, FXSelector, void*);
255 
257  long onCmdEditCrossingShape(FXObject*, FXSelector, void*);
258 
261 
263  long onCmdToogleSelectEdges(FXObject*, FXSelector, void*);
264 
266  long onCmdToogleShowConnections(FXObject*, FXSelector, void*);
267 
269  long onCmdToogleHideConnections(FXObject*, FXSelector, void*);
270 
272  long onCmdToogleExtendSelection(FXObject*, FXSelector, void*);
273 
275  long onCmdToogleChangeAllPhases(FXObject*, FXSelector, void*);
276 
278  long onCmdToogleShowGrid(FXObject*, FXSelector, void*);
279 
281  long onCmdToogleDrawSpreadVehicles(FXObject*, FXSelector, void*);
282 
284  long onCmdToogleWarnAboutMerge(FXObject*, FXSelector, void*);
285 
287  long onCmdToogleShowJunctionBubbles(FXObject*, FXSelector, void*);
288 
290  long onCmdToogleMoveElevation(FXObject*, FXSelector, void*);
291 
293  long onCmdToogleChainEdges(FXObject*, FXSelector, void*);
294 
296  long onCmdToogleAutoOppositeEdge(FXObject*, FXSelector, void*);
297 
299  long onCmdToogleHideNonInspecteDemandElements(FXObject*, FXSelector, void*);
300 
302  long onCmdToogleHideShapes(FXObject*, FXSelector, void*);
303 
305  long onCmdToogleShowAllPersonPlans(FXObject*, FXSelector, void*);
306 
308  long onCmdToogleLockPerson(FXObject*, FXSelector, void*);
309 
311  long onCmdToogleShowAdditionals(FXObject*, FXSelector, void*);
312 
314  long onCmdToogleShowShapes(FXObject*, FXSelector, void*);
315 
317  long onCmdToogleShowDemandElements(FXObject*, FXSelector, void*);
318 
320 
323 
325  long onCmdIntervalBarGenericDataType(FXObject*, FXSelector, void*);
326 
328  long onCmdIntervalBarDataSet(FXObject*, FXSelector, void*);
329 
331  long onCmdIntervalBarLimit(FXObject*, FXSelector, void*);
332 
334  long onCmdIntervalBarSetBegin(FXObject*, FXSelector, void*);
335 
337  long onCmdIntervalBarSetEnd(FXObject*, FXSelector, void*);
338 
340  long onCmdIntervalBarSetAttribute(FXObject*, FXSelector, void*);
341 
343 
345  long onCmdAddSelected(FXObject*, FXSelector, void*);
346 
348  long onCmdRemoveSelected(FXObject*, FXSelector, void*);
349 
351  void abortOperation(bool clearSelection = true);
352 
354  void hotkeyDel();
355 
357  void hotkeyEnter();
358 
360  void hotkeyBackSpace();
361 
363  void hotkeyFocusFrame();
364 
366  GNEViewParent* getViewParent() const;
367 
369  GNENet* getNet() const;
370 
372  GNEUndoList* getUndoList() const;
373 
375  GNEViewNetHelper::IntervalBar& getIntervalBar();
376 
378  const std::vector<GNEAttributeCarrier*>& getInspectedAttributeCarriers() const;
379 
381  void setInspectedAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
382 
384  bool isAttributeCarrierInspected(const GNEAttributeCarrier* AC) const;
385 
388 
391 
394 
396  void drawTranslateFrontAttributeCarrier(const GNEAttributeCarrier* AC, GUIGlObjectType objectType, const double extraOffset = 0);
397 
399  bool showLockIcon() const;
400 
402  void setStatusBarText(const std::string& text);
403 
405  bool autoSelectNodes();
406 
408  void setSelectorFrameScale(double selectionScale);
409 
411  void updateControls();
412 
414  bool changeAllPhases() const;
415 
417  bool showJunctionAsBubbles() const;
418 
420  bool mergeJunctions(GNEJunction* movedJunction, GNEJunction* targetJunction);
421 
422 protected:
424  GNEViewNet();
425 
427  int doPaintGL(int mode, const Boundary& bound);
428 
430  void doInit();
431 
432 private:
435 
438 
442 
445 
448 
452 
455 
458 
460  GNEViewNetHelper::NetworkCheckableButtons myNetworkCheckableButtons;
461 
464 
468 
471 
474 
477 
481 
484 
488  GNEViewNetHelper::MoveSingleElementValues myMoveSingleElementValues;
489 
491  GNEViewNetHelper::MoveMultipleElementValues myMoveMultipleElementValues;
492  // @}
493 
496 
499 
502  // @}
503 
506 
509 
511  GNEViewNetHelper::EditNetworkElementShapes myEditNetworkElementShapes;
512 
515 
518 
521 
524 
527 
530 
532  void buildEditModeControls();
533 
536 
539 
542 
545 
547  void deleteSelectedLanes();
548 
550  void deleteSelectedEdges();
551 
554 
557 
560 
563 
566 
568  void deleteSelectedShapes();
569 
572 
575 
578 
581 
584 
587 
590 
593 
596 
598  bool restrictLane(SUMOVehicleClass vclass);
599 
601  bool addRestrictedLane(SUMOVehicleClass vclass);
602 
605 
607  void processClick(void* eventData);
608 
610  void updateCursor();
611 
614 
616  void drawLaneCandidates() const;
617 
619  void drawTemporalDrawShape() const;
620 
622  void drawTemporalJunction() const;
624 
627 
629  void processLeftButtonPressNetwork(void* eventData);
630 
633 
635  void processMoveMouseNetwork(const bool mouseLeftButtonPressed);
636 
638  void processLeftButtonPressDemand(void* eventData);
639 
642 
644  void processMoveMouseDemand(const bool mouseLeftButtonPressed);
645 
647  void processLeftButtonPressData(void* eventData);
648 
651 
653  void processMoveMouseData(const bool mouseLeftButtonPressed);
654 
656  GNEViewNet(const GNEViewNet&) = delete;
657 
659  GNEViewNet& operator=(const GNEViewNet&) = delete;
660 };
GUIGlObjectType
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:39
An Element which don't belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:47
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition: GNECrossing.h:41
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:49
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:45
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:40
Definition: GNEPOI.h:41
GNEViewNetHelper::EditNetworkElementShapes myEditNetworkElementShapes
struct for grouping all variables related with edit shapes
Definition: GNEViewNet.h:511
long onCmdClosePolygon(FXObject *, FXSelector, void *)
close opened polygon
long onCmdEditCrossingShape(FXObject *, FXSelector, void *)
edit crossing shape
void processMoveMouseNetwork(const bool mouseLeftButtonPressed)
process move mouse function in Supermode Network
const GNEViewNetHelper::DataViewOptions & getDataViewOptions() const
get data view options
Definition: GNEViewNet.cpp:491
GNENet * getNet() const
get the net object
long onCmdSetFirstGeometryPoint(FXObject *, FXSelector, void *)
set as first geometry point the closes geometry point
GNEViewNetHelper::CommonCheckableButtons myCommonCheckableButtons
variable used to save checkable buttons for common supermodes
Definition: GNEViewNet.h:457
long onMouseMove(FXObject *, FXSelector, void *)
called when user moves mouse
Definition: GNEViewNet.cpp:925
const GNEAttributeCarrier * getFrontAttributeCarrier() const
get front attributeCarrier
void hotkeyBackSpace()
handle backspace keypress
const GNEViewNetHelper::EditModes & getEditModes() const
get edit modes
Definition: GNEViewNet.cpp:467
long onCmdAddSelected(FXObject *, FXSelector, void *)
select AC under cursor
const GNEViewNetHelper::EditNetworkElementShapes & getEditNetworkElementShapes() const
get Edit Shape modul
Definition: GNEViewNet.cpp:503
GNECrossing * getCrossingAtPopupPosition()
try to retrieve a crossing at popup position
void buildViewToolBars(GUIGlChildWindow *v)
builds the view toolbars
Definition: GNEViewNet.cpp:240
void updateNetworkModeSpecificControls()
updates Network mode specific controls
long onCmdSmoothEdges(FXObject *, FXSelector, void *)
smooth geometry
long onCmdStraightenEdges(FXObject *, FXSelector, void *)
makes selected edges straight
const GNEViewNetHelper::MouseButtonKeyPressed & getMouseButtonKeyPressed() const
get Key Pressed modul
Definition: GNEViewNet.cpp:497
void updateCursor()
update cursor after every click/key press/release
void updateDataModeSpecificControls()
updates Data mode specific controls
GNEEdge * getEdgeAtPopupPosition()
try to retrieve an edge at popup position
long onCmdToogleShowJunctionBubbles(FXObject *, FXSelector, void *)
toogle show junction bubbles
GNEViewNetHelper::EditModes myEditModes
variable used to save variables related with edit moves modes
Definition: GNEViewNet.h:437
long onCmdReplaceJunction(FXObject *, FXSelector, void *)
replace node by geometry
long onCmdSplitJunction(FXObject *, FXSelector, void *)
split junction into multiple junctions
long onCmdToogleChangeAllPhases(FXObject *, FXSelector, void *)
toogle change all phases
long onCmdClearConnections(FXObject *, FXSelector, void *)
clear junction connections
void abortOperation(bool clearSelection=true)
abort current edition operation
Definition: GNEViewNet.cpp:998
void deleteSelectedGenericDatas()
delete all currently selected generic data elements
void deleteSelectedConnections()
delete all currently selected connections
GNEViewNetHelper::TestingMode myTestingMode
variable used to save variables related with testing mode
Definition: GNEViewNet.h:440
GNEPOI * getPOIAtPopupPosition()
try to retrieve a POILane at popup position
GNEViewNetHelper::SelectingArea mySelectingArea
variable used to save variables related with selecting areas
Definition: GNEViewNet.h:508
long onCmdLaneReachability(FXObject *, FXSelector sel, void *)
show lane reachability
long onCmdToogleWarnAboutMerge(FXObject *, FXSelector, void *)
toogle warn for merge
GNEViewNetHelper::VehicleOptions myVehicleOptions
variable used to save variables related with vehicle options
Definition: GNEViewNet.h:498
GNEViewNetHelper::NetworkCheckableButtons myNetworkCheckableButtons
variable used to save checkable buttons for Supermode Network
Definition: GNEViewNet.h:460
bool removeRestrictedLane(SUMOVehicleClass vclass)
remove restricted lane
std::vector< std::string > getEdgeDataAttrs() const
return list of loaded edgeData attributes
Definition: GNEViewNet.cpp:700
long onCmdToogleLockPerson(FXObject *, FXSelector, void *)
toogle lock person in super mode demand
void processClick(void *eventData)
Auxiliar function used by onLeftBtnPress(...)
GNEViewNetHelper::MoveSingleElementValues myMoveSingleElementValues
Definition: GNEViewNet.h:488
long onCmdSimplifyShape(FXObject *, FXSelector, void *)
simply shape of current polygon
void drawLaneCandidates() const
draw functions
GNELane * getLaneAtPopupPosition()
try to retrieve a lane at popup position
GNEViewNetHelper::MouseButtonKeyPressed myMouseButtonKeyPressed
variable used to save key status after certain events
Definition: GNEViewNet.h:447
GNEViewNetHelper::IntervalBar myIntervalBar
variable used to save IntervalBar
Definition: GNEViewNet.h:483
GNEViewParent * myViewParent
view parent
Definition: GNEViewNet.h:514
bool showJunctionAsBubbles() const
return true if junction must be showed as bubbles
Definition: GNEViewNet.cpp:599
long onCmdToogleShowAllPersonPlans(FXObject *, FXSelector, void *)
toogle show all person plans in super mode demand
bool changeAllPhases() const
change all phases
Definition: GNEViewNet.cpp:593
long onCmdEditJunctionShape(FXObject *, FXSelector, void *)
edit junction shape
long onCmdToogleShowAdditionals(FXObject *, FXSelector, void *)
toogle show additionals in super mode data
bool setColorScheme(const std::string &name)
set color scheme
Definition: GNEViewNet.cpp:379
int doPaintGL(int mode, const Boundary &bound)
do paintGL
Definition: GNEViewNet.cpp:717
long onCmdOpenAdditionalDialog(FXObject *, FXSelector, void *)
open additional dialog
const GNEViewNetHelper::NetworkViewOptions & getNetworkViewOptions() const
get network view options
Definition: GNEViewNet.cpp:479
void hotkeyFocusFrame()
handle focus frame keypress
GNEViewNetHelper::DemandViewOptions myDemandViewOptions
variable used to save variables related with view options in supermode Demand
Definition: GNEViewNet.h:476
std::vector< std::string > getEdgeLaneParamKeys(bool edgeKeys) const
return list of available edge parameters
Definition: GNEViewNet.cpp:668
long onCmdLaneOperation(FXObject *, FXSelector sel, void *)
add/remove/restrict lane
void processMoveMouseData(const bool mouseLeftButtonPressed)
process move mouse function in Supermode Data
GNEFrame * myCurrentFrame
the current frame
Definition: GNEViewNet.h:520
bool autoSelectNodes()
whether to autoselect nodes or to lanes
Definition: GNEViewNet.cpp:581
GNEUndoList * myUndoList
a reference to the undolist maintained in the application
Definition: GNEViewNet.h:523
GNEViewNetHelper::NetworkViewOptions myNetworkViewOptions
variable used to save variables related with view options in supermode Network
Definition: GNEViewNet.h:473
void doInit()
called after some features are already initialized
Definition: GNEViewNet.cpp:236
void buildEditModeControls()
create edit mode buttons and elements
GNEViewNetHelper::DataCheckableButtons myDataCheckableButtons
variable used to save checkable buttons for Supermode Data
Definition: GNEViewNet.h:466
void processLeftButtonPressDemand(void *eventData)
process left button press function in Supermode Demand
void deleteSelectedShapes()
delete all currently selected shapes
GNEViewNetHelper::IntervalBar & getIntervalBar()
get interval bar
long onCmdToogleSelectEdges(FXObject *, FXSelector, void *)
toogle select edges
GNEViewParent * getViewParent() const
get the net object
long onCmdToogleHideShapes(FXObject *, FXSelector, void *)
toogle hide shapes in super mode demand
long onCmdAddReversedEdge(FXObject *, FXSelector, void *)
add reversed edge
void deleteSelectedAdditionals()
delete all currently selected additionals
void processLeftButtonReleaseNetwork()
process left button release function in Supermode Network
void buildColorRainbow(const GUIVisualizationSettings &s, GUIColorScheme &scheme, int active, GUIGlObjectType objectType, bool hide=false, double hideThreshold=0.)
recalibrate color scheme according to the current value range
Definition: GNEViewNet.cpp:509
long onCmdToogleChainEdges(FXObject *, FXSelector, void *)
toogle chain edges
long onCmdIntervalBarGenericDataType(FXObject *, FXSelector, void *)
change generic data type in interval bar
long onCmdConvertRoundabout(FXObject *, FXSelector, void *)
convert junction to roundabout
long onRightBtnPress(FXObject *, FXSelector, void *)
called when user press mouse's right button
Definition: GNEViewNet.cpp:895
long onCmdOpenPolygon(FXObject *, FXSelector, void *)
open closed polygon
long onCmdIntervalBarDataSet(FXObject *, FXSelector, void *)
change data set in interval bar
void processLeftButtonReleaseDemand()
process left button release function in Supermode Demand
const GNEViewNetHelper::TestingMode & getTestingMode() const
get testing mode
Definition: GNEViewNet.cpp:473
GNEUndoList * getUndoList() const
get the undoList object
void processLeftButtonPressData(void *eventData)
process left button press function in Supermode Data
long onCmdTransformPOI(FXObject *, FXSelector, void *)
Transform POI to POILane, and viceversa.
void saveVisualizationSettings() const
Definition: GNEViewNet.cpp:439
GNEViewNetHelper::SaveElements mySaveElements
variable used to save elements
Definition: GNEViewNet.h:505
void deleteSelectedCrossings()
delete all currently selected crossings
long onCmdToogleHideNonInspecteDemandElements(FXObject *, FXSelector, void *)
toogle hide non inspected demand elements
long onCmdIntervalBarSetEnd(FXObject *, FXSelector, void *)
change end in interval bar
long onCmdIntervalBarSetAttribute(FXObject *, FXSelector, void *)
change attribute in interval bar
void drawTemporalDrawShape() const
draw temporal polygon shape in Polygon Mode
void removeFromAttributeCarrierInspected(const GNEAttributeCarrier *AC)
remove given AC of list of inspected Attribute Carriers
long onCmdSplitEdgeBidi(FXObject *, FXSelector, void *)
split edge at cursor position
GNEJunction * getJunctionAtPopupPosition()
try to retrieve a junction at popup position
long onCmdSetSupermode(FXObject *, FXSelector sel, void *)
long onCmdToogleExtendSelection(FXObject *, FXSelector, void *)
toogle extend selection
const GNEAttributeCarrier * myFrontAttributeCarrier
front attribute carrier
Definition: GNEViewNet.h:529
GNEViewNetHelper::DemandCheckableButtons myDemandCheckableButtons
variable used to save checkable buttons for Supermode Demand
Definition: GNEViewNet.h:463
long onCmdSetMode(FXObject *, FXSelector sel, void *)
called when user press a mode button (Network or demand)
long onCmdResetEdgeEndpoint(FXObject *, FXSelector, void *)
change geometry endpoint
long onCmdIntervalBarSetBegin(FXObject *, FXSelector, void *)
change begin in interval bar
long onCmdResetLength(FXObject *, FXSelector, void *)
reset custom edge lengths
void deleteSelectedJunctions()
delete all currently selected junctions
long onCmdToogleAutoOppositeEdge(FXObject *, FXSelector, void *)
toogle autoOpposite edge
long onLeftBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's left button
Definition: GNEViewNet.cpp:867
long onCmdRemoveSelected(FXObject *, FXSelector, void *)
unselect AC under cursor
long onCmdDeleteGeometryPoint(FXObject *, FXSelector, void *)
delete the closes geometry point
long onCmdDuplicateLane(FXObject *, FXSelector, void *)
duplicate selected lane
std::vector< GNEAttributeCarrier * > myInspectedAttributeCarriers
current inspected attribute carrier
Definition: GNEViewNet.h:526
void processLeftButtonPressNetwork(void *eventData)
mouse process functions
void hotkeyEnter()
handle enter keypress
GNEConnection * getConnectionAtPopupPosition()
try to retrieve a connection at popup position
void forceSupermodeNetwork()
set supermode Network (used after load/create new network)
Definition: GNEViewNet.cpp:325
const std::vector< GNEAttributeCarrier * > & getInspectedAttributeCarriers() const
get inspected attribute carriers
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when user press a key
Definition: GNEViewNet.cpp:947
bool addRestrictedLane(SUMOVehicleClass vclass)
add restricted lane
long onCmdSplitEdge(FXObject *, FXSelector, void *)
split edge at cursor position
long onCmdToogleShowShapes(FXObject *, FXSelector, void *)
toogle show shapes in super mode data
long onCmdToogleShowGrid(FXObject *, FXSelector, void *)
toogle show grid
bool mergeJunctions(GNEJunction *movedJunction, GNEJunction *targetJunction)
try to merge moved junction with another junction in that spot return true if merging did take place
Definition: GNEViewNet.cpp:605
long onCmdStraightenEdgesElevation(FXObject *, FXSelector, void *)
interpolate z values linear between junctions
void updateControls()
update control contents after undo/redo or recompute
long onCmdSplitJunctionReconnect(FXObject *, FXSelector, void *)
split junction into multiple junctions and reconnect them
void buildSelectionACPopupEntry(GUIGLObjectPopupMenu *ret, GNEAttributeCarrier *AC)
Builds an entry which allows to (de)select the object.
Definition: GNEViewNet.cpp:368
void hotkeyDel()
handle del keypress
long onCmdToogleDrawSpreadVehicles(FXObject *, FXSelector, void *)
toogle draw vehicles in begin position or spread in lane
bool isAttributeCarrierInspected(const GNEAttributeCarrier *AC) const
check if attribute carrier is being inspected
long onCmdSmoothEdgesElevation(FXObject *, FXSelector, void *)
smooth elevation with regard to adjoining edges
GNEViewNetHelper::VehicleTypeOptions myVehicleTypeOptions
variable used to save variables related with vehicle type options
Definition: GNEViewNet.h:501
long onCmdResetJunctionShape(FXObject *, FXSelector, void *)
reset junction shape
void deleteSelectedEdges()
delete all currently selected edges
long onRightBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's right button
Definition: GNEViewNet.cpp:910
long onCmdToogleMoveElevation(FXObject *, FXSelector, void *)
toogle move elevation
long onCmdReverseEdge(FXObject *, FXSelector, void *)
reverse edge
void processLeftButtonReleaseData()
process left button release function in Supermode Data
GNENet * myNet
Pointer to current net. (We are not responsible for deletion)
Definition: GNEViewNet.h:517
GNEPoly * getPolygonAtPopupPosition()
try to retrieve a polygon at popup position
GNEViewNetHelper::DataViewOptions myDataViewOptions
variable used to save variables related with view options in supermode Data
Definition: GNEViewNet.h:479
void drawTranslateFrontAttributeCarrier(const GNEAttributeCarrier *AC, GUIGlObjectType objectType, const double extraOffset=0)
draw front attributeCarrier
long onCmdEditEdgeEndpoint(FXObject *, FXSelector, void *)
change geometry endpoint
const GNEViewNetHelper::DemandViewOptions & getDemandViewOptions() const
get demand view options
Definition: GNEViewNet.cpp:485
const GNEViewNetHelper::ObjectsUnderCursor & getObjectsUnderCursor() const
get objects under cursor
Definition: GNEViewNet.cpp:362
GNEViewNetHelper::MoveMultipleElementValues myMoveMultipleElementValues
variable used to save variables related with movement of multiple elements
Definition: GNEViewNet.h:491
void updateViewNet() const
Mark the entire GNEViewNet to be repainted later.
Definition: GNEViewNet.cpp:318
GNEViewNetHelper::ObjectsUnderCursor myObjectsUnderCursor
variable use to save all pointers to objects under cursor after a click
Definition: GNEViewNet.h:450
bool restrictLane(SUMOVehicleClass vclass)
restrict lane
long onCmdToogleShowDemandElements(FXObject *, FXSelector, void *)
toogle show demand elements
std::set< std::pair< std::string, GNEAttributeCarrier * > > getAttributeCarriersInBoundary(const Boundary &boundary, bool forceSelectEdges=false)
get AttributeCarriers in Boundary
Definition: GNEViewNet.cpp:331
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when user release a key
Definition: GNEViewNet.cpp:970
long onCmdResetConnections(FXObject *, FXSelector, void *)
reset junction connections
void setInspectedAttributeCarriers(const std::vector< GNEAttributeCarrier * > ACs)
set inspected attributeCarrier
long onCmdResetLaneCustomShape(FXObject *, FXSelector, void *)
reset custom shapes of selected lanes
void setStatusBarText(const std::string &text)
set staturBar text
Definition: GNEViewNet.cpp:575
void processMoveMouseDemand(const bool mouseLeftButtonPressed)
process move mouse function in Supermode Demand
void setSelectorFrameScale(double selectionScale)
set selection scaling (in GNESelectorFrame)
Definition: GNEViewNet.cpp:587
void setFrontAttributeCarrier(const GNEAttributeCarrier *AC)
set front attributeCarrier
long onCmdEditConnectionShape(FXObject *, FXSelector, void *)
edit connection shape
void updateDemandModeSpecificControls()
updates Demand mode specific controls
void openObjectDialog()
open object dialog
Definition: GNEViewNet.cpp:395
GNEAdditional * getAdditionalAtPopupPosition()
try to retrieve a additional at popup position
bool showLockIcon() const
check if lock icon should be visible
void drawTemporalJunction() const
draw temporal junction in create edge mode
long onCmdToogleShowConnections(FXObject *, FXSelector, void *)
toogle show connections
long onCmdSelectRoundabout(FXObject *, FXSelector, void *)
select all roundabout nodes and edges
long onLeftBtnPress(FXObject *, FXSelector, void *)
Definition: GNEViewNet.cpp:839
long onCmdToogleHideConnections(FXObject *, FXSelector, void *)
toogle hide connections
void deleteSelectedTAZElements()
delete all currently selected TAZ Elements
void deleteSelectedLanes()
delete all currently selected lanes
long onCmdIntervalBarLimit(FXObject *, FXSelector, void *)
change limit interval in interval bar
void deleteSelectedDemandElements()
delete all currently selected demand elements
A single child window which contains a view of the simulation area.
Definition: GNEViewParent.h:81
The popup menu of a globject.
Stores the information about how to visualize structures.