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// ===========================================================================
31class GNEFrame;
32class GNENet;
33class GNEUndoList;
34class GNEViewParent;
35
36// ===========================================================================
37// class definitions
38// ===========================================================================
45 FXDECLARE(GNEViewNet)
46
47
48 friend struct GNEViewNetHelper;
49
50public:
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 module
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
71
74
76 void updateViewNet() const;
77
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 bool hide2 = false, double hideThreshold2 = 0);
103
105 std::vector<std::string> getEdgeLaneParamKeys(bool edgeKeys) const;
106
108 std::vector<std::string> getEdgeDataAttrs() const;
109
111 std::vector<std::string> getRelDataAttrs() const;
112
114 void openObjectDialogAtCursor(const FXEvent* ev);
115
117 void openDeleteDialogAtCursor(const std::vector<GUIGlObject*>& GLObjects);
118
120 void openSelectDialogAtCursor(const std::vector<GUIGlObject*>& GLObjects);
121
122 // save visualization settings
123 void saveVisualizationSettings() const;
124
126 const GNEViewNetHelper::EditModes& getEditModes() const;
127
129 const GNEViewNetHelper::TestingMode& getTestingMode() const;
130
132 const GNEViewNetHelper::NetworkViewOptions& getNetworkViewOptions() const;
133
135 const GNEViewNetHelper::DemandViewOptions& getDemandViewOptions() const;
136
138 const GNEViewNetHelper::DataViewOptions& getDataViewOptions() const;
139
141 const GNEViewNetHelper::MouseButtonKeyPressed& getMouseButtonKeyPressed() const;
142
144 const GNEViewNetHelper::EditNetworkElementShapes& getEditNetworkElementShapes() const;
145
149 long onLeftBtnPress(FXObject*, FXSelector, void*);
150
152 long onLeftBtnRelease(FXObject*, FXSelector, void*);
153
155 long onMiddleBtnPress(FXObject*, FXSelector, void*);
156
158 long onMiddleBtnRelease(FXObject*, FXSelector, void*);
159
161 long onRightBtnPress(FXObject*, FXSelector, void*);
162
164 long onRightBtnRelease(FXObject*, FXSelector, void*);
165
167 long onMouseMove(FXObject*, FXSelector, void*);
168
170 long onKeyPress(FXObject* o, FXSelector sel, void* data);
171
173 long onKeyRelease(FXObject* o, FXSelector sel, void* data);
175
179 long onCmdSetSupermode(FXObject*, FXSelector sel, void*);
180
182 long onCmdSetMode(FXObject*, FXSelector sel, void*);
183
185
187 long onCmdSplitEdge(FXObject*, FXSelector, void*);
188
190 long onCmdSplitEdgeBidi(FXObject*, FXSelector, void*);
191
193 long onCmdReverseEdge(FXObject*, FXSelector, void*);
194
196 long onCmdAddReversedEdge(FXObject*, FXSelector, void*);
197
199 long onCmdAddReversedEdgeDisconnected(FXObject*, FXSelector, void*);
200
202 long onCmdEditEdgeEndpoint(FXObject*, FXSelector, void*);
203
205 long onCmdResetEdgeEndpoint(FXObject*, FXSelector, void*);
206
208 long onCmdStraightenEdges(FXObject*, FXSelector, void*);
209
211 long onCmdSmoothEdges(FXObject*, FXSelector, void*);
212
214 long onCmdStraightenEdgesElevation(FXObject*, FXSelector, void*);
215
217 long onCmdSmoothEdgesElevation(FXObject*, FXSelector, void*);
218
220 long onCmdResetLength(FXObject*, FXSelector, void*);
221
223 long onCmdEdgeUseAsTemplate(FXObject*, FXSelector, void*);
224
226 long onCmdEgeApplyTemplate(FXObject*, FXSelector, void*);
227
229 long onCmdSimplifyShape(FXObject*, FXSelector, void*);
230
232 long onCmdDeleteGeometryPoint(FXObject*, FXSelector, void*);
233
235 long onCmdClosePolygon(FXObject*, FXSelector, void*);
236
238 long onCmdOpenPolygon(FXObject*, FXSelector, void*);
239
241 long onCmdSelectPolygonElements(FXObject*, FXSelector, void*);
242
244 long onCmdSetFirstGeometryPoint(FXObject*, FXSelector, void*);
245
247 long onCmdTransformPOI(FXObject*, FXSelector, void*);
248
250 long onCmdSetCustomGeometryPoint(FXObject*, FXSelector, void*);
251
253 long onCmdResetEndPoints(FXObject*, FXSelector, void*);
254
256 long onCmdDuplicateLane(FXObject*, FXSelector, void*);
257
259 long onCmdEditLaneShape(FXObject*, FXSelector, void*);
260
262 long onCmdResetLaneCustomShape(FXObject*, FXSelector, void*);
263
265 long onCmdResetOppositeLane(FXObject*, FXSelector, void*);
266
268 long onCmdLaneOperation(FXObject*, FXSelector sel, void*);
269
271 long onCmdLaneReachability(FXObject*, FXSelector sel, void*);
272
274 long onCmdOpenAdditionalDialog(FXObject*, FXSelector, void*);
275
277 long onCmdResetEdgeEndPoints(FXObject*, FXSelector, void*);
278
280 long onCmdEditJunctionShape(FXObject*, FXSelector, void*);
281
283 long onCmdResetJunctionShape(FXObject*, FXSelector, void*);
284
286 long onCmdReplaceJunction(FXObject*, FXSelector, void*);
287
289 long onCmdSplitJunction(FXObject*, FXSelector, void*);
290
292 long onCmdSplitJunctionReconnect(FXObject*, FXSelector, void*);
293
295 long onCmdSelectRoundabout(FXObject*, FXSelector, void*);
296
298 long onCmdConvertRoundabout(FXObject*, FXSelector, void*);
299
301 long onEnterConvertRoundabout(FXObject*, FXSelector, void*);
302
304 long onLeaveConvertRoundabout(FXObject*, FXSelector, void*);
305
307 long onCmdClearConnections(FXObject*, FXSelector, void*);
308
310 long onCmdResetConnections(FXObject*, FXSelector, void*);
311
313 long onCmdAddTLS(FXObject*, FXSelector, void*);
314
316 long onCmdAddJoinTLS(FXObject*, FXSelector, void*);
317
319 long onCmdEditConnectionShape(FXObject*, FXSelector, void*);
320
322 long onCmdSmoothConnectionShape(FXObject*, FXSelector, void*);
323
325 long onCmdEditCrossingShape(FXObject*, FXSelector, void*);
326
328 long onCmdEditWalkingAreaShape(FXObject*, FXSelector, void*);
329
332
334 long onCmdToggleSelectEdges(FXObject*, FXSelector, void*);
335
337 long onCmdToggleShowConnections(FXObject*, FXSelector, void*);
338
340 long onCmdToggleHideConnections(FXObject*, FXSelector, void*);
341
343 long onCmdToggleShowAdditionalSubElements(FXObject*, FXSelector, void*);
344
346 long onCmdToggleShowTAZElements(FXObject*, FXSelector, void*);
347
349 long onCmdToggleExtendSelection(FXObject*, FXSelector, void*);
350
352 long onCmdToggleChangeAllPhases(FXObject*, FXSelector, void*);
353
355 long onCmdToggleShowGrid(FXObject*, FXSelector, void*);
356
358 long onCmdToggleDrawJunctionShape(FXObject*, FXSelector, void*);
359
361 long onCmdToggleDrawSpreadVehicles(FXObject*, FXSelector, void*);
362
364 long onCmdToggleWarnAboutMerge(FXObject*, FXSelector, void*);
365
367 long onCmdToggleShowJunctionBubbles(FXObject*, FXSelector, void*);
368
370 long onCmdToggleMoveElevation(FXObject*, FXSelector, void*);
371
373 long onCmdToggleChainEdges(FXObject*, FXSelector, void*);
374
376 long onCmdToggleAutoOppositeEdge(FXObject*, FXSelector, void*);
377
379 long onCmdToggleHideNonInspecteDemandElements(FXObject*, FXSelector, void*);
380
382 long onCmdToggleShowOverlappedRoutes(FXObject*, FXSelector, void*);
383
385 long onCmdToggleHideShapes(FXObject*, FXSelector, void*);
386
388 long onCmdToggleShowTrips(FXObject*, FXSelector, void*);
389
391 long onCmdToggleShowAllPersonPlans(FXObject*, FXSelector, void*);
392
394 long onCmdToggleLockPerson(FXObject*, FXSelector, void*);
395
397 long onCmdToggleShowAllContainerPlans(FXObject*, FXSelector, void*);
398
400 long onCmdToggleLockContainer(FXObject*, FXSelector, void*);
401
403 long onCmdToggleShowAdditionals(FXObject*, FXSelector, void*);
404
406 long onCmdToggleShowShapes(FXObject*, FXSelector, void*);
407
409 long onCmdToggleShowDemandElementsNetwork(FXObject*, FXSelector, void*);
410
412 long onCmdToggleShowDemandElementsData(FXObject*, FXSelector, void*);
413
415 long onCmdToggleTAZRelDrawing(FXObject*, FXSelector, void*);
416
418 long onCmdToggleTAZDrawFill(FXObject*, FXSelector, void*);
419
421 long onCmdToggleTAZRelOnlyFrom(FXObject*, FXSelector, void*);
422
424 long onCmdToggleTAZRelOnlyTo(FXObject*, FXSelector, void*);
425
427
430
432 long onCmdIntervalBarGenericDataType(FXObject*, FXSelector, void*);
433
435 long onCmdIntervalBarDataSet(FXObject*, FXSelector, void*);
436
438 long onCmdIntervalBarLimit(FXObject*, FXSelector, void*);
439
441 long onCmdIntervalBarSetBegin(FXObject*, FXSelector, void*);
442
444 long onCmdIntervalBarSetEnd(FXObject*, FXSelector, void*);
445
447 long onCmdIntervalBarSetParameter(FXObject*, FXSelector, void*);
448
450
452 long onCmdAddSelected(FXObject*, FXSelector, void*);
453
455 long onCmdRemoveSelected(FXObject*, FXSelector, void*);
456
458 long onCmdAddEdgeSelected(FXObject*, FXSelector, void*);
459
461 long onCmdRemoveEdgeSelected(FXObject*, FXSelector, void*);
462
464 void abortOperation(bool clearSelection = true);
465
467 void hotkeyDel();
468
470 void hotkeyEnter();
471
473 void hotkeyBackSpace();
474
476 void hotkeyFocusFrame();
477
480
482 GNENet* getNet() const;
483
485 GNEUndoList* getUndoList() const;
486
488 GNEViewNetHelper::IntervalBar& getIntervalBar();
489
492
494 GNEViewNetHelper::LockManager& getLockManager();
495
497 void setInspectedAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
498
501
504
507
510
512 void drawTranslateFrontAttributeCarrier(const GNEAttributeCarrier* AC, double typeOrLayer, const double extraOffset = 0);
513
515 bool drawDeleteContour(const GUIGlObject* GLObject, const GNEAttributeCarrier* AC) const;
516
518 bool drawSelectContour(const GUIGlObject* GLObject, const GNEAttributeCarrier* AC) const;
519
522
524 void setLastCreatedRoute(GNEDemandElement* lastCreatedRoute);
525
527 void setStatusBarText(const std::string& text);
528
531
533 bool autoSelectNodes();
534
536 void setSelectorFrameScale(double selectionScale);
537
539 void updateControls();
540
542 bool changeAllPhases() const;
543
545 bool showJunctionAsBubbles() const;
546
548 bool mergeJunctions(GNEJunction* movedJunction, GNEJunction* targetJunction);
549
551 bool aksChangeSupermode(const std::string& operation, Supermode expectedSupermode);
552
554 bool selectingDetectorsTLSMode() const;
555
557 bool selectingJunctionsTLSMode() const;
558
559protected:
561 GNEViewNet();
562
564 int doPaintGL(int mode, const Boundary& bound);
565
567 void doInit();
568
569private:
572
575
579
582
585
589
592
595
598
601
605
608
611
614
618
621
626
629 // @}
630
633
636
639 // @}
640
643
646
649
652
655
657 GNENet* myNet = nullptr;
658
661
664
667
670
673
676
679
681 bool myPostDrawing = false;
682
684 bool myCreatedPopup = false;
685
688
691
694
697
700
702 void deleteDemandAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
703
705 void deleteDataAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
706
709
712
715
718
721
724
727
730
733
736
738 bool restrictLane(SUMOVehicleClass vclass);
739
741 bool addRestrictedLane(SUMOVehicleClass vclass, const bool insertAtFront);
742
745
747 void processClick(void* eventData);
748
750 void updateCursor();
751
754
756 void drawTemporalDrawingShape() const;
757
759 void drawTemporalJunction() const;
760
762 void drawTemporalSplitJunction() const;
763
765 void drawTemporalRoundabout() const;
766
768 void drawTemporalE1TLSLines() const;
769
771 void drawTemporalJunctionTLSLines() const;
772
775
778
780
783
785 void processLeftButtonPressNetwork(void* eventData);
786
789
791 void processMoveMouseNetwork(const bool mouseLeftButtonPressed);
792
794 void processLeftButtonPressDemand(void* eventData);
795
798
800 void processMoveMouseDemand(const bool mouseLeftButtonPressed);
801
803 void processLeftButtonPressData(void* eventData);
804
807
809 void processMoveMouseData(const bool mouseLeftButtonPressed);
810
812 GNEViewNet(const GNEViewNet&) = delete;
813
815 GNEViewNet& operator=(const GNEViewNet&) = delete;
816};
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 belong to GNENet but has influence 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
An Element which don't belong to GNENet but has influence in the simulation.
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:648
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:656
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
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:594
long onMouseMove(FXObject *, FXSelector, void *)
called when user moves mouse
const GNEAttributeCarrier * getFrontAttributeCarrier() const
get front attributeCarrier
void hotkeyBackSpace()
handle backspace keypress
GNEDemandElement * myLastCreatedRoute
last created route
Definition: GNEViewNet.h:672
const GNEViewNetHelper::EditModes & getEditModes() const
get edit modes
Definition: GNEViewNet.cpp:632
long onCmdAddSelected(FXObject *, FXSelector, void *)
select AC under cursor
const GNEViewNetHelper::EditNetworkElementShapes & getEditNetworkElementShapes() const
get Edit Shape module
Definition: GNEViewNet.cpp:668
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:321
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
Definition: GNEViewNet.cpp:662
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:574
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
bool drawSelectContour(const GUIGlObject *GLObject, const GNEAttributeCarrier *AC) const
check if draw select contour
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:577
GNEDemandElement * getLastCreatedRoute() const
get last created route
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:645
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:635
GNEViewNetHelper::NetworkCheckableButtons myNetworkCheckableButtons
variable used to save checkable buttons for Supermode Network
Definition: GNEViewNet.h:597
bool removeRestrictedLane(SUMOVehicleClass vclass)
remove restricted lane
std::vector< std::string > getEdgeDataAttrs() const
return list of loaded edgeData attributes
Definition: GNEViewNet.cpp:947
bool myCreatedPopup
flag for mark if during this frame a popup was created (needed to avoid problems in linux with Cursor...
Definition: GNEViewNet.h:684
void openSelectDialogAtCursor(const std::vector< GUIGlObject * > &GLObjects)
open select dialog at cursor
Definition: GNEViewNet.cpp:589
void openObjectDialogAtCursor(const FXEvent *ev)
open object dialog
Definition: GNEViewNet.cpp:501
void processClick(void *eventData)
Auxiliary function used by onLeftBtnPress(...)
GNEViewNetHelper::MoveSingleElementValues myMoveSingleElementValues
Definition: GNEViewNet.h:625
long onCmdSimplifyShape(FXObject *, FXSelector, void *)
simply shape of current polygon
GNELane * getLaneAtPopupPosition()
try to retrieve a lane at popup position
GNEAttributeCarrier * myFrontAttributeCarrier
front attribute carrier
Definition: GNEViewNet.h:669
GNEViewNetHelper::MouseButtonKeyPressed myMouseButtonKeyPressed
variable used to save key status after certain events
Definition: GNEViewNet.h:584
bool drawDeleteContour(const GUIGlObject *GLObject, const GNEAttributeCarrier *AC) const
check if draw delete contour
void recalculateBoundaries()
recalculate boundaries
Definition: GNEViewNet.cpp:288
GNEViewNetHelper::IntervalBar myIntervalBar
variable used to save IntervalBar
Definition: GNEViewNet.h:620
GNEViewParent * myViewParent
view parent
Definition: GNEViewNet.h:654
bool showJunctionAsBubbles() const
return true if junction must be showed as bubbles
Definition: GNEViewNet.cpp:802
bool changeAllPhases() const
change all phases
Definition: GNEViewNet.cpp:796
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
Definition: GNEViewNet.cpp:485
int doPaintGL(int mode, const Boundary &bound)
do paintGL
Definition: GNEViewNet.cpp:975
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
const GNEViewNetHelper::NetworkViewOptions & getNetworkViewOptions() const
get network view options
Definition: GNEViewNet.cpp:644
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:613
void drawTemporalJunctionTLSLines() const
draw temporal Junction TLS Lines
std::vector< std::string > getEdgeLaneParamKeys(bool edgeKeys) const
return list of available edge parameters
Definition: GNEViewNet.cpp:915
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:660
bool autoSelectNodes()
whether to autoselect nodes or to lanes
Definition: GNEViewNet.cpp:780
void drawTemporalRoundabout() const
draw temporal roundabout
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:663
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:610
void doInit()
called after some features are already initialized
Definition: GNEViewNet.cpp:317
long onCmdResetEdgeEndPoints(FXObject *, FXSelector, void *)
edit junction shape
void buildEditModeControls()
create edit mode buttons and elements
long onMiddleBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's left button
GNEViewNetHelper::DataCheckableButtons myDataCheckableButtons
variable used to save checkable buttons for Supermode Data
Definition: GNEViewNet.h:603
long onCmdToggleShowGrid(FXObject *, FXSelector, void *)
toggle show grid
void processLeftButtonPressDemand(void *eventData)
process left button press function in Supermode Demand
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
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
long onCmdAddReversedEdge(FXObject *, FXSelector, void *)
add reversed edge
void processLeftButtonReleaseNetwork()
process left button release function in Supermode Network
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 onCmdToggleShowShapes(FXObject *, FXSelector, void *)
toggle show shapes in super mode data
long onRightBtnPress(FXObject *, FXSelector, void *)
called when user press mouse's right button
long onCmdOpenPolygon(FXObject *, FXSelector, void *)
open closed polygon
void buildColorRainbow(const GUIVisualizationSettings &s, GUIColorScheme &scheme, int active, GUIGlObjectType objectType, bool hide=false, double hideThreshold=0, bool hide2=false, double hideThreshold2=0)
recalibrate color scheme according to the current value range
Definition: GNEViewNet.cpp:674
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
void resetLastClickedPosition()
reset last clicked position
Definition: GNEViewNet.cpp:774
const GNEViewNetHelper::TestingMode & getTestingMode() const
get testing mode
Definition: GNEViewNet.cpp:638
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
Definition: GNEViewNet.cpp:604
GNEViewNetHelper::SaveElements mySaveElements
variable used to save elements
Definition: GNEViewNet.h:642
GNEViewNetHelper::LockManager myLockManager
lock manager
Definition: GNEViewNet.h:651
long onCmdAddEdgeSelected(FXObject *, FXSelector, void *)
select Edge under cursor
long onCmdIntervalBarSetEnd(FXObject *, FXSelector, void *)
change end in interval bar
void drawTemporalDrawingShape() const
draw functions
void setLastCreatedRoute(GNEDemandElement *lastCreatedRoute)
set last created route
void removeFromAttributeCarrierInspected(const GNEAttributeCarrier *AC)
remove given AC of list of inspected Attribute Carriers
long onCmdSplitEdgeBidi(FXObject *, FXSelector, void *)
split edge at cursor position
long onCmdAddJoinTLS(FXObject *, FXSelector, void *)
add Join TLS
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
GNEViewNetHelper::DemandCheckableButtons myDemandCheckableButtons
variable used to save checkable buttons for Supermode Demand
Definition: GNEViewNet.h:600
bool aksChangeSupermode(const std::string &operation, Supermode expectedSupermode)
ask about change supermode
Definition: GNEViewNet.cpp:846
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
Position myLastClickedPosition
last clicked position
Definition: GNEViewNet.h:678
long onCmdSelectPolygonElements(FXObject *, FXSelector, void *)
select elements within polygon boundary
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
std::vector< GNEAttributeCarrier * > myInspectedAttributeCarriers
current inspected attribute carrier
Definition: GNEViewNet.h:666
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:421
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
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:808
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:474
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:675
bool isAttributeCarrierInspected(const GNEAttributeCarrier *AC) const
check if attribute carrier is being inspected
long onCmdToggleTAZRelDrawing(FXObject *, FXSelector, void *)
toggle TAZRel drawing
bool myPostDrawing
flag for post-drawing (used for dotted contours)
Definition: GNEViewNet.h:681
long onCmdToggleShowJunctionBubbles(FXObject *, FXSelector, void *)
toggle show junction bubbles
bool selectingDetectorsTLSMode() const
check if we're selecting detectors in TLS mode
Definition: GNEViewNet.cpp:874
bool selectingJunctionsTLSMode() const
check if we're selecting junctions in TLS mode
Definition: GNEViewNet.cpp:883
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:638
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 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 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:657
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:616
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:650
void drawSelectDottedContour()
draw select dotted contours
const GNEViewNetHelper::ObjectsUnderCursor & getObjectsUnderCursor() const
get objects under cursor
Definition: GNEViewNet.cpp:462
GNEViewNetHelper::MoveMultipleElementValues myMoveMultipleElementValues
variable used to save variables related with movement of multiple elements
Definition: GNEViewNet.h:628
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:414
GNEViewNetHelper::ObjectsUnderCursor myObjectsUnderCursor
variable use to save all pointers to objects under cursor after a click
Definition: GNEViewNet.h:587
long onCmdToggleHideConnections(FXObject *, FXSelector, void *)
toggle hide connections
bool restrictLane(SUMOVehicleClass vclass)
restrict lane
void openDeleteDialogAtCursor(const std::vector< GUIGlObject * > &GLObjects)
open delete dialog at cursor
Definition: GNEViewNet.cpp:574
std::set< std::pair< std::string, GNEAttributeCarrier * > > getAttributeCarriersInBoundary(const Boundary &boundary, bool forceSelectEdges=false)
get AttributeCarriers in Boundary
Definition: GNEViewNet.cpp:427
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 statusBar text
Definition: GNEViewNet.cpp:768
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)
Definition: GNEViewNet.cpp:790
long onCmdEditConnectionShape(FXObject *, FXSelector, void *)
edit connection shape
const GNEViewNetHelper::MoveMultipleElementValues & getMoveMultipleElementValues() const
get move multiple element values
Definition: GNEViewNet.cpp:468
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
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 *)
std::vector< std::string > getRelDataAttrs() const
return list of loaded edgeRelation and tazRelation attributes
Definition: GNEViewNet.cpp:959
long onCmdIntervalBarLimit(FXObject *, FXSelector, void *)
change limit interval in interval bar
void drawDeleteDottedContour()
draw delete dotted contours
A single child window which contains a view of the simulation area.
Definition: GNEViewParent.h:84
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
The popup menu of a globject.
Stores the information about how to visualize structures.
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:37
Definition: json.hpp:4471