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-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 /****************************************************************************/
18 // A view on the network being edited (adapted from GUIViewTraffic)
19 /****************************************************************************/
20 #pragma once
21 #include <config.h>
22 
24 
25 #include "GNEViewNetHelper.h"
26 
27 
28 // ===========================================================================
29 // class declaration
30 // ===========================================================================
31 class GNEFrame;
32 class GNENet;
33 class GNEUndoList;
34 class GNEViewParent;
35 
36 // ===========================================================================
37 // class definitions
38 // ===========================================================================
45  FXDECLARE(GNEViewNet)
46 
47 
48  friend struct GNEViewNetHelper;
49 
50 public:
51  /* @brief constructor
52  * @param[in] tmpParent temporal FXFrame parent so that we can add items to view area in the desired order
53  * @param[in] actualParent FXFrame parent of GNEViewNet
54  * @param[in] app main windows
55  * @param[in] viewParent viewParent of this viewNet
56  * @param[in] net traffic net
57  * @param[in] newNet check if we're creating a new net, or loading an existent
58  * @param[in] undoList pointer to UndoList modul
59  * @param[in] glVis a reference to GLVisuals
60  * @param[in] share a reference to FXCanvas
61  */
62  GNEViewNet(FXComposite* tmpParent, FXComposite* actualParent, GUIMainWindow& app,
63  GNEViewParent* viewParent, GNENet* net, const bool newNet, GNEUndoList* undoList,
64  FXGLVisual* glVis, FXGLCanvas* share);
65 
67  ~GNEViewNet();
68 
70  void recalculateBoundaries();
71 
74 
76  void updateViewNet() const;
77 
79  void forceSupermodeNetwork();
80 
82  std::set<std::pair<std::string, GNEAttributeCarrier*> > getAttributeCarriersInBoundary(const Boundary& boundary, bool forceSelectEdges = false);
83 
85  const GNEViewNetHelper::ObjectsUnderCursor& getObjectsUnderCursor() const;
86 
88  const GNEViewNetHelper::MoveMultipleElementValues& getMoveMultipleElementValues() const;
89 
95 
97  bool setColorScheme(const std::string& name);
98 
100  void buildColorRainbow(const GUIVisualizationSettings& s, GUIColorScheme& scheme, int active, GUIGlObjectType objectType,
101  bool hide = false, double hideThreshold = 0.);
102 
104  std::vector<std::string> getEdgeLaneParamKeys(bool edgeKeys) const;
105 
107  std::vector<std::string> getEdgeDataAttrs() const;
108 
110  std::vector<std::string> getRelDataAttrs() const;
111 
114 
115  // save visualization settings
116  void saveVisualizationSettings() const;
117 
119  const GNEViewNetHelper::EditModes& getEditModes() const;
120 
122  const GNEViewNetHelper::TestingMode& getTestingMode() const;
123 
125  const GNEViewNetHelper::NetworkViewOptions& getNetworkViewOptions() const;
126 
128  const GNEViewNetHelper::DemandViewOptions& getDemandViewOptions() const;
129 
131  const GNEViewNetHelper::DataViewOptions& getDataViewOptions() const;
132 
134  const GNEViewNetHelper::MouseButtonKeyPressed& getMouseButtonKeyPressed() const;
135 
137  const GNEViewNetHelper::EditNetworkElementShapes& getEditNetworkElementShapes() const;
138 
142  long onLeftBtnPress(FXObject*, FXSelector, void*);
143 
145  long onLeftBtnRelease(FXObject*, FXSelector, void*);
146 
148  long onRightBtnPress(FXObject*, FXSelector, void*);
149 
151  long onRightBtnRelease(FXObject*, FXSelector, void*);
152 
154  long onMouseMove(FXObject*, FXSelector, void*);
155 
157  long onKeyPress(FXObject* o, FXSelector sel, void* data);
158 
160  long onKeyRelease(FXObject* o, FXSelector sel, void* data);
162 
166  long onCmdSetSupermode(FXObject*, FXSelector sel, void*);
167 
169  long onCmdSetMode(FXObject*, FXSelector sel, void*);
170 
172 
174  long onCmdSplitEdge(FXObject*, FXSelector, void*);
175 
177  long onCmdSplitEdgeBidi(FXObject*, FXSelector, void*);
178 
180  long onCmdReverseEdge(FXObject*, FXSelector, void*);
181 
183  long onCmdAddReversedEdge(FXObject*, FXSelector, void*);
184 
186  long onCmdEditEdgeEndpoint(FXObject*, FXSelector, void*);
187 
189  long onCmdResetEdgeEndpoint(FXObject*, FXSelector, void*);
190 
192  long onCmdStraightenEdges(FXObject*, FXSelector, void*);
193 
195  long onCmdSmoothEdges(FXObject*, FXSelector, void*);
196 
198  long onCmdStraightenEdgesElevation(FXObject*, FXSelector, void*);
199 
201  long onCmdSmoothEdgesElevation(FXObject*, FXSelector, void*);
202 
204  long onCmdResetLength(FXObject*, FXSelector, void*);
205 
207  long onCmdSimplifyShape(FXObject*, FXSelector, void*);
208 
210  long onCmdDeleteGeometryPoint(FXObject*, FXSelector, void*);
211 
213  long onCmdClosePolygon(FXObject*, FXSelector, void*);
214 
216  long onCmdOpenPolygon(FXObject*, FXSelector, void*);
217 
219  long onCmdSelectPolygonElements(FXObject*, FXSelector, void*);
220 
222  long onCmdSetFirstGeometryPoint(FXObject*, FXSelector, void*);
223 
225  long onCmdTransformPOI(FXObject*, FXSelector, void*);
226 
228  long onCmdSetCustomGeometryPoint(FXObject*, FXSelector, void*);
229 
231  long onCmdResetEndPoints(FXObject*, FXSelector, void*);
232 
234  long onCmdDuplicateLane(FXObject*, FXSelector, void*);
235 
237  long onCmdEditLaneShape(FXObject*, FXSelector, void*);
238 
240  long onCmdResetLaneCustomShape(FXObject*, FXSelector, void*);
241 
243  long onCmdResetOppositeLane(FXObject*, FXSelector, void*);
244 
246  long onCmdLaneOperation(FXObject*, FXSelector sel, void*);
247 
249  long onCmdLaneReachability(FXObject*, FXSelector sel, void*);
250 
252  long onCmdOpenAdditionalDialog(FXObject*, FXSelector, void*);
253 
255  long onCmdEditJunctionShape(FXObject*, FXSelector, void*);
256 
258  long onCmdResetJunctionShape(FXObject*, FXSelector, void*);
259 
261  long onCmdReplaceJunction(FXObject*, FXSelector, void*);
262 
264  long onCmdSplitJunction(FXObject*, FXSelector, void*);
265 
267  long onCmdSplitJunctionReconnect(FXObject*, FXSelector, void*);
268 
270  long onCmdSelectRoundabout(FXObject*, FXSelector, void*);
271 
273  long onCmdConvertRoundabout(FXObject*, FXSelector, void*);
274 
276  long onCmdClearConnections(FXObject*, FXSelector, void*);
277 
279  long onCmdResetConnections(FXObject*, FXSelector, void*);
280 
282  long onCmdEditConnectionShape(FXObject*, FXSelector, void*);
283 
285  long onCmdEditCrossingShape(FXObject*, FXSelector, void*);
286 
289 
291  long onCmdToggleSelectEdges(FXObject*, FXSelector, void*);
292 
294  long onCmdToggleShowConnections(FXObject*, FXSelector, void*);
295 
297  long onCmdToggleHideConnections(FXObject*, FXSelector, void*);
298 
300  long onCmdToggleShowAdditionalSubElements(FXObject*, FXSelector, void*);
301 
303  long onCmdToggleExtendSelection(FXObject*, FXSelector, void*);
304 
306  long onCmdToggleChangeAllPhases(FXObject*, FXSelector, void*);
307 
309  long onCmdToggleShowGrid(FXObject*, FXSelector, void*);
310 
312  long onCmdToggleDrawSpreadVehicles(FXObject*, FXSelector, void*);
313 
315  long onCmdToggleWarnAboutMerge(FXObject*, FXSelector, void*);
316 
318  long onCmdToggleShowJunctionBubbles(FXObject*, FXSelector, void*);
319 
321  long onCmdToggleMoveElevation(FXObject*, FXSelector, void*);
322 
324  long onCmdToggleChainEdges(FXObject*, FXSelector, void*);
325 
327  long onCmdToggleAutoOppositeEdge(FXObject*, FXSelector, void*);
328 
330  long onCmdToggleHideNonInspecteDemandElements(FXObject*, FXSelector, void*);
331 
333  long onCmdToggleShowOverlappedRoutes(FXObject*, FXSelector, void*);
334 
336  long onCmdToggleHideShapes(FXObject*, FXSelector, void*);
337 
339  long onCmdToggleShowTrips(FXObject*, FXSelector, void*);
340 
342  long onCmdToggleShowAllPersonPlans(FXObject*, FXSelector, void*);
343 
345  long onCmdToggleLockPerson(FXObject*, FXSelector, void*);
346 
348  long onCmdToggleShowAllContainerPlans(FXObject*, FXSelector, void*);
349 
351  long onCmdToggleLockContainer(FXObject*, FXSelector, void*);
352 
354  long onCmdToggleShowAdditionals(FXObject*, FXSelector, void*);
355 
357  long onCmdToggleShowShapes(FXObject*, FXSelector, void*);
358 
360  long onCmdToggleShowDemandElementsNetwork(FXObject*, FXSelector, void*);
361 
363  long onCmdToggleShowDemandElementsData(FXObject*, FXSelector, void*);
364 
366  long onCmdToggleTAZRelDrawing(FXObject*, FXSelector, void*);
367 
369  long onCmdToggleTAZDrawFill(FXObject*, FXSelector, void*);
370 
372  long onCmdToggleTAZRelOnlyFrom(FXObject*, FXSelector, void*);
373 
375  long onCmdToggleTAZRelOnlyTo(FXObject*, FXSelector, void*);
376 
378 
381 
383  long onCmdIntervalBarGenericDataType(FXObject*, FXSelector, void*);
384 
386  long onCmdIntervalBarDataSet(FXObject*, FXSelector, void*);
387 
389  long onCmdIntervalBarLimit(FXObject*, FXSelector, void*);
390 
392  long onCmdIntervalBarSetBegin(FXObject*, FXSelector, void*);
393 
395  long onCmdIntervalBarSetEnd(FXObject*, FXSelector, void*);
396 
398  long onCmdIntervalBarSetAttribute(FXObject*, FXSelector, void*);
399 
401 
403  long onCmdAddSelected(FXObject*, FXSelector, void*);
404 
406  long onCmdRemoveSelected(FXObject*, FXSelector, void*);
407 
409  long onCmdAddEdgeSelected(FXObject*, FXSelector, void*);
410 
412  long onCmdRemoveEdgeSelected(FXObject*, FXSelector, void*);
413 
415  void abortOperation(bool clearSelection = true);
416 
418  void hotkeyDel();
419 
421  void hotkeyEnter();
422 
424  void hotkeyBackSpace();
425 
427  void hotkeyFocusFrame();
428 
430  GNEViewParent* getViewParent() const;
431 
433  GNENet* getNet() const;
434 
436  GNEUndoList* getUndoList() const;
437 
439  GNEViewNetHelper::IntervalBar& getIntervalBar();
440 
442  const std::vector<GNEAttributeCarrier*>& getInspectedAttributeCarriers() const;
443 
445  GNEViewNetHelper::LockManager& getLockManager();
446 
448  void setInspectedAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
449 
451  bool isAttributeCarrierInspected(const GNEAttributeCarrier* AC) const;
452 
455 
458 
461 
463  void drawTranslateFrontAttributeCarrier(const GNEAttributeCarrier* AC, double typeOrLayer, const double extraOffset = 0);
464 
466  bool showLockIcon() const;
467 
469  void setStatusBarText(const std::string& text);
470 
472  bool autoSelectNodes();
473 
475  void setSelectorFrameScale(double selectionScale);
476 
478  void updateControls();
479 
481  bool changeAllPhases() const;
482 
484  bool showJunctionAsBubbles() const;
485 
487  bool mergeJunctions(GNEJunction* movedJunction, GNEJunction* targetJunction);
488 
490  bool aksChangeSupermode(const std::string& operation, Supermode expectedSupermode);
491 
492 protected:
494  GNEViewNet();
495 
497  int doPaintGL(int mode, const Boundary& bound);
498 
500  void doInit();
501 
502 private:
505 
508 
512 
515 
518 
522 
525 
528 
530  GNEViewNetHelper::NetworkCheckableButtons myNetworkCheckableButtons;
531 
534 
538 
541 
544 
547 
551 
554 
558  GNEViewNetHelper::MoveSingleElementValues myMoveSingleElementValues;
559 
561  GNEViewNetHelper::MoveMultipleElementValues myMoveMultipleElementValues;
562  // @}
563 
566 
569 
572  // @}
573 
576 
579 
581  GNEViewNetHelper::EditNetworkElementShapes myEditNetworkElementShapes;
582 
585 
588 
591 
594 
597 
600 
603 
605  void buildEditModeControls();
606 
609 
612 
615 
617  void deleteNetworkAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
618 
620  void deleteDemandAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
621 
623  void deleteDataAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
624 
627 
630 
633 
636 
639 
642 
645 
648 
651 
653  bool restrictLane(SUMOVehicleClass vclass);
654 
656  bool addRestrictedLane(SUMOVehicleClass vclass, const bool insertAtFront);
657 
660 
662  void processClick(void* eventData);
663 
665  void updateCursor();
666 
669 
671  void drawLaneCandidates() const;
672 
674  void drawTemporalDrawShape() const;
675 
677  void drawTemporalJunction() const;
679 
682 
684  void processLeftButtonPressNetwork(void* eventData);
685 
688 
690  void processMoveMouseNetwork(const bool mouseLeftButtonPressed);
691 
693  void processLeftButtonPressDemand(void* eventData);
694 
697 
699  void processMoveMouseDemand(const bool mouseLeftButtonPressed);
700 
702  void processLeftButtonPressData(void* eventData);
703 
706 
708  void processMoveMouseData(const bool mouseLeftButtonPressed);
709 
711  GNEViewNet(const GNEViewNet&) = delete;
712 
714  GNEViewNet& operator=(const GNEViewNet&) = delete;
715 };
Supermode
@brie enum for supermodes
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:48
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition: GNECrossing.h:42
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:53
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:46
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:42
Definition: GNEPOI.h:43
Definition: GNETAZ.h:34
GNEViewNetHelper::EditNetworkElementShapes myEditNetworkElementShapes
struct for grouping all variables related with edit shapes
Definition: GNEViewNet.h:581
long onCmdToggleShowDemandElementsNetwork(FXObject *, FXSelector, void *)
toggle show demand elements (network)
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:537
GNENet * getNet() const
get the net object
void deleteNetworkAttributeCarriers(const std::vector< GNEAttributeCarrier * > ACs)
delete given network attribute carriers
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:527
long onMouseMove(FXObject *, FXSelector, void *)
called when user moves mouse
const GNEAttributeCarrier * getFrontAttributeCarrier() const
get front attributeCarrier
void hotkeyBackSpace()
handle backspace keypress
const GNEViewNetHelper::EditModes & getEditModes() const
get edit modes
Definition: GNEViewNet.cpp:513
long onCmdAddSelected(FXObject *, FXSelector, void *)
select AC under cursor
const GNEViewNetHelper::EditNetworkElementShapes & getEditNetworkElementShapes() const
get Edit Shape modul
Definition: GNEViewNet.cpp:549
void setFrontAttributeCarrier(GNEAttributeCarrier *AC)
set front attributeCarrier
GNECrossing * getCrossingAtPopupPosition()
try to retrieve a crossing at popup position
void buildViewToolBars(GUIGlChildWindow *v)
builds the view toolbars
Definition: GNEViewNet.cpp:294
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:543
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 onCmdToggleShowDemandElementsData(FXObject *, FXSelector, void *)
toggle show demand elements (data)
GNEViewNetHelper::EditModes myEditModes
variable used to save variables related with edit moves modes
Definition: GNEViewNet.h:507
long onCmdReplaceJunction(FXObject *, FXSelector, void *)
replace node by geometry
long onCmdSplitJunction(FXObject *, FXSelector, void *)
split junction into multiple junctions
long onCmdClearConnections(FXObject *, FXSelector, void *)
clear junction connections
void abortOperation(bool clearSelection=true)
abort current edition operation
long onCmdToggleTAZDrawFill(FXObject *, FXSelector, void *)
toggle TAZdrawFill
long onCmdResetEndPoints(FXObject *, FXSelector, void *)
reset edge end points
GNEViewNetHelper::TestingMode myTestingMode
variable used to save variables related with testing mode
Definition: GNEViewNet.h:510
long onCmdToggleWarnAboutMerge(FXObject *, FXSelector, void *)
toggle warn for merge
long onCmdToggleDrawSpreadVehicles(FXObject *, FXSelector, void *)
toggle draw vehicles in begin position or spread in lane
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:578
long onCmdToggleShowConnections(FXObject *, FXSelector, void *)
toggle show connections
long onCmdLaneReachability(FXObject *, FXSelector sel, void *)
show lane reachability
GNEViewNetHelper::VehicleOptions myVehicleOptions
variable used to save variables related with vehicle options
Definition: GNEViewNet.h:568
GNEViewNetHelper::NetworkCheckableButtons myNetworkCheckableButtons
variable used to save checkable buttons for Supermode Network
Definition: GNEViewNet.h:530
bool removeRestrictedLane(SUMOVehicleClass vclass)
remove restricted lane
std::vector< std::string > getEdgeDataAttrs() const
return list of loaded edgeData attributes
Definition: GNEViewNet.cpp:785
void processClick(void *eventData)
Auxiliar function used by onLeftBtnPress(...)
GNEViewNetHelper::MoveSingleElementValues myMoveSingleElementValues
Definition: GNEViewNet.h:558
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
GNEAttributeCarrier * myFrontAttributeCarrier
front attribute carrier
Definition: GNEViewNet.h:602
GNEViewNetHelper::MouseButtonKeyPressed myMouseButtonKeyPressed
variable used to save key status after certain events
Definition: GNEViewNet.h:517
void recalculateBoundaries()
recalculate boundaries
Definition: GNEViewNet.cpp:261
GNEViewNetHelper::IntervalBar myIntervalBar
variable used to save IntervalBar
Definition: GNEViewNet.h:553
GNEViewParent * myViewParent
view parent
Definition: GNEViewNet.h:587
bool showJunctionAsBubbles() const
return true if junction must be showed as bubbles
Definition: GNEViewNet.cpp:653
bool changeAllPhases() const
change all phases
Definition: GNEViewNet.cpp:647
long onCmdEditJunctionShape(FXObject *, FXSelector, void *)
edit junction shape
long onCmdToggleMoveElevation(FXObject *, FXSelector, void *)
toggle move elevation
long onCmdToggleShowAllPersonPlans(FXObject *, FXSelector, void *)
toggle show all person plans in super mode demand
bool setColorScheme(const std::string &name)
set color scheme
Definition: GNEViewNet.cpp:443
int doPaintGL(int mode, const Boundary &bound)
do paintGL
Definition: GNEViewNet.cpp:813
long onCmdOpenAdditionalDialog(FXObject *, FXSelector, void *)
open additional dialog
long onCmdToggleTAZRelOnlyTo(FXObject *, FXSelector, void *)
toggle TAZRez only to
const GNEViewNetHelper::NetworkViewOptions & getNetworkViewOptions() const
get network view options
Definition: GNEViewNet.cpp:525
void hotkeyFocusFrame()
handle focus frame keypress
long onCmdToggleChainEdges(FXObject *, FXSelector, void *)
toggle chain edges
GNEViewNetHelper::DemandViewOptions myDemandViewOptions
variable used to save variables related with view options in supermode Demand
Definition: GNEViewNet.h:546
std::vector< std::string > getEdgeLaneParamKeys(bool edgeKeys) const
return list of available edge parameters
Definition: GNEViewNet.cpp:753
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:593
bool autoSelectNodes()
whether to autoselect nodes or to lanes
Definition: GNEViewNet.cpp:635
long onCmdToggleLockContainer(FXObject *, FXSelector, void *)
toggle lock container in super mode demand
GNEUndoList * myUndoList
a reference to the undolist maintained in the application
Definition: GNEViewNet.h:596
void drawTranslateFrontAttributeCarrier(const GNEAttributeCarrier *AC, double typeOrLayer, const double extraOffset=0)
draw front attributeCarrier
GNEViewNetHelper::NetworkViewOptions myNetworkViewOptions
variable used to save variables related with view options in supermode Network
Definition: GNEViewNet.h:543
void doInit()
called after some features are already initialized
Definition: GNEViewNet.cpp:290
void buildEditModeControls()
create edit mode buttons and elements
GNEViewNetHelper::DataCheckableButtons myDataCheckableButtons
variable used to save checkable buttons for Supermode Data
Definition: GNEViewNet.h:536
long onCmdToggleShowGrid(FXObject *, FXSelector, void *)
toggle show grid
void processLeftButtonPressDemand(void *eventData)
process left button press function in Supermode Demand
GNEViewNetHelper::IntervalBar & getIntervalBar()
get interval bar
long onCmdEditLaneShape(FXObject *, FXSelector, void *)
edit lane shape
long onCmdToggleHideNonInspecteDemandElements(FXObject *, FXSelector, void *)
toggle hide non inspected demand elements
GNEViewParent * getViewParent() const
get the net object
long onCmdAddReversedEdge(FXObject *, FXSelector, void *)
add reversed edge
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:555
long onCmdIntervalBarGenericDataType(FXObject *, FXSelector, void *)
change generic data type in interval bar
long onCmdConvertRoundabout(FXObject *, FXSelector, void *)
convert junction to roundabout
long onCmdRemoveEdgeSelected(FXObject *, FXSelector, void *)
unselect Edge under cursor
long onCmdToggleShowShapes(FXObject *, FXSelector, void *)
toggle show shapes in super mode data
long onRightBtnPress(FXObject *, FXSelector, void *)
called when user press mouse's right button
Definition: GNEViewNet.cpp:992
long onCmdOpenPolygon(FXObject *, FXSelector, void *)
open closed polygon
long onCmdSetCustomGeometryPoint(FXObject *, FXSelector, void *)
set custom geometry point
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:519
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:485
GNEViewNetHelper::SaveElements mySaveElements
variable used to save elements
Definition: GNEViewNet.h:575
GNEViewNetHelper::LockManager myLockManager
lock manager
Definition: GNEViewNet.h:584
long onCmdAddEdgeSelected(FXObject *, FXSelector, void *)
select Edge under cursor
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 onCmdToggleExtendSelection(FXObject *, FXSelector, void *)
toggle extend selection
GNEViewNetHelper::DemandCheckableButtons myDemandCheckableButtons
variable used to save checkable buttons for Supermode Demand
Definition: GNEViewNet.h:533
bool aksChangeSupermode(const std::string &operation, Supermode expectedSupermode)
ask about change supermode
Definition: GNEViewNet.cpp:697
GNETAZ * getTAZAtPopupPosition()
try to retrieve a TAZ at popup position
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
long onCmdSelectPolygonElements(FXObject *, FXSelector, void *)
select elements within polygon boundary
long onLeftBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's left button
Definition: GNEViewNet.cpp:964
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:599
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:379
const std::vector< GNEAttributeCarrier * > & getInspectedAttributeCarriers() const
get inspected attribute carriers
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when user press a key
long onCmdToggleShowOverlappedRoutes(FXObject *, FXSelector, void *)
toggle hide non inspected demand elements
long onCmdToggleAutoOppositeEdge(FXObject *, FXSelector, void *)
toggle autoOpposite edge
long onCmdSplitEdge(FXObject *, FXSelector, void *)
split edge at cursor position
GNEViewNetHelper::LockManager & getLockManager()
get lock manager
void openObjectDialogAtCursor()
open object dialog
Definition: GNEViewNet.cpp:459
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:659
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:432
void hotkeyDel()
handle del keypress
long onCmdToggleChangeAllPhases(FXObject *, FXSelector, void *)
toggle change all phases
bool isAttributeCarrierInspected(const GNEAttributeCarrier *AC) const
check if attribute carrier is being inspected
long onCmdToggleTAZRelDrawing(FXObject *, FXSelector, void *)
toggle TAZRel drawing
long onCmdToggleShowJunctionBubbles(FXObject *, FXSelector, void *)
toggle show junction bubbles
long onCmdToggleShowAdditionalSubElements(FXObject *, FXSelector, void *)
toggle show additional sub-elements
long onCmdSmoothEdgesElevation(FXObject *, FXSelector, void *)
smooth elevation with regard to adjoining edges
long onCmdToggleShowAllContainerPlans(FXObject *, FXSelector, void *)
toggle show all container plans in super mode demand
GNEViewNetHelper::VehicleTypeOptions myVehicleTypeOptions
variable used to save variables related with vehicle type options
Definition: GNEViewNet.h:571
long onCmdResetJunctionShape(FXObject *, FXSelector, void *)
reset junction shape
long onCmdToggleTAZRelOnlyFrom(FXObject *, FXSelector, void *)
toggle TAZRez only from
long onRightBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's right button
long onCmdReverseEdge(FXObject *, FXSelector, void *)
reverse edge
void deleteDataAttributeCarriers(const std::vector< GNEAttributeCarrier * > ACs)
delete data attribute carriers
void processLeftButtonReleaseData()
process left button release function in Supermode Data
long onCmdToggleShowAdditionals(FXObject *, FXSelector, void *)
toggle show additionals in super mode data
long onCmdToggleLockPerson(FXObject *, FXSelector, void *)
toggle lock person in super mode demand
GNENet * myNet
Pointer to current net. (We are not responsible for deletion)
Definition: GNEViewNet.h:590
GNEPoly * getPolygonAtPopupPosition()
try to retrieve a polygon at popup position
long onCmdToggleSelectEdges(FXObject *, FXSelector, void *)
toggle select edges
GNEViewNetHelper::DataViewOptions myDataViewOptions
variable used to save variables related with view options in supermode Data
Definition: GNEViewNet.h:549
long onCmdToggleShowTrips(FXObject *, FXSelector, void *)
toggle show all trips in super mode demand
long onCmdToggleHideShapes(FXObject *, FXSelector, void *)
toggle hide shapes in super mode demand
long onCmdEditEdgeEndpoint(FXObject *, FXSelector, void *)
change geometry endpoint
const GNEViewNetHelper::DemandViewOptions & getDemandViewOptions() const
get demand view options
Definition: GNEViewNet.cpp:531
const GNEViewNetHelper::ObjectsUnderCursor & getObjectsUnderCursor() const
get objects under cursor
Definition: GNEViewNet.cpp:420
GNEViewNetHelper::MoveMultipleElementValues myMoveMultipleElementValues
variable used to save variables related with movement of multiple elements
Definition: GNEViewNet.h:561
void deleteDemandAttributeCarriers(const std::vector< GNEAttributeCarrier * > ACs)
delete given demand attribute carriers
void updateViewNet() const
Mark the entire GNEViewNet to be repainted later.
Definition: GNEViewNet.cpp:372
GNEViewNetHelper::ObjectsUnderCursor myObjectsUnderCursor
variable use to save all pointers to objects under cursor after a click
Definition: GNEViewNet.h:520
long onCmdToggleHideConnections(FXObject *, FXSelector, void *)
toggle hide connections
bool restrictLane(SUMOVehicleClass vclass)
restrict lane
std::set< std::pair< std::string, GNEAttributeCarrier * > > getAttributeCarriersInBoundary(const Boundary &boundary, bool forceSelectEdges=false)
get AttributeCarriers in Boundary
Definition: GNEViewNet.cpp:385
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when user release a key
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:629
void processMoveMouseDemand(const bool mouseLeftButtonPressed)
process move mouse function in Supermode Demand
long onCmdResetOppositeLane(FXObject *, FXSelector, void *)
reset oppositeLane of current lane
void setSelectorFrameScale(double selectionScale)
set selection scaling (in GNESelectorFrame)
Definition: GNEViewNet.cpp:641
long onCmdEditConnectionShape(FXObject *, FXSelector, void *)
edit connection shape
const GNEViewNetHelper::MoveMultipleElementValues & getMoveMultipleElementValues() const
get move multiple element values
Definition: GNEViewNet.cpp:426
bool addRestrictedLane(SUMOVehicleClass vclass, const bool insertAtFront)
add restricted lane
void updateDemandModeSpecificControls()
updates Demand mode specific controls
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 onCmdSelectRoundabout(FXObject *, FXSelector, void *)
select all roundabout nodes and edges
long onLeftBtnPress(FXObject *, FXSelector, void *)
Definition: GNEViewNet.cpp:936
std::vector< std::string > getRelDataAttrs() const
return list of loaded edgeRelation and tazRelation attributes
Definition: GNEViewNet.cpp:797
long onCmdIntervalBarLimit(FXObject *, FXSelector, void *)
change limit interval in interval bar
A single child window which contains a view of the simulation area.
Definition: GNEViewParent.h:82
The popup menu of a globject.
Stores the information about how to visualize structures.