78 class GNEDetectorE3EntryExit;
193 const std::string& suggestedName =
"",
bool wasSplit =
false,
bool allowDuplicateGeom =
false);
348 std::vector<GNEEdge*>
retrieveEdges(
bool onlySelected =
false);
353 std::vector<GNELane*>
retrieveLanes(
bool onlySelected =
false);
376 void saveAdditionals(
const std::string& filename,
bool volatileOptionsEnabled =
false);
554 bool routeExists(
const std::string& routeID)
const;
560 bool flowExists(
const std::string& flowID)
const;
573 bool addPolygon(
const std::string&
id,
const std::string& type,
const RGBColor& color,
double layer,
574 double angle,
const std::string& imgFile,
const PositionVector& shape,
bool fill,
575 bool ignorePruning =
false);
623 bool addPOI(
const std::string&
id,
const std::string& type,
const RGBColor& color,
double layer,
624 double angle,
const std::string& imgFile,
const Position& pos,
double width,
double height,
625 bool ignorePruning =
false);
772 return "Redo replace in TLS";
777 return "Undo replace in TLS";
~GNEChange_ReplaceEdgeInTLS()
destructor
void setViewNet(GNEViewNet *viewNet)
Set the viewNet to be notified of network changes.
GNEJunction * splitEdge(GNEEdge *edge, const Position &pos, GNEUndoList *undoList, GNEJunction *newJunction=0)
split edge at position by inserting a new junction
std::vector< GNEJunction * > retrieveJunctions(bool onlySelected=false)
return all junctions
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
void initJunctionsAndEdges()
Init Junctions and edges.
std::vector< GNELane * > retrieveLanes(bool onlySelected=false)
return all lanes
GNEViewNet * myViewNet
The viewNet to be notofied of about changes.
SumoXMLTag
Numbers representing SUMO-XML - element names.
void requiereSaveAdditionals()
inform that additionals has to be saved
NBTrafficLightLogicCont & myTllcont
container for traffic light logic
the function-object for an editing operation (abstract base)
GNEEdge * retrieveEdge(const std::string &id, bool failHard=true)
get edge by id
IDSupplier myEdgeIDSupplier
bool flowExists(const std::string &flowID) const
Check if exist a flow with these ID.
void removePolygonOfView(GNEPoly *p)
remove polygon of view net
SUMORTree myGrid
the rtree which contains all GUIGlObjects (so named for historical reasons)
void deletePOI(GNEPOI *POI, GNEUndoList *undoList)
remove POI
FXApp * getApp()
get pointer to the main App
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
bool removePolygon(const std::string &id)
Removes a polygon from the container.
GNEPoly * addPolygonForEditShapes(GNEJunction *junction)
Builds a special polygon used for edit Junctions's shapes.
void refreshElement(GUIGlObject *o)
refreshes boundary information for o and update
GNEAdditionals myAdditionals
map with the name and pointer to additional elements of net
The main window of the Netedit.
static const RGBColor selectedLaneColor
color of selected lane
bool revertLaneRestriction(GNELane *lane, GNEUndoList *undoList)
revert prevously restricted lane
std::string generatePOIID() const
generate a POI ID
A container for traffic light definitions and built programs.
void refreshPOI(GNEPOI *p)
refresh shape in view net
Stores the information about how to visualize structures.
std::set< GUIGlID > getGlIDs(GUIGlObjectType type=GLO_MAX)
get ids of currently active objects
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.
bool vehicleTypeExists(const std::string &vehicleTypeID) const
Check if exist a vehicle type with these ID.
The representation of a single edge during network building.
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
void reverseEdge(GNEEdge *edge, GNEUndoList *undoList)
reverse edge
void update()
notify myViewNet
void insertJunction(GNEJunction *junction)
inserts a single junction into the net and into the underlying netbuild-container ...
void saveAdditionals(const std::string &filename, bool volatileOptionsEnabled=false)
save additional elements of the network
bool routeExists(const std::string &routeID) const
Check if exist a route with these ID.
void deleteConnection(GNEConnection *connection, GNEUndoList *undoList)
remove connection
void splitEdgesBidi(const std::set< GNEEdge * > &edges, const Position &pos, GNEUndoList *undoList)
split all edges at position by inserting one new junction
A NBNetBuilder extended by visualisation and editing capabilities.
This lane is powered by an underlying GNEEdge and basically knows how to draw itself.
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)
void addExplicitTurnaround(std::string id)
add edge id to the list of explicit turnarounds
bool cleanInvalidCrossings(GNEUndoList *undoList)
clear invalid crossings
Storage for geometrical objects.
SumoXMLAttr
Numbers representing SUMO-XML - attributes.
void insertEdge(GNEEdge *edge)
inserts a single edge into the net and into the underlying netbuild-container
void deleteEdge(GNEEdge *edge, GNEUndoList *undoList)
removes edge
A RT-tree for efficient storing of SUMO's GL-objects.
void remapEdge(GNEEdge *oldEdge, GNEJunction *from, GNEJunction *to, GNEUndoList *undoList, bool keepEndpoints=false)
GNEJunction * registerJunction(GNEJunction *junction)
registers a junction with GNENet containers
A class that stores a 2D geometrical boundary.
bool myNeedRecompute
whether the net needs recomputation
int getNumberOfAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
Returns the number of additionals of the net.
NBNetBuilder * myNetBuilder
The internal netbuilder.
const Boundary & getBoundary() const
returns the bounder of the network
bool restrictLane(SUMOVehicleClass vclass, GNELane *lane, GNEUndoList *undoList)
transform lane to restricted lane
bool myAdditionalsSaved
Flag to check if additionals has to be saved.
void renameJunction(GNEJunction *junction, const std::string &newID)
updates the map and reserves new id
IDSupplier myJunctionIDSupplier
void refreshPolygon(GNEPoly *p)
refresh polygon in view net
void changePOIID(GNEPOI *POI, const std::string &OldID)
change POI ID
static const double Z_INITIALIZED
marker for whether the z-boundary is initialized
FXString undoName() const
undo name
static const RGBColor selectedAdditionalColor
color of selected additionals
std::string getAdditionalID(SumoXMLTag type, const GNELane *lane, const double pos) const
Returns the additional close to the given position.
void updateAdditionalID(const std::string &oldID, GNEAdditional *additional)
update additional ID in container
bool removeRestrictedLane(SUMOVehicleClass vclass, GNEEdge &edge, GNEUndoList *undoList)
remove restricted lane
std::map< std::string, GNEJunction * > GNEJunctions
NBEdge * myBy
replaced by NBEdge
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
void insertPolygonInView(GNEPoly *p)
insert created polygon in view net
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
void refreshAdditional(GNEAdditional *additional)
refreshes boundary information of an additional after a geometry update
A point in 2D or 3D with translation and scaling methods.
GNEJunction * retrieveJunction(const std::string &id, bool failHard=true)
get junction by id
GNEJunctions myJunctions
map with the name and pointer to junctions of net
GNELane * retrieveLane(const std::string &id, bool failHard=true)
get lane by id
bool joinSelectedJunctions(GNEUndoList *undoList)
join selected junctions
Boundary myZBoundary
the z boundary (stored in the x-coordinate), values of 0 are ignored
void deleteLane(GNELane *lane, GNEUndoList *undoList)
removes lane
void replaceIncomingEdge(GNEEdge *which, GNEEdge *by, GNEUndoList *undoList)
replaces edge
void deleteGeometryOrEdge(GNEEdge *edge, const Position &pos, GNEUndoList *undoList)
removes geometry when pos is close to a geometry node, deletes the whole edge otherwise ...
bool isShapeSelected(SumoXMLTag tag, const std::string &ID) const
Check if shape item is selected.
bool trueChange()
wether original and new value differ
void changePolygonID(GNEPoly *poly, const std::string &OldID)
change Polygon ID
GNEPoly * retrievePolygon(const std::string &id, bool failHard=true) const
get Polygon by id
void computeJunction(GNEJunction *junction)
trigger recomputation of junction shape and logic param[in] window The window to inform about delay ...
const GNECalibratorFlow & getGNECalibratorFlow(const std::string &calibratorFlowID) const
Returns a reference to a calibrator flow finding in all calibrators of net.
A lane area vehicles can halt at (netedit-version)
void initGNEConnections()
initialize GNEConnections
void save(OptionsCont &oc)
save the network
std::string generatePolyID() const
generate PolyID
std::vector< GNEAttributeCarrier * > retrieveAttributeCarriers(const std::set< GUIGlID > &ids, GUIGlObjectType type)
get the attribute carriers based on GlIDs
void deleteCrossing(GNECrossing *crossing, GNEUndoList *undoList)
remove crossing
void insertPOIInView(GNEPOI *p)
insert created shape in view net
void moveSelection(const Position &moveSrc, const Position &moveDest)
move all selected junctions and edges
GNEJunction * createJunction(const Position &pos, GNEUndoList *undoList)
creates a new junction
SUMORTree & getVisualisationSpeedUp()
Returns the RTree used for visualisation speed-up.
std::set< std::string > myExplicitTurnarounds
list of edge ids for which turn-arounds must be added explicitly
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.
std::vector< GNEAdditional * > getAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
get vector with additionals
const GNECalibratorRoute & getGNECalibratorRoute(const std::string &calibratorRouteID) const
Returns a reference to a calibrator route finding in all calibrators of net.
bool checkJunctionPosition(const Position &pos)
return true if there are already a Junction in the given position, false in other case ...
FXString redoName() const
get Redo name
void replaceJunctionByGeometry(GNEJunction *junction, GNEUndoList *undoList)
replace the selected junction by geometry node(s) and merge the edges
A road/street connecting two junctions (netedit-version)
void reserveJunctionID(const std::string &id)
reserve junction ID (To avoid duplicates)
GNEAdditional * getAdditional(SumoXMLTag type, const std::string &id) const
Returns the named additional.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
void deletePolygon(GNEPoly *polygon, GNEUndoList *undoList)
remove Polygon
void deleteSingleJunction(GNEJunction *junction)
deletes a single junction
const Boundary & getZBoundary() const
Returns the Z boundary (stored in the x() coordinate) values of 0 do not affect the boundary...
std::vector< GNEEdge * > retrieveEdges(bool onlySelected=false)
return all edges
GNEEdge * registerEdge(GNEEdge *edge)
registers an edge with GNENet containers
GNENet(NBNetBuilder *netBuilder)
Constructor.
An Element which don't belongs to GNENet but has influency in the simulation.
Instance responsible for building networks.
void removeSolitaryJunctions(GNEUndoList *undoList)
removes junctions that have no edges
static const RGBColor selectedConnectionColor
color of selected connection
A storage for options typed value containers)
bool removePOI(const std::string &id)
Removes a PoI from the container.
class for GNEChange_ReplaceEdgeInTLS
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 W...
void computeAndUpdate(OptionsCont &oc, bool volatileOptions)
recompute the network and update lane geometries
void renameEdge(GNEEdge *edge, const std::string &newID)
updates the map and reserves new id
static void replaceInListAttribute(GNEAttributeCarrier *ac, SumoXMLAttr key, const std::string &which, const std::string &by, GNEUndoList *undoList)
void deleteJunction(GNEJunction *junction, GNEUndoList *undoList)
removes junction and all incident edges
bool netHasGNECrossings() const
check if net has GNECrossings
std::string generateVaporizerID() const
generate an ID for vaporizers
void removeExplicitTurnaround(std::string id)
remove edge id from the list of explicit turnarounds
void saveJoined(OptionsCont &oc)
save log of joined junctions (and nothing else)
std::vector< GNEAdditional * > retrieveAdditionals(bool onlySelected=false)
return all additionals
void deleteAdditional(GNEAdditional *additional)
delete additional element previously inserted
GNEEdge * addReversedEdge(GNEEdge *edge, GNEUndoList *undoList)
add reversed edge
void requiereSaveShapes()
inform that shapes has to be saved
GNEPOI * retrievePOI(const std::string &id, bool failHard=true) const
get POI by id
GNEEdges myEdges
map with the name and pointer to edges of net
std::map< std::pair< std::string, SumoXMLTag >, GNEAdditional * > GNEAdditionals
void removePOIOfView(GNEPOI *p)
remove shape of view net
static const RGBColor selectionColor
const GNECalibratorVehicleType & getGNECalibratorVehicleType(const std::string &calibratorVehicleTypeID) const
Returns a reference to a calibrator vehicle type finding in all calibrators of net.
void reserveEdgeID(const std::string &id)
reserve edge ID (To avoid duplicates)
void deleteSingleEdge(GNEEdge *edge)
deletes a single edge
std::map< std::string, GNEEdge * > GNEEdges
void replaceRemoved(NBEdge *removed, int removedLane, NBEdge *by, int byLane)
Replaces occurences of the removed edge/lane in all definitions by the given edge.
GNEAdditional * retrieveAdditional(const std::string &idl, bool hardFail=true) const
Returns the named additional.
void mergeJunctions(GNEJunction *moved, GNEJunction *target, GNEUndoList *undoList)
merge the given junctions edges between the given junctions will be deleted
void insertAdditional(GNEAdditional *additional, bool hardFail=true)
Insert a additional element previously created in GNEAdditionalHandler.
int getNumberOfShapes() const
get number of shapes
bool addSRestrictedLane(SUMOVehicleClass vclass, GNEEdge &edge, GNEUndoList *undoList)
add restricted lane to edge
GNEChange_ReplaceEdgeInTLS(NBTrafficLightLogicCont &tllcont, NBEdge *replaced, NBEdge *by)
constructor
bool myShapesSaved
Flag to check if shapes hast o be saved.
A window containing a gl-object's parameter.
void changeEdgeEndpoints(GNEEdge *edge, const std::string &newSourceID, const std::string &newDestID)
modifies endpoins of the given edge
NBTrafficLightLogicCont & getTLLogicCont()
returns the tllcont of the underlying netbuilder
GNEViewNet * getViewNet() const
get view net
void savePlain(OptionsCont &oc)
save plain xml representation of the network (and nothing else)
void requireRecompute()
inform the net about the need for recomputation
void duplicateLane(GNELane *lane, GNEUndoList *undoList)
duplicates lane
NBEdge * myReplaced
replaced NBEdge
void saveShapes(const std::string &filename)
save shapes elements of the network
void finishMoveSelection(GNEUndoList *undoList)
register changes to junction and edge positions with the undoList
NBNetBuilder * getNetBuilder() const
get net builder