Eclipse SUMO - Simulation of Urban MObility
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GNEViewNet.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2025 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// class definitions
29// ===========================================================================
36 FXDECLARE(GNEViewNet)
37
38
39 friend struct GNEViewNetHelper;
40
41public:
42 /* @brief constructor
43 * @param[in] tmpParent temporal FXFrame parent so that we can add items to view area in the desired order
44 * @param[in] actualParent FXFrame parent of GNEViewNet
45 * @param[in] app main windows
46 * @param[in] viewParent viewParent of this viewNet
47 * @param[in] net traffic net
48 * @param[in] undoList pointer to UndoList module
49 * @param[in] glVis a reference to GLVisuals
50 * @param[in] share a reference to FXCanvas
51 */
52 GNEViewNet(FXComposite* tmpParent, FXComposite* actualParent, GUIMainWindow& app,
53 GNEViewParent* viewParent, GNENet* net, GNEUndoList* undoList,
54 FXGLVisual* glVis, FXGLCanvas* share);
55
57 ~GNEViewNet();
58
61
64
66 void updateViewNet(const bool ignoreViewUpdater = true) const;
67
70
72 void viewUpdated();
73
75 const GNEViewNetHelper::ViewObjectsSelector& getViewObjectsSelector() const;
76
78 const GNEViewNetHelper::MoveSingleElementModul& getMoveSingleElementValues() const;
79
81 const GNEViewNetHelper::MoveMultipleElementModul& getMoveMultipleElementValues() const;
82
84 void updateObjectsInPosition(const Position& pos);
85
87 void updateObjectsInShape(const PositionVector& shape);
88
91
93 bool setColorScheme(const std::string& name);
94
96 void buildColorRainbow(const GUIVisualizationSettings& s, GUIColorScheme& scheme, int active, GUIGlObjectType objectType,
98
100 std::vector<std::string> getEdgeLaneParamKeys(bool edgeKeys) const;
101
103 std::vector<std::string> getEdgeDataAttrs() const;
104
106 std::vector<std::string> getRelDataAttrs() const;
107
109 int getDrawingToggle() const;
110
112 bool checkSelectEdges() const;
113
115 void openObjectDialogAtCursor(const FXEvent* ev);
116
118 void openDeleteDialogAtCursor(const std::vector<GUIGlObject*>& GLObjects);
119
121 void openSelectDialogAtCursor(const std::vector<GUIGlObject*>& GLObjects);
122
123 // save visualization settings
124 void saveVisualizationSettings() const;
125
127 const GNEViewNetHelper::EditModes& getEditModes() const;
128
130 const GNEViewNetHelper::TestingMode& getTestingMode() const;
131
133 const GNEViewNetHelper::NetworkViewOptions& getNetworkViewOptions() const;
134
136 const GNEViewNetHelper::DemandViewOptions& getDemandViewOptions() const;
137
139 const GNEViewNetHelper::DataViewOptions& getDataViewOptions() const;
140
142 const GNEViewNetHelper::MouseButtonKeyPressed& getMouseButtonKeyPressed() const;
143
145 const GNEViewNetHelper::EditNetworkElementShapes& getEditNetworkElementShapes() const;
146
150 long onLeftBtnPress(FXObject*, FXSelector, void*);
151
153 long onLeftBtnRelease(FXObject*, FXSelector, void*);
154
156 long onMiddleBtnPress(FXObject*, FXSelector, void*);
157
159 long onMiddleBtnRelease(FXObject*, FXSelector, void*);
160
162 long onRightBtnPress(FXObject*, FXSelector, void*);
163
165 long onRightBtnRelease(FXObject*, FXSelector, void*);
166
168 long onMouseMove(FXObject*, FXSelector, void*);
169
171 long onKeyPress(FXObject* o, FXSelector sel, void* data);
172
174 long onKeyRelease(FXObject* o, FXSelector sel, void* data);
176
180 long onCmdSetSupermode(FXObject*, FXSelector sel, void*);
181
183 long onCmdSetMode(FXObject*, FXSelector sel, void*);
184
186
188 long onCmdSplitEdge(FXObject*, FXSelector, void*);
189
191 long onCmdSplitEdgeBidi(FXObject*, FXSelector, void*);
192
194 long onCmdReverseEdge(FXObject*, FXSelector, void*);
195
197 long onCmdAddReversedEdge(FXObject*, FXSelector, void*);
198
200 long onCmdAddReversedEdgeDisconnected(FXObject*, FXSelector, void*);
201
203 long onCmdEditEdgeEndpoint(FXObject*, FXSelector, void*);
204
206 long onCmdResetEdgeEndpoint(FXObject*, FXSelector, void*);
207
209 long onCmdStraightenEdges(FXObject*, FXSelector, void*);
210
212 long onCmdSmoothEdges(FXObject*, FXSelector, void*);
213
215 long onCmdStraightenEdgesElevation(FXObject*, FXSelector, void*);
216
218 long onCmdSmoothEdgesElevation(FXObject*, FXSelector, void*);
219
221 long onCmdResetLength(FXObject*, FXSelector, void*);
222
224 long onCmdEdgeUseAsTemplate(FXObject*, FXSelector, void*);
225
227 long onCmdEgeApplyTemplate(FXObject*, FXSelector, void*);
228
231
233 long onCmdSimplifyShape(FXObject*, FXSelector, void*);
234
236 long onCmdDeleteGeometryPoint(FXObject*, FXSelector, void*);
237
239 long onCmdClosePolygon(FXObject*, FXSelector, void*);
240
242 long onCmdOpenPolygon(FXObject*, FXSelector, void*);
243
245 long onCmdSelectPolygonElements(FXObject*, FXSelector, void*);
246
248 long onCmdTriangulatePolygon(FXObject*, FXSelector, void*);
249
251 long onCmdSetFirstGeometryPoint(FXObject*, FXSelector, void*);
252
254
258 long onCmdSimplifyShapeEdited(FXObject*, FXSelector, void*);
259
261 long onCmdStraightenShapeEdited(FXObject*, FXSelector, void*);
262
264 long onCmdCloseShapeEdited(FXObject*, FXSelector, void*);
265
267 long onCmdOpenShapeEdited(FXObject*, FXSelector, void*);
268
270 long onCmdSetFirstGeometryPointShapeEdited(FXObject*, FXSelector, void*);
271
273 long onCmdDeleteGeometryPointShapeEdited(FXObject*, FXSelector, void*);
274
276 long onCmdResetShapeEdited(FXObject*, FXSelector, void*);
277
279 long onCmdFinishShapeEdited(FXObject*, FXSelector, void*);
280
282
284 long onCmdTransformPOI(FXObject*, FXSelector, void*);
285
287 long onCmdReverse(FXObject*, FXSelector, void*);
288
290 long onCmdAddReverse(FXObject*, FXSelector, void*);
291
293 long onCmdSetCustomGeometryPoint(FXObject*, FXSelector, void*);
294
296 long onCmdResetEndPoints(FXObject*, FXSelector, void*);
297
299 long onCmdDuplicateLane(FXObject*, FXSelector, void*);
300
302 long onCmdEditLaneShape(FXObject*, FXSelector, void*);
303
305 long onCmdResetLaneCustomShape(FXObject*, FXSelector, void*);
306
308 long onCmdResetOppositeLane(FXObject*, FXSelector, void*);
309
311 long onCmdLaneOperation(FXObject*, FXSelector sel, void*);
312
314 long onCmdLaneReachability(FXObject*, FXSelector sel, void*);
315
317 long onCmdOpenAdditionalDialog(FXObject*, FXSelector, void*);
318
320 long onCmdResetEdgeEndPoints(FXObject*, FXSelector, void*);
321
323 long onCmdEditJunctionShape(FXObject*, FXSelector, void*);
324
326 long onCmdResetJunctionShape(FXObject*, FXSelector, void*);
327
329 long onCmdReplaceJunction(FXObject*, FXSelector, void*);
330
332 long onCmdSplitJunction(FXObject*, FXSelector, void*);
333
335 long onCmdSplitJunctionReconnect(FXObject*, FXSelector, void*);
336
338 long onCmdSelectRoundabout(FXObject*, FXSelector, void*);
339
341 long onCmdConvertRoundabout(FXObject*, FXSelector, void*);
342
344 long onEnterConvertRoundabout(FXObject*, FXSelector, void*);
345
347 long onLeaveConvertRoundabout(FXObject*, FXSelector, void*);
348
350 long onCmdClearConnections(FXObject*, FXSelector, void*);
351
353 long onCmdResetConnections(FXObject*, FXSelector, void*);
354
356 long onCmdAddTLS(FXObject*, FXSelector, void*);
357
359 long onCmdAddJoinTLS(FXObject*, FXSelector, void*);
360
362 long onCmdEditConnectionShape(FXObject*, FXSelector, void*);
363
365 long onCmdSmoothConnectionShape(FXObject*, FXSelector, void*);
366
368 long onCmdEditCrossingShape(FXObject*, FXSelector, void*);
369
371 long onCmdEditWalkingAreaShape(FXObject*, FXSelector, void*);
372
375
377 long onCmdToggleSelectEdges(FXObject*, FXSelector, void*);
378
380 long onCmdToggleShowConnections(FXObject*, FXSelector, void*);
381
383 long onCmdToggleHideConnections(FXObject*, FXSelector, void*);
384
386 long onCmdToggleShowAdditionalSubElements(FXObject*, FXSelector, void*);
387
389 long onCmdToggleShowTAZElements(FXObject*, FXSelector, void*);
390
392 long onCmdToggleExtendSelection(FXObject*, FXSelector, void*);
393
395 long onCmdToggleChangeAllPhases(FXObject*, FXSelector, void*);
396
398 long onCmdToggleShowGrid(FXObject*, FXSelector, void*);
399
401 long onCmdToggleDrawJunctionShape(FXObject*, FXSelector, void*);
402
404 long onCmdToggleDrawSpreadVehicles(FXObject*, FXSelector, void*);
405
407 long onCmdToggleMergeAutomatically(FXObject*, FXSelector, void*);
408
410 long onCmdToggleShowJunctionBubbles(FXObject*, FXSelector, void*);
411
413 long onCmdToggleMoveElevation(FXObject*, FXSelector, void*);
414
416 long onCmdToggleChainEdges(FXObject*, FXSelector, void*);
417
419 long onCmdToggleAutoOppositeEdge(FXObject*, FXSelector, void*);
420
422 long onCmdToggleHideNonInspecteDemandElements(FXObject*, FXSelector, void*);
423
425 long onCmdToggleShowOverlappedRoutes(FXObject*, FXSelector, void*);
426
428 long onCmdToggleHideShapes(FXObject*, FXSelector, void*);
429
431 long onCmdToggleShowTrips(FXObject*, FXSelector, void*);
432
434 long onCmdToggleShowAllPersonPlans(FXObject*, FXSelector, void*);
435
437 long onCmdToggleLockPerson(FXObject*, FXSelector, void*);
438
440 long onCmdToggleShowAllContainerPlans(FXObject*, FXSelector, void*);
441
443 long onCmdToggleLockContainer(FXObject*, FXSelector, void*);
444
446 long onCmdToggleShowAdditionals(FXObject*, FXSelector, void*);
447
449 long onCmdToggleShowShapes(FXObject*, FXSelector, void*);
450
452 long onCmdToggleShowDemandElementsNetwork(FXObject*, FXSelector, void*);
453
455 long onCmdToggleShowDemandElementsData(FXObject*, FXSelector, void*);
456
458 long onCmdToggleTAZRelDrawing(FXObject*, FXSelector, void*);
459
461 long onCmdToggleTAZDrawFill(FXObject*, FXSelector, void*);
462
464 long onCmdToggleTAZRelOnlyFrom(FXObject*, FXSelector, void*);
465
467 long onCmdToggleTAZRelOnlyTo(FXObject*, FXSelector, void*);
468
470
473
475 long onCmdIntervalBarGenericDataType(FXObject*, FXSelector, void*);
476
478 long onCmdIntervalBarDataSet(FXObject*, FXSelector, void*);
479
481 long onCmdIntervalBarLimit(FXObject*, FXSelector, void*);
482
484 long onCmdIntervalBarSetBegin(FXObject*, FXSelector, void*);
485
487 long onCmdIntervalBarSetEnd(FXObject*, FXSelector, void*);
488
490 long onCmdIntervalBarSetParameter(FXObject*, FXSelector, void*);
491
493
495 long onCmdAddSelected(FXObject*, FXSelector, void*);
496
498 long onCmdRemoveSelected(FXObject*, FXSelector, void*);
499
501 long onCmdAddEdgeSelected(FXObject*, FXSelector, void*);
502
504 long onCmdRemoveEdgeSelected(FXObject*, FXSelector, void*);
505
507 long onCmdSetNeteditView(FXObject*, FXSelector sel, void*);
508
510 void abortOperation(bool clearSelection = true);
511
513 void hotkeyDel();
514
516 void hotkeyEnter();
517
519 void hotkeyBackSpace();
520
522 void hotkeyFocusFrame();
523
526
528 GNENet* getNet() const;
529
531 GNEUndoList* getUndoList() const;
532
534 GNEViewNetHelper::IntervalBar& getIntervalBar();
535
537 GNEViewNetHelper::LockManager& getLockManager();
538
540 GNEViewNetHelper::InspectedElements& getInspectedElements();
541
543 GNEViewNetHelper::MarkFrontElements& getMarkFrontElements();
544
546 bool isCurrentlyMovingElements() const;
547
549 bool checkOverLockedElement(const GUIGlObject* GLObject, const bool isSelected) const;
550
553
555 void setLastCreatedRoute(GNEDemandElement* lastCreatedRoute);
556
558 void setStatusBarText(const std::string& text);
559
561 bool autoSelectNodes();
562
564 void setSelectorFrameScale(double selectionScale);
565
567 void updateControls();
568
570 bool changeAllPhases() const;
571
573 bool showJunctionAsBubbles() const;
574
576 bool askMergeJunctions(const GNEJunction* movedJunction, const GNEJunction* targetJunction, bool& alreadyAsked);
577
579 bool aksChangeSupermode(const std::string& operation, Supermode expectedSupermode);
580
582 bool selectingDetectorsTLSMode() const;
583
585 bool selectingJunctionsTLSMode() const;
586
588 GNEViewNetHelper::SaveElements& getSaveElements();
589
591 GNEViewNetHelper::TimeFormat& getTimeFormat();
592
594 bool restrictLane(GNELane* lane, SUMOVehicleClass vclass);
595
597 bool addRestrictedLane(GNELane* lane, SUMOVehicleClass vclass, const bool insertAtFront);
598
601
602protected:
604 GNEViewNet();
605
607 int doPaintGL(int mode, const Boundary& drawingBoundary);
608
610 void doInit();
611
614
615private:
618
621
624
627
629
632
635
637
640
643
646
649
652
654
657
660
663
666
668
671
674
676 GNEViewNetHelper::MoveSingleElementModul myMoveSingleElement;
677
679 GNEViewNetHelper::MoveMultipleElementModul myMoveMultipleElements;
680
681 // @}
682
685
688
691
692 // @}
693
696
699
702
705
708
711
714
717
719 GNENet* myNet = nullptr;
720
723
726
729
732
734 bool myCreatedPopup = false;
735
738
741
744
747
750
753
756
759
762
765
768
771
774
777
780
783
786
789
792
795
797 void processClick(void* eventData);
798
800 void updateCursor();
801
804
806 int drawGLElements(const Boundary& bound);
807
809 void drawGrid() const;
810
812 void drawTemporalDrawingShape() const;
813
815 void drawTemporalJunction() const;
816
818 void drawTemporalSplitJunction() const;
819
821 void drawTemporalRoundabout() const;
822
824 void drawTemporalE1TLSLines() const;
825
827 void drawTemporalJunctionTLSLines() const;
828
831
833 void drawTestsCircle() const;
834
836
839
841 void processLeftButtonPressNetwork(void* eventData);
842
845
847 void processMoveMouseNetwork(const bool mouseLeftButtonPressed);
848
850 void processLeftButtonPressDemand(void* eventData);
851
854
856 void processMoveMouseDemand(const bool mouseLeftButtonPressed);
857
859 void processLeftButtonPressData(void* eventData);
860
863
865 void processMoveMouseData(const bool mouseLeftButtonPressed);
866
868 GNEViewNet(const GNEViewNet&) = delete;
869
871 GNEViewNet& operator=(const GNEViewNet&) = delete;
872};
Supermode
@brie enum for supermodes
unsigned int GUIGlID
Definition GUIGlObject.h:44
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
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition GNECrossing.h:44
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
GNEViewNetHelper::EditNetworkElementShapes myEditNetworkElementShapes
struct for grouping all variables related with edit shapes
Definition GNEViewNet.h:704
long onCmdToggleShowDemandElementsNetwork(FXObject *, FXSelector, void *)
toggle show demand elements (network)
long onCmdClosePolygon(FXObject *, FXSelector, void *)
close opened polygon
bool isCurrentlyMovingElements() const
check if an element is being moved
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
GNENet * getNet() const
get the net object
long onCmdSetFirstGeometryPoint(FXObject *, FXSelector, void *)
set as first geometry point the closes geometry point
long onCmdEdgeUseAsTemplate(FXObject *, FXSelector, void *)
use edge as template
long onCmdSmoothConnectionShape(FXObject *, FXSelector, void *)
edit connection shape
GNEViewNetHelper::CommonCheckableButtons myCommonCheckableButtons
variable used to save checkable buttons for common supermodes
Definition GNEViewNet.h:642
long onMouseMove(FXObject *, FXSelector, void *)
called when user moves mouse
void hotkeyBackSpace()
handle backspace keypress
GNEViewNetHelper::MarkFrontElements myMarkFrontElements
front element
Definition GNEViewNet.h:713
GNEDemandElement * myLastCreatedRoute
last created route
Definition GNEViewNet.h:728
const GNEViewNetHelper::EditModes & getEditModes() const
get edit modes
long onCmdAddSelected(FXObject *, FXSelector, void *)
select AC under cursor
const GNEViewNetHelper::EditNetworkElementShapes & getEditNetworkElementShapes() const
get Edit Shape module
GNECrossing * getCrossingAtPopupPosition()
try to retrieve a crossing at popup position
void buildViewToolBars(GUIGlChildWindow *v)
builds the view toolbars
void updateNetworkModeSpecificControls()
updates Network mode specific controls
long onCmdAddTLS(FXObject *, FXSelector, void *)
add TLS
long onCmdSmoothEdges(FXObject *, FXSelector, void *)
smooth geometry
long onCmdStraightenEdges(FXObject *, FXSelector, void *)
makes selected edges straight
const GNEViewNetHelper::MouseButtonKeyPressed & getMouseButtonKeyPressed() const
get Key Pressed module
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:623
long onCmdReplaceJunction(FXObject *, FXSelector, void *)
replace node by geometry
bool restrictLane(GNELane *lane, SUMOVehicleClass vclass)
restrict lane
long onCmdSplitJunction(FXObject *, FXSelector, void *)
split junction into multiple junctions
void drawGrid() const
draw grid and update grid button
void deleteDemandAttributeCarrier(const GNEAttributeCarrier *AC)
delete given demand attribute carriers
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
void updateObjectsInPosition(const Position &pos)
update objects and boundaries in position
GNEViewNetHelper::TestingMode myTestingMode
variable used to save variables related with testing mode
Definition GNEViewNet.h:626
GNEDemandElement * getLastCreatedRoute() const
get last created route
GNEViewNetHelper::InspectedElements & getInspectedElements()
get inspected elements
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 for grouping all variables related with selecting areas
Definition GNEViewNet.h:701
GNENetworkElement * getShapeEditedAtPopupPosition()
try to retreive a edited shape at popup position
const GNEViewNetHelper::MoveSingleElementModul & getMoveSingleElementValues() const
get move single element values
long onCmdToggleShowConnections(FXObject *, FXSelector, void *)
toggle show connections
long onCmdLaneReachability(FXObject *, FXSelector sel, void *)
show lane reachability
long onCmdToggleShowTAZElements(FXObject *, FXSelector, void *)
toggle show TAZ elements
GNEViewNetHelper::VehicleOptions myVehicleOptions
variable used to save variables related with vehicle options
Definition GNEViewNet.h:687
GNEViewNetHelper::NetworkCheckableButtons myNetworkCheckableButtons
variable used to save checkable buttons for Supermode Network
Definition GNEViewNet.h:645
long onCmdCloseShapeEdited(FXObject *, FXSelector, void *)
close opened shape edited
std::vector< std::string > getEdgeDataAttrs() const
return list of loaded edgeData attributes
bool myCreatedPopup
flag for mark if during this frame a popup was created (needed to avoid problems in linux with Cursor...
Definition GNEViewNet.h:734
void openSelectDialogAtCursor(const std::vector< GUIGlObject * > &GLObjects)
open select dialog at cursor
long onCmdSimplifyShapeEdited(FXObject *, FXSelector, void *)
void openObjectDialogAtCursor(const FXEvent *ev)
open object dialog
void processClick(void *eventData)
Auxiliary function used by onLeftBtnPress(...)
void drawNeteditAttributesReferences()
draw circle in testing mode (needed for grid)
long onCmdSimplifyShape(FXObject *, FXSelector, void *)
simply shape of current polygon
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:634
bool askMergeJunctions(const GNEJunction *movedJunction, const GNEJunction *targetJunction, bool &alreadyAsked)
ask merge junctions
void recalculateBoundaries()
recalculate boundaries
GNEViewNetHelper::IntervalBar myIntervalBar
variable used to save IntervalBar
Definition GNEViewNet.h:670
GNEViewParent * myViewParent
view parent
Definition GNEViewNet.h:716
bool showJunctionAsBubbles() const
return true if junction must be showed as bubbles
bool changeAllPhases() const
change all phases
long onCmdEditJunctionShape(FXObject *, FXSelector, void *)
edit junction shape
long onCmdToggleMoveElevation(FXObject *, FXSelector, void *)
toggle move elevation
GNEWalkingArea * getWalkingAreaAtPopupPosition()
try to retrieve a walkingArea at popup position
long onCmdToggleShowAllPersonPlans(FXObject *, FXSelector, void *)
toggle show all person plans in super mode demand
bool setColorScheme(const std::string &name)
set color scheme
long onCmdOpenAdditionalDialog(FXObject *, FXSelector, void *)
open additional dialog
long onCmdToggleTAZRelOnlyTo(FXObject *, FXSelector, void *)
toggle TAZRez only to
long onCmdEgeApplyTemplate(FXObject *, FXSelector, void *)
apply template to edge
long onCmdSetNeteditView(FXObject *, FXSelector sel, void *)
called when a new view is set
const GNEViewNetHelper::NetworkViewOptions & getNetworkViewOptions() const
get network view options
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:662
void drawTemporalJunctionTLSLines() const
draw temporal Junction TLS Lines
std::vector< std::string > getEdgeLaneParamKeys(bool edgeKeys) const
return list of available edge parameters
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:722
bool autoSelectNodes()
whether to autoselect nodes or to lanes
void drawTemporalRoundabout() const
draw temporal roundabout
void deleteDataAttributeCarrier(const GNEAttributeCarrier *AC)
delete data attribute carriers
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:725
GNEViewNetHelper::NetworkViewOptions myNetworkViewOptions
variable used to save variables related with view options in supermode Network
Definition GNEViewNet.h:659
void doInit()
called after some features are already initialized
long onCmdResetEdgeEndPoints(FXObject *, FXSelector, void *)
edit junction shape
void buildEditModeControls()
create edit mode buttons and elements
GNEViewNetHelper::MoveSingleElementModul myMoveSingleElement
modul used for moving single element
Definition GNEViewNet.h:676
long onMiddleBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's left button
int getDrawingToggle() const
get draw toggle (used to avoid drawing junctions twice)
GNEViewNetHelper::DataCheckableButtons myDataCheckableButtons
variable used to save checkable buttons for Supermode Data
Definition GNEViewNet.h:651
long onCmdToggleShowGrid(FXObject *, FXSelector, void *)
toggle show grid
void processLeftButtonPressDemand(void *eventData)
process left button press function in Supermode Demand
GNEDemandElement * getDemandElementAtPopupPosition()
try to retrieve a demand element at popup position
GNEViewNetHelper::TimeFormat myTimeFormat
variable used for grouping all variables related with switch time
Definition GNEViewNet.h:698
long onLeaveConvertRoundabout(FXObject *, FXSelector, void *)
leave to convert junction to roundabout
GNEViewNetHelper::IntervalBar & getIntervalBar()
get interval bar
long onCmdEditLaneShape(FXObject *, FXSelector, void *)
edit lane shape
GNEViewNetHelper::MarkFrontElements & getMarkFrontElements()
get marked for drawing front elements
long onCmdToggleHideNonInspecteDemandElements(FXObject *, FXSelector, void *)
toggle hide non inspected demand elements
GNEViewParent * getViewParent() const
get the net object
long onCmdToggleDrawJunctionShape(FXObject *, FXSelector, void *)
toggle draw junction shape
bool checkOverLockedElement(const GUIGlObject *GLObject, const bool isSelected) const
check if given element is locked (used for drawing select and delete contour)
long onCmdStraightenShapeEdited(FXObject *, FXSelector, void *)
straight shape edited
long onCmdAddReversedEdge(FXObject *, FXSelector, void *)
add reversed edge
void processLeftButtonReleaseNetwork()
process left button release function in Supermode Network
long onCmdDeleteGeometryPointShapeEdited(FXObject *, FXSelector, void *)
delete the closes geometry point in shape edited
bool checkSelectEdges() const
check if select edges (toggle using button or shift)
long onMiddleBtnPress(FXObject *, FXSelector, void *)
called when user press mouse's left button
long onCmdAddReversedEdgeDisconnected(FXObject *, FXSelector, void *)
add reversed edge disconnected
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 onCmdAddReverse(FXObject *, FXSelector, void *)
add a reverse demand element
long onCmdToggleShowShapes(FXObject *, FXSelector, void *)
toggle show shapes in super mode data
long onCmdToggleMergeAutomatically(FXObject *, FXSelector, void *)
toggle warn for merge
long onRightBtnPress(FXObject *, FXSelector, void *)
called when user press mouse's right button
long onCmdOpenPolygon(FXObject *, FXSelector, void *)
open closed polygon
GNEViewNetHelper::InspectedElements myInspectedElements
inspected element
Definition GNEViewNet.h:710
long onCmdSetCustomGeometryPoint(FXObject *, FXSelector, void *)
set custom geometry point
bool removeRestrictedLane(GNELane *lane, SUMOVehicleClass vclass)
remove restricted lane
long onCmdIntervalBarDataSet(FXObject *, FXSelector, void *)
change data set in interval bar
GNEViewNetHelper::SaveElements & getSaveElements()
get variable used to save elements
void processLeftButtonReleaseDemand()
process left button release function in Supermode Demand
const GNEViewNetHelper::TestingMode & getTestingMode() const
get testing mode
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 vice versa
void saveVisualizationSettings() const
GNEViewNetHelper::SaveElements mySaveElements
variable used for grouping all variables related with salve elements
Definition GNEViewNet.h:695
const GNEViewNetHelper::MoveMultipleElementModul & getMoveMultipleElementValues() const
get move multiple element values
void deleteNetworkAttributeCarrier(const GNEAttributeCarrier *AC)
delete given network attribute carriers
GNEViewNetHelper::LockManager myLockManager
lock manager
Definition GNEViewNet.h:707
long onCmdAddEdgeSelected(FXObject *, FXSelector, void *)
select Edge under cursor
long onCmdIntervalBarSetEnd(FXObject *, FXSelector, void *)
change end in interval bar
const GNEViewNetHelper::ViewObjectsSelector & getViewObjectsSelector() const
get objects under cursor
void drawTemporalDrawingShape() const
draw temporal polygon shape in Polygon Mode
void setLastCreatedRoute(GNEDemandElement *lastCreatedRoute)
set last created route
void drawTestsCircle() const
draw circle in testing mode (needed for grid)
long onCmdSplitEdgeBidi(FXObject *, FXSelector, void *)
split edge at cursor position
long onCmdAddJoinTLS(FXObject *, FXSelector, void *)
add Join TLS
GUIGlID getToolTipID()
returns the id of object under cursor to show their tooltip
GNEJunction * getJunctionAtPopupPosition()
try to retrieve a junction at popup position
void drawTemporalSplitJunction() const
draw temporal split junction in create edge mode
long onCmdSetSupermode(FXObject *, FXSelector sel, void *)
long onCmdToggleExtendSelection(FXObject *, FXSelector, void *)
toggle extend selection
long onCmdTriangulatePolygon(FXObject *, FXSelector, void *)
triangulate polygon
GNEViewNetHelper::DemandCheckableButtons myDemandCheckableButtons
variable used to save checkable buttons for Supermode Demand
Definition GNEViewNet.h:648
bool aksChangeSupermode(const std::string &operation, Supermode expectedSupermode)
ask about change supermode
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 onCmdSetFirstGeometryPointShapeEdited(FXObject *, FXSelector, void *)
set first geometry point in shape edited
long onLeftBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's left button
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
void processLeftButtonPressNetwork(void *eventData)
mouse process functions
void hotkeyEnter()
handle enter keypress
GNEConnection * getConnectionAtPopupPosition()
try to retrieve a connection at popup position
long onCmdOpenShapeEdited(FXObject *, FXSelector, void *)
open closed shape edited
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
long onCmdStraightenEdgesElevation(FXObject *, FXSelector, void *)
interpolate z values linear between junctions
void updateControls()
update control contents after undo/redo or recompute
GNEViewNetHelper::MoveMultipleElementModul myMoveMultipleElements
modul used for moving multiple elements
Definition GNEViewNet.h:679
long onCmdSplitJunctionReconnect(FXObject *, FXSelector, void *)
split junction into multiple junctions and reconnect them
long onCmdFinishShapeEdited(FXObject *, FXSelector, void *)
finish shape edited
void hotkeyDel()
handle del keypress
long onCmdToggleChangeAllPhases(FXObject *, FXSelector, void *)
toggle change all phases
long onEnterConvertRoundabout(FXObject *, FXSelector, void *)
enter to convert junction to roundabout
bool myDrawPreviewRoundabout
draw preview roundabout
Definition GNEViewNet.h:731
void redrawPathElementContours()
redraw elements only for calculating boundary
long onCmdToggleTAZRelDrawing(FXObject *, FXSelector, void *)
toggle TAZRel drawing
long onCmdToggleShowJunctionBubbles(FXObject *, FXSelector, void *)
toggle show junction bubbles
bool selectingDetectorsTLSMode() const
check if we're selecting detectors in TLS mode
bool selectingJunctionsTLSMode() const
check if we're selecting junctions in TLS mode
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:690
long onCmdResetJunctionShape(FXObject *, FXSelector, void *)
reset junction shape
long onCmdToggleTAZRelOnlyFrom(FXObject *, FXSelector, void *)
toggle TAZRez only from
long onCmdResetShapeEdited(FXObject *, FXSelector, void *)
reset shape edited
long onRightBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's right button
void buildColorRainbow(const GUIVisualizationSettings &s, GUIColorScheme &scheme, int active, GUIGlObjectType objectType, const GUIVisualizationRainbowSettings &rs)
recalibrate color scheme according to the current value range
long onCmdIntervalBarSetParameter(FXObject *, FXSelector, void *)
change parameter in interval bar
void drawTemporalE1TLSLines() const
draw temporal E1 TLS Lines
long onCmdReverseEdge(FXObject *, FXSelector, void *)
reverse edge
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
GNEViewNetHelper::TimeFormat & getTimeFormat()
get variable used to switch between time formats
GNENet * myNet
Pointer to current net. (We are not responsible for deletion)
Definition GNEViewNet.h:719
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:665
int myDrawingToggle
drawin toggle (used in drawGLElements to avoid draw elements twice)
Definition GNEViewNet.h:737
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
long onCmdToggleHideConnections(FXObject *, FXSelector, void *)
toggle hide connections
void openDeleteDialogAtCursor(const std::vector< GUIGlObject * > &GLObjects)
open delete dialog at cursor
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when user release a key
long onCmdResetConnections(FXObject *, FXSelector, void *)
reset junction connections
long onCmdResetLaneCustomShape(FXObject *, FXSelector, void *)
reset custom shapes of selected lanes
bool addRestrictedLane(GNELane *lane, SUMOVehicleClass vclass, const bool insertAtFront)
add restricted lane
void setStatusBarText(const std::string &text)
set statusBar text
long onCmdEditWalkingAreaShape(FXObject *, FXSelector, void *)
edit walkingArea shape
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)
void viewUpdated()
called when view is updated
long onCmdEditConnectionShape(FXObject *, FXSelector, void *)
edit connection shape
void updateObjectsInShape(const PositionVector &shape)
get objects in the given shape (using triangulation)
void updateDemandModeSpecificControls()
updates Demand mode specific controls
void forceSupemodeNetwork()
force supermode network(used after load/create new network)
GNEAdditional * getAdditionalAtPopupPosition()
try to retrieve a additional at popup position
long onCmdReverse(FXObject *, FXSelector, void *)
reverse current demand element
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 *)
void updateViewNet(const bool ignoreViewUpdater=true) const
Mark the entire GNEViewNet to be repainted later.
int doPaintGL(int mode, const Boundary &drawingBoundary)
do paintGL
std::vector< std::string > getRelDataAttrs() const
return list of loaded edgeRelation and tazRelation attributes
int drawGLElements(const Boundary &bound)
draw functions
long onCmdIntervalBarLimit(FXObject *, FXSelector, void *)
change limit interval in interval bar
GNEViewNetHelper::ViewObjectsSelector myViewObjectsSelector
variable use to select objects in view
Definition GNEViewNet.h:617
A single child window which contains a view of the simulation area.
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Stores the information about how to visualize structures.
A point in 2D or 3D with translation and scaling methods.
Definition Position.h:37
A list of positions.
Definition json.hpp:4471