111 FXGLVisual* glVis, FXGLCanvas* share, FXToolBar* toolBar);
146 long onKeyPress(FXObject* o, FXSelector sel,
void* data);
149 long onKeyRelease(FXObject* o, FXSelector sel,
void* data);
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
long onCmdResetEdgeEndpoint(FXObject *, FXSelector, void *)
restore geometry endpoint to node position
GNEViewParent * myViewParent
view parent
EditMode getCurrentEditMode() const
get the current edit mode
long onCmdRestrictLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to bikes
bool showLockIcon() const
check if lock icon should be visible
bool selectEdges()
whether inspection, selection and inversion should apply to edges or to lanes
GNEJunction * getJunctionAtCursorPosition(Position &pos)
try to retrieve a junction at the given position
GNEViewNet & operator=(const GNEViewNet &)=delete
Invalidated assignment operator.
Position myPopupSpot
Poput spot.
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
long onCmdSetModeAdditional(FXObject *, FXSelector, void *)
called when user press the button for additional mode
bool changeAllPhases() const
change all phases
bool restrictLane(SUMOVehicleClass vclass)
restrict lane
void stopEditShapeJunction()
edit edit junction shape
void markPopupPosition()
store the position where a popup-menu was requested
Position myMovingReference
variable for calculating moving offset (Used when user doesn't click exactly over the center of shape...
long onCmdDuplicateLane(FXObject *, FXSelector, void *)
duplicate selected lane
long onRightBtnPress(FXObject *, FXSelector, void *)
called when user press mouse's right button
bool myShowConnections
whether show connections has been activated once
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
long onMouseMove(FXObject *, FXSelector, void *)
called when user moves mouse
GNEViewNet()
FOX needs this.
bool mySelectEdges
flag to check if select edges is enabled
long onCmdSetModeSelect(FXObject *, FXSelector, void *)
called when user press the button for select mode
int myTestingHeight
Height of viewNet in testing mode.
void hotkeyFocusFrame()
handle focus frame keypress
FXMenuCheck * myMenuCheckShowGrid
show grid button
FXMenuCheck * myChainCreateEdge
whether the endpoint for a created edge should be set as the new source
long onCmdSplitEdge(FXObject *, FXSelector, void *)
split edge at cursor position
long onCmdToogleSelectEdges(FXObject *, FXSelector, void *)
toogle selet edges
void setEditMode(EditMode mode)
set edit mode
MFXCheckableButton * myEditModeSelect
chekable button for edit mode select
long onCmdOpenPolygon(FXObject *, FXSelector, void *)
open closed polygon
Position mySelCorner2
second corner of the rectangle-selection
MFXCheckableButton * myEditModeMove
chekable button for edit mode move
MFXCheckableButton * myEditModeDelete
chekable button for edit mode delete
A NBNetBuilder extended by visualisation and editing capabilities.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
GNEPOI * myPoiToMove
the poi which is being moved
void setEditModeFromHotkey(FXushort selid)
sets edit mode (from hotkey)
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when user press a key
void deleteSelectedPolygons()
delete all currently selected Polygons
long onCmdSetEdgeEndpoint(FXObject *, FXSelector, void *)
set non-default geometry endpoint
PositionVector myMovingOriginalShape
Shape of elements before moving (needed for commmit shape changes)
GNEViewParent * getViewParent() const
get the net object
int myMovingIndexShape
current index of shape that are being moved
void updateControls()
update control contents after undo/redo or recompute
EditMode myPreviousEditMode
the previous edit mode before edit junction's shapes
FXMenuCheck * myMenuCheckChangeAllPhases
menu check to set change all phases
GNEEdge * myEdgeToMove
the edge of which geometry is being moved
A class that stores a 2D geometrical boundary.
A single child window which contains a view of the simulation area.
GNEPoly * myEditJunctionShapePoly
GNEUndoList * getUndoList() const
get the undoList object
long onCmdSetModeCrossing(FXObject *, FXSelector, void *)
called when user press the button for crossing mode
void buildEditModeControls()
adds controls for setting the edit mode
std::set< GNEEdge * > getEdgesAtCursorPosition(Position &pos)
try to retrieve multiple edges at the given position
long onLeftBtnPress(FXObject *, FXSelector, void *)
long onRightBtnRelease(FXObject *, FXSelector, void *)
called when user releases mouse's right button
long onCmdSimplifyShape(FXObject *, FXSelector, void *)
simply shape of current polygon
long onCmdRemoveRestrictedLaneBuslane(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for bus
void deleteSelectedConnections()
delete all currently selected connections
mode for inspecting object attributes
FXMenuCheck * myMenuCheckShowConnections
menu check to show connections
void deleteSelectedCrossings()
delete all currently selected crossings
GNEAdditional * myAdditionalToMove
the stoppingPlace element which shape is being moved
std::map< GNEJunction *, Position > myOriginPostionOfMovedJunctions
Junctions that are being moved.
virtual ~GNEViewNet()
destructor
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.
long onCmdReplaceJunction(FXObject *, FXSelector, void *)
replace node by geometry
FXMenuCheck * myMenuCheckSelectEdges
menu check to select only edges
FXToolBar * myToolbar
a reference to the toolbar in myParent
long onCmdToogleShowConnection(FXObject *, FXSelector, void *)
toogle show connections
MFXCheckableButton * myEditModeCreateEdge
void deleteSelectedPOIs()
delete all currently selected POIs
long onCmdRevertRestriction(FXObject *, FXSelector, void *)
revert transformation
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
MFXCheckableButton * myEditModeTrafficLight
chekable button for edit mode traffic light
long onCmdRemoveRestrictedLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for bikes
mode for selecting objects
GNEJunction * myJunctionToMove
the Junction to be moved.
MFXCheckableButton * myEditModeAdditional
chekable button for edit mode additional
GNELane * getLaneAtCurserPosition(Position &pos)
try to retrieve a lane at the given position
int myTestingWidth
Width of viewNet in testing mode.
Position mySelCorner1
firstcorner of the rectangle-selection
long onCmdRestrictLaneBuslane(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to buslanes
void doInit()
called after some features are already initialized
FXMenuCheck * myAutoCreateOppositeEdge
void setSelectionScaling(double selectionScale)
set selection scaling
bool mergeJunctions(GNEJunction *moved)
try to merge moved junction with another junction in that spot return true if merging did take place ...
MFXCheckableButton * myEditModeInspect
chekable button for edit mode inspect
FXMenuCheck * myMenuCheckExtendToEdgeNodes
menu check to extend to edge nodes
long onCmdClosePolygon(FXObject *, FXSelector, void *)
close opened polygon
A road/street connecting two junctions (netedit-version)
long onKeyRelease(FXObject *o, FXSelector sel, void *data)
called when user release a key
Mode for editing Polygons.
FXMenuCheck * myMenuCheckWarnAboutMerge
whether we should warn about merging junctions
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.
An Element which don't belongs to GNENet but has influency in the simulation.
MFXCheckableButton * myEditModeConnection
chekable button for edit mode connection
bool showConnections()
show connections over junctions
long onCmdReverseEdge(FXObject *, FXSelector, void *)
reverse edge
long onCmdSetModeTLS(FXObject *, FXSelector, void *)
called when user press the button for traffic lights mode
GNEPoly * getPolygonAtCursorPosition(Position &pos)
try to retrieve a Polygon at the given position
int doPaintGL(int mode, const Boundary &bound)
do paintGL
GNEJunction * myCreateEdgeSource
source junction for new edge 0 if no edge source is selected an existing (or newly created) junction ...
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
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
void setStatusBarText(const std::string &text)
set staturBar text
long onCmdSetModeConnect(FXObject *, FXSelector, void *)
called when user press the button for connect mode
Mode for editing additionals.
StringBijection< EditMode > myEditAdditionalModeNames
stringBijection for edit additional mode names
virtual void buildViewToolBars(GUIGlChildWindow &)
builds the view toolbars
long onCmdSetModePolygon(FXObject *, FXSelector, void *)
called when user press the button for polygon mode
Mode for editing crossing.
long onCmdStraightenEdges(FXObject *, FXSelector, void *)
makes selected edges straight
long onCmdSetModeInspect(FXObject *, FXSelector, void *)
called when user press the button for inspect mode
mode for connecting lanes
bool myMovingSelection
whether a selection is being moved
mode for creating new edges
long onCmdSetFirstGeometryPoint(FXObject *, FXSelector, void *)
set as first geometry point the closes geometry point
long onDoubleClicked(FXObject *, FXSelector, void *)
called when user press mouse's left button two times
long onCmdToogleShowBubbles(FXObject *, FXSelector, void *)
toogle show bubbles
GNEEdge * getEdgeAtCursorPosition(Position &pos)
try to retrieve an edge at the given position
bool showJunctionAsBubbles() const
return true if junction must be showed as bubbles
void hotkeyDel()
handle del keypress
void startEditShapeJunction(GNEJunction *junction)
start edit junction shape
long onCmdAddReversedEdge(FXObject *, FXSelector, void *)
add reversed edge
bool myAmInRectSelect
whether we have started rectangle-selection
GNENet * myNet
Pointer to current net. (We are not responsible for deletion)
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's left button
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
EditMode myEditMode
the current edit mode
bool addRestrictedLane(SUMOVehicleClass vclass)
add restricted lane
MFXCheckableButton * myEditModePolygon
chekable button for edit mode polygon
GNEFrame * myCurrentFrame
the current frame
Position myMovingOriginalPosition
original Position of element before moving (needed for commmit position changes)
GNEPoly * myPolyToMove
the poly of which geometry is being moved