122 NBEdge*
retrieve(
const std::string&
id,
bool retrieveExtracted =
false)
const;
190 std::map<std::string, NBEdge*>::const_iterator
begin()
const {
198 std::map<std::string, NBEdge*>::const_iterator
end()
const {
245 const std::string& firstEdgeName,
const std::string& secondEdgeName,
246 unsigned int noLanesFirstEdge,
unsigned int noLanesSecondEdge);
262 const std::string& firstEdgeName,
const std::string& secondEdgeName,
263 unsigned int noLanesFirstEdge,
unsigned int noLanesSecondEdge);
275 return (
unsigned int)
myEdges.size();
376 void recheckLanes(
const bool buildCrossingsAndWalkingAreas);
490 void addPostProcessConnection(
const std::string& from,
int fromLane,
const std::string& to,
int toLane,
bool mayDefinitelyPass);
535 PostProcessConnection(
const std::string& from_,
int fromLane_,
const std::string& to_,
int toLane_,
bool mayDefinitelyPass_)
void sortOutgoingLanesConnections()
Sorts all lanes of all edges within the container by their direction.
bool myAmLeftHanded
Whether the network is left-handed.
NBEdge * retrievePossiblySplit(const std::string &id, bool downstream) const
Tries to retrieve an edge, even if it is splitted.
std::vector< std::string > getAllNames() const
Returns all ids of known edges.
bool myNeedGeoTransformedPrunningBoundary
whether a geo transform has been applied to the pruning boundary
A container for traffic light definitions and built programs.
bool myRemoveEdgesAfterJoining
Whether edges shall be joined first, then removed.
std::map< std::string, NBEdge * > EdgeCont
The type of the dictionary where an edge may be found by its id.
The representation of a single edge during network building.
unsigned int getNoEdgeSplits() const
Returns the number of edge splits.
A container for districts.
void clearControllingTLInformation() const
Clears information about controlling traffic lights for all connenections of all edges.
void generateStreetSigns()
assigns street signs to edges based on toNode types
void rename(NBEdge *edge, const std::string &newID)
Renames the edge. Throws exception if newID already exists.
bool splitAt(NBDistrictCont &dc, NBEdge *edge, NBNode *node)
Splits the edge at the position nearest to the given node.
void recheckPostProcessConnections()
Try to set any stored connections.
unsigned int myEdgesSplit
the number of splits of edges during the building
PostProcessConnection(const std::string &from_, int fromLane_, const std::string &to_, int toLane_, bool mayDefinitelyPass_)
Constructor.
std::vector< PostProcessConnection > myConnections
The list of connections to recheck.
void checkGeometries(const SUMOReal maxAngle, const SUMOReal minRadius, bool fix)
void guessRoundabouts(std::vector< EdgeVector > &marked)
Determines which edges belong to roundabouts and increases their priority.
NBEdgeCont(NBTypeCont &tc)
Constructor.
SVCPermissions myVehicleClasses2Keep
Set of vehicle types which must be allowed on edges in order to keep them.
void reduceGeometries(const SUMOReal minDist)
void computeLanes2Edges(const bool buildCrossingsAndWalkingAreas)
Computes for each edge which lanes approach the next edges.
std::map< std::string, NBEdge * >::const_iterator end() const
Returns the pointer to the end of the stored edges.
bool insert(NBEdge *edge, bool ignorePrunning=false)
Adds an edge to the dictionary.
void removeUnwishedEdges(NBDistrictCont &dc)
Removes unwished edges (not in keep-edges)
void extract(NBDistrictCont &dc, NBEdge *edge, bool remember=false)
Removes the given edge from the container like erase but does not delete it.
void applyOptions(OptionsCont &oc)
Initialises the storage by applying given options.
bool mayDefinitelyPass
Whether the connection may be passed without braking.
std::set< std::string > myEdges2Keep
Set of ids of edges which shall explicitly be kept.
void computeEdge2Edges(bool noLeftMovers)
Computes for each edge the approached edges.
void computeLaneShapes()
Computes the shapes of all lanes of all edges stored in the container.
Storage for edges, including some functionality operating on multiple edges.
void splitGeometry(NBNodeCont &nc)
Splits edges into multiple if they have a complex geometry.
EdgeCont myEdges
The instance of the dictionary (id->edge)
void clear()
Deletes all edges.
EdgeCont myExtractedEdges
The extracted nodes which are kept for reference.
void joinSameNodeConnectingEdges(NBDistrictCont &dc, NBTrafficLightLogicCont &tlc, EdgeVector edges)
Joins the given edges because they connect the same nodes.
SVCPermissions myVehicleClasses2Remove
Set of vehicle types which need not be supported (edges which allow ONLY these are removed) ...
std::string from
The id of the edge the connection starts at.
std::map< std::string, NBEdge * >::const_iterator begin() const
Returns the pointer to the begin of the stored edges.
PositionVector myPrunningBoundary
Boundary within which an edge must be located in order to be kept.
std::set< std::string > myTypes2Keep
Set of edges types which shall be kept.
SUMOReal myEdgesMinSpeed
The minimum speed an edge may have in order to be kept (default: -1)
NBEdge * retrieve(const std::string &id, bool retrieveExtracted=false) const
Returns the edge that has the given id.
bool wasRemoved(std::string id) const
Returns whether the edge with the id was deleted explicitly.
void appendTurnarounds(bool noTLSControlled)
Appends turnarounds to all edges stored in the container.
bool isLeftHanded() const
Returns whether the built edges are left-handed.
std::vector< NBEdge * > EdgeVector
int toLane
The number of the lane the connection ends at.
A storage for options typed value containers)
void recheckLanes(const bool buildCrossingsAndWalkingAreas)
Rechecks whether all lanes have a successor for each of the stored edges.
void erase(NBDistrictCont &dc, NBEdge *edge)
Removes the given edge from the container (deleting it)
NBEdgeCont & operator=(const NBEdgeCont &s)
invalidated assignment operator
A structure representing a connection between two lanes.
void computeEdgeShapes()
Computes the shapes of all edges stored in the container.
Represents a single node (junction) during network building.
NBTypeCont & myTypeCont
The network builder; used to obtain type information.
std::string to
The id of the edge the connection ends at.
void recheckLaneSpread()
Rechecks whether the lane spread is proper.
Static storage of an output device and its base (abstract) implementation.
bool wasIgnored(std::string id) const
Returns whether the edge with the id was ignored during parsing.
std::set< std::string > myTypes2Remove
Set of edges types which shall be removed.
Container for nodes during the netbuilding process.
int fromLane
The number of the lane the connection starts at.
std::set< std::string > myIgnoredEdges
The ids of ignored edges.
EdgeVector getGeneratedFrom(const std::string &id) const
Returns the edges which have been built by splitting the edge of the given id.
int guessSidewalks(SUMOReal width, SUMOReal minSpeed, SUMOReal maxSpeed)
add sidwalks to edges within the given limits and return the number of edges affected ...
void addPostProcessConnection(const std::string &from, int fromLane, const std::string &to, int toLane, bool mayDefinitelyPass)
Adds a connection which could not be set during loading.
bool ignoreFilterMatch(NBEdge *edge)
Returns true if this edge matches one of the removal criteria.
unsigned int size() const
Returns the number of edges.
A storage for available types of edges.
std::set< std::string > myEdges2Remove
Set of ids of edges which shall explicitly be removed.