SUMO - Simulation of Urban MObility
GNENet Class Reference

A NBNetBuilder extended by visualisation and editing capabilities. More...

#include <GNENet.h>

Inheritance diagram for GNENet:
Inheritance graph
Collaboration diagram for GNENet:
Collaboration graph

Data Structures

class  GNEChange_ReplaceEdgeInTLS
 class for GNEChange_ReplaceEdgeInTLS More...
 

Public Types

typedef NamedObjectCont< PointOfInterest * > POIs
 
typedef NamedObjectCont< SUMOPolygon * > Polygons
 containers More...
 

Public Member Functions

void addExplicitTurnaround (std::string id)
 add edge id to the list of explicit turnarounds More...
 
bool addPOI (const std::string &id, const std::string &type, const RGBColor &color, double layer, double angle, const std::string &imgFile, const Position &pos, double width, double height, bool ignorePruning=false)
 Builds a POI using the given values and adds it to the container. More...
 
bool addPolygon (const std::string &id, const std::string &type, const RGBColor &color, double layer, double angle, const std::string &imgFile, const PositionVector &shape, bool fill, bool ignorePruning=false)
 Builds a polygon using the given values and adds it to the container. More...
 
GNEPoly * addPolygonForEditShapes (GNEJunction *junction)
 Builds a special polygon used for edit Junctions's shapes. More...
 
GNEEdge * addReversedEdge (GNEEdge *edge, GNEUndoList *undoList)
 add reversed edge More...
 
bool addSRestrictedLane (SUMOVehicleClass vclass, GNEEdge &edge, GNEUndoList *undoList)
 add restricted lane to edge More...
 
void changeEdgeEndpoints (GNEEdge *edge, const std::string &newSourceID, const std::string &newDestID)
 modifies endpoins of the given edge More...
 
void changePOIID (GNEPOI *POI, const std::string &OldID)
 change POI ID More...
 
void changePolygonID (GNEPoly *poly, const std::string &OldID)
 change Polygon ID More...
 
bool cleanInvalidCrossings (GNEUndoList *undoList)
 clear invalid crossings More...
 
void computeAndUpdate (OptionsCont &oc, bool volatileOptions)
 recompute the network and update lane geometries More...
 
void computeEverything (GNEApplicationWindow *window, bool force=false, bool volatileOptions=false, std::string additionalPath="", std::string shapePath="")
 trigger full netbuild computation param[in] window The window to inform about delay param[in] force Whether to force recomputation even if not needed param[in] volatileOptions enable or disable volatile options param[in] additionalPath path in wich additionals were saved before recomputing with volatile options param[in] shapePath path in wich shapes were saved before recomputing with volatile options More...
 
void computeJunction (GNEJunction *junction)
 trigger recomputation of junction shape and logic param[in] window The window to inform about delay More...
 
GNEEdge * createEdge (GNEJunction *src, GNEJunction *dest, GNEEdge *tpl, GNEUndoList *undoList, const std::string &suggestedName="", bool wasSplit=false, bool allowDuplicateGeom=false)
 creates a new edge (unless an edge with the same geometry already exists) More...
 
GNEJunction * createJunction (const Position &pos, GNEUndoList *undoList)
 creates a new junction More...
 
void deleteAdditional (GNEAdditional *additional)
 delete additional element previously inserted More...
 
void deleteConnection (GNEConnection *connection, GNEUndoList *undoList)
 remove connection More...
 
void deleteCrossing (GNECrossing *crossing, GNEUndoList *undoList)
 remove crossing More...
 
void deleteEdge (GNEEdge *edge, GNEUndoList *undoList)
 removes edge More...
 
void deleteGeometryOrEdge (GNEEdge *edge, const Position &pos, GNEUndoList *undoList)
 removes geometry when pos is close to a geometry node, deletes the whole edge otherwise More...
 
void deleteJunction (GNEJunction *junction, GNEUndoList *undoList)
 removes junction and all incident edges More...
 
void deleteLane (GNELane *lane, GNEUndoList *undoList)
 removes lane More...
 
void deletePOI (GNEPOI *POI, GNEUndoList *undoList)
 remove POI More...
 
void deletePolygon (GNEPoly *polygon, GNEUndoList *undoList)
 remove Polygon More...
 
