115 FXGLVisual* glVis, FXGLCanvas* share, FXToolBar* toolBar);
147 long onKeyPress(FXObject* o, FXSelector sel,
void* data);
150 long onKeyRelease(FXObject* o, FXSelector sel,
void* data);
void startEditCustomShape(GNENetElement *element, const PositionVector &shape, bool fill)
start edit custom shape
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
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
GNEViewNet & operator=(const GNEViewNet &)=delete
Invalidated assignment operator.
PositionVector myMovingOriginalShape2
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 restrictLane(SUMOVehicleClass vclass)
restrict lane
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
void stopEditCustomShape()
edit edit shape
GNEPOILane * myPoiLaneToMove
the poiLane which is being moved
FXMenuCheck * myChainCreateEdge
whether the endpoint for a created edge should be set as the new source
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
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
GNEAdditional * getAdditionalAtPopupPosition()
try to retrieve a additional at popup position
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.
long onCmdStraightenEdgesElevation(FXObject *, FXSelector, void *)
interpolate z values linear between junctions
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
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)
PositionVector myMovingOriginalShapenOppositeEdge
void moveSelection(const Position &offset)
move selection
int myMovingIndexShape
current index of shape that are being moved
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's shapes
std::map< GNEJunction *, Position > myOriginPositionOfMovedJunctions
Selected Junctions that are being moved.
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.
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
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
GNEUndoList * getUndoList() const
get the undoList object
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
void begingMoveSelection(GNEAttributeCarrier *originAC, const Position &originPosition)
begin move selection
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
FXMenuCheck * myMenuCheckShowConnections
menu check to show connections
void deleteSelectedCrossings()
delete all currently selected crossings
GNEAdditional * myAdditionalToMove
the stoppingPlace element which shape is being moved
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
virtual ~GNEViewNet()
destructor
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.
GNEPOI * getPOIAtPopupPosition()
try to retrieve a POILane at popup position
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
FXToolBar * myToolbar
a reference to the toolbar in myParent
long onCmdToogleShowConnection(FXObject *, FXSelector, void *)
toogle show connections
MFXCheckableButton * myEditModeCreateEdge
Position originalPosition
bool showJunctionAsBubbles() const
return true if junction must be showed as bubbles
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
std::map< GNEEdge *, PositionVector > myOriginShapesMovedEntireShapes
Selected Edges that are being moved < Edge, PositionVector >
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
GNEConnection * getConnectionAtPopupPosition()
try to retrieve a connection at popup position
void doInit()
called after some features are already initialized
FXMenuCheck * myAutoCreateOppositeEdge
void setSelectionScaling(double selectionScale)
set selection scaling
EditMode getCurrentEditMode() const
get the current edit mode
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)
GNEEdge * myOppositeEdgeToMove
the edge of which geometry is being moved
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.
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
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 ...
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
long onCmdEditCrossingShape(FXObject *, FXSelector, void *)
edit crossing shape
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
Position myMovingOriginalPositionOppositeEdge
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
void finishMoveSelection()
finish moving selection
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
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
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)
PositionVector originalShape
GNEPoly * myPolyToMove
the poly of which geometry is being moved
GNEPoly * getPolygonAtPopupPosition()
try to retrieve a polygon at popup position