180 bool addPolygon(
const std::string&
id,
const std::string& type,
const RGBColor& color,
double layer,
181 double angle,
const std::string& imgFile,
const PositionVector& shape,
bool fill,
182 bool geo,
bool ignorePruning =
false);
200 bool addPOI(
const std::string&
id,
const std::string& type,
const RGBColor& color,
const Position& pos,
bool geo,
201 const std::string& lane,
double posOverLane,
double posLat,
double layer,
double angle,
202 const std::string& imgFile,
double width,
double height,
bool ignorePruning =
false);
237 const std::string& suggestedName =
"",
bool wasSplit =
false,
bool allowDuplicateGeom =
false);
400 std::vector<GNEEdge*>
retrieveEdges(
bool onlySelected =
false);
405 std::vector<GNELane*>
retrieveLanes(
bool onlySelected =
false);
413 GNELane*
retrieveLane(
const std::string&
id,
bool failHard =
true,
bool checkVolatileChange =
false);
827 return "Redo replace in TLS";
832 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
void insertCalibratorVehicleType(GNECalibratorVehicleType *vehicleType)
insert Calibrator VehicleType in net
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.
void insertAdditional(GNEAdditional *additional)
Insert a additional element int GNENet container.
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)
GNEPOILane * retrievePOILane(const std::string &id, bool failHard=true) const
get POILane by id
std::map< std::string, GNECalibratorFlow * > myCalibratorFlows
map with the name and pointer to Calibrator Flows of net
GNEEdge * retrieveEdge(const std::string &id, bool failHard=true)
get edge by id
IDSupplier myEdgeIDSupplier
GNECalibratorRoute * retrieveCalibratorRoute(const std::string &id, bool hardFail=true) const
Returns the named calibrator route.
SUMORTree myGrid
the rtree which contains all GUIGlObjects (so named for historical reasons)
FXApp * getApp()
get pointer to the main App
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types...
std::map< std::pair< std::string, SumoXMLTag >, GNEAdditional * > myAdditionals
map with the name and pointer to additional elements of net
void refreshElement(GUIGlObject *o)
refreshes boundary information for o and update
The main window of the Netedit.
GNECalibratorVehicleType * retrieveCalibratorVehicleType(const std::string &id, bool hardFail=true) const
Returns the named calibrator vehicle type.
static const RGBColor selectedLaneColor
color of selected lane
A container for traffic light definitions and built programs.
GNEAttributeCarrier * retrieveAttributeCarrier(const GUIGlID id, bool failHard=true)
get a single attribute carrier based on a GLID
Stores the information about how to visualize structures.
std::set< GUIGlID > getGlIDs(GUIGlObjectType type=GLO_MAX)
get ids of currently active objects
void removeShape(GNEShape *shape)
remove created shape (but NOT delete)
void changeCalibratorVehicleTypeID(GNECalibratorVehicleType *vehicleType, const std::string &oldID)
change Calibrator Vehicle Type ID
The representation of a single edge during network building.
std::string generateCalibratorVehicleTypeID() const
generate a new Calibrator Vehicle Type ID
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
bool addPOI(const std::string &id, const std::string &type, const RGBColor &color, const Position &pos, bool geo, const std::string &lane, double posOverLane, double posLat, double layer, double angle, const std::string &imgFile, double width, double height, bool ignorePruning=false)
Builds a POI using the given values and adds it to the container.
std::string generateCalibratorFlowID() const
generate a new Calibrator Flow ID
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 deleteShape(GNEShape *shape, GNEUndoList *undoList)
remove shape
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
void resetJunctionConnections(GNEJunction *junction, GNEUndoList *undoList)
reset junction's connections
void deleteCalibratorRoute(GNECalibratorRoute *route)
delete Calibrator Route in net
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
GNERerouterInterval * getRerouterInterval(const std::string &rerouterIntervalID) const
void deleteEdge(GNEEdge *edge, GNEUndoList *undoList)
removes edge
std::map< std::string, GNECalibratorVehicleType * > myCalibratorVehicleTypes
map with the name and pointer to Calibrator Vehicle Types of net
A RT-tree for efficient storing of SUMO's GL-objects.
GNEJunction * registerJunction(GNEJunction *junction)
registers a junction with GNENet containers
A class that stores a 2D geometrical boundary.
void deleteCalibratorVehicleType(GNECalibratorVehicleType *vehicleType)
delete Calibrator VehicleType in net
bool myNeedRecompute
whether the net needs recomputation
Builds trigger objects for GNENet (busStops, chargingStations, detectors, etc..)
int getNumberOfAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
Returns the number of additionals of the net.
GNEAdditional * retrieveAdditional(const std::string &id, bool hardFail=true) const
Returns the named additional.
NBNetBuilder * myNetBuilder
The internal netbuilder.
const Boundary & getBoundary() const
returns the bounder of the network
std::string generateShapeID(SumoXMLTag shapeTag) const
generate Shape ID
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
std::map< std::string, int > myEdgesAndNumberOfLanes
map with the Edges and their number of lanes
std::vector< GNEShape * > retrieveShapes(SumoXMLTag shapeTag=SUMO_TAG_NOTHING, bool onlySelected=false)
return all shapes
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
void updateAdditionalID(const std::string &oldID, GNEAdditional *additional)
update additional ID in container
bool removeRestrictedLane(SUMOVehicleClass vclass, GNEEdge &edge, GNEUndoList *undoList)
remove restricted lane
NBEdge * myBy
replaced by NBEdge
This object is responsible for drawing a shape and for supplying a a popup menu. Messages are routete...
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
void insertShape(GNEShape *shape)
insert shape
A point in 2D or 3D with translation and scaling methods.
GNEJunction * retrieveJunction(const std::string &id, bool failHard=true)
get junction by id
bool joinSelectedJunctions(GNEUndoList *undoList)
join selected junctions
Boundary myZBoundary
the z boundary (stored in the x-coordinate), values of 0 are ignored
std::string generateCalibratorRouteID() const
generate a new Calibrator Route ID
void deleteLane(GNELane *lane, GNEUndoList *undoList)
removes lane
void replaceIncomingEdge(GNEEdge *which, GNEEdge *by, GNEUndoList *undoList)
replaces edge
void insertCalibratorRoute(GNECalibratorRoute *route)
insert Calibrator Route in net
bool trueChange()
wether original and new value differ
GNEPoly * retrievePolygon(const std::string &id, bool failHard=true) const
get Polygon by id
void changeCalibratorRouteID(GNECalibratorRoute *route, const std::string &oldID)
change Calibrator Route ID
void deleteCalibratorFlow(GNECalibratorFlow *flow)
delete Calibrator Flow in net
void computeJunction(GNEJunction *junction)
trigger recomputation of junction shape and logic param[in] window The window to inform about delay ...
void initGNEConnections()
initialize GNEConnections
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 geo, bool ignorePruning=false)
Builds a polygon using the given values and adds it to the container.
void save(OptionsCont &oc)
save the network
void insertCalibratorFlow(GNECalibratorFlow *flow)
insert Calibrator Flow in net
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 changeShapeID(GNEShape *s, const std::string &OldID)
change Shape ID
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
std::vector< GNEAdditional * > getAdditionals(SumoXMLTag type=SUMO_TAG_NOTHING) const
get vector with additionals
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)
void changeCalibratorFlowID(GNECalibratorFlow *flow, const std::string &oldID)
change Calibrator Flow ID
GNECalibratorFlow * retrieveCalibratorFlow(const std::string &id, bool hardFail=true) const
Returns the named calibrator flow.
GNEAdditional * getAdditional(SumoXMLTag type, const std::string &id) const
Returns the named additional.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
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)
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 clearJunctionConnections(GNEJunction *junction, GNEUndoList *undoList)
clear junction's connections
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 of GNENet container
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
static const RGBColor selectionColor
std::map< std::string, GNEJunction * > myJunctions
map with the name and pointer to junctions of net
void reserveEdgeID(const std::string &id)
reserve edge ID (To avoid duplicates)
void deleteSingleEdge(GNEEdge *edge)
deletes a single edge
void removePolygonForEditShapes(GNEPoly *polygon)
remove Polygon for edit shapes
void replaceRemoved(NBEdge *removed, int removedLane, NBEdge *by, int byLane)
Replaces occurences of the removed edge/lane in all definitions by the given edge.
GNEPoly * addPolygonForEditShapes(GNENetElement *netElement, const PositionVector &shape, bool fill)
Builds a special polygon used for edit Junctions's shapes.
void mergeJunctions(GNEJunction *moved, GNEJunction *target, GNEUndoList *undoList)
merge the given junctions edges between the given junctions will be deleted
int getNumberOfShapes() const
get number of shapes
std::map< std::string, GNECalibratorRoute * > myCalibratorRoutes
map with the name and pointer to Calibrator Routes of net
bool addSRestrictedLane(SUMOVehicleClass vclass, GNEEdge &edge, GNEUndoList *undoList)
add restricted lane to edge
GNEChange_ReplaceEdgeInTLS(NBTrafficLightLogicCont &tllcont, NBEdge *replaced, NBEdge *by)
constructor
GNELane * retrieveLane(const std::string &id, bool failHard=true, bool checkVolatileChange=false)
get lane by id
void remapEdge(GNEEdge *oldEdge, GNEJunction *from, GNEJunction *to, GNEUndoList *undoList, bool preserveShapeStart, bool preserveShapeEnd)
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 saveAdditionals(const std::string &filename)
save additional elements of the network
std::map< std::string, GNEEdge * > myEdges
map with the name and pointer to edges of 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
NBNetBuilder * getNetBuilder() const
get net builder