![]() |
SUMO - Simulation of Urban MObility
|
The representation of a single edge during network building. More...
#include <NBEdge.h>
Data Structures | |
struct | Connection |
A structure which describes a connection between edges or lanes. More... | |
class | connections_finder |
class | connections_fromlane_finder |
class | connections_relative_edgelane_sorter |
class | connections_toedge_finder |
class | connections_toedgelane_finder |
struct | Lane |
An (internal) definition of a single lane of an edge. More... | |
class | MainDirections |
class | tls_disable_finder |
struct | TLSDisabledConnection |
class | ToEdgeConnectionsAdder |
Public Types | |
enum | EdgeBuildingStep { INIT_REJECT_CONNECTIONS, INIT, EDGE2EDGES, LANES2EDGES, LANES2LANES_RECHECK, LANES2LANES_DONE, LANES2LANES_USER } |
Current state of the edge within the building process. More... | |
enum | Lane2LaneInfoType { L2L_COMPUTED, L2L_USER, L2L_VALIDATED } |
Modes of setting connections between lanes. More... | |
Public Member Functions | |
void | addBikeLane (SUMOReal width) |
add a bicycle lane of the given width and shift existing connctions More... | |
void | addCrossingPointsAsIncomingWithGivenOutgoing (NBEdge *o, PositionVector &into) |
void | addLane (unsigned int index, bool recompute=true) |
void | addParameter (const std::string &key, const std::string &value) |
Adds a parameter. More... | |
void | addParameter (const std::map< std::string, std::string > &mapArg) |
Adds all given parameter. More... | |
void | addParameter (const Parameterised &p) |
Adds all given parameter. More... | |
void | addSidewalk (SUMOReal width) |
add a pedestrian sidewalk of the given width and shift existing connctions More... | |
void | addSign (NBSign sign) |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. More... | |
void | allowVehicleClass (int lane, SUMOVehicleClass vclass) |
set allowed class for the given lane or for all lanes if -1 is given More... | |
void | append (NBEdge *continuation) |
void | appendTurnaround (bool noTLSControlled, bool checkPermissions) |
Add a connection to the previously computed turnaround, if wished. More... | |
void | buildInnerEdges (const NBNode &n, unsigned int noInternalNoSplits, unsigned int &linkIndex, unsigned int &splitIndex) |
void | clearControllingTLInformation () |
clears tlID for all connections More... | |
void | clearParameter () |
Clears the parameter map. More... | |
bool | computeEdge2Edges (bool noLeftMovers) |
computes the edge (step1: computation of approached edges) More... | |
bool | computeLanes2Edges () |
computes the edge, step2: computation of which lanes approach the edges) More... | |
PositionVector | cutAtIntersection (const PositionVector &old) const |
cut shape at the intersection shapes More... | |
void | decLaneNo (unsigned int by) |
void | declareConnectionsAsLoaded () |
void | deleteLane (unsigned int index, bool recompute=true) |
void | disableConnection4TLS (int fromLane, NBEdge *toEdge, int toLane) |
void | disallowVehicleClass (int lane, SUMOVehicleClass vclass) |
set disallowed class for the given lane or for all lanes if -1 is given More... | |
void | dismissVehicleClassInformation () |
bool | expandableBy (NBEdge *possContinuation) const |
SUMOReal | getAngleAtNode (const NBNode *const node) const |
Returns the angle of the edge's geometry at the given node. More... | |
SUMOReal | getAngleAtNodeToCenter (const NBNode *const node) const |
Returns the angle of from the node shape center to where the edge meets the node shape. More... | |
PositionVector | getCCWBoundaryLine (const NBNode &n) const |
get the outer boundary of this edge when going counter-clock-wise around the given node More... | |
SUMOReal | getCrossingAngle (NBNode *node) |
return the angle for computing pedestrian crossings at the given node More... | |
PositionVector | getCWBoundaryLine (const NBNode &n) const |
get the outer boundary of this edge when going clock-wise around the given node More... | |
NBEdge::Lane | getFirstNonPedestrianLane (int direction) const |
int | getFirstNonPedestrianLaneIndex (int direction, bool exclusive=false) const |
return the first lane with permissions other than SVC_PEDESTRIAN and 0 More... | |
const std::string & | getID () const |
Returns the id. More... | |
int | getJunctionPriority (const NBNode *const node) const |
Returns the junction priority (normalised for the node currently build) More... | |
std::string | getLaneID (unsigned int lane) const |
std::string | getLaneIDInsecure (unsigned int lane) const |
SUMOReal | getLaneSpeed (unsigned int lane) const |
Lane & | getLaneStruct (unsigned int lane) |
const Lane & | getLaneStruct (unsigned int lane) const |
const std::map< std::string, std::string > & | getMap () const |
Returns the inner key/value map. More... | |
SUMOReal | getMaxLaneOffset () |
const std::string & | getParameter (const std::string &key, const std::string &defaultValue) const |
Returns the value for a given key. More... | |
SVCPermissions | getPermissions (int lane=-1) const |
get the union of allowed classes over all lanes or for a specific lane More... | |
const std::vector< NBSign > & | getSigns () const |
NBEdge * | getTurnDestination (bool possibleDestination=false) const |
const std::string & | getTypeID () const |
bool | hasLaneSpecificEndOffset () const |
whether lanes differ in offset More... | |
bool | hasLaneSpecificPermissions () const |
whether lanes differ in allowed vehicle classes More... | |
bool | hasLaneSpecificSpeed () const |
whether lanes differ in speed More... | |
bool | hasLaneSpecificWidth () const |
whether lanes differ in width More... | |
bool | hasPermissions () const |
whether at least one lane has restrictions More... | |
bool | hasSignalisedConnectionTo (const NBEdge *const e) const |
void | incLaneNo (unsigned int by) |
bool | isNearEnough2BeJoined2 (NBEdge *e, SUMOReal threshold) const |
bool | isTurningDirectionAt (const NBEdge *const edge) const |
Returns whether the given edge is the opposite direction to this edge. More... | |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
bool | lanesWereAssigned () const |
void | markAsInLane2LaneState () |
bool | mayBeTLSControlled (int fromLane, NBEdge *toEdge, int toLane) const |
void | moveOutgoingConnectionsFrom (NBEdge *e, unsigned int laneOff) |
NBEdge (const std::string &id, NBNode *from, NBNode *to, std::string type, SUMOReal speed, unsigned int nolanes, int priority, SUMOReal width, SUMOReal offset, const std::string &streetName="", LaneSpreadFunction spread=LANESPREAD_RIGHT) | |
Constructor. More... | |
NBEdge (const std::string &id, NBNode *from, NBNode *to, std::string type, SUMOReal speed, unsigned int nolanes, int priority, SUMOReal width, SUMOReal offset, PositionVector geom, const std::string &streetName="", const std::string &origID="", LaneSpreadFunction spread=LANESPREAD_RIGHT, bool tryIgnoreNodePositions=false) | |
Constructor. More... | |
NBEdge (const std::string &id, NBNode *from, NBNode *to, NBEdge *tpl, const PositionVector &geom=PositionVector(), int numLanes=-1) | |
Constructor. More... | |
bool | needsLaneSpecificOutput () const |
whether at least one lane has values differing from the edges values More... | |
void | preferVehicleClass (int lane, SUMOVehicleClass vclass) |
bool | recheckLanes () |
void | reinit (NBNode *from, NBNode *to, const std::string &type, SUMOReal speed, unsigned int nolanes, int priority, PositionVector geom, SUMOReal width, SUMOReal offset, const std::string &streetName, LaneSpreadFunction spread=LANESPREAD_RIGHT, bool tryIgnoreNodePositions=false) |
Resets initial values. More... | |
void | reinitNodes (NBNode *from, NBNode *to) |
Resets nodes but keeps all other values the same (used when joining) More... | |
bool | setControllingTLInformation (const NBConnection &c, const std::string &tlID) |
Returns if the link could be set as to be controlled. More... | |
void | setEndOffset (int lane, SUMOReal offset) |
set lane specific end-offset (negative lane implies set for all lanes) More... | |
void | setID (const std::string &newID) |
resets the id More... | |
void | setJunctionPriority (const NBNode *const node, int prio) |
Sets the junction priority of the edge. More... | |
void | setLaneWidth (int lane, SUMOReal width) |
set lane specific width (negative lane implies set for all lanes) More... | |
void | setLoadedLength (SUMOReal val) |
void | setPermissions (SVCPermissions permissions, int lane=-1) |
set allowed/disallowed classes for the given lane or for all lanes if -1 is given More... | |
void | setPreferredVehicleClass (SVCPermissions permissions, int lane=-1) |
void | setSpeed (int lane, SUMOReal speed) |
set lane specific speed (negative lane implies set for all lanes) More... | |
void | setTurningDestination (NBEdge *e, bool onlyPossible=false) |
Sets the turing destination at the given edge. More... | |
NBNode * | tryGetNodeAtPosition (SUMOReal pos, SUMOReal tolerance=5.0) const |
Returns the node at the given edges length (using an epsilon) When no node is existing at the given position, 0 is returned The epsilon is a static member of NBEdge, should be setable via program options. More... | |
~NBEdge () | |
Destructor. More... | |
Applying offset | |
void | reshiftPosition (SUMOReal xoff, SUMOReal yoff) |
Applies an offset to the edge. More... | |
void | mirrorX () |
mirror coordinates along the x-axis More... | |
Atomar getter methods | |
unsigned int | getNumLanes () const |
Returns the number of lanes. More... | |
int | getPriority () const |
Returns the priority of the edge. More... | |
NBNode * | getFromNode () const |
Returns the origin node of the edge. More... | |
NBNode * | getToNode () const |
Returns the destination node of the edge. More... | |
SUMOReal | getStartAngle () const |
Returns the angle at the start of the edge The angle is computed in computeAngle() More... | |
SUMOReal | getEndAngle () const |
Returns the angle at the end of the edge The angle is computed in computeAngle() More... | |
SUMOReal | getTotalAngle () const |
get the angle as measure from the start to the end of this edge More... | |
SUMOReal | getLength () const |
Returns the computed length of the edge. More... | |
SUMOReal | getLoadedLength () const |
Returns the length was set explicitly or the computed length if it wasn't set. More... | |
SUMOReal | getFinalLength () const |
length that will be assigned to the lanes in the final network More... | |
bool | hasLoadedLength () const |
Returns whether a length was set explicitly. More... | |
SUMOReal | getSpeed () const |
Returns the speed allowed on this edge. More... | |
EdgeBuildingStep | getStep () const |
The building step of this edge. More... | |
SUMOReal | getLaneWidth () const |
Returns the default width of lanes of this edge. More... | |
SUMOReal | getLaneWidth (int lane) const |
Returns the width of the lane of this edge. More... | |
SUMOReal | getTotalWidth () const |
Returns the combined width of all lanes of this edge. More... | |
const std::string & | getStreetName () const |
Returns the street name of this edge. More... | |
void | setStreetName (const std::string &name) |
sets the street name of this edge More... | |
SUMOReal | getEndOffset () const |
Returns the offset to the destination node. More... | |
SUMOReal | getEndOffset (int lane) const |
Returns the offset to the destination node a the specified lane. More... | |
SUMOReal | getSignalOffset () const |
Returns the offset of a traffic signal from the end of this edge. More... | |
void | setSignalOffset (SUMOReal offset) |
sets the offset of a traffic signal from the end of this edge More... | |
const std::vector< NBEdge::Lane > & | getLanes () const |
Returns the lane definitions. More... | |
Edge geometry access and computation | |
const PositionVector & | getGeometry () const |
Returns the geometry of the edge. More... | |
const PositionVector | getInnerGeometry () const |
Returns the geometry of the edge without the endpoints. More... | |
bool | hasDefaultGeometry () const |
Returns whether the geometry consists only of the node positions. More... | |
bool | hasDefaultGeometryEndpoints () const |
Returns whether the geometry is terminated by the node positions This default may be violated by initializing with tryIgnoreNodePositions=true' or with setGeometry() non-default endpoints are useful to control the generated node shape. More... | |
void | setGeometry (const PositionVector &g, bool inner=false) |
(Re)sets the edge's geometry More... | |
void | addGeometryPoint (int index, const Position &p) |
Adds a further geometry point. More... | |
void | shiftPositionAtNode (NBNode *node, NBEdge *opposite) |
shift geometry at the given node to avoid overlap More... | |
void | computeEdgeShape () |
Recomputeds the lane shapes to terminate at the node shape For every lane the intersection with the fromNode and toNode is calculated and the lane shorted accordingly. The edge length is then set to the average of all lane lenghts (which may differ). This average length is used as the lane length when writing the network. More... | |
const PositionVector & | getLaneShape (unsigned int i) const |
Returns the shape of the nth lane. More... | |
void | setLaneSpreadFunction (LaneSpreadFunction spread) |
(Re)sets how the lanes lateral offset shall be computed More... | |
LaneSpreadFunction | getLaneSpreadFunction () const |
Returns how this edge's lanes' lateral offset is computed. More... | |
bool | splitGeometry (NBEdgeCont &ec, NBNodeCont &nc) |
Splits this edge at geometry points. More... | |
void | reduceGeometry (const SUMOReal minDist) |
Removes points with a distance lesser than the given. More... | |
void | checkGeometry (const SUMOReal maxAngle, const SUMOReal minRadius, bool fix) |
Check the angles of successive geometry segments. More... | |
Setting/getting special types | |
void | setAsMacroscopicConnector () |
Marks this edge as a macroscopic connector. More... | |
bool | isMacroscopicConnector () const |
Returns whether this edge was marked as a macroscopic connector. More... | |
void | setIsInnerEdge () |
Marks this edge being within an intersection. More... | |
bool | isInnerEdge () const |
Returns whether this edge was marked as being within an intersection. More... | |
Static Public Member Functions | |
static bool | connections_sorter (const Connection &c1, const Connection &c2) |
template<class T > | |
static std::string | getIDSecure (const T *obj, const std::string &fallBack="NULL") |
get an identifier for Named-like object which may be Null More... | |
Static Public Attributes | |
static const SUMOReal | ANGLE_LOOKAHEAD = 10.0 |
the distance at which to take the default angle More... | |
static const SUMOReal | UNSPECIFIED_CONTPOS = -1 |
unspecified internal junction position More... | |
static const SUMOReal | UNSPECIFIED_LOADED_LENGTH = -1 |
no length override given More... | |
static const SUMOReal | UNSPECIFIED_OFFSET = 0 |
unspecified lane offset More... | |
static const SUMOReal | UNSPECIFIED_SIGNAL_OFFSET = -1 |
unspecified signal offset More... | |
static const SUMOReal | UNSPECIFIED_SPEED = -1 |
unspecified lane speed More... | |
static const SUMOReal | UNSPECIFIED_WIDTH = -1 |
unspecified lane width More... | |
Protected Attributes | |
std::string | myID |
The name of the object. More... | |
Private Member Functions | |
void | addRestrictedLane (SUMOReal width, SUMOVehicleClass vclass) |
add a lane of the given width, restricted to the given class and shift existing connctions More... | |
void | computeAngle () |
computes the angle of this edge and stores it in myAngle More... | |
PositionVector | computeLaneShape (unsigned int lane, SUMOReal offset) const |
Computes the shape for the given lane. More... | |
void | computeLaneShapes () |
void | divideOnEdges (const EdgeVector *outgoing) |
void | divideSelectedLanesOnEdges (const EdgeVector *outgoing, const std::vector< int > &availableLanes, const std::vector< unsigned int > *priorities) |
void | init (unsigned int noLanes, bool tryIgnoreNodePositions, const std::string &origID) |
Initialization routines common to all constructors. More... | |
NBEdge (const NBEdge &s) | |
invalidated copy constructor More... | |
NBEdge & | operator= (const NBEdge &s) |
invalidated assignment operator More... | |
std::vector< unsigned int > * | prepareEdgePriorities (const EdgeVector *outgoing) |
PositionVector | startShapeAt (const PositionVector &laneShape, const NBNode *startNode) const |
Static Private Member Functions | |
static unsigned int | computePrioritySum (const std::vector< unsigned int > &priorities) |
static SUMOReal | firstIntersection (const PositionVector &v1, const PositionVector &v2, SUMOReal width2) |
Private Attributes | |
bool | myAmInnerEdge |
Information whether this is a junction-inner edge. More... | |
bool | myAmMacroscopicConnector |
Information whether this edge is a (macroscopic) connector. More... | |
std::vector< Connection > | myConnections |
List of connections to following edges. More... | |
std::vector< Connection > | myConnectionsToDelete |
List of connections marked for delayed removal. More... | |
SUMOReal | myEndAngle |
SUMOReal | myEndOffset |
This edges's offset to the intersection begin (will be applied to all lanes) More... | |
NBNode * | myFrom |
The source and the destination node. More... | |
int | myFromJunctionPriority |
The priority normalised for the node the edge is outgoing of. More... | |
PositionVector | myGeom |
The geometry for the edge. More... | |
std::vector< Lane > | myLanes |
Lane information. More... | |
LaneSpreadFunction | myLaneSpreadFunction |
The information about how to spread the lanes. More... | |
SUMOReal | myLaneWidth |
This width of this edge's lanes. More... | |
SUMOReal | myLength |
The length of the edge. More... | |
SUMOReal | myLoadedLength |
An optional length to use (-1 if not valid) More... | |
NBEdge * | myPossibleTurnDestination |
The edge that would be the turn destination if there was one. More... | |
int | myPriority |
The priority of the edge. More... | |
SUMOReal | mySignalOffset |
the offset of a traffic light signal from the end of this edge (-1 for None) More... | |
std::vector< NBSign > | mySigns |
the street signs along this edge More... | |
SUMOReal | mySpeed |
The maximal speed. More... | |
SUMOReal | myStartAngle |
The angles of the edge. More... | |
EdgeBuildingStep | myStep |
The building step. More... | |
std::string | myStreetName |
The street name (or whatever arbitrary string you wish to attach) More... | |
std::vector< TLSDisabledConnection > | myTLSDisabledConnections |
NBNode * | myTo |
int | myToJunctionPriority |
The priority normalised for the node the edge is incoming in. More... | |
SUMOReal | myTotalAngle |
NBEdge * | myTurnDestination |
The turn destination edge (if a connection exists) More... | |
std::string | myType |
The type of the edge. More... | |
Friends | |
class | GNEEdge |
class | GNELane |
class | NBEdgeCont |
class | NBEdgeSuccessorBuilder |
Setting and getting connections | |
bool | addEdge2EdgeConnection (NBEdge *dest) |
Adds a connection to another edge. More... | |
bool | addLane2LaneConnection (unsigned int fromLane, NBEdge *dest, unsigned int toLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false, bool keepClear=true, SUMOReal contPos=UNSPECIFIED_CONTPOS) |
Adds a connection between the specified this edge's lane and an approached one. More... | |
bool | addLane2LaneConnections (unsigned int fromLane, NBEdge *dest, unsigned int toLane, unsigned int no, Lane2LaneInfoType type, bool invalidatePrevious=false, bool mayDefinitelyPass=false) |
Builds no connections starting at the given lanes. More... | |
bool | setConnection (unsigned int lane, NBEdge *destEdge, unsigned int destLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false, bool keepClear=true, SUMOReal contPos=UNSPECIFIED_CONTPOS) |
Adds a connection to a certain lane of a certain edge. More... | |
std::vector< Connection > | getConnectionsFromLane (unsigned int lane) const |
Returns connections from a given lane. More... | |
Connection | getConnection (int fromLane, const NBEdge *to, int toLane) const |
Returns the specified connection This method goes through "myConnections" and returns the specified one. More... | |
bool | hasConnectionTo (NBEdge *destEdge, unsigned int destLane, int fromLane=-1) const |
Retrieves info about a connection to a certain lane of a certain edge. More... | |
bool | isConnectedTo (NBEdge *e) |
Returns the information whethe a connection to the given edge has been added (or computed) More... | |
const std::vector< Connection > & | getConnections () const |
Returns the connections. More... | |
std::vector< Connection > & | getConnections () |
Returns the connections. More... | |
const EdgeVector * | getConnectedSorted () |
Returns the list of outgoing edges without the turnaround sorted in clockwise direction. More... | |
EdgeVector | getConnectedEdges () const |
Returns the list of outgoing edges unsorted. More... | |
std::vector< int > | getConnectionLanes (NBEdge *currentOutgoing) const |
Returns the list of lanes that may be used to reach the given edge. More... | |
void | sortOutgoingConnectionsByAngle () |
sorts the outgoing connections by their angle relative to their junction More... | |
void | sortOutgoingConnectionsByIndex () |
sorts the outgoing connections by their from-lane-index and their to-lane-index More... | |
void | remapConnections (const EdgeVector &incoming) |
Remaps the connection in a way that allows the removal of it. More... | |
void | removeFromConnections (NBEdge *toEdge, int fromLane=-1, int toLane=-1, bool tryLater=false) |
Removes the specified connection(s) More... | |
void | invalidateConnections (bool reallowSetting=false) |
void | replaceInConnections (NBEdge *which, NBEdge *by, unsigned int laneOff) |
void | replaceInConnections (NBEdge *which, const std::vector< NBEdge::Connection > &origConns) |
void | copyConnectionsFrom (NBEdge *src) |
void | shiftToLanesToEdge (NBEdge *to, unsigned int laneOff) |
modifify the toLane for all connections to the given edge More... | |
void | moveConnectionToLeft (unsigned int lane) |
void | moveConnectionToRight (unsigned int lane) |
bool | canMoveConnection (const Connection &con, unsigned int newFromLane) const |
whether the connection can originate on newFromLane More... | |
The representation of a single edge during network building.
Current state of the edge within the building process.
As the network is build in a cascaded way, considering loaded information, a counter holding the current step is needed. This is done by using this enumeration.
NBEdge::NBEdge | ( | const std::string & | id, |
NBNode * | from, | ||
NBNode * | to, | ||
std::string | type, | ||
SUMOReal | speed, | ||
unsigned int | nolanes, | ||
int | priority, | ||
SUMOReal | width, | ||
SUMOReal | offset, | ||
const std::string & | streetName = "" , |
||
LaneSpreadFunction | spread = LANESPREAD_RIGHT |
||
) |
Constructor.
Use this if no edge geometry is given.
[in] | id | The id of the edge |
[in] | from | The node the edge starts at |
[in] | to | The node the edge ends at |
[in] | type | The type of the edge (my be =="") |
[in] | speed | The maximum velocity allowed on this edge |
[in] | nolanes | The number of lanes this edge has |
[in] | priority | This edge's priority |
[in] | width | This edge's lane width |
[in] | offset | Additional offset to the destination node |
[in] | streetName | The street name (need not be unique) |
[in] | spread | How the lateral offset of the lanes shall be computed |
Definition at line 185 of file NBEdge.cpp.
References init().
Referenced by splitGeometry().
NBEdge::NBEdge | ( | const std::string & | id, |
NBNode * | from, | ||
NBNode * | to, | ||
std::string | type, | ||
SUMOReal | speed, | ||
unsigned int | nolanes, | ||
int | priority, | ||
SUMOReal | width, | ||
SUMOReal | offset, | ||
PositionVector | geom, | ||
const std::string & | streetName = "" , |
||
const std::string & | origID = "" , |
||
LaneSpreadFunction | spread = LANESPREAD_RIGHT , |
||
bool | tryIgnoreNodePositions = false |
||
) |
Constructor.
Use this if the edge's geometry is given.
[in] | id | The id of the edge |
[in] | from | The node the edge starts at |
[in] | to | The node the edge ends at |
[in] | type | The type of the edge (may be =="") |
[in] | speed | The maximum velocity allowed on this edge |
[in] | nolanes | The number of lanes this edge has |
[in] | priority | This edge's priority |
[in] | width | This edge's lane width |
[in] | offset | Additional offset to the destination node |
[in] | geom | The edge's geomatry |
[in] | streetName | The street name (need not be unique) |
[in] | origID | The original ID in the source network (need not be unique) |
[in] | spread | How the lateral offset of the lanes shall be computed |
[in] | tryIgnoreNodePositions | Does not add node geometries if geom.size()>=2 |
Definition at line 208 of file NBEdge.cpp.
References init().
NBEdge::NBEdge | ( | const std::string & | id, |
NBNode * | from, | ||
NBNode * | to, | ||
NBEdge * | tpl, | ||
const PositionVector & | geom = PositionVector() , |
||
int | numLanes = -1 |
||
) |
Constructor.
Use this to copy attribuets from another edge
[in] | id | The id of the edge |
[in] | from | The node the edge starts at |
[in] | to | The node the edge ends at |
[in] | tpl | The template edge to copy attributes from |
[in] | geom | The geometry to use (may be empty) |
[in] | numLanes | The number of lanes of the new edge (copy from tpl by default) |
Definition at line 233 of file NBEdge.cpp.
References getLaneSpeed(), getNumLanes(), getPermissions(), init(), MIN2(), myGeom, myLanes, myTo, setEndOffset(), setLaneWidth(), setPermissions(), and setSpeed().
NBEdge::~NBEdge | ( | ) |
Destructor.
Definition at line 387 of file NBEdge.cpp.
|
private |
invalidated copy constructor
void NBEdge::addBikeLane | ( | SUMOReal | width | ) |
add a bicycle lane of the given width and shift existing connctions
Definition at line 2484 of file NBEdge.cpp.
References addRestrictedLane(), and SVC_BICYCLE.
Referenced by getTypeID(), NIImporter_OpenStreetMap::insertEdge(), and NIXMLEdgesHandler::myEndElement().
void NBEdge::addCrossingPointsAsIncomingWithGivenOutgoing | ( | NBEdge * | o, |
PositionVector & | into | ||
) |
Referenced by getTypeID().
bool NBEdge::addEdge2EdgeConnection | ( | NBEdge * | dest | ) |
Adds a connection to another edge.
If the given edge does not start at the node this edge ends on, false is returned.
All other cases return true. Though, a connection may not been added if this edge is in step "INIT_REJECT_CONNECTIONS". Also, this method assures that a connection to an edge is set only once, no multiple connections to next edge are stored.
After a first connection to an edge was set, the process step is set to "EDGE2EDGES".
[in] | dest | The connection's destination edge |
Definition at line 660 of file NBEdge.cpp.
References EDGE2EDGES, INIT_REJECT_CONNECTIONS, invalidateConnections(), myConnections, myFrom, myStep, and myTo.
Referenced by addLane2LaneConnection(), NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), getLaneSpreadFunction(), NBEdgeCont::joinSameNodeConnectingEdges(), NIXMLConnectionsHandler::myStartElement(), NIImporter_VISUM::parse_Turns(), and remapConnections().
void NBEdge::addGeometryPoint | ( | int | index, |
const Position & | p | ||
) |
Adds a further geometry point.
Some importer do not know an edge's geometry when it is initialised. This method allows to insert further geometry points after the edge has been built.
[in] | index | The position at which the point shall be added |
[in] | p | The point to add |
Definition at line 553 of file NBEdge.cpp.
References myGeom.
Referenced by getGeometry(), and NIImporter_VISUM::parse_EdgePolys().
void NBEdge::addLane | ( | unsigned int | index, |
bool | recompute = true |
||
) |
Definition at line 2186 of file NBEdge.cpp.
References computeLaneShapes(), NBNode::getIncomingEdges(), invalidateConnections(), myFrom, and myLanes.
Referenced by GNEEdge::addLane(), getTypeID(), and incLaneNo().
bool NBEdge::addLane2LaneConnection | ( | unsigned int | fromLane, |
NBEdge * | dest, | ||
unsigned int | toLane, | ||
Lane2LaneInfoType | type, | ||
bool | mayUseSameDestination = false , |
||
bool | mayDefinitelyPass = false , |
||
bool | keepClear = true , |
||
SUMOReal | contPos = UNSPECIFIED_CONTPOS |
||
) |
Adds a connection between the specified this edge's lane and an approached one.
If the given edge does not start at the node this edge ends on, false is returned.
All other cases return true. Though, a connection may not been added if this edge is in step "INIT_REJECT_CONNECTIONS". Before the lane-to-lane connection is set, a connection between edges is established using "addEdge2EdgeConnection". Then, "setConnection" is called for inserting the lane-to-lane connection.
[in] | fromLane | The connection's starting lane (of this edge) |
[in] | dest | The connection's destination edge |
[in] | toLane | The connection's destination lane |
[in] | type | The connections's type |
[in] | mayUseSameDestination | Whether this connection may be set though connecting an already connected lane |
[in] | mayDefinitelyPass | Whether this connection is definitely undistrubed (special case for on-ramps) |
Definition at line 684 of file NBEdge.cpp.
References addEdge2EdgeConnection(), INIT_REJECT_CONNECTIONS, myFrom, myStep, myTo, and setConnection().
Referenced by NIImporter_SUMO::_loadNetwork(), addLane2LaneConnections(), NIVissimConnection::buildEdgeConnections(), getLaneSpreadFunction(), NBNodeCont::joinNodeClusters(), NIImporter_OpenDrive::loadNetwork(), moveOutgoingConnectionsFrom(), NIXMLEdgesHandler::myEndElement(), NIImporter_VISUM::parse_LanesConnections(), NIXMLConnectionsHandler::parseLaneBound(), NBEdgeCont::recheckPostProcessConnections(), and NBEdgeCont::splitAt().
bool NBEdge::addLane2LaneConnections | ( | unsigned int | fromLane, |
NBEdge * | dest, | ||
unsigned int | toLane, | ||
unsigned int | no, | ||
Lane2LaneInfoType | type, | ||
bool | invalidatePrevious = false , |
||
bool | mayDefinitelyPass = false |
||
) |
Builds no connections starting at the given lanes.
If "invalidatePrevious" is true, a call to "invalidateConnections(true)" is done. This method loops through the given connections to set, calling "addLane2LaneConnection" for each.
[in] | fromLane | The first of the connections' starting lanes (of this edge) |
[in] | dest | The connections' destination edge |
[in] | toLane | The first of the connections' destination lanes |
[in] | no | The number of connections to set |
[in] | type | The connections' type |
[in] | invalidatePrevious | Whether previously set connection shall be deleted |
[in] | mayDefinitelyPass | Whether these connections are definitely undistrubed (special case for on-ramps) |
Definition at line 707 of file NBEdge.cpp.
References addLane2LaneConnection(), and invalidateConnections().
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::computeLanes2Lanes(), and getLaneSpreadFunction().
|
inherited |
Adds a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 53 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by SUMORouteHandler::addParam(), NLHandler::addParam(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NBTrafficLightDefinition::compute(), NIImporter_OpenDrive::loadNetwork(), NIImporter_MATSim::EdgesHandler::myStartElement(), TraCIServerAPI_Edge::processSet(), TraCIServerAPI_TLS::processSet(), TraCIServerAPI_POI::processSet(), TraCIServerAPI_Polygon::processSet(), and TraCIServerAPI_Lane::processSet().
|
inherited |
Adds all given parameter.
[in] | mapArg | The keys/values to insert |
Definition at line 59 of file Parameterised.cpp.
References Parameterised::myMap.
|
inherited |
Adds all given parameter.
[in] | p | The keys/values to insert |
Definition at line 67 of file Parameterised.cpp.
References Parameterised::myMap.
|
private |
add a lane of the given width, restricted to the given class and shift existing connctions
Definition at line 2490 of file NBEdge.cpp.
References computeLaneShapes(), disallowVehicleClass(), NBEdge::Connection::fromLane, Named::getID(), NBNode::getIncomingEdges(), LANESPREAD_CENTER, PositionVector::move2side(), myConnections, myFrom, myGeom, myLanes, myLaneSpreadFunction, myTo, NBNode::shiftTLConnectionLaneIndex(), toString(), and WRITE_WARNING.
Referenced by addBikeLane(), and addSidewalk().
void NBEdge::addSidewalk | ( | SUMOReal | width | ) |
add a pedestrian sidewalk of the given width and shift existing connctions
Definition at line 2478 of file NBEdge.cpp.
References addRestrictedLane(), and SVC_PEDESTRIAN.
Referenced by getTypeID(), NBEdgeCont::guessSidewalks(), NIImporter_OpenStreetMap::insertEdge(), and NIXMLEdgesHandler::myEndElement().
|
inline |
Definition at line 1094 of file NBEdge.h.
References cutAtIntersection(), and mySigns.
Referenced by NBEdgeCont::generateStreetSigns().
|
inlineinherited |
Adds this object to the given container.
Definition at line 126 of file Named.h.
References Named::StoringVisitor::add().
void NBEdge::allowVehicleClass | ( | int | lane, |
SUMOVehicleClass | vclass | ||
) |
set allowed class for the given lane or for all lanes if -1 is given
Definition at line 2255 of file NBEdge.cpp.
References myLanes.
Referenced by NINavTeqHelper::addVehicleClasses(), NINavTeqHelper::addVehicleClassesV6(), getTypeID(), and preferVehicleClass().
void NBEdge::append | ( | NBEdge * | continuation | ) |
Definition at line 2121 of file NBEdge.cpp.
References PositionVector::append(), computeAngle(), getLength(), getSignalOffset(), myConnections, myGeom, myLanes, myLength, myPossibleTurnDestination, mySignalOffset, myStep, myTo, myTurnDestination, and UNSPECIFIED_SIGNAL_OFFSET.
Referenced by getTypeID(), and NBNodeCont::removeUnwishedNodes().
void NBEdge::appendTurnaround | ( | bool | noTLSControlled, |
bool | checkPermissions | ||
) |
Add a connection to the previously computed turnaround, if wished.
If a turning direction exists (myTurnDestination!=0) and either the edge is not controlled by a tls or noTLSControlled is false, a connection to the edge stored in myTurnDestination is added (from the leftmost lane of this edge to the leftmost lane of myTurnDestination).
[in] | noTLSControlled | Whether the turnaround shall not be connected if this edge is controlled by a tls |
Definition at line 1839 of file NBEdge.cpp.
References getNumLanes(), getPermissions(), NBNode::getType(), NBNode::isTLControlled(), L2L_VALIDATED, myLanes, myTo, myTurnDestination, NODETYPE_RAIL_CROSSING, setConnection(), and SVC_PEDESTRIAN.
Referenced by getTypeID().
void NBEdge::buildInnerEdges | ( | const NBNode & | n, |
unsigned int | noInternalNoSplits, | ||
unsigned int & | linkIndex, | ||
unsigned int & | splitIndex | ||
) |
Definition at line 1074 of file NBEdge.cpp.
References NBNode::computeInternalLaneShape(), NBEdge::Connection::contPos, NBNode::Crossing::edges, PositionVector::extrapolate(), firstIntersection(), NBEdge::Connection::foeIncomingLanes, NBEdge::Connection::foeInternalLinks, NBNode::foes(), NBNode::forbids(), NBEdge::Connection::fromLane, NBNode::getCrossings(), NBNode::getDirection(), getEndOffset(), Named::getID(), NBNode::getIncomingEdges(), OptionsCont::getInt(), getJunctionPriority(), getLaneShape(), OptionsCont::getOptions(), getSpeed(), hasSignalisedConnectionTo(), NBEdge::Connection::haveVia, NBEdge::Connection::id, NBEdge::Connection::internalLaneIndex, NBNode::isTLControlled(), joinToString(), PositionVector::length(), LINKDIR_LEFT, LINKDIR_PARTLEFT, LINKDIR_PARTRIGHT, LINKDIR_RIGHT, LINKDIR_STRAIGHT, LINKDIR_TURN, myConnections, NBNode::needsCont(), POSITION_EPS, NBNode::rightTurnConflict(), NBNode::Crossing::shape, NBEdge::Connection::shape, split(), PositionVector::splitAt(), SUMOReal, SVC_BICYCLE, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, toString(), UNSPECIFIED_CONTPOS, NBEdge::Connection::viaID, NBEdge::Connection::viaShape, NBEdge::Connection::viaVmax, NBEdge::Connection::vmax, NBNode::Crossing::width, and WRITE_WARNING.
Referenced by declareConnectionsAsLoaded().
|
private |
whether the connection can originate on newFromLane
Definition at line 1037 of file NBEdge.cpp.
References getPermissions(), SVC_PEDESTRIAN, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by moveConnectionToLeft(), and moveConnectionToRight().
Check the angles of successive geometry segments.
[in] | maxAngle | The maximum angle allowed |
[in] | minRadius | The minimum turning radius allowed at the start and end |
[in] | fix | Whether to prune geometry points to avoid sharp turns at start and end |
Definition at line 614 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::angleDiff(), DEG2RAD, Named::getID(), M_PI, myGeom, RAD2DEG, SUMOReal, toString(), WRITE_MESSAGE, and WRITE_WARNING.
Referenced by getLaneSpreadFunction().
void NBEdge::clearControllingTLInformation | ( | ) |
clears tlID for all connections
Definition at line 1996 of file NBEdge.cpp.
References myConnections.
Referenced by getTypeID().
|
inherited |
Clears the parameter map.
Definition at line 91 of file Parameterised.cpp.
References Parameterised::myMap.
|
private |
computes the angle of this edge and stores it in myAngle
Definition at line 1384 of file NBEdge.cpp.
References ANGLE_LOOKAHEAD, Position::angleTo2D(), PositionVector::around(), PositionVector::distance(), PositionVector::getCentroid(), getNumLanes(), NBNode::getPosition(), NBNode::getShape(), LANESPREAD_RIGHT, GeomHelper::legacyDegree(), PositionVector::length(), PositionVector::length2D(), MIN2(), myEndAngle, myFrom, myGeom, myLanes, myLaneSpreadFunction, myStartAngle, myTo, myTotalAngle, POSITION_EPS, PositionVector::positionAtOffset2D(), and SUMOReal.
Referenced by append(), computeEdgeShape(), init(), mirrorX(), reinitNodes(), reshiftPosition(), and setGeometry().
bool NBEdge::computeEdge2Edges | ( | bool | noLeftMovers | ) |
computes the edge (step1: computation of approached edges)
Definition at line 1483 of file NBEdge.cpp.
References EDGE2EDGES, NBNode::getOutgoingEdges(), NBNode::isLeftMover(), myConnections, myStep, and myTo.
Referenced by getTypeID().
void NBEdge::computeEdgeShape | ( | ) |
Recomputeds the lane shapes to terminate at the node shape For every lane the intersection with the fromNode and toNode is calculated and the lane shorted accordingly. The edge length is then set to the average of all lane lenghts (which may differ). This average length is used as the lane length when writing the network.
Definition at line 480 of file NBEdge.cpp.
References computeAngle(), cutAtIntersection(), myLanes, myLength, and SUMOReal.
Referenced by getGeometry().
bool NBEdge::computeLanes2Edges | ( | ) |
computes the edge, step2: computation of which lanes approach the edges)
Definition at line 1504 of file NBEdge.cpp.
References divideOnEdges(), EDGE2EDGES, getConnectedSorted(), LANES2EDGES, myConnections, and myStep.
Referenced by getTypeID().
|
private |
Computes the shape for the given lane.
Definition at line 1372 of file NBEdge.cpp.
References getLaneID(), PositionVector::move2side(), myGeom, and WRITE_WARNING.
Referenced by computeLaneShapes().
|
private |
Definition at line 1329 of file NBEdge.cpp.
References computeLaneShape(), Named::getID(), getLaneWidth(), LANESPREAD_RIGHT, myFrom, myGeom, myLanes, myLaneSpreadFunction, myTo, SUMO_const_laneOffset, SUMO_const_laneWidth, SUMOReal, UNSPECIFIED_WIDTH, and WRITE_WARNING.
Referenced by addLane(), addRestrictedLane(), deleteLane(), init(), and setGeometry().
|
staticprivate |
computes the sum of the given list's entries (sic!)
Definition at line 1829 of file NBEdge.cpp.
Referenced by divideSelectedLanesOnEdges().
|
static |
connections_sorter sort by fromLane, toEdge and toLane
Definition at line 2423 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by sortOutgoingConnectionsByIndex().
void NBEdge::copyConnectionsFrom | ( | NBEdge * | src | ) |
Definition at line 1030 of file NBEdge.cpp.
References myConnections, and myStep.
Referenced by getConnections(), and NBEdgeCont::splitAt().
PositionVector NBEdge::cutAtIntersection | ( | const PositionVector & | old | ) | const |
cut shape at the intersection shapes
Definition at line 450 of file NBEdge.cpp.
References GeomHelper::angleDiff(), PositionVector::beginEndAngle(), DEG2RAD, PositionVector::getSubpart(), PositionVector::length(), myFrom, myTo, POSITION_EPS, PositionVector::reverse(), startShapeAt(), and SUMOReal.
Referenced by addSign(), computeEdgeShape(), and getFinalLength().
void NBEdge::decLaneNo | ( | unsigned int | by | ) |
Definition at line 2236 of file NBEdge.cpp.
References deleteLane(), LANES2LANES_USER, myLanes, and myStep.
Referenced by getTypeID(), and NIXMLEdgesHandler::myEndElement().
|
inline |
Definition at line 1078 of file NBEdge.h.
References buildInnerEdges(), LANES2LANES_USER, and myStep.
Referenced by NIImporter_SUMO::_loadNetwork(), and GNEEdge::setAttribute().
void NBEdge::deleteLane | ( | unsigned int | index, |
bool | recompute = true |
||
) |
Definition at line 2221 of file NBEdge.cpp.
References computeLaneShapes(), NBNode::getIncomingEdges(), invalidateConnections(), myFrom, and myLanes.
Referenced by decLaneNo(), getTypeID(), and GNEEdge::removeLane().
void NBEdge::disableConnection4TLS | ( | int | fromLane, |
NBEdge * | toEdge, | ||
int | toLane | ||
) |
Definition at line 2004 of file NBEdge.cpp.
References NBEdge::TLSDisabledConnection::fromLane, myTLSDisabledConnections, NBEdge::TLSDisabledConnection::to, and NBEdge::TLSDisabledConnection::toLane.
Referenced by getTypeID(), and NIXMLConnectionsHandler::parseLaneBound().
void NBEdge::disallowVehicleClass | ( | int | lane, |
SUMOVehicleClass | vclass | ||
) |
set disallowed class for the given lane or for all lanes if -1 is given
Definition at line 2268 of file NBEdge.cpp.
References myLanes.
Referenced by addRestrictedLane(), getTypeID(), and NIImporter_DlrNavteq::EdgesHandler::report().
void NBEdge::dismissVehicleClassInformation | ( | ) |
Definition at line 2414 of file NBEdge.cpp.
References myLanes, and SVCAll.
Referenced by NBEdgeCont::insert(), and isInnerEdge().
|
private |
divides the lanes on the outgoing edges
Definition at line 1614 of file NBEdge.cpp.
References divideSelectedLanesOnEdges(), getPermissions(), isForbidden(), myConnections, myLanes, prepareEdgePriorities(), sortOutgoingConnectionsByIndex(), SVC_BICYCLE, SVC_BUS, SVC_PASSENGER, and SVC_PEDESTRIAN.
Referenced by computeLanes2Edges().
|
private |
Definition at line 1688 of file NBEdge.cpp.
References Bresenham::compute(), computePrioritySum(), NBEdge::ToEdgeConnectionsAdder::getBuiltConnections(), getNumLanes(), getPermissions(), getSpeed(), myConnections, myLanes, SUMOReal, SVC_BICYCLE, and SVC_PEDESTRIAN.
Referenced by divideOnEdges().
bool NBEdge::expandableBy | ( | NBEdge * | possContinuation | ) | const |
!! if (myAllowedOnLanes!=possContinuation->myAllowedOnLanes || myNotAllowedOnLanes!=possContinuation->myNotAllowedOnLanes) { return false; }
Definition at line 2050 of file NBEdge.cpp.
References EDGE2EDGES, getConnectedEdges(), getConnectionLanes(), getPriority(), INIT, INIT_REJECT_CONNECTIONS, LANES2EDGES, LANES2LANES_DONE, LANES2LANES_RECHECK, LANES2LANES_USER, myConnections, myFrom, myLanes, myLaneSpreadFunction, mySpeed, myStep, and myTo.
Referenced by getTypeID().
|
staticprivate |
Definition at line 1241 of file NBEdge.cpp.
References PositionVector::intersectsAtLengths2D(), PositionVector::length(), max, MIN2(), PositionVector::move2side(), POSITION_EPS, and SUMOReal.
Referenced by buildInnerEdges().
Returns the angle of the edge's geometry at the given node.
The angle is signed, regards direction, and starts at 12 o'clock (north->south), proceeds positive clockwise.
[in] | node | The node for which the edge's angle shall be returned |
Definition at line 1287 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::legacyDegree(), myFrom, myGeom, myTo, and SUMOReal.
Referenced by NBNode::computeLanes2Lanes(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBNode::geometryLike(), NBNodesEdgesSorter::edge_by_junction_angle_sorter::getConvAngle(), getCrossingAngle(), NBNode::getDirection(), getTypeID(), NBEdgeCont::guessRoundabouts(), NBNode::isLeftMover(), NBNodeCont::joinJunctions(), NBRequest::laneConflict(), and NBEdgePriorityComputer::setPriorityJunctionPriorities().
Returns the angle of from the node shape center to where the edge meets the node shape.
The angle is signed, disregards direction, and starts at 12 o'clock (north->south), proceeds positive clockwise.
[in] | node | The node for which the edge's angle shall be returned |
Definition at line 1299 of file NBEdge.cpp.
References myEndAngle, myFrom, myStartAngle, myTo, and SUMOReal.
Referenced by getTypeID(), and NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()().
PositionVector NBEdge::getCCWBoundaryLine | ( | const NBNode & | n | ) | const |
get the outer boundary of this edge when going counter-clock-wise around the given node
Definition at line 2032 of file NBEdge.cpp.
References getLaneWidth(), getNumLanes(), PositionVector::move2side(), myFrom, myLanes, and SUMOReal.
Referenced by getTypeID().
EdgeVector NBEdge::getConnectedEdges | ( | ) | const |
Returns the list of outgoing edges unsorted.
Definition at line 868 of file NBEdge.cpp.
References myConnections.
Referenced by NIVissimDisturbance::addToNode(), expandableBy(), NBTrafficLightDefinition::forbids(), getConnections(), NBContHelper::same_connection_edge_sorter::getMinMaxRelAngles(), GNEConnector::onCmdSelectConflicts(), and remapConnections().
const EdgeVector * NBEdge::getConnectedSorted | ( | ) |
Returns the list of outgoing edges without the turnaround sorted in clockwise direction.
Definition at line 831 of file NBEdge.cpp.
References NBNode::getOutgoingEdges(), myConnections, myConnectionsToDelete, myTo, and myTurnDestination.
Referenced by computeLanes2Edges(), and getConnections().
NBEdge::Connection NBEdge::getConnection | ( | int | fromLane, |
const NBEdge * | to, | ||
int | toLane | ||
) | const |
Returns the specified connection This method goes through "myConnections" and returns the specified one.
Definition at line 797 of file NBEdge.cpp.
References Named::getID(), myConnections, and toString().
Referenced by NBRequest::getFoesString(), getLaneSpreadFunction(), NBRequest::getResponseString(), and NBRequest::mustBrake().
std::vector< int > NBEdge::getConnectionLanes | ( | NBEdge * | currentOutgoing | ) | const |
Returns the list of lanes that may be used to reach the given edge.
Definition at line 880 of file NBEdge.cpp.
References myConnections, and myTurnDestination.
Referenced by NBNode::computeLanes2Lanes(), NBNode::ApproachingDivider::execute(), expandableBy(), and getConnections().
|
inline |
Returns the connections.
Definition at line 763 of file NBEdge.h.
References myConnections.
Referenced by NIXMLTrafficLightsHandler::addTlConnection(), NBTrafficLightDefinition::collectReachable(), NBNode::computeLanes2Lanes(), NBNodeCont::joinNodeClusters(), NIImporter_OpenDrive::loadNetwork(), NBRequest::mustBrake(), GNEConnector::onCmdSelectConflicts(), GNEConnector::onCmdSelectDeadStarts(), GNEConnector::onCmdSelectPass(), NBEdgeCont::recheckPostProcessConnections(), GNEJunction::setLogicValid(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_OpenDrive::writeNetwork(), NWWriter_SUMO::writeNetwork(), and NWWriter_XML::writeTrafficLights().
|
inline |
Returns the connections.
Definition at line 771 of file NBEdge.h.
References copyConnectionsFrom(), getConnectedEdges(), getConnectedSorted(), getConnectionLanes(), invalidateConnections(), isTurningDirectionAt(), myConnections, remapConnections(), removeFromConnections(), replaceInConnections(), setTurningDestination(), shiftToLanesToEdge(), sortOutgoingConnectionsByAngle(), and sortOutgoingConnectionsByIndex().
std::vector< NBEdge::Connection > NBEdge::getConnectionsFromLane | ( | unsigned int | lane | ) | const |
Returns connections from a given lane.
This method goes through "myConnections" and copies those which are starting at the given lane.
[in] | lane | The lane which connections shall be returned |
Definition at line 785 of file NBEdge.cpp.
References myConnections.
Referenced by NIVissimTL::NIVissimTLSignal::addTo(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectLinks(), NBOwnTLDef::computeLogicAndConts(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), GNELane::drawLane2LaneConnections(), getLaneSpreadFunction(), GNEConnector::handleLaneClick(), GNEConnector::initTargets(), moveOutgoingConnectionsFrom(), NBRequest::writeCrossingResponse(), and NBRequest::writeLaneResponse().
return the angle for computing pedestrian crossings at the given node
Definition at line 2452 of file NBEdge.cpp.
References gDebugFlag1, getAngleAtNode(), getFromNode(), Named::getID(), and SUMOReal.
Referenced by NBNode::checkCrossing(), and getLanes().
PositionVector NBEdge::getCWBoundaryLine | ( | const NBNode & | n | ) | const |
get the outer boundary of this edge when going clock-wise around the given node
Definition at line 2014 of file NBEdge.cpp.
References getLaneWidth(), getNumLanes(), PositionVector::move2side(), myFrom, myLanes, and SUMOReal.
Referenced by getTypeID().
|
inline |
Returns the angle at the end of the edge The angle is computed in computeAngle()
Definition at line 387 of file NBEdge.h.
References myEndAngle.
Referenced by NBContHelper::relative_incoming_edge_sorter::operator()(), and NBNode::rightTurnConflict().
|
inline |
Returns the offset to the destination node.
Definition at line 478 of file NBEdge.h.
References myEndOffset, and SUMOReal.
Referenced by NIImporter_SUMO::_loadNetwork(), buildInnerEdges(), GNEEdge::getAttribute(), getEndOffset(), and NWWriter_XML::writeEdgesAndConnections().
SUMOReal NBEdge::getEndOffset | ( | int | lane | ) | const |
Returns the offset to the destination node a the specified lane.
Definition at line 2327 of file NBEdge.cpp.
References getEndOffset(), myLanes, and UNSPECIFIED_OFFSET.
SUMOReal NBEdge::getFinalLength | ( | ) | const |
length that will be assigned to the lanes in the final network
Definition at line 2560 of file NBEdge.cpp.
References cutAtIntersection(), getFromNode(), getLoadedLength(), OptionsCont::getOptions(), getToNode(), hasLoadedLength(), PositionVector::length(), myGeom, POSITION_EPS, PositionVector::push_back_noDoublePos(), PositionVector::push_front_noDoublePos(), and SUMOReal.
Referenced by GNEEdge::getAttribute(), getLoadedLength(), and NWWriter_SUMO::writeEdge().
NBEdge::Lane NBEdge::getFirstNonPedestrianLane | ( | int | direction | ) | const |
Definition at line 2468 of file NBEdge.cpp.
References getFirstNonPedestrianLaneIndex(), Named::getID(), and myLanes.
Referenced by getLanes().
int NBEdge::getFirstNonPedestrianLaneIndex | ( | int | direction, |
bool | exclusive = false |
||
) | const |
return the first lane with permissions other than SVC_PEDESTRIAN and 0
[in] | direction | The direction in which the lanes shall be checked |
[in] | exclusive | Whether lanes that allow pedestrians along with other classes shall be counted as non-pedestrian |
Definition at line 2435 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, myLanes, SUMOReal, SVC_PEDESTRIAN, and SVCAll.
Referenced by NBTrafficLightDefinition::collectEdges(), NBNode::computeLanes2Lanes(), getFirstNonPedestrianLane(), and getLanes().
|
inline |
Returns the origin node of the edge.
Definition at line 361 of file NBEdge.h.
References myFrom.
Referenced by NBLoadedSUMOTLDef::addConnection(), NIXMLConnectionsHandler::addCrossing(), NIVissimDisturbance::addToNode(), NBLoadedTLDef::addToSignalGroup(), NBRampsComputer::buildOffRamp(), NBNode::buildWalkingAreas(), NBNode::checkCrossing(), NBRampsComputer::computeRamps(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NIVissimDistrictConnection::dict_BuildDistricts(), NBRampsComputer::fulfillsRampConstraints(), NBNodeCont::generateNodeClusters(), NBNodesEdgesSorter::edge_by_junction_angle_sorter::getConvAngle(), getCrossingAngle(), NBContHelper::edge_opposite_direction_sorter::getEdgeAngleAt(), getFinalLength(), NWWriter_DlrNavteq::getGraphLength(), NIImporter_VISUM::getNamedEdgeContinuating(), GNEEdge::getSource(), NBNode::guessCrossings(), NBEdgeCont::guessRoundabouts(), NBNodeCont::guessTLs(), NBOwnTLDef::hasCrossing(), NBEdgeCont::insert(), GNENet::insertEdge(), NBNode::isNearDistrict(), NBNodeCont::joinJunctions(), NBNodeCont::joinNodeClusters(), NBRequest::laneConflict(), NIImporter_ArcView::load(), NIXMLEdgesHandler::myEndElement(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::edge_by_direction_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NBEdgeCont::recheckPostProcessConnections(), NBNodeCont::removeIsolatedRoads(), NBEdgeCont::removeUnwishedEdges(), NIXMLEdgesHandler::setNodes(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeNetwork().
|
inline |
Returns the geometry of the edge.
Definition at line 523 of file NBEdge.h.
References addGeometryPoint(), computeEdgeShape(), getInnerGeometry(), getLaneShape(), hasDefaultGeometry(), hasDefaultGeometryEndpoints(), myGeom, setGeometry(), setLaneSpreadFunction(), and shiftPositionAtNode().
Referenced by NIXMLEdgesHandler::addEdge(), GNENet::addReversedEdge(), NIXMLEdgesHandler::addSplit(), NBNodeShapeComputer::badIntersection(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), GNEEdge::drawGL(), GNEEdge::getAttribute(), NBContHelper::edge_opposite_direction_sorter::getEdgeAngleAt(), NWWriter_DlrNavteq::getGraphLength(), GNEEdge::getSplitPos(), NBEdgeCont::ignoreFilterMatch(), isNearEnough2BeJoined2(), GNEEdge::moveGeometry(), NBRampsComputer::moveRampRight(), NIXMLEdgesHandler::myEndElement(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::relative_incoming_edge_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), GNEEdge::setAttribute(), GNEEdge::setEndpoint(), shiftPositionAtNode(), NBEdgeCont::splitAt(), GNENet::splitEdge(), GNEEdge::updateJunctionPosition(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_DlrNavteq::writeNodesUnsplitted().
|
inlineinherited |
Returns the id.
Definition at line 65 of file Named.h.
References Named::myID.
Referenced by NIImporter_SUMO::_loadNetwork(), MSVehicleTransfer::add(), TraCIServerAPI_Lane::StoringVisitor::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), IntermodalRouter< E, L, N, V >::addAccess(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSNet::addBusStop(), MSNet::addChargingStation(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSNet::addContainerStop(), NIXMLConnectionsHandler::addCrossing(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), addRestrictedLane(), RONet::addRouteDef(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSRouteHandler::addStop(), ROVehicle::addStop(), MSVehicle::addStop(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), MSVehicle::addTraciBusOrContainerStop(), MSVehicle::addTraciStop(), AGActivityTripWriter::addTrip(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSContainer::MSContainerStage_Driving::beginEventOutput(), MSContainer::MSContainerStage_Waiting::beginEventOutput(), MSPerson::MSPersonStage_Driving::beginEventOutput(), MSPerson::MSPersonStage_Waiting::beginEventOutput(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MS_E2_ZS_CollectorOverLanes::buildCollector(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), NIVissimConnection::buildEdgeConnections(), RODFNet::buildEdgeFlowMap(), GNEConnector::buildIinternalLanes(), GNETLSEditor::buildIinternalLanes(), buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), checkGeometry(), MSVehicleTransfer::checkInsertions(), MSSwarmTrafficLightLogic::choosePolicy(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), NBTrafficLightDefinition::compute(), NBNode::computeInternalLaneShape(), computeLaneShapes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBNode::computeNodeShape(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), MSAbstractLaneChangeModel::continueLaneChangeManeuver(), NLDetectorBuilder::convUncontE2PosLength(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), NIVissimDistrictConnection::dict_BuildDistricts(), MSContainer::MSContainerStage_Driving::endEventOutput(), MSContainer::MSContainerStage_Waiting::endEventOutput(), MSPerson::MSPersonStage_Driving::endEventOutput(), MSPerson::MSPersonStage_Waiting::endEventOutput(), MSE3Collector::enter(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSPModel_Striping::MovePedestrians::execute(), MSTrafficLightLogic::SwitchCommand::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), NBEdgeCont::extract(), TraCIServerAPI_Vehicle::findCloserLane(), NBRampsComputer::fulfillsRampConstraints(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSNet::getBusStopID(), MSNet::getChargingStationID(), getConnection(), MSNet::getContainerStopID(), getCrossingAngle(), GNEEdge::getDest(), RODFNet::getDetectorEdge(), MSMeanData::getEdgeID(), MSE2Collector::getEstimateQueueLength(), getFirstNonPedestrianLane(), MS_E2_ZS_CollectorOverLanes::getLanePredeccessorLanes(), MSTLLogicControl::TLSLogicVariants::getLogicInstantiatingOff(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), GUIInstantInductLoop::MyWrapper::getParameterWindow(), GUIMEInductLoop::MyWrapper::getParameterWindow(), GUI_E2_ZS_Collector::MyWrapper::getParameterWindow(), GUIVehicle::getParameterWindow(), GUIInductLoop::MyWrapper::getParameterWindow(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), GNEEdge::getSource(), MSVehicleControl::getWaitingVehicle(), MSLink::getZipperSpeed(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBEdgeCont::guessSidewalks(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollision(), NBEdgeCont::ignoreFilterMatch(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NBEdgeCont::insert(), MSEdge::insertVehicle(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), RODFNet::isSource(), MSSOTLTrafficLightLogic::isThresholdPassed(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), MSE3Collector::leave(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), NBRampsComputer::moveRampRight(), MSPModel_Striping::PState::moveToNextLane(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), NBLoadedTLDef::myCompute(), NIXMLEdgesHandler::myEndElement(), NIImporter_SUMO::myEndElement(), NIXMLConnectionsHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSDevice_BTsender::notifyMove(), MSE2Collector::notifyMove(), GUIViewTraffic::onGamingClick(), RORouteHandler::openRoute(), Named::ComparatorIdLess::operator()(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSEdge::by_id_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_Turns(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_JE2013::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_InductionLoop::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_ArealDetector::processGet(), TraCIServerAPI_Lane::processGet(), TraCIServerAPI_Vehicle::processSet(), NIXMLNodesHandler::processTrafficLightDefinitions(), NWWriter_SUMO::prohibitionConnection(), MSPModel_Striping::PState::PState(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), NBLoadedSUMOTLDef::removeConnection(), NBNodeCont::removeIsolatedRoads(), MSCalibrator::removePending(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBEdgeCont::rename(), GNENet::renameEdge(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), NBConnection::replaceFrom(), MSBaseVehicle::replaceRouteEdges(), NBConnection::replaceTo(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), RODFNet::revalidateFlows(), RONet::saveAndRemoveRoutesUntil(), MSBaseVehicle::saveState(), MSLane::saveState(), MSDevice_Battery::setActualBatteryCapacity(), MSDevice_Battery::setAirDragCoefficient(), NBNodeCont::setAsTLControlled(), MSChargingStation::setChrgPower(), MSDevice_Battery::setConstantPowerIntake(), setControllingTLInformation(), MSChargingStation::setEfficency(), MSDevice_Battery::setFrontSurfaceArea(), MSDevice_Battery::setInternalMomentOfInertia(), GNEJunction::setLogicValid(), MSDevice_Battery::setMass(), MSDevice_Battery::setMaximumBatteryCapacity(), NIXMLEdgesHandler::setNodes(), MSDevice_Battery::setPowerMax(), MSDevice_Battery::setPropulsionEfficiency(), MSDevice_Battery::setRadialDragCoefficient(), MSDevice_Battery::setRecuperationEfficiency(), MSLink::setRequestInformation(), MSDevice_Battery::setRollDragCoefficient(), MSTLLogicControl::TLSLogicVariants::setStateInstantiatingOnline(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), shiftPositionAtNode(), NBEdgeCont::splitAt(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), METriggeredCalibrator::tryEmit(), MSSOTLTrafficLightLogic::trySwitch(), MSSOTLTrafficLightLogic::updateCTS(), GNETLSEditor::updateDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), TraCIServerAPI_Vehicle::vtdMap(), MSPModel_Striping::PState::walk(), MSLCM_JE2013::wantsChange(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBSign::writeAsPOI(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_SUMO::writeInternalConnections(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSInductLoop::writeTypedXMLOutput(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMO::Polygon::writeXML(), MSRouteProbe::writeXMLOutput(), and MSE2Collector::writeXMLOutput().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 58 of file Named.h.
Referenced by operator<<(), and toString().
const PositionVector NBEdge::getInnerGeometry | ( | ) | const |
Returns the geometry of the edge without the endpoints.
Definition at line 417 of file NBEdge.cpp.
References PositionVector::getSubpartByIndex(), and myGeom.
Referenced by GNENet::addReversedEdge(), GNEEdge::deleteGeometry(), GNEEdge::getAttribute(), getGeometry(), GNEEdge::moveGeometry(), GNENet::replaceJunctionByGeometry(), and GNENet::reverseEdge().
int NBEdge::getJunctionPriority | ( | const NBNode *const | node | ) | const |
Returns the junction priority (normalised for the node currently build)
If the given node is neither the edge's start nor the edge's ending node, the behaviour is undefined.
[in] | node | The node for which the edge's priority shall be returned |
Definition at line 1267 of file NBEdge.cpp.
References myFrom, myFromJunctionPriority, and myToJunctionPriority.
Referenced by buildInnerEdges(), NBEdgeCont::generateStreetSigns(), NBOwnTLDef::getToPrio(), isInnerEdge(), NBEdge::MainDirections::MainDirections(), NBNode::needsCont(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), and NBRequest::setBlocking().
std::string NBEdge::getLaneID | ( | unsigned int | lane | ) | const |
Definition at line 2166 of file NBEdge.cpp.
References Named::myID, and toString().
Referenced by NIImporter_SUMO::_loadNetwork(), computeLaneShape(), getTypeID(), GNETLSEditor::handleMultiChange(), NIXMLConnectionsHandler::parseLaneBound(), GNELane::setIndex(), and NWWriter_SUMO::writeEdge().
std::string NBEdge::getLaneIDInsecure | ( | unsigned int | lane | ) | const |
Definition at line 2172 of file NBEdge.cpp.
References Named::myID, and toString().
Referenced by getTypeID(), and setConnection().
|
inline |
Returns the lane definitions.
Definition at line 502 of file NBEdge.h.
References getCrossingAngle(), getFirstNonPedestrianLane(), getFirstNonPedestrianLaneIndex(), myLanes, and SUMOReal.
Referenced by NIImporter_SUMO::_loadNetwork(), NBNode::buildWalkingAreas(), NBNode::checkCrossing(), GNEApplicationWindow::GNEShapeHandler::getLanePos(), NBNode::guessCrossings(), NBEdgeCont::joinSameNodeConnectingEdges(), NBSign::writeAsPOI(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_OpenDrive::writeNetwork().
const PositionVector & NBEdge::getLaneShape | ( | unsigned int | i | ) | const |
Returns the shape of the nth lane.
Definition at line 541 of file NBEdge.cpp.
References myLanes.
Referenced by buildInnerEdges(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), NBNode::computeInternalLaneShape(), getGeometry(), NWWriter_OpenDrive::getLeftLaneBorder(), and GNELane::getShape().
SUMOReal NBEdge::getLaneSpeed | ( | unsigned int | lane | ) | const |
Definition at line 1323 of file NBEdge.cpp.
References myLanes.
Referenced by GNELane::getAttribute(), GNELane::getColorValue(), getTypeID(), and NBEdge().
|
inline |
Returns how this edge's lanes' lateral offset is computed.
Definition at line 603 of file NBEdge.h.
References addEdge2EdgeConnection(), addLane2LaneConnection(), addLane2LaneConnections(), checkGeometry(), getConnection(), getConnectionsFromLane(), hasConnectionTo(), isConnectedTo(), myLaneSpreadFunction, reduceGeometry(), setConnection(), splitGeometry(), and SUMOReal.
Referenced by NIXMLEdgesHandler::addEdge(), GNENet::addReversedEdge(), NBNodeShapeComputer::badIntersection(), GNEEdge::getAttribute(), NBRampsComputer::moveRampRight(), NIXMLEdgesHandler::myEndElement(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
|
inline |
Definition at line 1067 of file NBEdge.h.
References myLanes.
Referenced by NBNode::computeInternalLaneShape(), GNENet::deleteLane(), GNENet::duplicateLane(), GNELane::getAttribute(), GNELane::getBoundary(), NIImporter_OpenDrive::loadNetwork(), and GNEEdge::setNumLanes().
|
inline |
|
inline |
Returns the default width of lanes of this edge.
Definition at line 449 of file NBEdge.h.
References getTotalWidth(), myLaneWidth, and SUMOReal.
Referenced by NIImporter_SUMO::_loadNetwork(), NBNode::checkCrossing(), computeLaneShapes(), GNELane::drawGL(), GNELane::drawMarkings(), GNEEdge::getAttribute(), getCCWBoundaryLine(), getCWBoundaryLine(), getLaneWidth(), NWWriter_OpenDrive::getLeftLaneBorder(), getTotalWidth(), NBRampsComputer::moveRampRight(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_OpenDrive::writeNetwork().
SUMOReal NBEdge::getLaneWidth | ( | int | lane | ) | const |
Returns the width of the lane of this edge.
Definition at line 2310 of file NBEdge.cpp.
References getLaneWidth(), myLanes, SUMO_const_laneWidth, SUMOReal, and UNSPECIFIED_WIDTH.
|
inline |
Returns the computed length of the edge.
Definition at line 404 of file NBEdge.h.
References myLength.
Referenced by append(), NBEdgeCont::generateStreetSigns(), GNELane::getColorValue(), GNEApplicationWindow::GNEShapeHandler::getLanePos(), GNELane::getParameterWindow(), NBNodeCont::guessTLs(), NBJoinedEdgesMap::init(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::relative_incoming_edge_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NBEdgeCont::retrievePossiblySplit(), and NWWriter_OpenDrive::writeNetwork().
|
inline |
Returns the length was set explicitly or the computed length if it wasn't set.
Definition at line 413 of file NBEdge.h.
References getFinalLength(), myLength, myLoadedLength, and SUMOReal.
Referenced by NIXMLEdgesHandler::addEdge(), NBNodeCont::generateNodeClusters(), GNELane::getColorValue(), getFinalLength(), NBNode::isLongEnough(), NBNodeCont::joinJunctions(), NBNodeCont::joinSimilarEdges(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
|
inlineinherited |
Returns the inner key/value map.
Definition at line 107 of file Parameterised.h.
References Parameterised::myMap.
Referenced by NBTrafficLightDefinition::compute(), GUIPerson::getParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), TraCIServerAPI_TLS::processGet(), ROVehicle::saveAsXML(), ROPerson::saveAsXML(), SUMOVTypeParameter::write(), PointOfInterest::writeXML(), and SUMO::Polygon::writeXML().
SUMOReal NBEdge::getMaxLaneOffset | ( | ) |
Definition at line 1914 of file NBEdge.cpp.
References myLanes, SUMO_const_laneWidthAndOffset, and SUMOReal.
Referenced by getTypeID().
|
inline |
Returns the number of lanes.
Definition at line 345 of file NBEdge.h.
References myLanes.
Referenced by NBLoadedTLDef::SignalGroup::addConnection(), NIXMLEdgesHandler::addEdge(), GNEEdge::addLane(), NIXMLEdgesHandler::addLane(), NIXMLEdgesHandler::addSplit(), NIVissimTL::NIVissimTLSignal::addTo(), appendTurnaround(), NBNode::ApproachingDivider::ApproachingDivider(), NIVissimConnection::buildEdgeConnections(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::checkCrossing(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectLinks(), computeAngle(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBOwnTLDef::computeLogicAndConts(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), divideSelectedLanesOnEdges(), NBRampsComputer::fulfillsRampConstraints(), GNEEdge::getAttribute(), getCCWBoundaryLine(), GNELane::getColorValue(), getCWBoundaryLine(), GNEApplicationWindow::GNEShapeHandler::getLanePos(), NWWriter_OpenDrive::getLeftLaneBorder(), NWWriter_DlrNavteq::getRoadClass(), GNEEdge::GNEEdge(), NBRampsComputer::hasWrongMode(), NBNode::isSimpleContinuation(), moveOutgoingConnectionsFrom(), NIXMLEdgesHandler::myEndElement(), NBEdge(), NBContHelper::edge_by_priority_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIVissimExtendedEdgePoint::recheckLanes(), recheckLanes(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBEdgePriorityComputer::samePriority(), setConnection(), shiftPositionAtNode(), NBEdgeCont::splitAt(), NBRequest::writeCrossingResponse(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeNetwork().
|
inherited |
Returns the value for a given key.
[in] | key | The key to ask for |
[in] | defaultValue | The default value to return if no value is stored under the key |
Definition at line 81 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), MSDevice_Example::buildVehicleDevices(), MSDevice_Battery::buildVehicleDevices(), MSDevice::equippedByDefaultAssignmentOptions(), MSSOTLTrafficLightLogic::getDecayConstant(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLRequestTrafficLightLogic::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSSOTLTrafficLightLogic::getThreshold(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), TraCIServerAPI_Edge::processGet(), TraCIServerAPI_Route::processGet(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_VehicleType::processGet(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_TLS::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Person::processGet(), TraCIServerAPI_Lane::processGet(), MSSOTLPolicyDesirability::readParameter(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), and TraCIServerAPI_Vehicle::vtdMap().
SVCPermissions NBEdge::getPermissions | ( | int | lane = -1 | ) | const |
get the union of allowed classes over all lanes or for a specific lane
Definition at line 2393 of file NBEdge.cpp.
References myLanes.
Referenced by appendTurnaround(), NBNode::ApproachingDivider::ApproachingDivider(), canMoveConnection(), NBTrafficLightDefinition::collectAllLinks(), NBNode::computeLanes2Lanes(), divideOnEdges(), divideSelectedLanesOnEdges(), GNELane::drawAsRailway(), GNELane::drawAsWaterway(), GNELane::drawMarkings(), NBNodeCont::generateNodeClusters(), GNELane::getAttribute(), GNEEdge::getAttribute(), GNELane::getColorValue(), NBNode::getLinkState(), getTypeID(), NBEdgeCont::guessSidewalks(), NBRampsComputer::hasWrongMode(), NBEdgeCont::ignoreFilterMatch(), NBNodeCont::joinJunctions(), NBNodeCont::joinSimilarEdges(), NBEdge(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), recheckLanes(), shiftPositionAtNode(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeNetwork().
|
inline |
Returns the priority of the edge.
Definition at line 353 of file NBEdge.h.
References myPriority.
Referenced by NIXMLEdgesHandler::addEdge(), expandableBy(), GNEEdge::getAttribute(), GNELane::getColorValue(), NBContHelper::edge_by_priority_sorter::operator()(), NBEdgePriorityComputer::samePriority(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
|
inline |
Returns the offset of a traffic signal from the end of this edge.
Definition at line 489 of file NBEdge.h.
References mySignalOffset.
Referenced by append(), and NBNodeCont::guessTLs().
|
inline |
Definition at line 1090 of file NBEdge.h.
References mySigns.
Referenced by NWWriter_XML::writeStreetSigns().
|
inline |
Returns the speed allowed on this edge.
Definition at line 431 of file NBEdge.h.
References mySpeed.
Referenced by NIXMLEdgesHandler::addSplit(), buildInnerEdges(), NBNode::checkCrossing(), divideSelectedLanesOnEdges(), NBRampsComputer::fulfillsRampConstraints(), GNEEdge::getAttribute(), NWWriter_DlrNavteq::getRoadClass(), NBEdgeCont::guessSidewalks(), hasLaneSpecificSpeed(), NBEdgeCont::ignoreFilterMatch(), NBNodeCont::joinSimilarEdges(), NBContHelper::edge_by_priority_sorter::operator()(), NBEdgePriorityComputer::samePriority(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_DlrNavteq::writeLinksUnsplitted().
|
inline |
Returns the angle at the start of the edge The angle is computed in computeAngle()
Definition at line 378 of file NBEdge.h.
References myStartAngle.
Referenced by NBContHelper::relative_outgoing_edge_sorter::operator()(), and NBNode::rightTurnConflict().
|
inline |
The building step of this edge.
Definition at line 441 of file NBEdge.h.
References myStep.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::computeLanes2Lanes(), and NIXMLConnectionsHandler::myStartElement().
|
inline |
Returns the street name of this edge.
Definition at line 465 of file NBEdge.h.
References myStreetName.
Referenced by NIXMLEdgesHandler::addEdge(), GNEEdge::drawGL(), GNEEdge::getAttribute(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_OpenDrive::writeNetwork().
|
inline |
Returns the destination node of the edge.
Definition at line 369 of file NBEdge.h.
References myTo.
Referenced by NIImporter_SUMO::_loadNetwork(), NBLoadedSUMOTLDef::addConnection(), NIXMLConnectionsHandler::addCrossing(), NIVissimDisturbance::addToNode(), NBLoadedTLDef::addToSignalGroup(), NBNodeShapeComputer::badIntersection(), NBRampsComputer::buildOnRamp(), NBNode::checkCrossing(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectNodes(), NBRampsComputer::computeRamps(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NIVissimDistrictConnection::dict_BuildDistricts(), GNELane::drawLane2LaneConnections(), NBRampsComputer::fulfillsRampConstraints(), NBNodeCont::generateNodeClusters(), NBEdgeCont::generateStreetSigns(), GNEEdge::getDest(), getFinalLength(), NWWriter_DlrNavteq::getGraphLength(), NIImporter_VISUM::getNamedEdgeContinuating(), NBNode::getOppositeIncoming(), NBOwnTLDef::getToPrio(), NBEdgeCont::guessRoundabouts(), NBNodeCont::guessTLs(), GNEConnector::handleLaneClick(), NBEdgeCont::insert(), GNENet::insertEdge(), NBNode::isLongEnough(), NBNode::isNearDistrict(), NBNodeCont::joinJunctions(), NBNodeCont::joinNodeClusters(), NBRequest::laneConflict(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLEdgesHandler::myEndElement(), NIXMLConnectionsHandler::myStartElement(), NBContHelper::relative_incoming_edge_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::edge_with_destination_finder::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NIXMLConnectionsHandler::parseLaneBound(), NBEdgeCont::recheckPostProcessConnections(), NBNodeCont::removeIsolatedRoads(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NBNode::rightTurnConflict(), NIXMLEdgesHandler::setNodes(), NBNodesEdgesSorter::swapWhenReversed(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), and NWWriter_SUMO::writeRoundabout().
|
inline |
get the angle as measure from the start to the end of this edge
Returns the angle at the start of the edge The angle is computed in computeAngle()
Definition at line 397 of file NBEdge.h.
References myTotalAngle.
Referenced by NBContHelper::same_connection_edge_sorter::getMinMaxRelAngles(), and NBContHelper::edge_similar_direction_sorter::operator()().
SUMOReal NBEdge::getTotalWidth | ( | ) | const |
Returns the combined width of all lanes of this edge.
Definition at line 2318 of file NBEdge.cpp.
References getLaneWidth(), myLanes, and SUMOReal.
Referenced by GNENet::addReversedEdge(), NBNodeShapeComputer::badIntersection(), getLaneWidth(), and shiftPositionAtNode().
NBEdge * NBEdge::getTurnDestination | ( | bool | possibleDestination = false | ) | const |
Definition at line 2157 of file NBEdge.cpp.
References myPossibleTurnDestination, and myTurnDestination.
Referenced by NBNode::avoidOverlap(), NBNode::checkIsRemovable(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NBNode::getEdgesToJoin(), getTypeID(), NBEdgeCont::guessRoundabouts(), NBEdgeCont::markRoundabouts(), GNEEdge::removeConnection(), and GNEJunction::setLogicValid().
|
inline |
Definition at line 907 of file NBEdge.h.
References addBikeLane(), addCrossingPointsAsIncomingWithGivenOutgoing(), addLane(), addSidewalk(), allowVehicleClass(), append(), appendTurnaround(), clearControllingTLInformation(), computeEdge2Edges(), computeLanes2Edges(), decLaneNo(), deleteLane(), disableConnection4TLS(), disallowVehicleClass(), expandableBy(), getAngleAtNode(), getAngleAtNodeToCenter(), getCCWBoundaryLine(), getCWBoundaryLine(), getLaneID(), getLaneIDInsecure(), getLaneSpeed(), getMaxLaneOffset(), getPermissions(), getTurnDestination(), hasLaneSpecificEndOffset(), hasLaneSpecificPermissions(), hasLaneSpecificSpeed(), hasLaneSpecificWidth(), hasPermissions(), hasSignalisedConnectionTo(), incLaneNo(), isNearEnough2BeJoined2(), lanesWereAssigned(), markAsInLane2LaneState(), mayBeTLSControlled(), moveOutgoingConnectionsFrom(), myType, needsLaneSpecificOutput(), NBEdge::Lane::permissions, preferVehicleClass(), recheckLanes(), setControllingTLInformation(), setEndOffset(), setLaneWidth(), setPermissions(), setPreferredVehicleClass(), setSpeed(), NBEdge::Lane::speed, SUMOReal, tryGetNodeAtPosition(), and NBEdge::Lane::width.
Referenced by NIXMLEdgesHandler::addEdge(), GNEEdge::getAttribute(), NBEdgeCont::ignoreFilterMatch(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasConnectionTo | ( | NBEdge * | destEdge, |
unsigned int | destLane, | ||
int | fromLane = -1 |
||
) | const |
Retrieves info about a connection to a certain lane of a certain edge.
Turnaround edge is ignored!
[in] | destEdge | The connection's destination edge |
[in] | destLane | The connection's destination lane |
[in] | fromLane | If a value >= 0 is given, only return true if a connection from the given lane exists |
Definition at line 812 of file NBEdge.cpp.
References myConnections.
Referenced by NIImporter_SUMO::_loadNetwork(), NBNode::buildWalkingAreas(), getLaneSpreadFunction(), GNEConnector::getLaneStatus(), NIXMLConnectionsHandler::myStartElement(), NIXMLConnectionsHandler::parseLaneBound(), recheckLanes(), and setConnection().
bool NBEdge::hasDefaultGeometry | ( | ) | const |
Returns whether the geometry consists only of the node positions.
Definition at line 423 of file NBEdge.cpp.
References hasDefaultGeometryEndpoints(), and myGeom.
Referenced by NIXMLEdgesHandler::addEdge(), getGeometry(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasDefaultGeometryEndpoints | ( | ) | const |
Returns whether the geometry is terminated by the node positions This default may be violated by initializing with tryIgnoreNodePositions=true' or with setGeometry() non-default endpoints are useful to control the generated node shape.
Definition at line 429 of file NBEdge.cpp.
References NBNode::getPosition(), myFrom, myGeom, and myTo.
Referenced by getGeometry(), and hasDefaultGeometry().
bool NBEdge::hasLaneSpecificEndOffset | ( | ) | const |
whether lanes differ in offset
Definition at line 1465 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::getAttribute(), getTypeID(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificPermissions | ( | ) | const |
whether lanes differ in allowed vehicle classes
Definition at line 1429 of file NBEdge.cpp.
References myLanes.
Referenced by GNEEdge::getAttribute(), getTypeID(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificSpeed | ( | ) | const |
whether lanes differ in speed
Definition at line 1454 of file NBEdge.cpp.
References getSpeed(), and myLanes.
Referenced by GNEEdge::getAttribute(), getTypeID(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificWidth | ( | ) | const |
whether lanes differ in width
Definition at line 1443 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::getAttribute(), getTypeID(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
|
inline |
Returns whether a length was set explicitly.
Definition at line 423 of file NBEdge.h.
References myLoadedLength.
Referenced by NIXMLEdgesHandler::addEdge(), getFinalLength(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasPermissions | ( | ) | const |
whether at least one lane has restrictions
Definition at line 1418 of file NBEdge.cpp.
References myLanes, and SVCAll.
Referenced by getTypeID().
bool NBEdge::hasSignalisedConnectionTo | ( | const NBEdge *const | e | ) | const |
Definition at line 2146 of file NBEdge.cpp.
References myConnections.
Referenced by buildInnerEdges(), NBRequest::forbids(), and getTypeID().
void NBEdge::incLaneNo | ( | unsigned int | by | ) |
Definition at line 2210 of file NBEdge.cpp.
References addLane(), LANES2LANES_USER, myLanes, and myStep.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), getTypeID(), NIXMLEdgesHandler::myEndElement(), and NIImporter_VISUM::parse_Lanes().
|
private |
Initialization routines common to all constructors.
Checks whether the number of lanes>0, whether the junction's from- and to-nodes are given (!=0) and whether they are distict. Throws a ProcessError if any of these checks fails.
Adds the nodes positions to geometry if it shall not be ignored or if the geometry is empty.
Computes the angle and length, and adds this edge to its node as outgoing/incoming. Builds lane informations.
[in] | noLanes | The number of lanes this edge has |
[in] | tryIgnoreNodePositions | Does not add node geometries if geom.size()>=2 |
[in] | origID | The original ID this edge had |
Definition at line 334 of file NBEdge.cpp.
References PositionVector::add(), NBNode::addIncomingEdge(), NBNode::addOutgoingEdge(), computeAngle(), computeLaneShapes(), Position::distanceTo(), NBNode::getIncomingEdges(), NBNode::getPosition(), myFrom, myGeom, Named::myID, myLanes, myLength, myTo, POSITION_EPS, PositionVector::push_back_noDoublePos(), PositionVector::push_front_noDoublePos(), PositionVector::removeDoublePoints(), and WRITE_ERROR.
void NBEdge::invalidateConnections | ( | bool | reallowSetting = false | ) |
Definition at line 949 of file NBEdge.cpp.
References INIT, INIT_REJECT_CONNECTIONS, myConnections, myStep, and myTurnDestination.
Referenced by addEdge2EdgeConnection(), addLane(), addLane2LaneConnections(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), deleteLane(), getConnections(), NIXMLEdgesHandler::myEndElement(), and GNEEdge::setAttribute().
bool NBEdge::isConnectedTo | ( | NBEdge * | e | ) |
Returns the information whethe a connection to the given edge has been added (or computed)
Turnaround edge is not ignored!
[in] | e | The destination edge |
Definition at line 818 of file NBEdge.cpp.
References myConnections, and myTurnDestination.
Referenced by NBNode::computeLanes2Lanes(), getLaneSpreadFunction(), NIXMLConnectionsHandler::myStartElement(), and NBNode::removeSelfLoops().
|
inline |
Returns whether this edge was marked as being within an intersection.
Definition at line 876 of file NBEdge.h.
References dismissVehicleClassInformation(), getJunctionPriority(), myAmInnerEdge, setJunctionPriority(), setLoadedLength(), and SUMOReal.
Referenced by NBNode::getLinkState().
|
inline |
Returns whether this edge was marked as a macroscopic connector.
Definition at line 861 of file NBEdge.h.
References myAmMacroscopicConnector.
Referenced by NBRampsComputer::fulfillsRampConstraints(), and NWWriter_SUMO::writeEdge().
Definition at line 2178 of file NBEdge.cpp.
References PositionVector::distances(), getGeometry(), VectorHelper< T >::maxValue(), and myGeom.
Referenced by getTypeID(), and NBNodeCont::joinSimilarEdges().
bool NBEdge::isTurningDirectionAt | ( | const NBEdge *const | edge | ) | const |
Returns whether the given edge is the opposite direction to this edge.
[in] | edge | The edge which may be the turnaround direction |
Definition at line 1867 of file NBEdge.cpp.
References myPossibleTurnDestination, and myTurnDestination.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBOwnTLDef::computeLogicAndConts(), NBRampsComputer::fulfillsRampConstraints(), getConnections(), NBNode::getDirection(), NBNode::isLeftMover(), NBRequest::laneConflict(), NBContHelper::opposite_finder::operator()(), recheckLanes(), NBNode::rightTurnConflict(), NBRequest::setBlocking(), NBNodesEdgesSorter::swapWhenReversed(), and NWWriter_OpenDrive::writeNetwork().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 75 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSDevice_Example::buildVehicleDevices(), and MSDevice::equippedByDefaultAssignmentOptions().
bool NBEdge::lanesWereAssigned | ( | ) | const |
Definition at line 1908 of file NBEdge.cpp.
References LANES2LANES_DONE, LANES2LANES_USER, myStep, and SUMOReal.
Referenced by NIVissimTL::NIVissimTLSignal::addTo(), and getTypeID().
void NBEdge::markAsInLane2LaneState | ( | ) |
Definition at line 2248 of file NBEdge.cpp.
References NBNode::getOutgoingEdges(), LANES2LANES_DONE, myStep, and myTo.
Referenced by getTypeID().
bool NBEdge::mayBeTLSControlled | ( | int | fromLane, |
NBEdge * | toEdge, | ||
int | toLane | ||
) | const |
Definition at line 1920 of file NBEdge.cpp.
References NBEdge::TLSDisabledConnection::fromLane, myTLSDisabledConnections, NBEdge::TLSDisabledConnection::to, and NBEdge::TLSDisabledConnection::toLane.
Referenced by NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectReachable(), NBOwnTLDef::computeLogicAndConts(), and getTypeID().
void NBEdge::mirrorX | ( | ) |
mirror coordinates along the x-axis
Definition at line 402 of file NBEdge.cpp.
References computeAngle(), PositionVector::mirrorX(), myConnections, myGeom, and myLanes.
|
private |
moves a connection one place to the left; Attention! no checking for field validity
Definition at line 1046 of file NBEdge.cpp.
References canMoveConnection(), L2L_VALIDATED, myConnections, setConnection(), NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by recheckLanes().
|
private |
moves a connection one place to the right; Attention! no checking for field validity
Definition at line 1061 of file NBEdge.cpp.
References canMoveConnection(), L2L_VALIDATED, myConnections, setConnection(), NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by recheckLanes().
void NBEdge::moveOutgoingConnectionsFrom | ( | NBEdge * | e, |
unsigned int | laneOff | ||
) |
Definition at line 1894 of file NBEdge.cpp.
References addLane2LaneConnection(), getConnectionsFromLane(), getNumLanes(), L2L_COMPUTED, NBEdge::Connection::tlID, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by getTypeID(), and NBEdgeCont::joinSameNodeConnectingEdges().
bool NBEdge::needsLaneSpecificOutput | ( | ) | const |
whether at least one lane has values differing from the edges values
Definition at line 1476 of file NBEdge.cpp.
References hasLaneSpecificEndOffset(), hasLaneSpecificPermissions(), hasLaneSpecificSpeed(), and hasLaneSpecificWidth().
Referenced by getTypeID(), and NWWriter_XML::writeEdgesAndConnections().
invalidated assignment operator
Referenced by NBEdge::ToEdgeConnectionsAdder::getBuiltConnections().
void NBEdge::preferVehicleClass | ( | int | lane, |
SUMOVehicleClass | vclass | ||
) |
Definition at line 2281 of file NBEdge.cpp.
References allowVehicleClass(), and myLanes.
Referenced by getTypeID().
|
private |
recomputes the edge priorities and manipulates them for a distribution of lanes on edges which is more like in real-life
Definition at line 1783 of file NBEdge.cpp.
References NBEdge::MainDirections::DIR_FORWARD, NBEdge::MainDirections::DIR_RIGHTMOST, NBEdge::MainDirections::empty(), NBEdge::MainDirections::includes(), myLanes, and myTo.
Referenced by divideOnEdges().
bool NBEdge::recheckLanes | ( | ) |
recheck whether all lanes within the edge are all right and optimises the connections once again
Definition at line 1528 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, getNumLanes(), getPermissions(), hasConnectionTo(), isForbidden(), isRailway(), isTurningDirectionAt(), LANES2LANES_DONE, LANES2LANES_USER, moveConnectionToLeft(), moveConnectionToRight(), myConnections, myConnectionsToDelete, myLanes, myStep, removeFromConnections(), SVC_PEDESTRIAN, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by getTypeID().
void NBEdge::reduceGeometry | ( | const SUMOReal | minDist | ) |
Removes points with a distance lesser than the given.
[in] | minDist | The minimum distance between two position to keep the second |
Definition at line 608 of file NBEdge.cpp.
References myGeom, and PositionVector::removeDoublePoints().
Referenced by getLaneSpreadFunction().
void NBEdge::reinit | ( | NBNode * | from, |
NBNode * | to, | ||
const std::string & | type, | ||
SUMOReal | speed, | ||
unsigned int | nolanes, | ||
int | priority, | ||
PositionVector | geom, | ||
SUMOReal | width, | ||
SUMOReal | offset, | ||
const std::string & | streetName, | ||
LaneSpreadFunction | spread = LANESPREAD_RIGHT , |
||
bool | tryIgnoreNodePositions = false |
||
) |
Resets initial values.
[in] | from | The node the edge starts at |
[in] | to | The node the edge ends at |
[in] | type | The type of the edge (may be =="") |
[in] | speed | The maximum velocity allowed on this edge |
[in] | nolanes | The number of lanes this edge has |
[in] | priority | This edge's priority |
[in] | geom | The edge's geomatry |
[in] | width | This edge's lane width |
[in] | offset | Additional offset to the destination node |
[in] | streetName | The street name (need not be unique) |
[in] | spread | How the lateral offset of the lanes shall be computed |
[in] | tryIgnoreNodePositions | Does not add node geometries if geom.size()>=2 |
Definition at line 266 of file NBEdge.cpp.
References StringUtils::convertUmlaute(), init(), MIN2(), myFrom, myGeom, myLanes, myLaneSpreadFunction, myLoadedLength, myPriority, myStreetName, myTo, myType, NBNode::removeEdge(), setEndOffset(), setLaneWidth(), setSpeed(), UNSPECIFIED_LOADED_LENGTH, UNSPECIFIED_OFFSET, UNSPECIFIED_SPEED, and UNSPECIFIED_WIDTH.
Referenced by NIXMLEdgesHandler::addEdge().
Resets nodes but keeps all other values the same (used when joining)
[in] | from | The node the edge starts at |
[in] | to | The node the edge ends at |
Definition at line 314 of file NBEdge.cpp.
References NBNode::addIncomingEdge(), NBNode::addOutgoingEdge(), computeAngle(), myFrom, Named::myID, myTo, and NBNode::removeEdge().
Referenced by GNENet::changeEdgeEndpoints(), and NBNodeCont::joinNodeClusters().
void NBEdge::remapConnections | ( | const EdgeVector & | incoming | ) |
Remaps the connection in a way that allows the removal of it.
This edge (which is a self loop edge, in fact) connections are spread over the valid incoming edges
Definition at line 906 of file NBEdge.cpp.
References addEdge2EdgeConnection(), EDGE2EDGES, getConnectedEdges(), myStep, and removeFromConnections().
Referenced by getConnections(), and NBNode::removeSelfLoops().
void NBEdge::removeFromConnections | ( | NBEdge * | toEdge, |
int | fromLane = -1 , |
||
int | toLane = -1 , |
||
bool | tryLater = false |
||
) |
Removes the specified connection(s)
[in] | toEdge | The destination edge |
[in] | fromLane | The lane from which connections shall be removed; -1 means remove all |
[in] | toLane | The lane to which connections shall be removed; -1 means remove all |
[in] | tryLater | If the connection does not exist, try again during recheckLanes() |
Definition at line 922 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, myConnections, myConnectionsToDelete, myPossibleTurnDestination, myTurnDestination, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), getConnections(), NBEdgeCont::markRoundabouts(), NIXMLConnectionsHandler::myStartElement(), recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), remapConnections(), GNEEdge::removeConnection(), and replaceInConnections().
Definition at line 961 of file NBEdge.cpp.
References myConnections, and myTurnDestination.
Referenced by getConnections(), and NBNode::replaceOutgoing().
void NBEdge::replaceInConnections | ( | NBEdge * | which, |
const std::vector< NBEdge::Connection > & | origConns | ||
) |
Definition at line 976 of file NBEdge.cpp.
References L2L_COMPUTED, myConnections, removeFromConnections(), and setConnection().
Applies an offset to the edge.
[in] | xoff | The x-offset to apply |
[in] | yoff | The y-offset to apply |
Definition at line 392 of file NBEdge.cpp.
References PositionVector::add(), computeAngle(), myGeom, and myLanes.
|
inline |
Marks this edge as a macroscopic connector.
Definition at line 853 of file NBEdge.h.
References myAmMacroscopicConnector.
Referenced by NIImporter_VISUM::parse_Connectors().
bool NBEdge::setConnection | ( | unsigned int | lane, |
NBEdge * | destEdge, | ||
unsigned int | destLane, | ||
Lane2LaneInfoType | type, | ||
bool | mayUseSameDestination = false , |
||
bool | mayDefinitelyPass = false , |
||
bool | keepClear = true , |
||
SUMOReal | contPos = UNSPECIFIED_CONTPOS |
||
) |
Adds a connection to a certain lane of a certain edge.
[in] | lane | The connection's starting lane (of this edge) |
[in] | destEdge | The connection's destination edge |
[in] | destLane | The connection's destination lane |
[in] | type | The connections's type |
[in] | mayUseSameDestination | Whether this connection may be set though connecting an already connected lane |
[in] | mayDefinitelyPass | Whether this connection is definitely undistrubed (special case for on-ramps) |
Definition at line 724 of file NBEdge.cpp.
References getLaneIDInsecure(), getNumLanes(), hasConnectionTo(), INIT_REJECT_CONNECTIONS, L2L_COMPUTED, L2L_USER, LANES2LANES_DONE, LANES2LANES_RECHECK, LANES2LANES_USER, myConnections, myLanes, myStep, and WRITE_WARNING.
Referenced by GNEEdge::addConnection(), addLane2LaneConnection(), appendTurnaround(), NBNode::computeLanes2Lanes(), getLaneSpreadFunction(), moveConnectionToLeft(), moveConnectionToRight(), and replaceInConnections().
bool NBEdge::setControllingTLInformation | ( | const NBConnection & | c, |
const std::string & | tlID | ||
) |
Returns if the link could be set as to be controlled.
Definition at line 1931 of file NBEdge.cpp.
References NBEdge::TLSDisabledConnection::fromLane, NBConnection::getFromLane(), Named::getID(), NBConnection::getTLIndex(), NBConnection::getTo(), NBConnection::getToLane(), myConnections, myLanes, myTLSDisabledConnections, NBEdge::Connection::tlID, NBEdge::Connection::tlLinkNo, NBEdge::TLSDisabledConnection::to, NBEdge::TLSDisabledConnection::toLane, and WRITE_WARNING.
Referenced by NBLoadedSUMOTLDef::addConnection(), getTypeID(), NBLoadedSUMOTLDef::removeConnection(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), and NBLoadedTLDef::setTLControllingInformation().
void NBEdge::setEndOffset | ( | int | lane, |
SUMOReal | offset | ||
) |
set lane specific end-offset (negative lane implies set for all lanes)
Definition at line 2333 of file NBEdge.cpp.
References myEndOffset, and myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::addLane(), NIXMLEdgesHandler::addLane(), getTypeID(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdge(), reinit(), GNELane::setAttribute(), and GNEEdge::setAttribute().
void NBEdge::setGeometry | ( | const PositionVector & | g, |
bool | inner = false |
||
) |
(Re)sets the edge's geometry
Replaces the edge's prior geometry by the given. Then, computes the geometries of all lanes using computeLaneShapes. Definitely not the best way to have it accessable from outside...
[in] | g | The edge's new geometry |
[in] | inner | whether g should be interpreted as inner points |
Definition at line 436 of file NBEdge.cpp.
References computeAngle(), computeLaneShapes(), and myGeom.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), getGeometry(), NBRampsComputer::moveRampRight(), NIXMLEdgesHandler::myEndElement(), GNEEdge::setAttribute(), and GNEEdge::setGeometry().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 73 of file Named.h.
References Named::myID.
Referenced by NBNodeCont::rename(), and NBEdgeCont::rename().
|
inline |
Marks this edge being within an intersection.
Definition at line 868 of file NBEdge.h.
References myAmInnerEdge.
Referenced by NBTrafficLightDefinition::collectEdges().
void NBEdge::setJunctionPriority | ( | const NBNode *const | node, |
int | prio | ||
) |
Sets the junction priority of the edge.
[in] | node | The node for which the edge's priority is given |
[in] | prio | The edge's new priority at this node |
Definition at line 1277 of file NBEdge.cpp.
References myFrom, myFromJunctionPriority, myToJunctionPriority, and SUMOReal.
Referenced by NBEdgePriorityComputer::extractAndMarkFirst(), isInnerEdge(), and NBEdgePriorityComputer::setPriorityJunctionPriorities().
void NBEdge::setLaneSpreadFunction | ( | LaneSpreadFunction | spread | ) |
(Re)sets how the lanes lateral offset shall be computed
[in] | spread | The type of lateral offset to apply |
Definition at line 547 of file NBEdge.cpp.
References myLaneSpreadFunction.
Referenced by getGeometry(), NIImporter_ArcView::load(), NIImporter_VISUM::parse_Edges(), and GNEEdge::setAttribute().
void NBEdge::setLaneWidth | ( | int | lane, |
SUMOReal | width | ||
) |
set lane specific width (negative lane implies set for all lanes)
Definition at line 2294 of file NBEdge.cpp.
References myLanes, myLaneWidth, and SUMOReal.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::addLane(), NIXMLEdgesHandler::addLane(), getTypeID(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdge(), reinit(), GNELane::setAttribute(), and GNEEdge::setAttribute().
void NBEdge::setLoadedLength | ( | SUMOReal | val | ) |
Definition at line 2408 of file NBEdge.cpp.
References myLoadedLength.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), isInnerEdge(), NIImporter_MATSim::EdgesHandler::myStartElement(), and GNEEdge::setAttribute().
void NBEdge::setPermissions | ( | SVCPermissions | permissions, |
int | lane = -1 |
||
) |
set allowed/disallowed classes for the given lane or for all lanes if -1 is given
Definition at line 2365 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), GNEEdge::addLane(), NIXMLEdgesHandler::addLane(), NINavTeqHelper::addVehicleClasses(), NINavTeqHelper::addVehicleClassesV6(), getTypeID(), NIImporter_OpenStreetMap::insertEdge(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdge(), and GNELane::setAttribute().
void NBEdge::setPreferredVehicleClass | ( | SVCPermissions | permissions, |
int | lane = -1 |
||
) |
Definition at line 2379 of file NBEdge.cpp.
References myLanes.
Referenced by GNEEdge::addLane(), NIXMLEdgesHandler::addLane(), and getTypeID().
|
inline |
sets the offset of a traffic signal from the end of this edge
Definition at line 495 of file NBEdge.h.
References mySignalOffset.
void NBEdge::setSpeed | ( | int | lane, |
SUMOReal | speed | ||
) |
set lane specific speed (negative lane implies set for all lanes)
Definition at line 2349 of file NBEdge.cpp.
References myLanes, and mySpeed.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::addLane(), NIXMLEdgesHandler::addLane(), NIVissimEdge::buildNBEdge(), getTypeID(), NBEdge(), reinit(), GNELane::setAttribute(), GNEEdge::setAttribute(), and NBEdgeCont::splitAt().
|
inline |
sets the street name of this edge
Definition at line 471 of file NBEdge.h.
References myStreetName.
Referenced by GNEEdge::setAttribute().
void NBEdge::setTurningDestination | ( | NBEdge * | e, |
bool | onlyPossible = false |
||
) |
Sets the turing destination at the given edge.
[in] | e | The turn destination |
[in] | onlyPossible | If true, only sets myPossibleTurnDestination |
Definition at line 1314 of file NBEdge.cpp.
References myPossibleTurnDestination, myTurnDestination, and SUMOReal.
Referenced by getConnections().
shift geometry at the given node to avoid overlap
Definition at line 2535 of file NBEdge.cpp.
References PositionVector::distance(), getGeometry(), Named::getID(), getNumLanes(), getPermissions(), NBNode::getPosition(), getTotalWidth(), isRailway(), LANESPREAD_CENTER, MIN2(), PositionVector::move2side(), myGeom, myLaneSpreadFunction, myTo, SUMO_const_laneOffset, SUMOReal, and WRITE_WARNING.
Referenced by NBNode::avoidOverlap(), and getGeometry().
void NBEdge::shiftToLanesToEdge | ( | NBEdge * | to, |
unsigned int | laneOff | ||
) |
modifify the toLane for all connections to the given edge
XXX could we repurpose the function replaceInConnections ?
Definition at line 2524 of file NBEdge.cpp.
References myConnections.
Referenced by getConnections().
void NBEdge::sortOutgoingConnectionsByAngle | ( | ) |
sorts the outgoing connections by their angle relative to their junction
Definition at line 894 of file NBEdge.cpp.
References myConnections.
Referenced by getConnections().
void NBEdge::sortOutgoingConnectionsByIndex | ( | ) |
sorts the outgoing connections by their from-lane-index and their to-lane-index
Definition at line 900 of file NBEdge.cpp.
References connections_sorter(), and myConnections.
Referenced by divideOnEdges(), getConnections(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_SUMO::writeNetwork().
bool NBEdge::splitGeometry | ( | NBEdgeCont & | ec, |
NBNodeCont & | nc | ||
) |
Splits this edge at geometry points.
[in] | ec | The edge cont to add new edges to |
[in] | nc | The node cont to add new nodes to |
Definition at line 563 of file NBEdge.cpp.
References NBNode::addIncomingEdge(), NBNode::getPosition(), INIT, NBNodeCont::insert(), NBEdgeCont::insert(), myFrom, myGeom, Named::myID, myLanes, myLaneSpreadFunction, myLaneWidth, myPriority, mySpeed, myStep, myStreetName, myTo, myType, NBEdge(), NBNode::removeEdge(), NBNodeCont::retrieve(), toString(), and UNSPECIFIED_OFFSET.
Referenced by getLaneSpreadFunction().
|
private |
returns a modified version of laneShape which starts at the outside of startNode. laneShape may be shorted or extended
Definition at line 496 of file NBEdge.cpp.
References PositionVector::extrapolate(), NBNode::getPosition(), NBNode::getShape(), PositionVector::getSubpart2D(), PositionVector::getSubpartByIndex(), PositionVector::intersects(), PositionVector::intersectsAtLengths2D(), PositionVector::length2D(), VectorHelper< T >::maxValue(), MIN2(), NUMERICAL_EPS, POSITION_EPS, PositionVector::positionAtOffset2D(), PositionVector::push_front_noDoublePos(), SUMOReal, Position::x(), Position::y(), and Position::z().
Referenced by cutAtIntersection().
Returns the node at the given edges length (using an epsilon) When no node is existing at the given position, 0 is returned The epsilon is a static member of NBEdge, should be setable via program options.
Definition at line 1880 of file NBEdge.cpp.
References myFrom, myLength, and myTo.
Referenced by getTypeID().
|
friend |
|
friend |
|
friend |
|
static |
the distance at which to take the default angle
Definition at line 214 of file NBEdge.h.
Referenced by computeAngle(), NBContHelper::relative_outgoing_edge_sorter::operator()(), and NBContHelper::relative_incoming_edge_sorter::operator()().
|
private |
Information whether this is a junction-inner edge.
Definition at line 1323 of file NBEdge.h.
Referenced by isInnerEdge(), and setIsInnerEdge().
|
private |
Information whether this edge is a (macroscopic) connector.
Definition at line 1326 of file NBEdge.h.
Referenced by isMacroscopicConnector(), and setAsMacroscopicConnector().
|
private |
List of connections to following edges.
Definition at line 1285 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addRestrictedLane(), append(), buildInnerEdges(), clearControllingTLInformation(), computeEdge2Edges(), computeLanes2Edges(), copyConnectionsFrom(), divideOnEdges(), divideSelectedLanesOnEdges(), GNELane::drawArrows(), NBEdge::ToEdgeConnectionsAdder::execute(), expandableBy(), NBEdge::ToEdgeConnectionsAdder::getBuiltConnections(), getConnectedEdges(), getConnectedSorted(), getConnection(), getConnectionLanes(), getConnections(), getConnectionsFromLane(), hasConnectionTo(), hasSignalisedConnectionTo(), invalidateConnections(), isConnectedTo(), mirrorX(), moveConnectionToLeft(), moveConnectionToRight(), recheckLanes(), removeFromConnections(), replaceInConnections(), setConnection(), setControllingTLInformation(), shiftToLanesToEdge(), sortOutgoingConnectionsByAngle(), and sortOutgoingConnectionsByIndex().
|
private |
List of connections marked for delayed removal.
Definition at line 1289 of file NBEdge.h.
Referenced by getConnectedSorted(), recheckLanes(), and removeFromConnections().
|
private |
Definition at line 1273 of file NBEdge.h.
Referenced by computeAngle(), getAngleAtNodeToCenter(), and getEndAngle().
|
private |
This edges's offset to the intersection begin (will be applied to all lanes)
Definition at line 1309 of file NBEdge.h.
Referenced by getEndOffset(), and setEndOffset().
|
private |
The source and the destination node.
Definition at line 1266 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane(), addLane2LaneConnection(), addRestrictedLane(), computeAngle(), computeLaneShapes(), cutAtIntersection(), deleteLane(), expandableBy(), NBEdgeCont::extract(), getAngleAtNode(), getAngleAtNodeToCenter(), getCCWBoundaryLine(), getCWBoundaryLine(), getFromNode(), getJunctionPriority(), hasDefaultGeometryEndpoints(), init(), reinit(), reinitNodes(), NBEdgeCont::retrievePossiblySplit(), setJunctionPriority(), NBEdgeCont::splitAt(), splitGeometry(), and tryGetNodeAtPosition().
|
private |
The priority normalised for the node the edge is outgoing of.
Definition at line 1297 of file NBEdge.h.
Referenced by getJunctionPriority(), and setJunctionPriority().
|
private |
The geometry for the edge.
Definition at line 1303 of file NBEdge.h.
Referenced by addGeometryPoint(), addRestrictedLane(), append(), checkGeometry(), computeAngle(), computeLaneShape(), computeLaneShapes(), getAngleAtNode(), getFinalLength(), getGeometry(), getInnerGeometry(), hasDefaultGeometry(), hasDefaultGeometryEndpoints(), init(), isNearEnough2BeJoined2(), mirrorX(), NBEdge(), reduceGeometry(), reinit(), reshiftPosition(), setGeometry(), shiftPositionAtNode(), and splitGeometry().
|
protectedinherited |
The name of the object.
Definition at line 133 of file Named.h.
Referenced by GUI_E2_ZS_CollectorOverLanes::buildCollector(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), METriggeredCalibrator::execute(), MSCalibrator::execute(), Named::getID(), getLaneID(), getLaneIDInsecure(), ROEdge::getStoredEffort(), ROEdge::getTravelTime(), MSActuatedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSCalibrator::init(), init(), MSCalibrator::myStartElement(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), reinitNodes(), MSRoute::release(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), splitGeometry(), RODFDetector::writeEmitterDefinition(), MSXMLRawOut::writeLane(), NBNode::writeLogic(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), MSCalibrator::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
private |
Lane information.
Definition at line 1317 of file NBEdge.h.
Referenced by addLane(), addRestrictedLane(), allowVehicleClass(), append(), appendTurnaround(), computeAngle(), computeEdgeShape(), computeLaneShapes(), decLaneNo(), deleteLane(), disallowVehicleClass(), dismissVehicleClassInformation(), divideOnEdges(), divideSelectedLanesOnEdges(), expandableBy(), getCCWBoundaryLine(), getCWBoundaryLine(), getEndOffset(), getFirstNonPedestrianLane(), getFirstNonPedestrianLaneIndex(), getLanes(), getLaneShape(), getLaneSpeed(), getLaneStruct(), getLaneWidth(), getMaxLaneOffset(), getNumLanes(), getPermissions(), getTotalWidth(), hasLaneSpecificEndOffset(), hasLaneSpecificPermissions(), hasLaneSpecificSpeed(), hasLaneSpecificWidth(), hasPermissions(), incLaneNo(), init(), mirrorX(), NBEdge(), preferVehicleClass(), prepareEdgePriorities(), recheckLanes(), reinit(), reshiftPosition(), setConnection(), setControllingTLInformation(), setEndOffset(), setLaneWidth(), setPermissions(), setPreferredVehicleClass(), setSpeed(), NBEdgeCont::splitAt(), and splitGeometry().
|
private |
The information about how to spread the lanes.
Definition at line 1306 of file NBEdge.h.
Referenced by addRestrictedLane(), computeAngle(), computeLaneShapes(), expandableBy(), getLaneSpreadFunction(), reinit(), setLaneSpreadFunction(), shiftPositionAtNode(), and splitGeometry().
|
private |
This width of this edge's lanes.
Definition at line 1312 of file NBEdge.h.
Referenced by getLaneWidth(), setLaneWidth(), and splitGeometry().
|
private |
The length of the edge.
Definition at line 1269 of file NBEdge.h.
Referenced by append(), computeEdgeShape(), getLength(), getLoadedLength(), init(), and tryGetNodeAtPosition().
|
private |
An optional length to use (-1 if not valid)
Definition at line 1320 of file NBEdge.h.
Referenced by getLoadedLength(), hasLoadedLength(), reinit(), and setLoadedLength().
|
private |
The edge that would be the turn destination if there was one.
Definition at line 1294 of file NBEdge.h.
Referenced by append(), getTurnDestination(), isTurningDirectionAt(), removeFromConnections(), and setTurningDestination().
|
private |
The priority of the edge.
Definition at line 1277 of file NBEdge.h.
Referenced by getPriority(), reinit(), GNEEdge::setAttribute(), and splitGeometry().
|
private |
the offset of a traffic light signal from the end of this edge (-1 for None)
Definition at line 1345 of file NBEdge.h.
Referenced by append(), getSignalOffset(), and setSignalOffset().
|
private |
the street signs along this edge
Definition at line 1342 of file NBEdge.h.
Referenced by addSign(), and getSigns().
|
private |
The maximal speed.
Definition at line 1280 of file NBEdge.h.
Referenced by expandableBy(), getSpeed(), setSpeed(), and splitGeometry().
|
private |
The angles of the edge.
Definition at line 1272 of file NBEdge.h.
Referenced by computeAngle(), getAngleAtNodeToCenter(), and getStartAngle().
|
private |
The building step.
Definition at line 1260 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane2LaneConnection(), append(), computeEdge2Edges(), computeLanes2Edges(), copyConnectionsFrom(), decLaneNo(), declareConnectionsAsLoaded(), expandableBy(), getStep(), incLaneNo(), invalidateConnections(), lanesWereAssigned(), markAsInLane2LaneState(), recheckLanes(), remapConnections(), setConnection(), and splitGeometry().
|
private |
The street name (or whatever arbitrary string you wish to attach)
Definition at line 1338 of file NBEdge.h.
Referenced by getStreetName(), reinit(), setStreetName(), and splitGeometry().
|
private |
Definition at line 1334 of file NBEdge.h.
Referenced by disableConnection4TLS(), mayBeTLSControlled(), and setControllingTLInformation().
|
private |
Definition at line 1266 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane2LaneConnection(), addRestrictedLane(), append(), appendTurnaround(), computeAngle(), computeEdge2Edges(), computeLaneShapes(), cutAtIntersection(), GNELane::drawArrows(), expandableBy(), NBEdgeCont::extract(), getAngleAtNode(), getAngleAtNodeToCenter(), getConnectedSorted(), getToNode(), hasDefaultGeometryEndpoints(), init(), markAsInLane2LaneState(), NBEdge(), prepareEdgePriorities(), reinit(), reinitNodes(), NBEdgeCont::retrievePossiblySplit(), shiftPositionAtNode(), NBEdgeCont::splitAt(), splitGeometry(), and tryGetNodeAtPosition().
|
private |
The priority normalised for the node the edge is incoming in.
Definition at line 1300 of file NBEdge.h.
Referenced by getJunctionPriority(), and setJunctionPriority().
|
private |
Definition at line 1274 of file NBEdge.h.
Referenced by computeAngle(), and getTotalAngle().
|
private |
The turn destination edge (if a connection exists)
Definition at line 1292 of file NBEdge.h.
Referenced by append(), appendTurnaround(), getConnectedSorted(), getConnectionLanes(), getTurnDestination(), invalidateConnections(), isConnectedTo(), isTurningDirectionAt(), removeFromConnections(), replaceInConnections(), and setTurningDestination().
|
private |
The type of the edge.
Definition at line 1263 of file NBEdge.h.
Referenced by getTypeID(), reinit(), GNEEdge::setAttribute(), and splitGeometry().
|
static |
unspecified internal junction position
Definition at line 207 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), buildInnerEdges(), NIXMLConnectionsHandler::parseLaneBound(), and NWWriter_SUMO::writeConnection().
|
static |
no length override given
Definition at line 210 of file NBEdge.h.
Referenced by NIImporter_SUMO::addEdge(), NIXMLEdgesHandler::addEdge(), GNEEdge::isValid(), and reinit().
|
static |
unspecified lane offset
Definition at line 203 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIImporter_SUMO::addLane(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), GNENet::createEdge(), NIVissimDistrictConnection::dict_BuildDistricts(), getEndOffset(), NIImporter_OpenStreetMap::insertEdge(), NBEdgeCont::joinSameNodeConnectingEdges(), NIImporter_ArcView::load(), NIImporter_RobocupRescue::loadEdges(), NIImporter_OpenDrive::loadNetwork(), NIImporter_ITSUMO::Handler::myEndElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_VISUM::parse_Connectors(), NIImporter_VISUM::parse_Edges(), reinit(), NIImporter_DlrNavteq::EdgesHandler::report(), splitGeometry(), NGNet::toNB(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalEdges(), and NWWriter_SUMO::writeLane().
|
static |
unspecified signal offset
Definition at line 212 of file NBEdge.h.
Referenced by append(), and NBNodeCont::guessTLs().
|
static |
unspecified lane speed
Definition at line 205 of file NBEdge.h.
Referenced by NIXMLEdgesHandler::addEdge(), and reinit().
|
static |
unspecified lane width
Definition at line 201 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIImporter_SUMO::addLane(), NBNode::buildCrossings(), NIVissimEdge::buildNBEdge(), NBNode::buildWalkingAreas(), computeLaneShapes(), GNENet::createEdge(), NIVissimDistrictConnection::dict_BuildDistricts(), getLaneWidth(), NIImporter_OpenStreetMap::insertEdge(), GNELane::isValid(), GNEEdge::isValid(), NBEdgeCont::joinSameNodeConnectingEdges(), NIImporter_RobocupRescue::loadEdges(), NIImporter_OpenDrive::loadNetwork(), NBRampsComputer::moveRampRight(), NIXMLEdgesHandler::myEndElement(), NIImporter_ITSUMO::Handler::myEndElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_VISUM::parse_Connectors(), NIImporter_VISUM::parse_Edges(), NIImporter_VISUM::parse_Types(), reinit(), NIImporter_DlrNavteq::EdgesHandler::report(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_SUMO::writeLane().