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);
425 movingStartPos(false),
427 movingIndexShape(-1) {}
455 attributeCarrier(nullptr),
468 void updateObjectUnderCursor(
GUIGlID glIDObject,
GNEPoly* editedPolyShape, FXEvent* ev);
471 void swapLane2Edge();
474 bool shiftKeyPressed()
const;
477 bool controlKeyPressed()
const;
527 selectingUsingRectangle(false) {}
530 void processSelection(
GNEViewNet* viewNet,
bool shiftKeyPressed);
542 std::string reportDimensions();
549 testingEnabled(
OptionsCont::getOptions().getBool(
"gui-testing")),
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 *)
change geometry endpoint
GNEViewParent * myViewParent
view parent
FXMenuCheck * getMenuCheckShowGrid() const
get grid button
testingMode myTestingMode
variable used to save variables related with testing mode
GNEPoly * polyToMove
the poly of which geometry is being moved
long onCmdRestrictLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
restrict lane to bikes
GNEEdge * edgeToMove
the edge of which geometry is being moved
const GNEAttributeCarrier * getACUnderCursor() const
get AttributeCarrier under cursor
bool selectEdges()
whether inspection, selection and inversion should apply to edges or to lanes
GNEViewNet & operator=(const GNEViewNet &)=delete
Invalidated assignment operator.
GNEAdditional * additional
additional element
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
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
Mode for editing connection prohibits.
GNEViewNet()
FOX needs this.
MovedItems myMovedItems
variable use to save pointers to moved elements
void beginMoveSelection(GNEAttributeCarrier *originAC, const Position &originPosition)
begin move selection
bool mySelectEdges
flag to check if select edges is enabled
long onCmdSetModeSelect(FXObject *, FXSelector, void *)
called when user press the button for select mode
GUIGlObjectType glType
GUI GL object type.
std::map< GNEEdge *, MovingEdges > myOriginShapesMovedPartialShapes
void hotkeyFocusFrame()
handle focus frame keypress
const GNEAttributeCarrier * myACUnderCursor
current AttributeCarrier under Mouse position
FXMenuCheck * myMenuCheckShowGrid
show grid button
void stopEditCustomShape()
edit edit shape
Position movingReference
variable for calculating moving offset (Used when user doesn't click exactly over the center of shape...
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
GNEShape * shape
shape element (Poly and POIs)
long onCmdToogleSelectEdges(FXObject *, FXSelector, void *)
toogle selet edges
GNEViewParent * getViewParent() const
get the net object
MoveSingleElementValues myMoveSingleElementValues
variable used to save variables related with movement of single elements
Position selectionCorner1
firstcorner of the rectangle-selection
void setEditMode(EditMode mode)
set edit mode
MFXCheckableButton * myEditModeSelect
chekable button for edit mode select
long onCmdOpenPolygon(FXObject *, FXSelector, void *)
open closed polygon
GNEConnection * connection
connection
bool movingStartPos
bool to indicate that startPos are being moved
GNEAdditional * getAdditionalAtPopupPosition()
try to retrieve a additional at popup position
ObjectsUnderCursor myObjectsUnderCursor
variable use to save all pointers to objects under cursor after a click
MFXCheckableButton * myEditModeMove
chekable button for edit mode move
int movingIndexShape
current index of shape that are being moved
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.
PositionVector movingOriginalShape
Shape of elements before moving (needed for commmit shape changes)
long onCmdStraightenEdgesElevation(FXObject *, FXSelector, void *)
interpolate z values linear between junctions
void setEditModeFromHotkey(FXushort selid)
sets edit mode (from hotkey)
long onKeyPress(FXObject *o, FXSelector sel, void *data)
called when user press a key
long onCmdEditConnectionShape(FXObject *, FXSelector, void *)
edit connection shape
ObjectsUnderCursor()
constructor
MFXCheckableButton * myEditModeProhibition
checkable button for edit mode polygon
void moveSelection(const Position &offset)
move selection
PositionVector originalShape
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.
FXEvent * eventInfo
information of event of onLeftBtnPress
FXMenuCheck * myMenuCheckChangeAllPhases
menu check to set change all phases
void deleteSelectedShapes()
delete all currently selected shapes
GNEAdditional * additionalToMove
the stoppingPlace element which shape 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 ...
int testingWidth
Width of viewNet in testing mode.
bool testingEnabled
flag to enable or disable testing mode
FXMenuCheck * myMenuCheckHideConnections
menu check to hide connections in connect mode
bool changeAllPhases() const
change all phases
long onCmdSetModeCrossing(FXObject *, FXSelector, void *)
called when user press the button for crossing mode
SelectingArea mySelectingArea
variable used to save variables related with selecting areas
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
PositionVector movingOriginalShape2
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
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
int testingHeight
Height of viewNet in testing mode.
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
SelectingArea()
default constructor
long onCmdToogleShowConnection(FXObject *, FXSelector, void *)
toogle show connections
MFXCheckableButton * myEditModeCreateEdge
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
long onCmdSetModeProhibition(FXObject *, FXSelector, void *)
called when user press the button for polygon mode
MFXCheckableButton * myEditModeTrafficLight
chekable button for edit mode traffic light
long onCmdRemoveRestrictedLaneBikelane(FXObject *, FXSelector typeOfTransformation, void *)
remove restricted lane for bikes
GNECrossing * crossing
crossing
mode for selecting objects
MFXCheckableButton * myEditModeAdditional
chekable button for edit mode additional
GNEAttributeCarrier * attributeCarrier
attribute carrier
struct used to group all pointers to moved elements
std::map< GNEEdge *, PositionVector > myOriginShapesMovedEntireShapes
Selected Edges that are being moved < Edge, PositionVector >
struct used to group all variables related with selecting using a square or polygon ...
long onCmdEditEdgeEndpoint(FXObject *, FXSelector, void *)
change geometry endpoint
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
struct used to group all variables related with movement of single elements
FXMenuCheck * myAutoCreateOppositeEdge
long onCmdSplitJunction(FXObject *, FXSelector, void *)
split junction into multiple junctions
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)
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.
GNENetElement * netElement
net element
FXMenuCheck * myMenuCheckWarnAboutMerge
whether we should warn about merging junctions
void setACUnderCursor(const GNEAttributeCarrier *AC)
set attributeCarrier under cursor
class used to group all variables related with objects under cursor after a click over view ...
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.
bool selectingUsingRectangle
whether we have started rectangle-selection
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
GNEJunction * junction
junction
long onCmdReverseEdge(FXObject *, FXSelector, void *)
reverse edge
GNEPOI * poiToMove
the poi which is being moved
Position movingOriginalPosition
original Position of element before moving (needed for commmit position changes)
long onCmdSetModeTLS(FXObject *, FXSelector, void *)
called when user press the button for traffic lights mode
struct used to group all variables related with testing
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 ...
A storage for options typed value containers)
long onCmdOpenAdditionalDialog(FXObject *, FXSelector, void *)
open additional dialog
GNEJunction * junctionToMove
the Junction to be moved.
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
Position selectionCorner2
second corner of the rectangle-selection
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
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
Position originalPosition
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
GNENet * myNet
Pointer to current net. (We are not responsible for deletion)
void hotkeyEnter()
handle enter keypress
void deleteSelectedLanes()
delete all currently selected lanes
MoveSingleElementValues()
constructor
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
testingMode()
default constructor
MFXCheckableButton * myEditModePolygon
chekable button for edit mode polygon
GNEFrame * myCurrentFrame
the current frame
GNEPoly * getPolygonAtPopupPosition()
try to retrieve a polygon at popup position