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-2017 German Aerospace Center (DLR) and others.
4 /****************************************************************************/
5 //
6 // This program and the accompanying materials
7 // are made available under the terms of the Eclipse Public License v2.0
8 // which accompanies this distribution, and is available at
9 // http://www.eclipse.org/legal/epl-v20.html
10 //
11 /****************************************************************************/
17 // A view on the network being edited (adapted from GUIViewTraffic)
18 /****************************************************************************/
19 #ifndef GNEViewNet_h
20 #define GNEViewNet_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #ifdef _MSC_VER
27 #include <windows_config.h>
28 #else
29 #include <config.h>
30 #endif
31 
32 #include <string>
34 #include <utils/geom/Boundary.h>
35 #include <utils/geom/Position.h>
36 #include <utils/common/RGBColor.h>
41 
42 
43 // ===========================================================================
44 // enum
45 // ===========================================================================
46 enum EditMode {
69 };
70 
71 // ===========================================================================
72 // class declarations
73 // ===========================================================================
74 class GNENet;
75 class GNEJunction;
76 class GNEEdge;
77 class GNELane;
78 class GNEConnection;
79 class GNEViewParent;
80 class GNEUndoList;
81 class GNEAdditional;
82 class GNEPoly;
83 class GNEPOI;
84 class GNEFrame;
85 class GNENetElement;
86 class GNECrossing;
88 class GNEPOILane;
89 
90 // ===========================================================================
91 // class definitions
92 // ===========================================================================
99  FXDECLARE(GNEViewNet)
100 
101 public:
102  /* @brief constructor
103  * @param[in] tmpParent temporal FXFrame parent so that we can add items to view area in the desired order
104  * @param[in] actualParent FXFrame parent of GNEViewNet
105  * @param[in] app main windows
106  * @param[in] viewParent viewParent of this viewNet
107  * @param[in] net traffic net
108  * @param[in] undoList pointer to UndoList modul
109  * @param[in] glVis a reference to GLVisuals
110  * @param[in] share a reference to FXCanvas
111  * @param[in] toolbar A reference to the parents toolbar
112  */
113  GNEViewNet(FXComposite* tmpParent, FXComposite* actualParent, GUIMainWindow& app,
114  GNEViewParent* viewParent, GNENet* net, GNEUndoList* undoList,
115  FXGLVisual* glVis, FXGLCanvas* share, FXToolBar* toolBar);
116 
118  virtual ~GNEViewNet();
119 
121  virtual void buildViewToolBars(GUIGlChildWindow&);
122 
124  bool setColorScheme(const std::string& name);
125 
127  void buildColorRainbow(GUIColorScheme& scheme, int active, GUIGlObjectType objectType);
128 
132  long onLeftBtnPress(FXObject*, FXSelector, void*);
133 
135  long onLeftBtnRelease(FXObject*, FXSelector, void*);
136 
138  long onRightBtnPress(FXObject*, FXSelector, void*);
139 
141  long onRightBtnRelease(FXObject*, FXSelector, void*);
142 
144  long onMouseMove(FXObject*, FXSelector, void*);
145 
147  long onKeyPress(FXObject* o, FXSelector sel, void* data);
148 
150  long onKeyRelease(FXObject* o, FXSelector sel, void* data);
152 
156  long onCmdSetModeCreateEdge(FXObject*, FXSelector, void*);
157 
159  long onCmdSetModeMove(FXObject*, FXSelector, void*);
160 
162  long onCmdSetModeDelete(FXObject*, FXSelector, void*);
163 
165  long onCmdSetModeInspect(FXObject*, FXSelector, void*);
166 
168  long onCmdSetModeSelect(FXObject*, FXSelector, void*);
169 
171  long onCmdSetModeConnect(FXObject*, FXSelector, void*);
172 
174  long onCmdSetModeTLS(FXObject*, FXSelector, void*);
175 
177  long onCmdSetModeAdditional(FXObject*, FXSelector, void*);
178 
180  long onCmdSetModeCrossing(FXObject*, FXSelector, void*);
181 
183  long onCmdSetModePolygon(FXObject*, FXSelector, void*);
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 onCmdSetEdgeEndpoint(FXObject*, FXSelector, void*);
200 
202  long onCmdResetEdgeEndpoint(FXObject*, FXSelector, void*);
203 
205  long onCmdStraightenEdges(FXObject*, FXSelector, void*);
206 
208  long onCmdSmoothEdges(FXObject*, FXSelector, void*);
209 
211  long onCmdStraightenEdgesElevation(FXObject*, FXSelector, void*);
212 
214  long onCmdSmoothEdgesElevation(FXObject*, FXSelector, void*);
215 
217  long onCmdSimplifyShape(FXObject*, FXSelector, void*);
218 
220  long onCmdDeleteGeometryPoint(FXObject*, FXSelector, void*);
221 
223  long onCmdClosePolygon(FXObject*, FXSelector, void*);
224 
226  long onCmdOpenPolygon(FXObject*, FXSelector, void*);
227 
229  long onCmdSetFirstGeometryPoint(FXObject*, FXSelector, void*);
230 
232  long onCmdTransformPOI(FXObject*, FXSelector, void*);
233 
235  long onCmdDuplicateLane(FXObject*, FXSelector, void*);
236 
238  long onCmdRestrictLaneSidewalk(FXObject*, FXSelector typeOfTransformation, void*);
239 
241  long onCmdRestrictLaneBikelane(FXObject*, FXSelector typeOfTransformation, void*);
242 
244  long onCmdRestrictLaneBuslane(FXObject*, FXSelector typeOfTransformation, void*);
245 
247  long onCmdAddRestrictedLaneSidewalk(FXObject*, FXSelector typeOfTransformation, void*);
248 
250  long onCmdAddRestrictedLaneBikelane(FXObject*, FXSelector typeOfTransformation, void*);
251 
253  long onCmdAddRestrictedLaneBuslane(FXObject*, FXSelector typeOfTransformation, void*);
254 
256  long onCmdRemoveRestrictedLaneSidewalk(FXObject*, FXSelector typeOfTransformation, void*);
257 
259  long onCmdRemoveRestrictedLaneBikelane(FXObject*, FXSelector typeOfTransformation, void*);
260 
262  long onCmdRemoveRestrictedLaneBuslane(FXObject*, FXSelector typeOfTransformation, void*);
263 
265  long onCmdOpenAdditionalDialog(FXObject*, FXSelector, void*);
266 
268  long onCmdEditJunctionShape(FXObject*, FXSelector, void*);
269 
271  long onCmdReplaceJunction(FXObject*, FXSelector, void*);
272 
274  long onCmdClearConnections(FXObject*, FXSelector, void*);
275 
277  long onCmdResetConnections(FXObject*, FXSelector, void*);
278 
280  long onCmdEditConnectionShape(FXObject*, FXSelector, void*);
281 
283  long onCmdEditCrossingShape(FXObject*, FXSelector, void*);
284 
286  long onCmdToogleShowConnection(FXObject*, FXSelector, void*);
287 
289  long onCmdToogleSelectEdges(FXObject*, FXSelector, void*);
290 
292  long onCmdToogleShowBubbles(FXObject*, FXSelector, void*);
293 
295  long onCmdShowGrid(FXObject*, FXSelector, void*);
296 
300  void setEditModeFromHotkey(FXushort selid);
301 
303  void abortOperation(bool clearSelection = true);
304 
306  void hotkeyDel();
307 
309  void hotkeyEnter();
310 
312  void hotkeyFocusFrame();
313 
315  GNEViewParent* getViewParent() const;
316 
318  GNENet* getNet() const;
319 
321  GNEUndoList* getUndoList() const;
322 
325 
327  bool showLockIcon() const;
328 
330  void setStatusBarText(const std::string& text);
331 
333  bool selectEdges();
334 
336  bool showConnections();
337 
339  bool autoSelectNodes();
340 
342  void setSelectionScaling(double selectionScale);
343 
345  void updateControls();
346 
348  bool changeAllPhases() const;
349 
351  bool showJunctionAsBubbles() const;
352 
354  void startEditCustomShape(GNENetElement* element, const PositionVector& shape, bool fill);
355 
357  void stopEditCustomShape();
358 
360  void begingMoveSelection(GNEAttributeCarrier* originAC, const Position& originPosition);
361 
363  void moveSelection(const Position& offset);
364 
366  void finishMoveSelection();
367 
368 protected:
371 
373  int doPaintGL(int mode, const Boundary& bound);
374 
376  void doInit();
377 
378 private:
381 
384 
387 
390 
393 
396 
399 
402 
404  FXMenuCheck* myMenuCheckShowGrid;
405 
408 
411 
413  // @{
416 
418  FXMenuCheck* myChainCreateEdge;
420  // @}
421 
423  // @{
426 
429 
432  // @}
433 
435  // @{
438 
441 
444 
447 
450 
453 
456 
459 
462 
466 
469 
472 
475 
478 
480 
481  std::map<GNEJunction*, Position> myOriginPositionOfMovedJunctions;
482 
484  std::map<GNEEdge*, PositionVector> myOriginShapesMovedEntireShapes;
485 
486  struct movingEdges {
488  int index;
490  bool inverted;
491  };
492 
493  std::map<GNEEdge*, movingEdges> myOriginShapesMovedPartialShapes;
494 
495 
496  // @}
497 
499  // @{
502 
505 
508  // @}
509 
511  FXToolBar* myToolbar;
512 
517 
520 
523 
526 
529 
532 
535 
538 
541 
545 
550 
554 
557 
562 
566 
571 
574 
578 
580  void setEditMode(EditMode mode);
581 
583  void buildEditModeControls();
584 
587 
590 
592  void deleteSelectedLanes();
593 
595  void deleteSelectedEdges();
596 
599 
602 
605 
608 
610  bool mergeJunctions(GNEJunction* moved, const Position& oldPos);
611 
614 
617 
620 
623 
626 
628  std::set<GNEEdge*> getEdgesAtPopupPosition();
629 
632 
635 
638 
641 
643  bool restrictLane(SUMOVehicleClass vclass);
644 
646  bool addRestrictedLane(SUMOVehicleClass vclass);
647 
650 
652  void processClick(FXEvent* e, void* data);
653 
655  GNEViewNet(const GNEViewNet&) = delete;
656 
658  GNEViewNet& operator=(const GNEViewNet&) = delete;
659 };
660 
661 
662 #endif
663 
664 /****************************************************************************/
665 
void startEditCustomShape(GNENetElement *element, const PositionVector &shape, bool fill)
start edit custom shape
Definition: GNEViewNet.cpp:370
long onCmdAddRestrictedLaneSidewalk(FXObject *, FXSelector typeOfTransformation, void *)
Add restricted lane for pedestrians.
void buildColorRainbow(GUIColorScheme &scheme, int active, GUIGlObjectType objectType)
recalibrate color scheme according to the current value range
Definition: GNEViewNet.cpp:281
long onCmdResetEdgeEndpoint(FXObject *, FXSelector, void *)
restore geometry endpoint to node position
GNEViewParent * myViewParent
view parent
Definition: GNEViewNet.h:380
long onCmdRestrictLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to bikes
GNEPOILane * getPOILaneAtPopupPosition()
try to retrieve a POILane at popup position
SumoXMLTag
Numbers representing SUMO-XML - element names.
bool selectEdges()
whether inspection, selection and inversion should apply to edges or to lanes
Definition: GNEViewNet.cpp:328
GNEViewNet & operator=(const GNEViewNet &)=delete
Invalidated assignment operator.
PositionVector myMovingOriginalShape2
Definition: GNEViewNet.h:465
void abortOperation(bool clearSelection=true)
abort current edition operation
void deleteSelectedJunctions()
delete all currently selected junctions
bool setColorScheme(const std::string &name)
set color scheme
Definition: GNEViewNet.cpp:265
long onCmdSetModeAdditional(FXObject *, FXSelector, void *)
called when user press the button for additional mode
mode for moving things
Definition: GNEViewNet.h:52
bool restrictLane(SUMOVehicleClass vclass)
restrict lane
Position myMovingReference
variable for calculating moving offset (Used when user doesn&#39;t click exactly over the center of shape...
Definition: GNEViewNet.h:458
GUIGlObjectType
long onCmdDuplicateLane(FXObject *, FXSelector, void *)
duplicate selected lane
long onRightBtnPress(FXObject *, FXSelector, void *)
called when user press mouse&#39;s right button
bool myShowConnections
whether show connections has been activated once
Definition: GNEViewNet.h:407
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
StringBijection< EditMode > myEditModeNames
since we cannot switch on strings we map the mode names to an enum
Definition: GNEViewNet.h:549
long onMouseMove(FXObject *, FXSelector, void *)
called when user moves mouse
GNEViewNet()
FOX needs this.
Definition: GNEViewNet.h:370
bool mySelectEdges
flag to check if select edges is enabled
Definition: GNEViewNet.h:410
long onCmdSetModeSelect(FXObject *, FXSelector, void *)
called when user press the button for select mode
int myTestingHeight
Height of viewNet in testing mode.
Definition: GNEViewNet.h:576
void hotkeyFocusFrame()
handle focus frame keypress
FXMenuCheck * myMenuCheckShowGrid
show grid button
Definition: GNEViewNet.h:404
void stopEditCustomShape()
edit edit shape
Definition: GNEViewNet.cpp:384
GNEPOILane * myPoiLaneToMove
the poiLane which is being moved
Definition: GNEViewNet.h:452
FXMenuCheck * myChainCreateEdge
whether the endpoint for a created edge should be set as the new source
Definition: GNEViewNet.h:418
mode for deleting things
Definition: GNEViewNet.h:54
Definition: GNEPOI.h:46
std::set< GNEEdge * > getEdgesAtPopupPosition()
try to retrieve multiple edges at popup position
long onCmdSplitEdge(FXObject *, FXSelector, void *)
split edge at cursor position
long onCmdToogleSelectEdges(FXObject *, FXSelector, void *)
toogle selet edges
GNEViewParent * getViewParent() const
get the net object
std::map< GNEEdge *, movingEdges > myOriginShapesMovedPartialShapes
Definition: GNEViewNet.h:493
void setEditMode(EditMode mode)
set edit mode
MFXCheckableButton * myEditModeSelect
chekable button for edit mode select
Definition: GNEViewNet.h:528
long onCmdOpenPolygon(FXObject *, FXSelector, void *)
open closed polygon
Position mySelCorner2
second corner of the rectangle-selection
Definition: GNEViewNet.h:507
mode for editing tls
Definition: GNEViewNet.h:62
GNEAdditional * getAdditionalAtPopupPosition()
try to retrieve a additional at popup position
MFXCheckableButton * myEditModeMove
chekable button for edit mode move
Definition: GNEViewNet.h:519
MFXCheckableButton * myEditModeDelete
chekable button for edit mode delete
Definition: GNEViewNet.h:522
A NBNetBuilder extended by visualisation and editing capabilities.
Definition: GNENet.h:91
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
Definition: GNELane.h:53
long onCmdStraightenEdgesElevation(FXObject *, FXSelector, void *)
interpolate z values linear between junctions
GNEPOI * myPoiToMove
the poi which is being moved
Definition: GNEViewNet.h:449
void setEditModeFromHotkey(FXushort selid)
sets edit mode (from hotkey)
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when user press a key
long onCmdSetEdgeEndpoint(FXObject *, FXSelector, void *)
set non-default geometry endpoint
long onCmdEditConnectionShape(FXObject *, FXSelector, void *)
edit connection shape
PositionVector myMovingOriginalShape
Shape of elements before moving (needed for commmit shape changes)
Definition: GNEViewNet.h:464
PositionVector myMovingOriginalShapenOppositeEdge
Definition: GNEViewNet.h:474
void moveSelection(const Position &offset)
move selection
Definition: GNEViewNet.cpp:491
int myMovingIndexShape
current index of shape that are being moved
Definition: GNEViewNet.h:468
long onCmdResetConnections(FXObject *, FXSelector, void *)
reset junction connections
void updateControls()
update control contents after undo/redo or recompute
EditMode myPreviousEditMode
the previous edit mode before edit junction&#39;s shapes
Definition: GNEViewNet.h:564
std::map< GNEJunction *, Position > myOriginPositionOfMovedJunctions
Selected Junctions that are being moved.
Definition: GNEViewNet.h:481
FXMenuCheck * myMenuCheckChangeAllPhases
menu check to set change all phases
Definition: GNEViewNet.h:401
GNEEdge * myEdgeToMove
the edge of which geometry is being moved
Definition: GNEViewNet.h:440
A class that stores a 2D geometrical boundary.
Definition: Boundary.h:47
A single child window which contains a view of the simulation area.
Definition: GNEViewParent.h:72
bool mergeJunctions(GNEJunction *moved, const Position &oldPos)
try to merge moved junction with another junction in that spot return true if merging did take place ...
bool changeAllPhases() const
change all phases
Definition: GNEViewNet.cpp:358
long onCmdSetModeCrossing(FXObject *, FXSelector, void *)
called when user press the button for crossing mode
void buildEditModeControls()
adds controls for setting the edit mode
FXMenuCheck * myMenuCheckMoveElevation
apply movement to elevation
Definition: GNEViewNet.h:431
GNEUndoList * getUndoList() const
get the undoList object
long onLeftBtnPress(FXObject *, FXSelector, void *)
Definition: GNEViewNet.cpp:645
long onRightBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse&#39;s right button
long onCmdSimplifyShape(FXObject *, FXSelector, void *)
simply shape of current polygon
void begingMoveSelection(GNEAttributeCarrier *originAC, const Position &originPosition)
begin move selection
Definition: GNEViewNet.cpp:398
bool showLockIcon() const
check if lock icon should be visible
long onCmdRemoveRestrictedLaneBuslane(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for bus
void deleteSelectedConnections()
delete all currently selected connections
mode for inspecting object attributes
Definition: GNEViewNet.h:56
FXMenuCheck * myMenuCheckShowConnections
menu check to show connections
Definition: GNEViewNet.h:395
void deleteSelectedCrossings()
delete all currently selected crossings
GNEAdditional * myAdditionalToMove
the stoppingPlace element which shape is being moved
Definition: GNEViewNet.h:455
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
Definition: GNECrossing.h:51
virtual ~GNEViewNet()
destructor
Definition: GNEViewNet.cpp:212
GNEEdge * getEdgeAtPopupPosition()
try to retrieve an edge at popup position
long onCmdSetModeMove(FXObject *, FXSelector, void *)
called when user press the button for move mode
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:45
GNEPOI * getPOIAtPopupPosition()
try to retrieve a POILane at popup position
A list of positions.
long onCmdReplaceJunction(FXObject *, FXSelector, void *)
replace node by geometry
long onCmdClearConnections(FXObject *, FXSelector, void *)
clear junction connections
FXMenuCheck * myMenuCheckSelectEdges
menu check to select only edges
Definition: GNEViewNet.h:392
FXToolBar * myToolbar
a reference to the toolbar in myParent
Definition: GNEViewNet.h:511
long onCmdToogleShowConnection(FXObject *, FXSelector, void *)
toogle show connections
MFXCheckableButton * myEditModeCreateEdge
Definition: GNEViewNet.h:516
bool showJunctionAsBubbles() const
return true if junction must be showed as bubbles
Definition: GNEViewNet.cpp:364
bool removeRestrictedLane(SUMOVehicleClass vclass)
remove restricted lane
long onCmdSplitEdgeBidi(FXObject *, FXSelector, void *)
split edge at cursor position
bool autoSelectNodes()
whether to autoselect nodes or to lanes
Definition: GNEViewNet.cpp:346
MFXCheckableButton * myEditModeTrafficLight
chekable button for edit mode traffic light
Definition: GNEViewNet.h:534
long onCmdRemoveRestrictedLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for bikes
mode for selecting objects
Definition: GNEViewNet.h:58
GNEJunction * myJunctionToMove
the Junction to be moved.
Definition: GNEViewNet.h:437
MFXCheckableButton * myEditModeAdditional
chekable button for edit mode additional
Definition: GNEViewNet.h:537
std::map< GNEEdge *, PositionVector > myOriginShapesMovedEntireShapes
Selected Edges that are being moved < Edge, PositionVector >
Definition: GNEViewNet.h:484
int myTestingWidth
Width of viewNet in testing mode.
Definition: GNEViewNet.h:573
Position mySelCorner1
firstcorner of the rectangle-selection
Definition: GNEViewNet.h:504
long onCmdRestrictLaneBuslane(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to buslanes
GNEConnection * getConnectionAtPopupPosition()
try to retrieve a connection at popup position
EditMode
Definition: GNEViewNet.h:46
void doInit()
called after some features are already initialized
Definition: GNEViewNet.cpp:216
placeholder mode
Definition: GNEViewNet.h:48
FXMenuCheck * myAutoCreateOppositeEdge
Definition: GNEViewNet.h:419
void setSelectionScaling(double selectionScale)
set selection scaling
Definition: GNEViewNet.cpp:352
EditMode getCurrentEditMode() const
get the current edit mode
MFXCheckableButton * myEditModeInspect
chekable button for edit mode inspect
Definition: GNEViewNet.h:525
FXMenuCheck * myMenuCheckExtendToEdgeNodes
menu check to extend to edge nodes
Definition: GNEViewNet.h:398
long onCmdClosePolygon(FXObject *, FXSelector, void *)
close opened polygon
A road/street connecting two junctions (netedit-version)
Definition: GNEEdge.h:56
GNEEdge * myOppositeEdgeToMove
the edge of which geometry is being moved
Definition: GNEViewNet.h:443
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when user release a key
GNEJunction * getJunctionAtPopupPosition()
try to retrieve a junction at popup position
long onCmdSmoothEdgesElevation(FXObject *, FXSelector, void *)
smooth elevation with regard to adjoining edges
Mode for editing Polygons.
Definition: GNEViewNet.h:68
FXMenuCheck * myMenuCheckWarnAboutMerge
whether we should warn about merging junctions
Definition: GNEViewNet.h:425
long onCmdDeleteGeometryPoint(FXObject *, FXSelector, void *)
delete the closes geometry point
long onCmdAddRestrictedLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
Add restricted lane for bikes.
FXMenuCheck * myMenuCheckShowBubbleOverJunction
show connection as buuble in "Move" mode.
Definition: GNEViewNet.h:428
An Element which don&#39;t belongs to GNENet but has influency in the simulation.
Definition: GNEAdditional.h:59
MFXCheckableButton * myEditModeConnection
chekable button for edit mode connection
Definition: GNEViewNet.h:531
bool showConnections()
show connections over junctions
Definition: GNEViewNet.cpp:334
long onCmdReverseEdge(FXObject *, FXSelector, void *)
reverse edge
long onCmdSetModeTLS(FXObject *, FXSelector, void *)
called when user press the button for traffic lights mode
int doPaintGL(int mode, const Boundary &bound)
do paintGL
Definition: GNEViewNet.cpp:536
GNEJunction * myCreateEdgeSource
source junction for new edge 0 if no edge source is selected an existing (or newly created) junction ...
Definition: GNEViewNet.h:415
void deleteSelectedShapes(SumoXMLTag shapeTag=SUMO_TAG_NOTHING)
delete all currently selected shapes
long onCmdOpenAdditionalDialog(FXObject *, FXSelector, void *)
open additional dialog
long onCmdAddRestrictedLaneBuslane(FXObject *, FXSelector typeOfTransformation, void *)
Add restricted lane for buses.
long onCmdRemoveRestrictedLaneSidewalk(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for pedestrians
void deleteSelectedAdditionals()
delete all currently selected additionals
GNECrossing * getCrossingAtPopupPosition()
try to retrieve a crossing at popup position
long onCmdSmoothEdges(FXObject *, FXSelector, void *)
smooth geometry
GNENet * getNet() const
get the net object
long onCmdRestrictLaneSidewalk(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to pedestrians
void updateModeSpecificControls()
updates mode specific controls
MFXCheckableButton * myEditModeCrossing
chekable button for edit mode crossing
Definition: GNEViewNet.h:540
long onCmdEditCrossingShape(FXObject *, FXSelector, void *)
edit crossing shape
void setStatusBarText(const std::string &text)
set staturBar text
Definition: GNEViewNet.cpp:322
long onCmdSetModeConnect(FXObject *, FXSelector, void *)
called when user press the button for connect mode
Mode for editing additionals.
Definition: GNEViewNet.h:64
StringBijection< EditMode > myEditAdditionalModeNames
stringBijection for edit additional mode names
Definition: GNEViewNet.h:552
virtual void buildViewToolBars(GUIGlChildWindow &)
builds the view toolbars
Definition: GNEViewNet.cpp:220
Position myMovingOriginalPositionOppositeEdge
Definition: GNEViewNet.h:471
long onCmdSetModePolygon(FXObject *, FXSelector, void *)
called when user press the button for polygon mode
Mode for editing crossing.
Definition: GNEViewNet.h:66
long onCmdStraightenEdges(FXObject *, FXSelector, void *)
makes selected edges straight
long onCmdSetModeInspect(FXObject *, FXSelector, void *)
called when user press the button for inspect mode
void finishMoveSelection()
finish moving selection
Definition: GNEViewNet.cpp:510
mode for connecting lanes
Definition: GNEViewNet.h:60
bool myMovingSelection
whether a selection is being moved
Definition: GNEViewNet.h:477
mode for creating new edges
Definition: GNEViewNet.h:50
long onCmdSetFirstGeometryPoint(FXObject *, FXSelector, void *)
set as first geometry point the closes geometry point
GNELane * getLaneAtPopupPosition()
try to retrieve a lane at popup position
long onCmdToogleShowBubbles(FXObject *, FXSelector, void *)
toogle show bubbles
long onCmdTransformPOI(FXObject *, FXSelector, void *)
Transform POI to POILane, and viceversa.
void hotkeyDel()
handle del keypress
long onCmdAddReversedEdge(FXObject *, FXSelector, void *)
add reversed edge
GNEPoly * myEditShapePoly
Definition: GNEViewNet.h:561
bool myAmInRectSelect
whether we have started rectangle-selection
Definition: GNEViewNet.h:501
GNENet * myNet
Pointer to current net. (We are not responsible for deletion)
Definition: GNEViewNet.h:383
void hotkeyEnter()
handle enter keypress
void deleteSelectedLanes()
delete all currently selected lanes
long onCmdEditJunctionShape(FXObject *, FXSelector, void *)
edit junction shape
long onLeftBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse&#39;s left button
Definition: GNEViewNet.cpp:998
long onCmdShowGrid(FXObject *, FXSelector, void *)
toogle show grid
void processClick(FXEvent *e, void *data)
Auxiliar function used by onLeftBtnPress(...)
long onCmdSetModeCreateEdge(FXObject *, FXSelector, void *)
long onCmdSetModeDelete(FXObject *, FXSelector, void *)
called when user press the button for delete mode
void deleteSelectedEdges()
delete all currently selected edges
GNEUndoList * myUndoList
a reference to the undolist maintained in the application
Definition: GNEViewNet.h:556
EditMode myEditMode
the current edit mode
Definition: GNEViewNet.h:386
bool addRestrictedLane(SUMOVehicleClass vclass)
add restricted lane
MFXCheckableButton * myEditModePolygon
chekable button for edit mode polygon
Definition: GNEViewNet.h:543
bool myTestingMode
Definition: GNEViewNet.h:570
GNEFrame * myCurrentFrame
the current frame
Definition: GNEViewNet.h:389
Position myMovingOriginalPosition
original Position of element before moving (needed for commmit position changes)
Definition: GNEViewNet.h:461
PositionVector originalShape
Definition: GNEViewNet.h:487
GNEPoly * myPolyToMove
the poly of which geometry is being moved
Definition: GNEViewNet.h:446
GNEPoly * getPolygonAtPopupPosition()
try to retrieve a polygon at popup position