Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
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-2023 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] undoList pointer to UndoList module
58 * @param[in] glVis a reference to GLVisuals
59 * @param[in] share a reference to FXCanvas
60 */
61 GNEViewNet(FXComposite* tmpParent, FXComposite* actualParent, GUIMainWindow& app,
62 GNEViewParent* viewParent, GNENet* net, GNEUndoList* undoList,
63 FXGLVisual* glVis, FXGLCanvas* share);
64
66 ~GNEViewNet();
67
70
73
75 void updateViewNet() const;
76
79
81 std::set<std::pair<std::string, GNEAttributeCarrier*> > getAttributeCarriersInBoundary(const Boundary& boundary, bool forceSelectEdges = false);
82
84 const GNEViewNetHelper::ObjectsUnderCursor& getObjectsUnderCursor() const;
85
87 void updateObjectsUnderCursor(const Position& pos);
88
90 const GNEViewNetHelper::MoveMultipleElementValues& getMoveMultipleElementValues() const;
91
97
99 bool setColorScheme(const std::string& name);
100
102 void buildColorRainbow(const GUIVisualizationSettings& s, GUIColorScheme& scheme, int active, GUIGlObjectType objectType,
103 bool hide = false, double hideThreshold = 0,
104 bool hide2 = false, double hideThreshold2 = 0);
105
107 std::vector<std::string> getEdgeLaneParamKeys(bool edgeKeys) const;
108
110 std::vector<std::string> getEdgeDataAttrs() const;
111
113 std::vector<std::string> getRelDataAttrs() const;
114
116 void openObjectDialogAtCursor(const FXEvent* ev);
117
119 void openDeleteDialogAtCursor(const std::vector<GUIGlObject*>& GLObjects);
120
122 void openSelectDialogAtCursor(const std::vector<GUIGlObject*>& GLObjects);
123
124 // save visualization settings
125 void saveVisualizationSettings() const;
126
128 const GNEViewNetHelper::EditModes& getEditModes() const;
129
131 const GNEViewNetHelper::TestingMode& getTestingMode() const;
132
134 const GNEViewNetHelper::NetworkViewOptions& getNetworkViewOptions() const;
135
137 const GNEViewNetHelper::DemandViewOptions& getDemandViewOptions() const;
138
140 const GNEViewNetHelper::DataViewOptions& getDataViewOptions() const;
141
143 const GNEViewNetHelper::MouseButtonKeyPressed& getMouseButtonKeyPressed() const;
144
146 const GNEViewNetHelper::EditNetworkElementShapes& getEditNetworkElementShapes() const;
147
151 long onLeftBtnPress(FXObject*, FXSelector, void*);
152
154 long onLeftBtnRelease(FXObject*, FXSelector, void*);
155
157 long onMiddleBtnPress(FXObject*, FXSelector, void*);
158
160 long onMiddleBtnRelease(FXObject*, FXSelector, void*);
161
163 long onRightBtnPress(FXObject*, FXSelector, void*);
164
166 long onRightBtnRelease(FXObject*, FXSelector, void*);
167
169 long onMouseMove(FXObject*, FXSelector, void*);
170
172 long onKeyPress(FXObject* o, FXSelector sel, void* data);
173
175 long onKeyRelease(FXObject* o, FXSelector sel, void* data);
177
181 long onCmdSetSupermode(FXObject*, FXSelector sel, void*);
182
184 long onCmdSetMode(FXObject*, FXSelector sel, void*);
185
187
189 long onCmdSplitEdge(FXObject*, FXSelector, void*);
190
192 long onCmdSplitEdgeBidi(FXObject*, FXSelector, void*);
193
195 long onCmdReverseEdge(FXObject*, FXSelector, void*);
196
198 long onCmdAddReversedEdge(FXObject*, FXSelector, void*);
199
201 long onCmdAddReversedEdgeDisconnected(FXObject*, FXSelector, void*);
202
204 long onCmdEditEdgeEndpoint(FXObject*, FXSelector, void*);
205
207 long onCmdResetEdgeEndpoint(FXObject*, FXSelector, void*);
208
210 long onCmdStraightenEdges(FXObject*, FXSelector, void*);
211
213 long onCmdSmoothEdges(FXObject*, FXSelector, void*);
214
216 long onCmdStraightenEdgesElevation(FXObject*, FXSelector, void*);
217
219 long onCmdSmoothEdgesElevation(FXObject*, FXSelector, void*);
220
222 long onCmdResetLength(FXObject*, FXSelector, void*);
223
225 long onCmdEdgeUseAsTemplate(FXObject*, FXSelector, void*);
226
228 long onCmdEgeApplyTemplate(FXObject*, FXSelector, void*);
229
231 long onCmdSimplifyShape(FXObject*, FXSelector, void*);
232
234 long onCmdDeleteGeometryPoint(FXObject*, FXSelector, void*);
235
237 long onCmdClosePolygon(FXObject*, FXSelector, void*);
238
240 long onCmdOpenPolygon(FXObject*, FXSelector, void*);
241
243 long onCmdSelectPolygonElements(FXObject*, FXSelector, void*);
244
246 long onCmdSetFirstGeometryPoint(FXObject*, FXSelector, void*);
247
249 long onCmdTransformPOI(FXObject*, FXSelector, void*);
250
252 long onCmdSetCustomGeometryPoint(FXObject*, FXSelector, void*);
253
255 long onCmdResetEndPoints(FXObject*, FXSelector, void*);
256
258 long onCmdDuplicateLane(FXObject*, FXSelector, void*);
259
261 long onCmdEditLaneShape(FXObject*, FXSelector, void*);
262
264 long onCmdResetLaneCustomShape(FXObject*, FXSelector, void*);
265
267 long onCmdResetOppositeLane(FXObject*, FXSelector, void*);
268
270 long onCmdLaneOperation(FXObject*, FXSelector sel, void*);
271
273 long onCmdLaneReachability(FXObject*, FXSelector sel, void*);
274
276 long onCmdOpenAdditionalDialog(FXObject*, FXSelector, void*);
277
279 long onCmdResetEdgeEndPoints(FXObject*, FXSelector, void*);
280
282 long onCmdEditJunctionShape(FXObject*, FXSelector, void*);
283
285 long onCmdResetJunctionShape(FXObject*, FXSelector, void*);
286
288 long onCmdReplaceJunction(FXObject*, FXSelector, void*);
289
291 long onCmdSplitJunction(FXObject*, FXSelector, void*);
292
294 long onCmdSplitJunctionReconnect(FXObject*, FXSelector, void*);
295
297 long onCmdSelectRoundabout(FXObject*, FXSelector, void*);
298
300 long onCmdConvertRoundabout(FXObject*, FXSelector, void*);
301
303 long onEnterConvertRoundabout(FXObject*, FXSelector, void*);
304
306 long onLeaveConvertRoundabout(FXObject*, FXSelector, void*);
307
309 long onCmdClearConnections(FXObject*, FXSelector, void*);
310
312 long onCmdResetConnections(FXObject*, FXSelector, void*);
313
315 long onCmdAddTLS(FXObject*, FXSelector, void*);
316
318 long onCmdAddJoinTLS(FXObject*, FXSelector, void*);
319
321 long onCmdEditConnectionShape(FXObject*, FXSelector, void*);
322
324 long onCmdSmoothConnectionShape(FXObject*, FXSelector, void*);
325
327 long onCmdEditCrossingShape(FXObject*, FXSelector, void*);
328
330 long onCmdEditWalkingAreaShape(FXObject*, FXSelector, void*);
331
334
336 long onCmdToggleSelectEdges(FXObject*, FXSelector, void*);
337
339 long onCmdToggleShowConnections(FXObject*, FXSelector, void*);
340
342 long onCmdToggleHideConnections(FXObject*, FXSelector, void*);
343
345 long onCmdToggleShowAdditionalSubElements(FXObject*, FXSelector, void*);
346
348 long onCmdToggleShowTAZElements(FXObject*, FXSelector, void*);
349
351 long onCmdToggleExtendSelection(FXObject*, FXSelector, void*);
352
354 long onCmdToggleChangeAllPhases(FXObject*, FXSelector, void*);
355
357 long onCmdToggleShowGrid(FXObject*, FXSelector, void*);
358
360 long onCmdToggleDrawJunctionShape(FXObject*, FXSelector, void*);
361
363 long onCmdToggleDrawSpreadVehicles(FXObject*, FXSelector, void*);
364
366 long onCmdToggleWarnAboutMerge(FXObject*, FXSelector, void*);
367
369 long onCmdToggleShowJunctionBubbles(FXObject*, FXSelector, void*);
370
372 long onCmdToggleMoveElevation(FXObject*, FXSelector, void*);
373
375 long onCmdToggleChainEdges(FXObject*, FXSelector, void*);
376
378 long onCmdToggleAutoOppositeEdge(FXObject*, FXSelector, void*);
379
381 long onCmdToggleHideNonInspecteDemandElements(FXObject*, FXSelector, void*);
382
384 long onCmdToggleShowOverlappedRoutes(FXObject*, FXSelector, void*);
385
387 long onCmdToggleHideShapes(FXObject*, FXSelector, void*);
388
390 long onCmdToggleShowTrips(FXObject*, FXSelector, void*);
391
393 long onCmdToggleShowAllPersonPlans(FXObject*, FXSelector, void*);
394
396 long onCmdToggleLockPerson(FXObject*, FXSelector, void*);
397
399 long onCmdToggleShowAllContainerPlans(FXObject*, FXSelector, void*);
400
402 long onCmdToggleLockContainer(FXObject*, FXSelector, void*);
403
405 long onCmdToggleShowAdditionals(FXObject*, FXSelector, void*);
406
408 long onCmdToggleShowShapes(FXObject*, FXSelector, void*);
409
411 long onCmdToggleShowDemandElementsNetwork(FXObject*, FXSelector, void*);
412
414 long onCmdToggleShowDemandElementsData(FXObject*, FXSelector, void*);
415
417 long onCmdToggleTAZRelDrawing(FXObject*, FXSelector, void*);
418
420 long onCmdToggleTAZDrawFill(FXObject*, FXSelector, void*);
421
423 long onCmdToggleTAZRelOnlyFrom(FXObject*, FXSelector, void*);
424
426 long onCmdToggleTAZRelOnlyTo(FXObject*, FXSelector, void*);
427
429
432
434 long onCmdIntervalBarGenericDataType(FXObject*, FXSelector, void*);
435
437 long onCmdIntervalBarDataSet(FXObject*, FXSelector, void*);
438
440 long onCmdIntervalBarLimit(FXObject*, FXSelector, void*);
441
443 long onCmdIntervalBarSetBegin(FXObject*, FXSelector, void*);
444
446 long onCmdIntervalBarSetEnd(FXObject*, FXSelector, void*);
447
449 long onCmdIntervalBarSetParameter(FXObject*, FXSelector, void*);
450
452
454 long onCmdAddSelected(FXObject*, FXSelector, void*);
455
457 long onCmdRemoveSelected(FXObject*, FXSelector, void*);
458
460 long onCmdAddEdgeSelected(FXObject*, FXSelector, void*);
461
463 long onCmdRemoveEdgeSelected(FXObject*, FXSelector, void*);
464
466 void abortOperation(bool clearSelection = true);
467
469 void hotkeyDel();
470
472 void hotkeyEnter();
473
475 void hotkeyBackSpace();
476
478 void hotkeyFocusFrame();
479
482
484 GNENet* getNet() const;
485
487 GNEUndoList* getUndoList() const;
488
490 GNEViewNetHelper::IntervalBar& getIntervalBar();
491
494
496 GNEViewNetHelper::LockManager& getLockManager();
497
499 void setInspectedAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
500
503
506
509
512
514 void drawTranslateFrontAttributeCarrier(const GNEAttributeCarrier* AC, double typeOrLayer, const double extraOffset = 0);
515
517 bool drawDeleteContour(const GUIGlObject* GLObject, const GNEAttributeCarrier* AC) const;
518
520 bool drawSelectContour(const GUIGlObject* GLObject, const GNEAttributeCarrier* AC) const;
521
524
526 void setLastCreatedRoute(GNEDemandElement* lastCreatedRoute);
527
529 void setStatusBarText(const std::string& text);
530
533
535 bool autoSelectNodes();
536
538 void setSelectorFrameScale(double selectionScale);
539
541 void updateControls();
542
544 bool changeAllPhases() const;
545
547 bool showJunctionAsBubbles() const;
548
550 bool mergeJunctions(GNEJunction* movedJunction, GNEJunction* targetJunction);
551
553 bool aksChangeSupermode(const std::string& operation, Supermode expectedSupermode);
554
556 bool selectingDetectorsTLSMode() const;
557
559 bool selectingJunctionsTLSMode() const;
560
562 GNEViewNetHelper::SaveElements& getSaveElements();
563
564protected:
566 GNEViewNet();
567
569 int doPaintGL(int mode, const Boundary& bound);
570
572 void doInit();
573
574private:
577
580
584
587
590
594
597
600
603
606
610
613
616
619
623
626
631
634 // @}
635
638
641
644 // @}
645
648
651
654
657
660
662 GNENet* myNet = nullptr;
663
666
669
672
675
678
681
684
686 bool myPostDrawing = false;
687
689 bool myCreatedPopup = false;
690
693
696
699
702
705
707 void deleteDemandAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
708
710 void deleteDataAttributeCarriers(const std::vector<GNEAttributeCarrier*> ACs);
711
714
717
720
723
726
729
732
735
738
741
743 bool restrictLane(SUMOVehicleClass vclass);
744
746 bool addRestrictedLane(SUMOVehicleClass vclass, const bool insertAtFront);
747
750
752 void processClick(void* eventData);
753
755 void updateCursor();
756
759
761 void drawTemporalDrawingShape() const;
762
764 void drawTemporalJunction() const;
765
767 void drawTemporalSplitJunction() const;
768
770 void drawTemporalRoundabout() const;
771
773 void drawTemporalE1TLSLines() const;
774
776 void drawTemporalJunctionTLSLines() const;
777
780
783
785 void drawTestsCircle() const;
786
788
791
793 void processLeftButtonPressNetwork(void* eventData);
794
797
799 void processMoveMouseNetwork(const bool mouseLeftButtonPressed);
800
802 void processLeftButtonPressDemand(void* eventData);
803
806
808 void processMoveMouseDemand(const bool mouseLeftButtonPressed);
809
811 void processLeftButtonPressData(void* eventData);
812
815
817 void processMoveMouseData(const bool mouseLeftButtonPressed);
818
820 GNEViewNet(const GNEViewNet&) = delete;
821
823 GNEViewNet& operator=(const GNEViewNet&) = delete;
824};
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.
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition GNECrossing.h:44
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
GNEViewNetHelper::EditNetworkElementShapes myEditNetworkElementShapes
struct for grouping all variables related with edit shapes
Definition GNEViewNet.h:653
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 updateObjectsUnderCursor(const Position &pos)
Update objects under cursor in the given position.
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
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:599
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:677
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
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
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:579
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:582
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:650
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:640
GNEViewNetHelper::NetworkCheckableButtons myNetworkCheckableButtons
variable used to save checkable buttons for Supermode Network
Definition GNEViewNet.h:602
bool removeRestrictedLane(SUMOVehicleClass vclass)
remove restricted lane
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:689
void openSelectDialogAtCursor(const std::vector< GUIGlObject * > &GLObjects)
open select dialog at cursor
void openObjectDialogAtCursor(const FXEvent *ev)
open object dialog
void processClick(void *eventData)
Auxiliary function used by onLeftBtnPress(...)
GNEViewNetHelper::MoveSingleElementValues myMoveSingleElementValues
Definition GNEViewNet.h:630
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:674
GNEViewNetHelper::MouseButtonKeyPressed myMouseButtonKeyPressed
variable used to save key status after certain events
Definition GNEViewNet.h:589
bool drawDeleteContour(const GUIGlObject *GLObject, const GNEAttributeCarrier *AC) const
check if draw delete contour
void recalculateBoundaries()
recalculate boundaries
GNEViewNetHelper::IntervalBar myIntervalBar
variable used to save IntervalBar
Definition GNEViewNet.h:625
GNEViewParent * myViewParent
view parent
Definition GNEViewNet.h:659
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
int doPaintGL(int mode, const Boundary &bound)
do paintGL
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
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:618
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:665
bool autoSelectNodes()
whether to autoselect nodes or to lanes
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:668
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:615
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
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:608
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
long onCmdSetCustomGeometryPoint(FXObject *, FXSelector, void *)
set custom geometry point
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
void resetLastClickedPosition()
reset last clicked position
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 to save elements
Definition GNEViewNet.h:647
GNEViewNetHelper::LockManager myLockManager
lock manager
Definition GNEViewNet.h:656
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
void drawTestsCircle() const
draw circle in testing mode (neede for grid)
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:605
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
Position myLastClickedPosition
last clicked position
Definition GNEViewNet.h:683
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:671
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)
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
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.
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:680
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:686
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:643
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:662
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:621
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
void drawSelectDottedContour()
draw select dotted contours
const GNEViewNetHelper::ObjectsUnderCursor & getObjectsUnderCursor() const
get objects under cursor
GNEViewNetHelper::MoveMultipleElementValues myMoveMultipleElementValues
variable used to save variables related with movement of multiple elements
Definition GNEViewNet.h:633
void deleteDemandAttributeCarriers(const std::vector< GNEAttributeCarrier * > ACs)
delete given demand attribute carriers
void updateViewNet() const
Mark the entire GNEViewNet to be repainted later.
GNEViewNetHelper::ObjectsUnderCursor myObjectsUnderCursor
variable use to save all pointers to objects under cursor after a click
Definition GNEViewNet.h:592
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
std::set< std::pair< std::string, GNEAttributeCarrier * > > getAttributeCarriersInBoundary(const Boundary &boundary, bool forceSelectEdges=false)
get AttributeCarriers in Boundary
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
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)
long onCmdEditConnectionShape(FXObject *, FXSelector, void *)
edit connection shape
const GNEViewNetHelper::MoveMultipleElementValues & getMoveMultipleElementValues() const
get move multiple element values
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
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.
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