virtual void drawGLAdditional (GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const
 Draws additional, user-triggered visualisations. More...
 
void drawName (const Position &pos, const double scale, const GUIVisualizationTextSettings &settings, const double angle=0) const
 draw name of item More...
 
void duplicateLane (GNELane *lane, GNEUndoList *undoList)
 duplicates lane More...
 
void finishMoveSelection (GNEUndoList *undoList)
 register changes to junction and edge positions with the undoList More...
 
bool flowExists (const std::string &flowID) const
 Check if exist a flow with these ID. More...
 
std::string generatePOIID () const
 generate a POI ID More...
 
std::string generatePolyID () const
 generate PolyID More...
 
std::string generateVaporizerID () const
 generate an ID for vaporizers More...
 
GNEAdditional * getAdditional (SumoXMLTag type, const std::string &id) const
 Returns the named additional. More...
 
std::string getAdditionalID (SumoXMLTag type, const GNELane *lane, const double pos) const
 Returns the additional close to the given position. More...
 
std::vector< GNEAdditional * > getAdditionals (SumoXMLTag type=SUMO_TAG_NOTHING) const
 get vector with additionals More...
 
FXApp * getApp ()
 get pointer to the main App More...
 
const Boundary & getBoundary () const
 returns the bounder of the network More...
 
std::set< GUIGlID > getGlIDs (GUIGlObjectType type=GLO_MAX)
 get ids of currently active objects More...
 
const GNECalibratorFlow & getGNECalibratorFlow (const std::string &calibratorFlowID) const
 Returns a reference to a calibrator flow finding in all calibrators of net. More...
 
const GNECalibratorRoute & getGNECalibratorRoute (const std::string &calibratorRouteID) const
 Returns a reference to a calibrator route finding in all calibrators of net. More...
 
const GNECalibratorVehicleType & getGNECalibratorVehicleType (const std::string &calibratorVehicleTypeID) const
 Returns a reference to a calibrator vehicle type finding in all calibrators of net. More...
 
NBNetBuilder * getNetBuilder () const
 get net builder More...
 
int getNumberOfAdditionals (SumoXMLTag type=SUMO_TAG_NOTHING) const
 Returns the number of additionals of the net. More...
 
int getNumberOfShapes () const
 get number of shapes More...
 
const POIs & getPOIs () const
 Returns all pois. More...
 
const Polygons & getPolygons () const
 Returns all polygons. More...
 
NBTrafficLightLogicCont & getTLLogicCont ()
 returns the tllcont of the underlying netbuilder More...
 
GNEViewNet * getViewNet () const
 get view net More...
 
SUMORTree & getVisualisationSpeedUp ()
 Returns the RTree used for visualisation speed-up. More...
 
const SUMORTree & getVisualisationSpeedUp () const
 Returns the RTree used for visualisation speed-up. More...
 
 GNENet (NBNetBuilder *netBuilder)
 Constructor. More...
 
void initGNEConnections ()
 initialize GNEConnections More...
 
void insertAdditional (GNEAdditional *additional, bool hardFail=true)
 Insert a additional element previously created in GNEAdditionalHandler. More...
 
void insertPOIInView (GNEPOI *p)
 insert created shape in view net More...
 
void insertPolygonInView (GNEPoly *p)
 insert created polygon in view net More...
 
bool isShapeSelected (SumoXMLTag tag, const std::string &ID) const
 Check if shape item is selected. More...
 
bool joinSelectedJunctions (GNEUndoList *undoList)
 join selected junctions More...
 
void mergeJunctions (GNEJunction *moved, GNEJunction *target, GNEUndoList *undoList)
 merge the given junctions edges between the given junctions will be deleted More...
 
virtual void movePOI (const std::string &id, const Position &pos)
 Assigns a new position to the named PoI. More...
 
void moveSelection (const Position &moveSrc, const Position &moveDest)
 move all selected junctions and edges More...
 
bool netHasGNECrossings () const
 check if net has GNECrossings More...
 
void refreshAdditional (GNEAdditional *additional)
 refreshes boundary information of an additional after a geometry update More...
 
void refreshElement (GUIGlObject *o)
 refreshes boundary information for o and update More...
 
void refreshPOI (GNEPOI *p)
 refresh shape in view net More...
 
void refreshPolygon (GNEPoly *p)
 refresh polygon in view net More...
 
void removeExplicitTurnaround (std::string id)
 remove edge id from the list of explicit turnarounds More...
 
bool removePOI (const std::string &id)
 Removes a PoI from the container. More...
 
void removePOIOfView (GNEPOI *p)
 remove shape of view net More...
 
bool removePolygon (const std::string &id)
 Removes a polygon from the container. More...
 
void removePolygonOfView (GNEPoly *p)
 remove polygon of view net More...
 
bool removeRestrictedLane (SUMOVehicleClass vclass, GNEEdge &edge, GNEUndoList *undoList)
 remove restricted lane More...
 
void removeSolitaryJunctions (GNEUndoList *undoList)
 removes junctions that have no edges More...
 
void renameEdge (GNEEdge *edge, const std::string &newID)
 updates the map and reserves new id More...
 
void renameJunction (GNEJunction *junction, const std::string &newID)
 updates the map and reserves new id More...
 
void replaceIncomingEdge (GNEEdge *which, GNEEdge *by, GNEUndoList *undoList)
 replaces edge More...
 
void replaceJunctionByGeometry (GNEJunction *junction, GNEUndoList *undoList)
 replace the selected junction by geometry node(s) and merge the edges More...
 
void requiereSaveAdditionals ()
 inform that additionals has to be saved More...
 
void requiereSaveShapes ()
 inform that shapes has to be saved More...
 
void requireRecompute ()
 inform the net about the need for recomputation More...
 
virtual void reshapePolygon (const std::string &id, const PositionVector &shape)
 Assigns a shape to the named polygon. More...
 
bool restrictLane (SUMOVehicleClass vclass, GNELane *lane, GNEUndoList *undoList)
 transform lane to restricted lane More...
 
GNEAdditional * retrieveAdditional (const std::string &idl, bool hardFail=true) const
 Returns the named additional. More...
 
std::vector< GNEAdditional * > retrieveAdditionals (bool onlySelected=false)
 return all additionals More...
 
std::vector< GNEAttributeCarrier * > retrieveAttributeCarriers (const std::set< GUIGlID > &ids, GUIGlObjectType type)
 get the attribute carriers based on GlIDs More...
 
GNEEdge * retrieveEdge (const std::string &id, bool failHard=true)
 get edge by id More...
 
GNEEdge * retrieveEdge (GNEJunction *from, GNEJunction *to, bool failHard=true)
 get edge by from and to GNEJunction More...
 
std::vector< GNEEdge * > retrieveEdges (bool onlySelected=false)
 return all edges More...
 
GNEJunction * retrieveJunction (const std::string &id, bool failHard=true)
 get junction by id More...
 
std::vector< GNEJunction * > retrieveJunctions (bool onlySelected=false)
 return all junctions More...
 
GNELane * retrieveLane (const std::string &id, bool failHard=true)
 get lane by id More...
 
std::vector< GNELane * > retrieveLanes (bool onlySelected=false)
 return all lanes More...
 
GNEPOI * retrievePOI (const std::string &id, bool failHard=true) const
 get POI by id More...
 
GNEPoly * retrievePolygon (const std::string &id, bool failHard=true) const
 get Polygon by id More...
 
void reverseEdge (GNEEdge *edge, GNEUndoList *undoList)
 reverse edge More...
 
bool revertLaneRestriction (GNELane *lane, GNEUndoList *undoList)
 revert prevously restricted lane More...
 
bool routeExists (const std::string &routeID) const
 Check if exist a route with these ID. More...
 
void save (OptionsCont &oc)
 save the network More...
 
void saveAdditionals (const std::string &filename, bool volatileOptionsEnabled=false)
 save additional elements of the network More...
 
void saveJoined (OptionsCont &oc)
 save log of joined junctions (and nothing else) More...
 
void savePlain (OptionsCont &oc)
 save plain xml representation of the network (and nothing else) More...
 
void saveShapes (const std::string &filename)
 save shapes elements of the network More...
 
void setViewNet (GNEViewNet *viewNet)
 Set the viewNet to be notified of network changes. More...
 
GNEJunction * splitEdge (GNEEdge *edge, const Position &pos, GNEUndoList *undoList, GNEJunction *newJunction=0)
 split edge at position by inserting a new junction More...
 
void splitEdgesBidi (const std::set< GNEEdge * > &edges, const Position &pos, GNEUndoList *undoList)
 split all edges at position by inserting one new junction More...
 
void updateAdditionalID (const std::string &oldID, GNEAdditional *additional)
 update additional ID in container More...
 
bool vehicleTypeExists (const std::string &vehicleTypeID) const
 Check if exist a vehicle type with these ID. More...
 
 ~GNENet ()
 Destructor. More...
 
inherited from GUIGlObject
GUIGLObjectPopupMenu * getPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own popup-menu. More...
 
GUIParameterTableWindow * getParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own parameter window. More...
 
Boundary getCenteringBoundary () const
 Returns the boundary to which the view shall be centered in order to show the object. More...
 
const Boundary & getZBoundary () const
 Returns the Z boundary (stored in the x() coordinate) values of 0 do not affect the boundary. More...
 
void drawGL (const GUIVisualizationSettings &s) const
 Draws the object. More...
 
Atomar getter methods

Returns the full name appearing in the tool tip

Returns
This object's typed id
const std::string & getFullName () const
 
virtual const std::string & getParentName () const
 Returns the name of the parent object (if any) More...
 
GUIGlID getGlID () const
 Returns the numerical id of the object. More...
 
interfaces to be implemented by derived classes
virtual GUIParameterTableWindow * getTypeParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own type parameter window (optional) More...
 
virtual const std::string & getMicrosimID () const
 Returns the id of the object as known to microsim. More...
 
virtual void setMicrosimID (const std::string &newID)
 Changes the microsimID of the object. More...
 
GUIGlObjectType getType () const
 Returns the type of the object as coded in GUIGlObjectType. More...
 
Parameter table window I/O

Lets this object know a parameter window showing the object's values was opened

Parameters
[in]wThe opened parameter window
void addParameterTable (GUIParameterTableWindow *w)
 
void removeParameterTable (GUIParameterTableWindow *w)
 Lets this object know a parameter window showing the object's values was closed. More...
 

Static Public Attributes

static const GUIGlID INVALID_ID = 0
 
static StringBijection< GUIGlObjectType > TypeNames
 associates object types with strings More...
 
color of selected objects

color of selection

static const RGBColor selectionColor
 
static const RGBColor selectedLaneColor
 color of selected lane More...
 
static const RGBColor selectedConnectionColor
 color of selected connection More...
 
static const RGBColor selectedAdditionalColor
 color of selected additionals More...
 

Protected Types

internal GNE components
typedef std::map< std::string, GNEJunction * > GNEJunctions
 
typedef std::map< std::string, GNEEdge * > GNEEdges
 
typedef std::map< std::pair< std::string, SumoXMLTag >, GNEAdditional * > GNEAdditionals
 

Protected Member Functions

virtual bool add (SUMOPolygon *poly, bool ignorePruning=false)
 add polygon More...
 
virtual bool add (PointOfInterest *poi, bool ignorePruning=false)
 add poi More...
 
void setPrefix (const std::string &prefix)
 usually names are prefixed by a type-specific string. this method can be used to change the default More...
 
helper methods for building popup-menus
void buildPopupHeader (GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
 Builds the header. More...
 
void buildCenterPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to center to the object. More...
 
void buildNameCopyPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds entries which allow to copy the name / typed name into the clipboard. More...
 
void buildSelectionPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to (de)select the object. More...
 
void buildShowParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the parameter window. More...
 
void buildShowTypeParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the type parameter window. More...
 
void buildPositionCopyEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position. More...
 
void buildShowManipulatorPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the manipulator window. More...
 

Protected Attributes

GNEAdditionals myAdditionals
 map with the name and pointer to additional elements of net More...
 
bool myAdditionalsSaved
 Flag to check if additionals has to be saved. More...
 
GNEEdges myEdges
 map with the name and pointer to edges of net More...
 
std::set< std::string > myExplicitTurnarounds
 list of edge ids for which turn-arounds must be added explicitly More...
 
SUMORTree myGrid
 the rtree which contains all GUIGlObjects (so named for historical reasons) More...
 
GNEJunctions myJunctions
 map with the name and pointer to junctions of net More...
 
bool myNeedRecompute
 whether the net needs recomputation More...
 
NBNetBuilder * myNetBuilder
 The internal netbuilder. More...
 
POIs myPOIs
 stored POIs More...
 
Polygons myPolygons
 stored Polygons More...
 
bool myShapesSaved
 Flag to check if shapes hast o be saved. More...
 
GNEViewNet * myViewNet
 The viewNet to be notofied of about changes. More...
 
ID Suppliers for newly created edges and junctions
IDSupplier myEdgeIDSupplier
 
IDSupplier myJunctionIDSupplier
 

Private Member Functions

bool checkJunctionPosition (const Position &pos)
 return true if there are already a Junction in the given position, false in other case More...
 
void deleteSingleEdge (GNEEdge *edge)
 deletes a single edge More...
 
void deleteSingleJunction (GNEJunction *junction)
 deletes a single junction More...
 
void initJunctionsAndEdges ()
 Init Junctions and edges. More...
 
void insertEdge (GNEEdge *edge)
 inserts a single edge into the net and into the underlying netbuild-container More...
 
void insertJunction (GNEJunction *junction)
 inserts a single junction into the net and into the underlying netbuild-container More...
 
GNEEdge * registerEdge (GNEEdge *edge)
 registers an edge with GNENet containers More...
 
GNEJunction * registerJunction (GNEJunction *junction)
 registers a junction with GNENet containers More...
 
void remapEdge (GNEEdge *oldEdge, GNEJunction *from, GNEJunction *to, GNEUndoList *undoList, bool keepEndpoints=false)
 
void reserveEdgeID (const std::string &id)
 reserve edge ID (To avoid duplicates) More...
 
void reserveJunctionID (const std::string &id)
 reserve junction ID (To avoid duplicates) More...
 
void update ()
 notify myViewNet More...
 

Static Private Member Functions

static void replaceInListAttribute (GNEAttributeCarrier *ac, SumoXMLAttr key, const std::string &which, const std::string &by, GNEUndoList *undoList)
 

Private Attributes

Boundary myZBoundary
 the z boundary (stored in the x-coordinate), values of 0 are ignored More...
 

Static Private Attributes

static const double Z_INITIALIZED = 1
 marker for whether the z-boundary is initialized More...
 

Friends

class GNEChange_Connection
 
class GNEChange_Edge
 
class GNEChange_Junction
 declare friend class More...
 

Detailed Description

A NBNetBuilder extended by visualisation and editing capabilities.

Definition at line 92 of file GNENet.h.

Member Typedef Documentation

typedef std::map<std::pair<std::string, SumoXMLTag>, GNEAdditional*> GNENet::GNEAdditionals
protected

Definition at line 680 of file GNENet.h.

typedef std::map<std::string, GNEEdge*> GNENet::GNEEdges
protected

Definition at line 679 of file GNENet.h.

typedef std::map<std::string, GNEJunction*> GNENet::GNEJunctions
protected

Definition at line 678 of file GNENet.h.

Definition at line 53 of file ShapeContainer.h.

containers

Definition at line 52 of file ShapeContainer.h.

Constructor & Destructor Documentation

GNENet::GNENet ( NBNetBuilder *  netBuilder)

Constructor.

Parameters
[in]netbuilderthe netbuilder which may already have been filled GNENet becomes responsible for cleaning this up

Definition at line 107 of file GNENet.cpp.

References GUIGlObjectStorage::gIDStorage, and GUIGlObjectStorage::setNetObject().

GNENet::~GNENet ( )

Member Function Documentation

bool ShapeContainer::add ( SUMOPolygon *  poly,
bool  ignorePruning = false 
)
protectedvirtualinherited
bool ShapeContainer::add ( PointOfInterest *  poi,
bool  ignorePruning = false 
)
protectedvirtualinherited

add poi

Reimplemented in PCPolyContainer.

Definition at line 113 of file ShapeContainer.cpp.

References NamedObjectCont< T >::add(), Named::getID(), and ShapeContainer::myPOIs.

void GNENet::addExplicitTurnaround ( std::string  id)

add edge id to the list of explicit turnarounds

Definition at line 1540 of file GNENet.cpp.

References myExplicitTurnarounds.

Referenced by GNEJunction::setLogicValid().

void GUIGlObject::addParameterTable ( GUIParameterTableWindow *  w)
inherited

Definition at line 256 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

bool GNENet::addPOI ( const std::string &  id,
const std::string &  type,
const RGBColor &  color,
double  layer,
double  angle,
const std::string &  imgFile,
const Position &  pos,
double  width,
double  height,
bool  ignorePruning = false 
)
virtual

Builds a POI using the given values and adds it to the container.

Parameters
[in]idThe name of the POI
[in]typeThe (abstract) type of the POI
[in]colorThe color of the POI
[in]layerThe layer of the POI
[in]angleThe rotation of the POI
[in]imgFileThe raster image of the POI
[in]posThe position of the POI
[in]widthThe width of the POI image
[in]heightThe height of the POI image
Returns
whether the poi could be added

Reimplemented from ShapeContainer.

Definition at line 1935 of file GNENet.cpp.

References NamedObjectCont< T >::add(), NamedObjectCont< T >::get(), GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTag(), GNEViewNet::getUndoList(), ShapeContainer::myPOIs, myViewNet, GNEUndoList::p_begin(), GNEUndoList::p_end(), and toString().

Referenced by GNEPolygonFrame::addPOI().

bool GNENet::addPolygon ( const std::string &  id,
const std::string &  type,
const RGBColor &  color,
double  layer,
double  angle,
const std::string &  imgFile,
const PositionVector &  shape,
bool  fill,
bool  ignorePruning = false 
)
virtual

Builds a polygon using the given values and adds it to the container.

Parameters
[in]idThe name of the polygon
[in]typeThe (abstract) type of the polygon
[in]colorThe color of the polygon
[in]layerThe layer of the polygon
[in]angleThe rotation of the polygon
[in]imgFileThe raster image of the polygon
[in]shapeThe shape of the polygon
[in]fillWhether the polygon shall be filled
Returns
whether the polygon could be added

Reimplemented from ShapeContainer.

Definition at line 1805 of file GNENet.cpp.

References NamedObjectCont< T >::add(), NamedObjectCont< T >::get(), GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTag(), GNEViewNet::getUndoList(), ShapeContainer::myPolygons, myViewNet, GNEUndoList::p_begin(), GNEUndoList::p_end(), and toString().

Referenced by GNEPolygonFrame::addPolygon().

GNEPoly * GNENet::addPolygonForEditShapes ( GNEJunction *  junction)

Builds a special polygon used for edit Junctions's shapes.

Parameters
[in]junctionjunction to be edited
Returns
created GNEPoly

Definition at line 1826 of file GNENet.cpp.

References PositionVector::closePolygon(), NamedObjectCont< T >::get(), GNEJunction::getNBNode(), NBNode::getShape(), GLO_POLYGON, RGBColor::GREEN, insertPolygonInView(), ShapeContainer::myPolygons, GUIPolygon::setLineWidth(), GNEPoly::setShapeEditedJunction(), and toString().

Referenced by GNEViewNet::startEditShapeJunction().

bool GNENet::addSRestrictedLane ( SUMOVehicleClass  vclass,
GNEEdge &  edge,
GNEUndoList *  undoList 
)

add restricted lane to edge

Parameters
[in]vclassvehicle class to restrict
[in]edgeThe edge in which insert restricted lane
[in]undoListThe undolist in which to mark changes

Definition at line 600 of file GNENet.cpp.

References duplicateLane(), GNEEdge::getLanes(), and restrictLane().

Referenced by GNEViewNet::addRestrictedLane().

void GUIGlObject::buildShowManipulatorPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to open the manipulator window.

Parameters

Definition at line 247 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_MANIP, and MID_MANIP.

Referenced by GUILaneSpeedTrigger::getPopUpMenu(), and GUITriggeredRerouter::getPopUpMenu().

void GUIGlObject::buildShowTypeParamsPopupEntry ( GUIGLObjectPopupMenu *  ret,
bool  addSeparator = true 
)
protectedinherited

Builds an entry which allows to open the type parameter window.

Parameters

Definition at line 226 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_APP_TABLE, and MID_SHOWTYPEPARS.

Referenced by GUIPerson::getPopUpMenu(), and GUIBaseVehicle::getPopUpMenu().

void GNENet::changeEdgeEndpoints ( GNEEdge *  edge,
const std::string &  newSourceID,
const std::string &  newDestID 
)

modifies endpoins of the given edge

Definition at line 1509 of file GNENet.cpp.

References GNEEdge::getNBEdge(), GNEJunction::getNBNode(), NBEdge::reinitNodes(), requireRecompute(), retrieveJunction(), and update().

Referenced by GNEEdge::setAttribute().

void GNENet::changePOIID ( GNEPOI *  POI,
const std::string &  OldID 
)
void GNENet::changePolygonID ( GNEPoly *  poly,
const std::string &  OldID 
)
bool GNENet::checkJunctionPosition ( const Position &  pos)
private

return true if there are already a Junction in the given position, false in other case

Definition at line 792 of file GNENet.cpp.

References myJunctions.

Referenced by joinSelectedJunctions().

void GNENet::computeEverything ( GNEApplicationWindow *  window,
bool  force = false,
bool  volatileOptions = false,
std::string  additionalPath = "",
std::string  shapePath = "" 
)

trigger full netbuild computation param[in] window The window to inform about delay param[in] force Whether to force recomputation even if not needed param[in] volatileOptions enable or disable volatile options param[in] additionalPath path in wich additionals were saved before recomputing with volatile options param[in] shapePath path in wich shapes were saved before recomputing with volatile options

Definition at line 1167 of file GNENet.cpp.

References computeAndUpdate(), OptionsCont::getOptions(), myNeedRecompute, myViewNet, GNEAdditionalHandler::resetLastTag(), XMLSubSys::runParser(), GNEApplicationWindow::setStatusBarText(), update(), and WRITE_MESSAGE.

Referenced by GNEApplicationWindow::onCmdComputeJunctions(), GNEApplicationWindow::onCmdComputeJunctionsVolatile(), and GNEViewNet::setEditMode().

void GNENet::computeJunction ( GNEJunction *  junction)

trigger recomputation of junction shape and logic param[in] window The window to inform about delay

Definition at line 1216 of file GNENet.cpp.

References NBTrafficLightLogicCont::computeSingleLogic(), NBNode::getControllingTLS(), GNEJunction::getNBNode(), OptionsCont::getOptions(), and getTLLogicCont().

Referenced by GNETLSEditorFrame::onCmdDefSwitch().

GNEEdge * GNENet::createEdge ( GNEJunction *  src,
GNEJunction *  dest,
GNEEdge *  tpl,
GNEUndoList *  undoList,
const std::string &  suggestedName = "",
bool  wasSplit = false,
bool  allowDuplicateGeom = false 
)

creates a new edge (unless an edge with the same geometry already exists)

Parameters
[in]srcThe starting junction
[in]destThe ending junction
[in]tplThe template edge from which to copy attributes (including lane attrs)
[in]undoListThe undoList in which to mark changes
[in]suggestedName
[in]wasSplitWhether the edge was created from a split
[in]allowDuplicateGeomWhether to create the edge even though another edge with the same geometry exists
Returns
The newly created edge or 0 if no edge was created

Definition at line 225 of file GNENet.cpp.

References GNEEdge::getNBEdge(), GNEJunction::getNBNode(), IDSupplier::getNext(), NBNode::getOutgoingEdges(), GNEChange_Edge, myEdgeIDSupplier, myEdges, GNEUndoList::p_begin(), GNEUndoList::p_end(), requireRecompute(), reserveEdgeID(), retrieveEdge(), GNEJunction::setLogicValid(), SUMO_TAG_EDGE, toString(), NBEdge::UNSPECIFIED_OFFSET, and NBEdge::UNSPECIFIED_WIDTH.

Referenced by addReversedEdge(), GNEViewNet::onLeftBtnPress(), remapEdge(), reverseEdge(), and splitEdge().

GNEJunction * GNENet::createJunction ( const Position &  pos,
GNEUndoList *  undoList 
)

creates a new junction

Parameters
[in]positionThe position of the new junction
[in]undoListThe undolist in which to mark changes
Returns
the new junction

Definition at line 214 of file GNENet.cpp.

References IDSupplier::getNext(), GNEChange_Junction, myJunctionIDSupplier, and myJunctions.

Referenced by addReversedEdge(), joinSelectedJunctions(), GNEViewNet::onLeftBtnPress(), and splitEdge().

void GNENet::deleteAdditional ( GNEAdditional *  additional)
void GNENet::deleteGeometryOrEdge ( GNEEdge *  edge,
const Position &  pos,
GNEUndoList *  undoList 
)

removes geometry when pos is close to a geometry node, deletes the whole edge otherwise

Parameters
[in]edgeThe edge to be removed
[in]posThe position that was clicked upon
[in]undoListThe undolist in which to mark changes

Definition at line 629 of file GNENet.cpp.

References deleteEdge(), and GNEEdge::deleteGeometry().

Referenced by GNEDeleteFrame::removeAttributeCarrier().

void GNENet::deletePOI ( GNEPOI *  POI,
GNEUndoList *  undoList 
)
void GNENet::deletePolygon ( GNEPoly *  polygon,
GNEUndoList *  undoList 
)
void GNENet::drawGL ( const GUIVisualizationSettings &  s) const
virtual

Draws the object.

Parameters
[in]sThe settings for the current view (may influence drawing)
See also
GUIGlObject::drawGL

Implements GUIGlObject.

Definition at line 185 of file GNENet.cpp.

void GUIGlObject::drawGLAdditional ( GUISUMOAbstractView *const  parent,
const GUIVisualizationSettings &  s 
) const
virtualinherited

Draws additional, user-triggered visualisations.

Parameters
[in]parentThe view
[in]sThe settings for the current view (may influence drawing)

Reimplemented in GUIBaseVehicle, GUIPerson, and GUIContainer.

Definition at line 154 of file GUIGlObject.cpp.

References UNUSED_PARAMETER.

void GNENet::finishMoveSelection ( GNEUndoList *  undoList)

register changes to junction and edge positions with the undoList

Definition at line 1582 of file GNENet.cpp.

References GNEUndoList::p_begin(), GNEUndoList::p_end(), retrieveEdges(), retrieveJunctions(), and SUMO_ATTR_SHAPE.

Referenced by GNEViewNet::onLeftBtnRelease().

bool GNENet::flowExists ( const std::string &  flowID) const
std::string GNENet::generatePOIID ( ) const

generate a POI ID

Definition at line 2007 of file GNENet.cpp.

References NamedObjectCont< T >::get(), ShapeContainer::myPOIs, and toString().

Referenced by GNEPolygonFrame::processClick().

std::string GNENet::generatePolyID ( ) const

generate PolyID

Definition at line 1898 of file GNENet.cpp.

References NamedObjectCont< T >::get(), ShapeContainer::myPolygons, and toString().

Referenced by GNEPolygonFrame::buildPoly().

std::string GNENet::generateVaporizerID ( ) const

generate an ID for vaporizers

Definition at line 1010 of file GNENet.cpp.

References myAdditionals, SUMO_TAG_VAPORIZER, and toString().

GNEAdditional * GNENet::getAdditional ( SumoXMLTag  type,
const std::string &  id 
) const

Returns the named additional.

Parameters
[in]typetag with the type of additional
[in]idThe id of the additional to return.
Returns
The named additional, or 0 if don't exists

Definition at line 1680 of file GNENet.cpp.

References myAdditionals.

Referenced by GNEAdditionalHandler::buildBusStop(), GNEAdditionalHandler::buildCalibrator(), GNEAdditionalHandler::buildChargingStation(), GNEAdditionalHandler::buildContainerStop(), GNEAdditionalHandler::buildDetectorE1(), GNEAdditionalHandler::buildDetectorE2(), GNEAdditionalHandler::buildDetectorE3(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEAdditionalHandler::buildRerouter(), GNEAdditionalHandler::buildRouteProbe(), GNEAdditionalHandler::buildVariableSpeedSign(), GNEDetectorE3::generateEntryID(), GNEDetectorE3::generateExitID(), GNEAdditionalFrame::generateID(), GNEDetectorE1::isValid(), GNEDetectorEntry::isValid(), GNEDetectorExit::isValid(), GNEDetectorE2::isValid(), GNEBusStop::isValid(), GNEContainerStop::isValid(), GNEVaporizer::isValid(), GNEVariableSpeedSign::isValid(), GNERouteProbe::isValid(), GNEChargingStation::isValid(), GNERerouter::isValid(), GNEDetectorE3::isValid(), GNECalibrator::isValid(), GNEAdditionalHandler::parseAndBuildBusStop(), GNEAdditionalHandler::parseAndBuildCalibrator(), GNEAdditionalHandler::parseAndBuildChargingStation(), GNEAdditionalHandler::parseAndBuildContainerStop(), GNEAdditionalHandler::parseAndBuildDetectorE1(), GNEAdditionalHandler::parseAndBuildDetectorE2(), GNEAdditionalHandler::parseAndBuildDetectorE3(), GNEAdditionalHandler::parseAndBuildRouteProbe(), GNEAdditionalHandler::resetLastTag(), and GNECalibrator::setAttribute().

std::string GNENet::getAdditionalID ( SumoXMLTag  type,
const GNELane *  lane,
const double  pos 
) const

Returns the additional close to the given position.

Parameters
[in]typetag with the type of additional
[in]lanethe lane of the additional to return.
[in]posthe position of the additional to return.
Returns
The additional id on the location, or "" if don't exists

Definition at line 1692 of file GNENet.cpp.

References myAdditionals, and POSITION_EPS.

std::vector< GNEAdditional * > GNENet::getAdditionals ( SumoXMLTag  type = SUMO_TAG_NOTHING) const

get vector with additionals

Parameters
[in]typetype of additional to get. SUMO_TAG_NOTHING will get all additionals
Returns
vector with pointers to additionals.

Definition at line 1703 of file GNENet.cpp.

References myAdditionals, and SUMO_TAG_NOTHING.

Referenced by flowExists(), getGNECalibratorFlow(), getGNECalibratorRoute(), getGNECalibratorVehicleType(), routeExists(), GNEAdditionalFrame::SelectorParentAdditional::showListOfAdditionals(), and vehicleTypeExists().

FXApp * GNENet::getApp ( )

get pointer to the main App

Definition at line 1268 of file GNENet.cpp.

References myViewNet.

Referenced by cleanInvalidCrossings(), and joinSelectedJunctions().

const Boundary & GNENet::getBoundary ( ) const

returns the bounder of the network

Definition at line 162 of file GNENet.cpp.

References myGrid.

Referenced by getCenteringBoundary().

Boundary GNENet::getCenteringBoundary ( ) const
virtual

Returns the boundary to which the view shall be centered in order to show the object.

Returns
The boundary the object is within
See also
GUIGlObject::getCenteringBoundary

Implements GUIGlObject.

Definition at line 190 of file GNENet.cpp.

References getBoundary().

GUIGlID GUIGlObject::getGlID ( ) const
inherited

Returns the numerical id of the object.

Returns
This object's gl-id

Definition at line 121 of file GUIGlObject.cpp.

References GUIGlObject::myGlID.

Referenced by GNEEdge::addConnection(), addReversedEdge(), GUIMessageWindow::appendMsg(), GUIGlObject::buildSelectionPopupEntry(), GUINet::createTLWrapper(), deleteConnection(), deleteCrossing(), deleteEdge(), deleteJunction(), deleteLane(), deletePOI(), deletePolygon(), GNEViewNet::deleteSelectedPOIs(), GNEViewNet::deleteSelectedPolygons(), deleteSingleEdge(), deleteSingleJunction(), GUIVehicle::drawAction_drawPersonsAndContainers(), GNEDetectorE1::drawGL(), GNEDetectorExit::drawGL(), GNEDetectorEntry::drawGL(), GNEDetectorE2::drawGL(), GNEContainerStop::drawGL(), GNEBusStop::drawGL(), GNEInternalLane::drawGL(), GUIMEInductLoop::MyWrapper::drawGL(), GNECrossing::drawGL(), GUIContainer::drawGL(), GNEJunction::drawGL(), GUIPolygon::drawGL(), GUIInstantInductLoop::MyWrapper::drawGL(), GUILaneSpeedTrigger::drawGL(), GUICalibrator::drawGL(), GUIPointOfInterest::drawGL(), GUIPerson::drawGL(), GNEVariableSpeedSign::drawGL(), GNEVaporizer::drawGL(), GNERouteProbe::drawGL(), GUIJunctionWrapper::drawGL(), GNELane::drawGL(), GUIE3Collector::MyWrapper::drawGL(), GNEEdge::drawGL(), GUIChargingStation::drawGL(), GNEChargingStation::drawGL(), GNERerouter::drawGL(), GUIContainerStop::drawGL(), GNEDetectorE3::drawGL(), GUIBusStop::drawGL(), GNEConnection::drawGL(), GUIParkingArea::drawGL(), GUIEdge::drawGL(), GNEPoly::drawGL(), GUIE2Collector::MyWrapper::drawGL(), GNECalibrator::drawGL(), GUIInductLoop::MyWrapper::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GUILane::drawGL(), GUIContainer::drawGLAdditional(), GUIPerson::drawGLAdditional(), GUIBaseVehicle::drawGLAdditional(), GUILane::drawLinkRule(), GUIBaseVehicle::drawOnPos(), GUIMEVehicle::getColorValue(), GUIVehicle::getColorValue(), GUIJunctionWrapper::getColorValue(), GUIEdge::getColorValue(), GUIContainer::getColorValue(), GNELane::getColorValue(), GUIPerson::getColorValue(), GUILane::getColorValue(), GNEJunction::getColorValue(), GUIEdge::getIDs(), GNEEdge::getLaneGlIDs(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GUIPerson::getPopUpMenu(), GNELane::getPopUpMenu(), GUIBaseVehicle::getPopUpMenu(), GUIEdge::getScaleValue(), GUILane::getScaleValue(), GNECalibrator::GNECalibrator(), GNERouteProbe::GNERouteProbe(), GNEVaporizer::GNEVaporizer(), GUIDialog_GLObjChooser::GUIDialog_GLObjChooser(), GNESelectorFrame::handleIDs(), GNETLSEditorFrame::handleMultiChange(), GNEAdditional::isAdditionalSelected(), GUIGlChildWindow::isSelected(), GUISUMOViewParent::isSelected(), GUIVehicle::isSelected(), GUIPerson::isSelected(), GNEViewParent::isSelected(), GUILane::isSelected(), isShapeSelected(), GUISelectedStorage::loadIDs(), GNEViewNet::mergeJunctions(), GUIViewTraffic::onCmdAddRerouter(), GUIGLObjectPopupMenu::onCmdAddSelected(), GUIGLObjectPopupMenu::onCmdCenter(), GUIViewTraffic::onCmdCloseEdge(), GUIViewTraffic::onCmdCloseLane(), GNEViewNet::onCmdDuplicateLane(), GUIApplicationWindow::onCmdEditChosen(), GNESelectorFrame::onCmdInvert(), GUIGLObjectPopupMenu::onCmdRemoveSelected(), GNEViewNet::onCmdRevertRestriction(), GNEConnectorFrame::onCmdSelectDeadStarts(), GNEConnectorFrame::onCmdSelectPass(), GUIPerson::GUIPersonPopupMenu::onCmdStartTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStartTrack(), GNEViewNet::onCmdStraightenEdges(), GNEViewNet::onLeftBtnPress(), GNEAdditionalFrame::removeAdditional(), GLObjectValuePassConnector< std::pair< SUMOTime, MSPhaseDefinition > >::removeObject(), replaceIncomingEdge(), GUIVehicle::selectBlockingFoes(), GNEJunction::setColor(), GUIMessageWindow::setCursorPos(), GUIBaseVehicle::~GUIBaseVehicle(), GUIGlObject::~GUIGlObject(), and GUIPerson::~GUIPerson().

std::set< GUIGlID > GNENet::getGlIDs ( GUIGlObjectType  type = GLO_MAX)

get ids of currently active objects

Parameters
[in]typeIf type != GLO_MAX, get active ids of that type, otherwise get all active ids

Definition at line 1070 of file GNENet.cpp.

References NamedObjectCont< T >::getMyMap(), GLO_ADDITIONAL, GLO_CONNECTION, GLO_CROSSING, GLO_EDGE, GLO_JUNCTION, GLO_LANE, GLO_MAX, GLO_POI, GLO_POLYGON, GLO_TLLOGIC, myAdditionals, myEdges, myJunctions, ShapeContainer::myPOIs, and ShapeContainer::myPolygons.

Referenced by GNESelectorFrame::getMatches(), GNESelectorFrame::onCmdInvert(), and GNEViewParent::onCmdLocate().

const GNECalibratorFlow & GNENet::getGNECalibratorFlow ( const std::string &  calibratorFlowID) const

Returns a reference to a calibrator flow finding in all calibrators of net.

Definition at line 1753 of file GNENet.cpp.

References GNECalibrator::flowExists(), getAdditionals(), GNECalibrator::getCalibratorFlow(), SUMO_TAG_CALIBRATOR, SUMO_TAG_VTYPE, and toString().

const GNECalibratorRoute & GNENet::getGNECalibratorRoute ( const std::string &  calibratorRouteID) const

Returns a reference to a calibrator route finding in all calibrators of net.

Definition at line 1727 of file GNENet.cpp.

References getAdditionals(), GNECalibrator::getCalibratorRoute(), GNECalibrator::routeExists(), SUMO_TAG_CALIBRATOR, SUMO_TAG_VTYPE, and toString().

const GNECalibratorVehicleType & GNENet::getGNECalibratorVehicleType ( const std::string &  calibratorVehicleTypeID) const

Returns a reference to a calibrator vehicle type finding in all calibrators of net.

Definition at line 1740 of file GNENet.cpp.

References getAdditionals(), GNECalibrator::getCalibratorVehicleType(), SUMO_TAG_CALIBRATOR, SUMO_TAG_VTYPE, toString(), and GNECalibrator::vehicleTypeExists().

const std::string & GUIGlObject::getMicrosimID ( ) const
virtualinherited

Returns the id of the object as known to microsim.

Definition at line 135 of file GUIGlObject.cpp.

References GUIGlObject::myMicrosimID.

Referenced by GNEAdditional::changeEdge(), GNEAdditional::changeLane(), GNETLSEditorFrame::controlsEdge(), GUIGlObject::createFullName(), deleteSingleEdge(), deleteSingleJunction(), GUIGlObject::drawName(), GNEAdditional::getAdditionalID(), GNECrossing::getAttribute(), GNEConnection::getAttribute(), GNEEdge::getAttribute(), GNELane::getAttribute(), GNEJunction::getAttribute(), GNENetElement::getParentName(), GNELane::getParentName(), GNEPOI::getParentName(), GNEStoppingPlace::getParentName(), GNEVaporizer::getParentName(), GNEVariableSpeedSign::getParentName(), GNEPoly::getParentName(), GNERouteProbe::getParentName(), GNERerouter::getParentName(), GNEDetector::getParentName(), GNEDetectorE3::getParentName(), GNEAdditional::getParentName(), GNECalibrator::getParentName(), GNEAdditional::getPopUpMenu(), GUIDialog_GLObjChooser::GUIDialog_GLObjChooser(), GNETLSEditorFrame::handleMultiChange(), GNEEdge::isValid(), GNEViewNet::mergeJunctions(), GNEEdge::moveGeometry(), GUIGLObjectPopupMenu::onCmdAddSelected(), GUIGLObjectPopupMenu::onCmdCopyName(), GNEInspectorFrame::onUpdCopyTemplate(), registerEdge(), registerJunction(), remapEdge(), GNEEdge::removeConnection(), retrieveAttributeCarriers(), GNEAdditional::setAdditionalID(), GNEEdge::setAttribute(), splitEdge(), GNEViewNet::stopEditShapeJunction(), GNEConnectorFrame::updateDescription(), and GNEConnection::updateID().

NBNetBuilder * GNENet::getNetBuilder ( ) const

get net builder

Definition at line 1274 of file GNENet.cpp.

References myNetBuilder.

Referenced by GNEJunction::rebuildGNECrossings(), GNEChange_Crossing::redo(), and GNEChange_Crossing::undo().

int GNENet::getNumberOfAdditionals ( SumoXMLTag  type = SUMO_TAG_NOTHING) const

Returns the number of additionals of the net.

Parameters
[in]typetype of additional to count. SUMO_TAG_NOTHING will count all additionals
Returns
Number of additionals of the net

Definition at line 1715 of file GNENet.cpp.

References myAdditionals, and SUMO_TAG_NOTHING.

Referenced by GNEAdditionalFrame::generateID(), and GNEApplicationWindow::onCmdComputeJunctionsVolatile().

int GNENet::getNumberOfShapes ( ) const
GUIParameterTableWindow * GNENet::getParameterWindow ( GUIMainWindow &  app,
GUISUMOAbstractView &  parent 
)
virtual

Returns an own parameter window.

Parameters
[in]appThe application needed to build the parameter window
[in]parentThe parent window needed to build the parameter window
Returns
The built parameter window
See also
GUIGlObject::getParameterWindow

Implements GUIGlObject.

Definition at line 179 of file GNENet.cpp.

const std::string & GUIGlObject::getParentName ( ) const
virtualinherited

Returns the name of the parent object (if any)

Returns
This object's parent id

Reimplemented in GNECalibrator, GNEAdditional, GNEDetectorE3, GNEDetector, GNERerouter, GNEPoly, GNERouteProbe, GNEStoppingPlace, GNEVaporizer, GNEVariableSpeedSign, GNEPOI, GUILane, GNELane, and GNENetElement.

Definition at line 115 of file GUIGlObject.cpp.

References StringUtils::emptyString.

Referenced by GUIGLObjectPopupMenu::onCmdCopyEdgeName().

GUIGLObjectPopupMenu * GNENet::getPopUpMenu ( GUIMainWindow &  app,
GUISUMOAbstractView &  parent 
)
virtual

Returns an own popup-menu.

Parameters
[in]appThe application needed to build the popup-menu
[in]parentThe parent window needed to build the popup-menu
Returns
The built popup-menu
See also
GUIGlObject::getPopUpMenu

Implements GUIGlObject.

Definition at line 169 of file GNENet.cpp.

References GUIGlObject::buildCenterPopupEntry(), GUIGlObject::buildPopupHeader(), and GUIGlObject::buildPositionCopyEntry().

GUIGlObjectType GUIGlObject::getType ( ) const
inherited

Returns the type of the object as coded in GUIGlObjectType.

See also
GUIGlObjectType

Definition at line 148 of file GUIGlObject.cpp.

References GUIGlObject::myGLObjectType.

Referenced by GUIGlObject::buildSelectionPopupEntry(), GUIVehicle::drawAction_drawPersonsAndContainers(), GUIVehicle::drawAction_drawRailCarriages(), GUIPerson::drawAction_drawWalkingareaPath(), GNEDetectorE1::drawGL(), GNEDetectorEntry::drawGL(), GNEDetectorExit::drawGL(), GNEDetectorE2::drawGL(), GNEBusStop::drawGL(), GNEContainerStop::drawGL(), GUIMEInductLoop::MyWrapper::drawGL(), GNECrossing::drawGL(), GNEJunction::drawGL(), GUIContainer::drawGL(), GUIInstantInductLoop::MyWrapper::drawGL(), GUILaneSpeedTrigger::drawGL(), GUICalibrator::drawGL(), GUIPerson::drawGL(), GNEVaporizer::drawGL(), GNEVariableSpeedSign::drawGL(), GUIJunctionWrapper::drawGL(), GNERouteProbe::drawGL(), GNELane::drawGL(), GUIE3Collector::MyWrapper::drawGL(), GNEEdge::drawGL(), GNEChargingStation::drawGL(), GUIChargingStation::drawGL(), GNERerouter::drawGL(), GUIContainerStop::drawGL(), GNEDetectorE3::drawGL(), GUIBusStop::drawGL(), GNEConnection::drawGL(), GUIParkingArea::drawGL(), GUIE2Collector::MyWrapper::drawGL(), GNECalibrator::drawGL(), GUIInductLoop::MyWrapper::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GUILane::drawGL(), GUIPerson::drawGLAdditional(), GUIBaseVehicle::drawGLAdditional(), GNEAdditional::drawLockIcon(), GUIBaseVehicle::drawOnPos(), GNEAdditional::drawParentAndChildrenConnections(), GNEJunction::getAttribute(), GUIJunctionWrapper::getColorValue(), GUIEdge::getColorValue(), GNELane::getColorValue(), GUILane::getColorValue(), GNEJunction::getColorValue(), GNEViewNet::getEdgeAtCursorPosition(), GNEViewNet::getEdgesAtCursorPosition(), GNEViewNet::getJunctionAtCursorPosition(), GNEViewNet::getLaneAtCurserPosition(), GUISUMOAbstractView::getObjectAtPosition(), GUISUMOAbstractView::getObjectsAtPosition(), GNEViewNet::getPolygonAtCursorPosition(), GUIEdge::getScaleValue(), GUILane::getScaleValue(), GNESelectorFrame::handleIDs(), GNEAdditional::isAdditionalSelected(), GUIGlChildWindow::isSelected(), GUISUMOViewParent::isSelected(), GNEViewParent::isSelected(), GUISelectedStorage::loadIDs(), GNEViewNet::mergeJunctions(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdBegin2TrackPhases(), GNEConnectorFrame::onCmdClearSelectedConnections(), GUIGLObjectPopupMenu::onCmdCopyEdgeName(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideAllRoutes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideBestLanes(), GUIPerson::GUIPersonPopupMenu::onCmdHideCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdHideLFLinkItems(), GUIPerson::GUIPersonPopupMenu::onCmdHideWalkingareaPath(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowAllRoutes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowBestLanes(), GUIPerson::GUIPersonPopupMenu::onCmdShowCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowCurrentRoute(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowFoes(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdShowLFLinkItems(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdShowPhases(), GUIPerson::GUIPersonPopupMenu::onCmdShowWalkingareaPath(), GUIPerson::GUIPersonPopupMenu::onCmdStartTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStartTrack(), GUIPerson::GUIPersonPopupMenu::onCmdStopTrack(), GUIBaseVehicle::GUIBaseVehiclePopupMenu::onCmdStopTrack(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdSwitchTLS2Off(), GUITrafficLightLogicWrapper::GUITrafficLightLogicWrapperPopupMenu::onCmdSwitchTLSLogic(), GNEViewNet::onLeftBtnPress(), LayeredRTree::selectLayer(), GNEJunction::setAttribute(), GNEJunction::setColor(), and GUISelectedStorage::toggleSelection().

GUIParameterTableWindow * GUIGlObject::getTypeParameterWindow ( GUIMainWindow &  app,
GUISUMOAbstractView &  parent 
)
virtualinherited

Returns an own type parameter window (optional)

Parameters
[in]appThe application needed to build the parameter window
[in]parentThe parent window needed to build the parameter window
Returns
The built parameter window

Reimplemented in GUIVehicle, GUIBaseVehicle, GUIMEVehicle, and GUIPerson.

Definition at line 127 of file GUIGlObject.cpp.

References UNUSED_PARAMETER.

Referenced by GUIGLObjectPopupMenu::onCmdShowTypePars().

SUMORTree & GNENet::getVisualisationSpeedUp ( )

Returns the RTree used for visualisation speed-up.

Returns
The visualisation speed-up

Definition at line 202 of file GNENet.cpp.

References myGrid.

Referenced by GNETLSEditorFrame::buildIinternalLanes().

const SUMORTree & GNENet::getVisualisationSpeedUp ( ) const

Returns the RTree used for visualisation speed-up.

Returns
The visualisation speed-up

Definition at line 208 of file GNENet.cpp.

References myGrid.

const Boundary & GNENet::getZBoundary ( ) const

Returns the Z boundary (stored in the x() coordinate) values of 0 do not affect the boundary.

Definition at line 196 of file GNENet.cpp.

References myZBoundary.

void GNENet::initGNEConnections ( )

initialize GNEConnections

Definition at line 2227 of file GNENet.cpp.

References myEdges.

Referenced by computeAndUpdate(), and GNEViewNet::onCmdToogleShowConnection().

void GNENet::insertEdge ( GNEEdge *  edge)
private

inserts a single edge into the net and into the underlying netbuild-container

Definition at line 2129 of file GNENet.cpp.

References NBNode::addIncomingEdge(), NBNode::addOutgoingEdge(), NBNetBuilder::getEdgeCont(), NBEdge::getFromNode(), GNEEdge::getNBEdge(), NBEdge::getToNode(), NBEdgeCont::insert(), myNetBuilder, and registerEdge().

Referenced by GNEChange_Edge::redo(), and GNEChange_Edge::undo().

void GNENet::insertJunction ( GNEJunction *  junction)
private

inserts a single junction into the net and into the underlying netbuild-container

Definition at line 2122 of file GNENet.cpp.

References GNEJunction::getNBNode(), NBNetBuilder::getNodeCont(), NBNodeCont::insert(), myNetBuilder, and registerJunction().

Referenced by GNEChange_Junction::redo(), and GNEChange_Junction::undo().

void GNENet::insertPOIInView ( GNEPOI *  p)
void GNENet::insertPolygonInView ( GNEPoly *  p)
bool GNENet::isShapeSelected ( SumoXMLTag  tag,
const std::string &  ID 
) const
void GNENet::mergeJunctions ( GNEJunction *  moved,
GNEJunction *  target,
GNEUndoList *  undoList 
)

merge the given junctions edges between the given junctions will be deleted

Parameters
[in]movedThe junction that will be eliminated
[in]targetThe junction that will be enlarged
[in]undoListThe undo list with which to register changes

Definition at line 745 of file GNENet.cpp.

References GNEJunction::commitGeometryMoving(), deleteJunction(), GNEEdge::getGNEJunctionDestiny(), GNEEdge::getGNEJunctionSource(), NBNode::getIncomingEdges(), GNEJunction::getNBNode(), NBNode::getOutgoingEdges(), NBNode::getPosition(), GNEJunction::moveJunctionGeometry(), myEdges, GNEUndoList::p_begin(), GNEUndoList::p_end(), remapEdge(), SUMO_TAG_JUNCTION, and toString().

Referenced by GNEViewNet::mergeJunctions().

void ShapeContainer::movePOI ( const std::string &  id,
const Position &  pos 
)
virtualinherited

Assigns a new position to the named PoI.

Parameters
[in]idThe id of the PoI to move
[in]posThe PoI's new position

Reimplemented in GUIShapeContainer.

Definition at line 85 of file ShapeContainer.cpp.

References NamedObjectCont< T >::get(), and ShapeContainer::myPOIs.

void GNENet::moveSelection ( const Position &  moveSrc,
const Position &  moveDest 
)

move all selected junctions and edges

Note
: inner points of an edge will only be modified if the edge and its endpoints are selected

Definition at line 1552 of file GNENet.cpp.

References retrieveEdges(), and retrieveJunctions().

Referenced by GNEViewNet::onMouseMove().

bool GNENet::netHasGNECrossings ( ) const

check if net has GNECrossings

Definition at line 1257 of file GNENet.cpp.

References myJunctions.

Referenced by GNEChange_Crossing::redo(), and GNEChange_Crossing::undo().

void GNENet::refreshPOI ( GNEPOI *  p)
void GNENet::removeExplicitTurnaround ( std::string  id)

remove edge id from the list of explicit turnarounds

Definition at line 1546 of file GNENet.cpp.

References myExplicitTurnarounds.

Referenced by GNEEdge::removeConnection().

void GUIGlObject::removeParameterTable ( GUIParameterTableWindow *  w)
inherited

Lets this object know a parameter window showing the object's values was closed.

Parameters
[in]wThe closed parameter window

Definition at line 262 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

Referenced by GUIParameterTableWindow::~GUIParameterTableWindow().

bool GNENet::removePOI ( const std::string &  id)
virtual

Removes a PoI from the container.

Parameters
[in]idThe id of the PoI
Returns
Whether the poi could be removed

Reimplemented from ShapeContainer.

Definition at line 1956 of file GNENet.cpp.

References NamedObjectCont< T >::get(), ShapeContainer::myPOIs, and NamedObjectCont< T >::remove().

Referenced by GNEChange_POI::~GNEChange_POI().

void GNENet::removePOIOfView ( GNEPOI *  p)
bool GNENet::removePolygon ( const std::string &  id)
virtual

Removes a polygon from the container.

Parameters
[in]idThe id of the polygon
Returns
Whether the polygon could be removed

Reimplemented from ShapeContainer.

Definition at line 1847 of file GNENet.cpp.

References NamedObjectCont< T >::get(), ShapeContainer::myPolygons, and NamedObjectCont< T >::remove().

Referenced by GNEViewNet::stopEditShapeJunction(), and GNEChange_Poly::~GNEChange_Poly().

bool GNENet::removeRestrictedLane ( SUMOVehicleClass  vclass,
GNEEdge &  edge,
GNEUndoList *  undoList 
)

remove restricted lane

Parameters
[in]vclassvehicle class to restrict
[in]edgethe edge in which remove sidewalk
[in]undoListThe undolist in which to mark changes

Definition at line 615 of file GNENet.cpp.

References deleteLane(), and GNEEdge::getLanes().

Referenced by GNEViewNet::removeRestrictedLane().

void GNENet::removeSolitaryJunctions ( GNEUndoList *  undoList)
void GNENet::renameEdge ( GNEEdge *  edge,
const std::string &  newID 
)
void GNENet::renameJunction ( GNEJunction *  junction,
const std::string &  newID 
)
void GNENet::replaceInListAttribute ( GNEAttributeCarrier *  ac,
SumoXMLAttr  key,
const std::string &  which,
const std::string &  by,
GNEUndoList *  undoList 
)
staticprivate
void GNENet::requireRecompute ( )
void GNENet::reserveEdgeID ( const std::string &  id)
private

reserve edge ID (To avoid duplicates)

Definition at line 2215 of file GNENet.cpp.

References IDSupplier::avoid(), and myEdgeIDSupplier.

Referenced by createEdge().

void GNENet::reserveJunctionID ( const std::string &  id)
private

reserve junction ID (To avoid duplicates)

Definition at line 2221 of file GNENet.cpp.

References IDSupplier::avoid(), and myJunctionIDSupplier.

void ShapeContainer::reshapePolygon ( const std::string &  id,
const PositionVector &  shape 
)
virtualinherited

Assigns a shape to the named polygon.

Parameters
[in]idThe id of the polygon to reshape
[in]shapeThe polygon's new shape

Reimplemented in GUIShapeContainer.

Definition at line 94 of file ShapeContainer.cpp.

References NamedObjectCont< T >::get(), ShapeContainer::myPolygons, and SUMOPolygon::setShape().

Referenced by TraCI_Polygon::setShape().

bool GNENet::restrictLane ( SUMOVehicleClass  vclass,
GNELane *  lane,
GNEUndoList *  undoList 
)

transform lane to restricted lane

Parameters
[in]vclassvehicle class to restrict
[in]laneThe lane to be transformed
[in]undoListThe undolist in which to mark changes

Definition at line 556 of file GNENet.cpp.

References GNEEdge::getLanes(), GNEEdge::getNBEdge(), GNELane::getParentEdge(), NBEdge::getPermissions(), getVehicleClassNames(), GNELane::setAttribute(), SUMO_ATTR_ALLOW, SVC_PEDESTRIAN, and toString().

Referenced by addSRestrictedLane(), and GNEViewNet::restrictLane().

GNEAdditional * GNENet::retrieveAdditional ( const std::string &  idl,
bool  hardFail = true 
) const

Returns the named additional.

Parameters
[in]idThe id of the additional to return.
[in]hardFailenable or disable exception if additional to insert is duplicated

Definition at line 1653 of file GNENet.cpp.

References myAdditionals.

Referenced by GNEAdditionalHandler::buildAdditional().

std::vector< GNEAdditional * > GNENet::retrieveAdditionals ( bool  onlySelected = false)

return all additionals

Parameters
[in]onlySelectedWhether to return only selected additionals

Definition at line 1668 of file GNENet.cpp.

References GLO_ADDITIONAL, gSelected, GUISelectedStorage::isSelected(), and myAdditionals.

Referenced by GNEViewNet::deleteSelectedAdditionals().

std::vector< GNEAttributeCarrier * > GNENet::retrieveAttributeCarriers ( const std::set< GUIGlID > &  ids,
GUIGlObjectType  type 
)

get the attribute carriers based on GlIDs

Parameters
[in]idsThe set of ids for which to retrive the ACs
[in]typeThe GUI-type of the objects with the given ids
Exceptions
InvalidArgumentif any given id does not match the declared type

Definition at line 1020 of file GNENet.cpp.

References GUIGlObject::getMicrosimID(), GUIGlObjectStorage::getObjectBlocking(), GUIGlObjectStorage::gIDStorage, GLO_ADDITIONAL, GLO_CONNECTION, GLO_CROSSING, GLO_EDGE, GLO_JUNCTION, GLO_LANE, GLO_POI, GLO_POLYGON, and GUIGlObjectStorage::unblockObject().

Referenced by GNEViewNet::onLeftBtnPress().

GNEEdge * GNENet::retrieveEdge ( GNEJunction *  from,
GNEJunction *  to,
bool  failHard = true 
)

get edge by from and to GNEJunction

Parameters
[in]idThe id of the desired edge
[in]failHardWhether attempts to retrieve a nonexisting edge should result in an exception
Exceptions
UnknownElement

Definition at line 914 of file GNENet.cpp.

References GNEAttributeCarrier::getID(), and myEdges.

GNEJunction * GNENet::retrieveJunction ( const std::string &  id,
bool  failHard = true 
)

get junction by id

Parameters
[in]idThe id of the desired junction
[in]failHardWhether attempts to retrieve a nonexisting junction should result in an exception
Exceptions
UnknownElement

Definition at line 886 of file GNENet.cpp.

References myJunctions.

Referenced by changeEdgeEndpoints(), GNEJunction::invalidateTLS(), GNEEdge::isValid(), GNEJunction::isValid(), GNETLSEditorFrame::onCmdOK(), GNEEdge::setAttribute(), and GNEJunction::setAttribute().

std::vector< GNEJunction * > GNENet::retrieveJunctions ( bool  onlySelected = false)
GNEPOI * GNENet::retrievePOI ( const std::string &  id,
bool  failHard = true 
) const

get POI by id

Parameters
[in]idThe id of the desired POI
[in]failHardWhether attempts to retrieve a nonexisting POI should result in an exception
Exceptions
UnknownElement

Definition at line 2020 of file GNENet.cpp.

References NamedObjectCont< T >::get(), and ShapeContainer::myPOIs.

Referenced by GNEPolygonFrame::addPOI(), isShapeSelected(), and GNEPOI::isValid().

GNEPoly * GNENet::retrievePolygon ( const std::string &  id,
bool  failHard = true 
) const

get Polygon by id

Parameters
[in]idThe id of the desired polygon
[in]failHardWhether attempts to retrieve a nonexisting polygon should result in an exception
Exceptions
UnknownElement

Definition at line 1911 of file GNENet.cpp.

References NamedObjectCont< T >::get(), and ShapeContainer::myPolygons.

Referenced by GNEPolygonFrame::addPolygon(), isShapeSelected(), and GNEPoly::isValid().

bool GNENet::revertLaneRestriction ( GNELane *  lane,
GNEUndoList *  undoList 
)

revert prevously restricted lane

Parameters
[in]laneThe lane to be unrestricted
[in]undoListThe undolist in which to mark changes

Definition at line 582 of file GNENet.cpp.

References GNELane::isRestricted(), joinToString(), GNELane::setAttribute(), SUMO_ATTR_ALLOW, SUMO_ATTR_DISALLOW, SumoVehicleClassStrings, SVC_BICYCLE, SVC_BUS, and SVC_PEDESTRIAN.

Referenced by GNEViewNet::onCmdRevertRestriction().

bool GNENet::routeExists ( const std::string &  routeID) const
void GNENet::save ( OptionsCont &  oc)

save the network

Parameters
[in]ocThe OptionsCont which knows how and where to save

Definition at line 804 of file GNENet.cpp.

References computeAndUpdate(), myNetBuilder, and NWFrame::writeNetwork().

Referenced by GNEApplicationWindow::onCmdSaveNetwork().

void GNENet::saveAdditionals ( const std::string &  filename,
bool  volatileOptionsEnabled = false 
)

save additional elements of the network

Parameters
[in]filenamename of the file in wich save additionals
[in]volatileOptionsEnabledflag to indicate that additionals are being saved with volatile options enabled

Definition at line 813 of file GNENet.cpp.

References GNEStoppingPlace::areStoppingPlacesPositionsFixed(), OutputDevice::close(), OutputDevice::getDevice(), OptionsCont::getOptions(), GNEDetector::isDetectorPositionFixed(), myAdditionals, myAdditionalsSaved, myViewNet, OutputDevice::openTag(), and WRITE_WARNING.

Referenced by GNEApplicationWindow::onCmdComputeJunctionsVolatile(), and GNEApplicationWindow::onCmdSaveAdditionals().

void GNENet::saveJoined ( OptionsCont &  oc)

save log of joined junctions (and nothing else)

Parameters
[in]ocThe OptionsCont which knows how and where to save

Definition at line 872 of file GNENet.cpp.

References computeAndUpdate(), NBNetBuilder::getNodeCont(), myNetBuilder, and NWWriter_XML::writeJoinedJunctions().

Referenced by GNEApplicationWindow::onCmdSaveJoined().

void GNENet::savePlain ( OptionsCont &  oc)

save plain xml representation of the network (and nothing else)

Parameters
[in]ocThe OptionsCont which knows how and where to save

Definition at line 864 of file GNENet.cpp.

References computeAndUpdate(), myNetBuilder, and NWWriter_XML::writeNetwork().

Referenced by GNEApplicationWindow::onCmdSaveAsPlainXML().

void GUIGlObject::setMicrosimID ( const std::string &  newID)
virtualinherited

Changes the microsimID of the object.

Note
happens in NETEDIT

Reimplemented in GNEEdge.

Definition at line 141 of file GUIGlObject.cpp.

References GUIGlObject::createFullName(), GUIGlObject::myFullName, and GUIGlObject::myMicrosimID.

Referenced by renameJunction(), GNEAdditional::setAdditionalID(), GNELane::setIndex(), GNEEdge::setMicrosimID(), and GNEConnection::updateID().

void GUIGlObject::setPrefix ( const std::string &  prefix)
protectedinherited

usually names are prefixed by a type-specific string. this method can be used to change the default

Definition at line 271 of file GUIGlObject.cpp.

References GUIGlObject::createFullName(), GUIGlObject::myFullName, and GUIGlObject::myPrefix.

void GNENet::setViewNet ( GNEViewNet *  viewNet)

Set the viewNet to be notified of network changes.

Definition at line 880 of file GNENet.cpp.

References myViewNet.

GNEJunction * GNENet::splitEdge ( GNEEdge *  edge,
const Position &  pos,
GNEUndoList *  undoList,
GNEJunction *  newJunction = 0 
)
void GNENet::splitEdgesBidi ( const std::set< GNEEdge * > &  edges,
const Position &  pos,
GNEUndoList *  undoList 
)

split all edges at position by inserting one new junction

Parameters
[in]edgesThe edges to be split
[in]posThe position on which to insert the new junction

Definition at line 689 of file GNENet.cpp.

References GNEUndoList::p_begin(), GNEUndoList::p_end(), splitEdge(), SUMO_TAG_EDGE, and toString().

Referenced by GNEViewNet::onCmdSplitEdgeBidi().

void GNENet::updateAdditionalID ( const std::string &  oldID,
GNEAdditional *  additional 
)

update additional ID in container

Note
this function is automatically called when user changes the ID of an additional

Definition at line 1638 of file GNENet.cpp.

References GNEAttributeCarrier::getID(), GNEAttributeCarrier::getTag(), myAdditionals, requiereSaveAdditionals(), and toString().

Referenced by GNEAdditional::setAdditionalID().

bool GNENet::vehicleTypeExists ( const std::string &  vehicleTypeID) const

Friends And Related Function Documentation

friend class GNEChange_Connection
friend
friend class GNEChange_Edge
friend

Definition at line 96 of file GNENet.h.

Referenced by createEdge(), deleteEdge(), and replaceIncomingEdge().

friend class GNEChange_Junction
friend

declare friend class

Definition at line 95 of file GNENet.h.

Referenced by createJunction(), and deleteJunction().

Field Documentation

const GUIGlID GUIGlObject::INVALID_ID = 0
staticinherited
bool GNENet::myAdditionalsSaved
protected

Flag to check if additionals has to be saved.

Definition at line 705 of file GNENet.h.

Referenced by requiereSaveAdditionals(), and saveAdditionals().

IDSupplier GNENet::myEdgeIDSupplier
protected

Definition at line 694 of file GNENet.h.

Referenced by createEdge(), and reserveEdgeID().

std::set<std::string> GNENet::myExplicitTurnarounds
protected

list of edge ids for which turn-arounds must be added explicitly

Definition at line 699 of file GNENet.h.

Referenced by addExplicitTurnaround(), computeAndUpdate(), and removeExplicitTurnaround().

IDSupplier GNENet::myJunctionIDSupplier
protected

Definition at line 695 of file GNENet.h.

Referenced by createJunction(), and reserveJunctionID().

bool GNENet::myNeedRecompute
protected

whether the net needs recomputation

Definition at line 702 of file GNENet.h.

Referenced by computeAndUpdate(), computeEverything(), and requireRecompute().

bool GNENet::myShapesSaved
protected

Flag to check if shapes hast o be saved.

Definition at line 708 of file GNENet.h.

Referenced by requiereSaveShapes(), and saveShapes().

Boundary GNENet::myZBoundary
private

the z boundary (stored in the x-coordinate), values of 0 are ignored

Definition at line 752 of file GNENet.h.

Referenced by getZBoundary(), and registerJunction().

const RGBColor GNENet::selectedConnectionColor
static

color of selected connection

Definition at line 109 of file GNENet.h.

Referenced by GNEConnection::drawGL().

const RGBColor GNENet::selectedLaneColor
static

color of selected lane

Definition at line 106 of file GNENet.h.

Referenced by GNELane::drawGL(), and GNEPoly::drawGL().

StringBijection< GUIGlObjectType > GUIGlObject::TypeNames
staticinherited

associates object types with strings

Definition at line 76 of file GUIGlObject.h.

const double GNENet::Z_INITIALIZED = 1
staticprivate

marker for whether the z-boundary is initialized

Definition at line 755 of file GNENet.h.

Referenced by registerJunction().


The documentation for this class was generated from the following files: