![]() |
Eclipse 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_conflict_finder |
class | connections_finder |
class | connections_fromlane_finder |
class | connections_relative_edgelane_sorter |
Class to sort edges by their angle. More... | |
class | connections_toedge_finder |
class | connections_toedgelane_finder |
struct | Lane |
An (internal) definition of a single lane of an edge. More... | |
class | MainDirections |
Holds (- relative to the edge it is build from -!!!) the list of main directions a vehicle that drives on this street may take on the junction the edge ends in The back direction is not regarded. More... | |
class | ToEdgeConnectionsAdder |
A class that being a bresenham-callback assigns the incoming lanes to the edges. More... | |
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 | JunctionPriority { MINOR_ROAD = 0, PRIORITY_ROAD = 1, ROUNDABOUT = 1000 } |
junction priority values set by setJunctionPriority More... | |
enum | Lane2LaneInfoType { L2L_COMPUTED, L2L_USER, L2L_VALIDATED } |
Modes of setting connections between lanes. More... | |
Public Member Functions | |
void | addBikeLane (double width) |
add a bicycle lane of the given width and shift existing connctions More... | |
void | addCrossingPointsAsIncomingWithGivenOutgoing (NBEdge *o, PositionVector &into) |
add crossing points as incoming with given outgoing More... | |
void | addLane (int index, bool recomputeShape, bool recomputeConnections, bool shiftIndices) |
add lane More... | |
void | addSidewalk (double width) |
add a pedestrian sidewalk of the given width and shift existing connctions More... | |
void | addSign (NBSign sign) |
add Sign More... | |
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) |
append another edge More... | |
void | appendTurnaround (bool noTLSControlled, bool onlyDeadends, bool noGeometryLike, bool checkPermissions) |
Add a connection to the previously computed turnaround, if wished. More... | |
void | buildInnerEdges (const NBNode &n, int noInternalNoSplits, int &linkIndex, 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 | debugPrintConnections (bool outgoing=true, bool incoming=false) const |
debugging helper to print all connections More... | |
void | decLaneNo (int by) |
decrement lane More... | |
void | declareConnectionsAsLoaded (EdgeBuildingStep step=LANES2LANES_USER) |
declares connections as fully loaded. This is needed to avoid recomputing connections if an edge has no connections intentionally. More... | |
void | deleteLane (int index, bool recompute, bool shiftIndices) |
delete lane More... | |
void | disableConnection4TLS (int fromLane, NBEdge *toEdge, int toLane) |
disable connections for TLS More... | |
void | disallowVehicleClass (int lane, SUMOVehicleClass vclass) |
set disallowed class for the given lane or for all lanes if -1 is given More... | |
void | dismissVehicleClassInformation () |
dimiss vehicle class information More... | |
bool | expandableBy (NBEdge *possContinuation, std::string &reason) const |
Check if Node is expandable. More... | |
double | getAngleAtNode (const NBNode *const node) const |
Returns the angle of the edge's geometry at the given node. More... | |
double | 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... | |
double | 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... | |
double | getDouble (const std::string &key, const double defaultValue) const |
Returns the value for a given key converted to a double. More... | |
int | getFirstAllowedLaneIndex (int direction) const |
return the first lane that permits at least 1 vClass or the last lane if search direction of there is no such lane More... | |
NBEdge::Lane | getFirstNonPedestrianLane (int direction) const |
get first non-pedestrian lane More... | |
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 |
int | getJunctionPriority (const NBNode *const node) const |
Returns the junction priority (normalised for the node currently build) More... | |
std::string | getLaneID (int lane) const |
get lane ID More... | |
double | getLaneSpeed (int lane) const |
get lane speed More... | |
Lane & | getLaneStruct (int lane) |
const Lane & | getLaneStruct (int lane) const |
double | getMaxLaneOffset () |
get max lane offset More... | |
const PositionVector & | getNodeBorder (const NBNode *node) |
const std::string | getParameter (const std::string &key, const std::string &defaultValue="") const |
Returns the value for a given key. More... | |
const std::map< std::string, std::string > & | getParametersMap () const |
Returns the inner key/value map. More... | |
SVCPermissions | getPermissions (int lane=-1) const |
get the union of allowed classes over all lanes or for a specific lane More... | |
std::set< SVCPermissions > | getPermissionVariants (int iStart, int iEnd) const |
return all permission variants within the specified lane range [iStart, iEnd[ More... | |
std::string | getSidewalkID () |
get the lane id for the canonical sidewalk lane More... | |
const std::vector< NBSign > & | getSigns () const |
get Signs More... | |
int | getSpecialLane (SVCPermissions permissions) const |
return index of the first lane that allows the given permissions More... | |
NBEdge * | getTurnDestination (bool possibleDestination=false) const |
const std::string & | getTypeID () const |
get ID of type More... | |
bool | hasAccelLane () const |
whether one of the lanes is an acceleration lane More... | |
bool | hasCustomLaneShape () const |
whether one of the lanes has a custom shape More... | |
bool | hasLaneParams () const |
whether one of the lanes has parameters set More... | |
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 | hasLaneSpecificStopOffsets () const |
whether lanes differ in stopOffsets More... | |
bool | hasLaneSpecificType () const |
whether lanes differ in type 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 |
Check if edge has signalised connections. More... | |
void | incLaneNo (int by) |
increment lane More... | |
bool | isBidiRail (bool ignoreSpread=false) const |
whether this edge is part of a bidirectional railway More... | |
virtual bool | isInternal () const |
bool | isNearEnough2BeJoined2 (NBEdge *e, double threshold) const |
Check if edge is near enought to be joined to another edge. More... | |
bool | isRailDeadEnd () const |
whether this edge is a railway edge that does not continue More... | |
bool | isTurningDirectionAt (const NBEdge *const edge) const |
Returns whether the given edge is the opposite direction to this edge. More... | |
bool | joinLanes (SVCPermissions perms) |
join adjacent lanes with the given permissions More... | |
bool | knowsParameter (const std::string &key) const |
Returns whether the parameter is known. More... | |
bool | lanesWereAssigned () const |
Check if lanes were assigned. More... | |
void | markAsInLane2LaneState () |
mark edge as in lane to state lane More... | |
bool | mayBeTLSControlled (int fromLane, NBEdge *toEdge, int toLane) const |
return true if certain connection must be controlled by TLS More... | |
void | moveOutgoingConnectionsFrom (NBEdge *e, int laneOff) |
move outgoing connection More... | |
NBEdge (const std::string &id, NBNode *from, NBNode *to, std::string type, double speed, int nolanes, int priority, double width, double endOffset, const std::string &streetName="", LaneSpreadFunction spread=LANESPREAD_RIGHT) | |
Constructor. More... | |
NBEdge (const std::string &id, NBNode *from, NBNode *to, std::string type, double speed, int nolanes, int priority, double width, double endOffset, 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, const 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) |
prefer certain vehicle class More... | |
bool | recheckLanes () |
recheck whether all lanes within the edge are all right and optimises the connections once again More... | |
void | reinit (NBNode *from, NBNode *to, const std::string &type, double speed, int nolanes, int priority, PositionVector geom, double width, double endOffset, 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... | |
void | resetNodeBorder (const NBNode *node) |
void | restoreBikelane (std::vector< NBEdge::Lane > oldLanes, PositionVector oldGeometry, std::vector< NBEdge::Connection > oldConnections) |
restore an previously added BikeLane More... | |
void | restoreSidewalk (std::vector< NBEdge::Lane > oldLanes, PositionVector oldGeometry, std::vector< NBEdge::Connection > oldConnections) |
restore an previously added sidewalk More... | |
void | setAcceleration (int lane, bool accelRamp) |
marks one lane as acceleration lane More... | |
bool | setControllingTLInformation (const NBConnection &c, const std::string &tlID) |
Returns if the link could be set as to be controlled. More... | |
void | setDistance (double distance) |
set lane specific speed (negative lane implies set for all lanes) More... | |
void | setEndOffset (int lane, double 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 | setLaneShape (int lane, const PositionVector &shape) |
sets a custom lane shape More... | |
void | setLaneType (int lane, const std::string &type) |
set lane specific type (negative lane implies set for all lanes) More... | |
void | setLaneWidth (int lane, double width) |
set lane specific width (negative lane implies set for all lanes) More... | |
void | setLoadedLength (double val) |
set loaded lenght More... | |
void | setNodeBorder (const NBNode *node, const Position &p, const Position &p2, bool rectangularCut) |
Set Node border. More... | |
void | setOrigID (const std::string origID) |
set origID for all lanes More... | |
void | setParameter (const std::string &key, const std::string &value) |
Sets a parameter. More... | |
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) |
set preferred Vehicle Class More... | |
void | setSpeed (int lane, double speed) |
set lane specific speed (negative lane implies set for all lanes) More... | |
bool | setStopOffsets (int lane, std::map< int, double > offsets, bool overwrite=false) |
set lane and vehicle class specific stopOffset (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 (double pos, double tolerance=5.0) const |
Returns the node at the given edges length (using an epsilon) More... | |
void | unsetParameter (const std::string &key) |
Removes a parameter. More... | |
void | updateParameter (const std::map< std::string, std::string > &mapArg) |
Adds or updates all given parameters from the map. More... | |
void | writeParams (OutputDevice &device) const |
write Params in the given outputdevice More... | |
~NBEdge () | |
Destructor. More... | |
Applying offset | |
void | reshiftPosition (double xoff, double yoff) |
Applies an offset to the edge. More... | |
void | mirrorX () |
mirror coordinates along the x-axis More... | |
Atomar getter methods | |
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... | |
double | getStartAngle () const |
Returns the angle at the start of the edge (relative to the node shape center) The angle is computed in computeAngle() More... | |
double | getEndAngle () const |
Returns the angle at the end of the edge (relative to the node shape center) The angle is computed in computeAngle() More... | |
double | getShapeStartAngle () const |
Returns the angle at the start of the edge. More... | |
double | getShapeEndAngle () const |
Returns the angle at the end of the edge. More... | |
double | getTotalAngle () const |
Returns the angle at the start of the edge. More... | |
double | getLength () const |
Returns the computed length of the edge. More... | |
double | getLoadedLength () const |
Returns the length was set explicitly or the computed length if it wasn't set. More... | |
double | getFinalLength () const |
get length that will be assigned to the lanes in the final network More... | |
bool | hasLoadedLength () const |
Returns whether a length was set explicitly. More... | |
double | getSpeed () const |
Returns the speed allowed on this edge. More... | |
EdgeBuildingStep | getStep () const |
The building step of this edge. More... | |
double | getLaneWidth () const |
Returns the default width of lanes of this edge. More... | |
double | getLaneWidth (int lane) const |
Returns the width of the lane of this edge. More... | |
double | 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... | |
double | getEndOffset () const |
Returns the offset to the destination node. More... | |
double | getDistance () const |
const std::map< int, double > & | getStopOffsets () const |
Returns the stopOffset to the end of the edge. More... | |
double | getEndOffset (int lane) const |
Returns the offset to the destination node a the specified lane. More... | |
const std::map< int, double > & | getStopOffsets (int lane) const |
Returns the stop offset to the specified lane's end. More... | |
double | getSignalOffset () const |
Returns the offset of a traffic signal from the end of this edge. More... | |
NBNode * | getSignalNode () const |
Returns the node that (possibly) represents a traffic signal controlling at the end of this edge. More... | |
void | setSignalOffset (double offset, NBNode *signalNode) |
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... | |
bool | hasDefaultGeometryEndpointAtNode (const NBNode *node) 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 | extendGeometryAtNode (const NBNode *node, double maxExtent) |
linearly extend the geometry at the given node More... | |
void | shortenGeometryAtNode (const NBNode *node, double reduction) |
linearly extend the geometry at the given node More... | |
void | shiftPositionAtNode (NBNode *node, NBEdge *opposite) |
shift geometry at the given node to avoid overlap More... | |
void | computeEdgeShape (double smoothElevationThreshold=-1) |
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 (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 double minDist) |
Removes points with a distance lesser than the given. More... | |
void | checkGeometry (const double maxAngle, const double minRadius, bool fix) |
Check the angles of successive geometry segments. More... | |
Setting/getting special types | |
Marks this edge as a macroscopic connector | |
void | setAsMacroscopicConnector () |
bool | isMacroscopicConnector () const |
Returns whether this edge was marked as a macroscopic connector. More... | |
void | setInsideTLS () |
Marks this edge being within an intersection. More... | |
bool | isInsideTLS () 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) |
connections_sorter sort by fromLane, toEdge and toLane More... | |
static double | firstIntersection (const PositionVector &v1, const PositionVector &v2, double width2, const std::string &error="") |
compute the first intersection point between the given lane geometries considering their rspective widths More... | |
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 double | getTravelTimeStatic (const NBRouterEdge *const edge, const NBVehicle *const, double) |
static PositionVector | startShapeAt (const PositionVector &laneShape, const NBNode *startNode, PositionVector nodeShape) |
Static Public Attributes | |
static const double | ANGLE_LOOKAHEAD = 10.0 |
the distance at which to take the default angle More... | |
static NBEdge | DummyEdge |
Dummy edge to use when a reference must be supplied in the no-arguments constructor (FOX technicality) More... | |
static const bool | UNSPECIFIED_CONNECTION_UNCONTROLLED = false |
TLS-controlled despite its node controlled not specified. More... | |
static const double | UNSPECIFIED_CONTPOS = -1 |
unspecified internal junction position More... | |
static const int | UNSPECIFIED_INTERNAL_LANE_INDEX = -1 |
internal lane computation not yet done More... | |
static const double | UNSPECIFIED_LOADED_LENGTH = -1 |
no length override given More... | |
static const double | UNSPECIFIED_OFFSET = 0 |
unspecified lane offset More... | |
static const double | UNSPECIFIED_SIGNAL_OFFSET = -1 |
unspecified signal offset More... | |
static const double | UNSPECIFIED_SPEED = -1 |
unspecified lane speed More... | |
static const double | UNSPECIFIED_VISIBILITY_DISTANCE = -1 |
unspecified foe visibility for connections More... | |
static const double | UNSPECIFIED_WIDTH = -1 |
unspecified lane width More... | |
Protected Attributes | |
std::string | myID |
The name of the object. More... | |
Private Member Functions | |
void | addRestrictedLane (double width, SUMOVehicleClass vclass) |
add a lane of the given width, restricted to the given class and shift existing connections More... | |
void | addStraightConnections (const EdgeVector *outgoing, const std::vector< int > &availableLanes, const std::vector< int > &priorities) |
add some straight connections More... | |
void | assignInternalLaneLength (std::vector< Connection >::iterator i, int numLanes, double lengthSum) |
assign length to all lanes of an internal edge More... | |
bool | bothLeftIntersect (const NBNode &n, const PositionVector &shape, LinkDirection dir, NBEdge *otherFrom, const NBEdge::Connection &otherCon, int numPoints, double width2, int shapeFlag=0) const |
determine conflict between opposite left turns More... | |
void | computeAngle () |
computes the angle of this edge and stores it in myAngle More... | |
PositionVector | computeLaneShape (int lane, double offset) const |
Computes the shape for the given lane. More... | |
void | computeLaneShapes () |
compute lane shapes More... | |
void | divideOnEdges (const EdgeVector *outgoing) |
divides the lanes on the outgoing edges More... | |
void | divideSelectedLanesOnEdges (const EdgeVector *outgoing, const std::vector< int > &availableLanes) |
divide selected lanes on edges More... | |
bool | hasRestrictedLane (SUMOVehicleClass vclass) const |
returns whether any lane already allows the given vclass exclusively More... | |
void | init (int noLanes, bool tryIgnoreNodePositions, const std::string &origID) |
Initialization routines common to all constructors. More... | |
NBEdge (const NBEdge &s) | |
invalidated copy constructor More... | |
NBEdge () | |
constructor for dummy edge More... | |
NBEdge & | operator= (const NBEdge &s) |
invalidated assignment operator More... | |
const std::vector< int > | prepareEdgePriorities (const EdgeVector *outgoing, const std::vector< int > &availableLanes) |
recomputes the edge priorities and manipulates them for a distribution of lanes on edges which is more like in real-life More... | |
void | restoreRestrictedLane (SUMOVehicleClass vclass, std::vector< NBEdge::Lane > oldLanes, PositionVector oldGeometry, std::vector< NBEdge::Connection > oldConnections) |
restore a restricted lane More... | |
Private Attributes | |
bool | myAmInTLS |
Information whether this is lies within a joined tls. 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... | |
double | myDistance |
The mileage/kilometrage at the start of this edge in a linear coordination system. More... | |
double | 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... | |
int | myIndex |
the index of the edge in the list of all edges. Set by NBEdgeCont and requires re-set whenever the list of edges changes More... | |
std::vector< Lane > | myLanes |
Lane information. More... | |
LaneSpreadFunction | myLaneSpreadFunction |
The information about how to spread the lanes. More... | |
double | myLaneWidth |
This width of this edge's lanes. More... | |
double | myLength |
The length of the edge. More... | |
double | 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... | |
NBNode * | mySignalNode |
double | 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... | |
double | mySpeed |
The maximal speed. More... | |
EdgeBuildingStep | myStep |
The building step. More... | |
std::map< int, double > | myStopOffsets |
A vClass specific stop offset - assumed of length 0 (unspecified) or 1. For the latter case the int is a bit set specifying the vClasses, the offset applies to (see SUMOVehicleClass.h), and the double is the stopping offset in meters from the lane end. More... | |
std::string | myStreetName |
The street name (or whatever arbitrary string you wish to attach) More... | |
EdgeVector | mySuccessors |
NBNode * | myTo |
int | myToJunctionPriority |
The priority normalised for the node the edge is incoming in. More... | |
NBEdge * | myTurnDestination |
The turn destination edge (if a connection exists) More... | |
std::string | myType |
The type of the edge. More... | |
ConstRouterEdgePairVector | myViaSuccessors |
double | myStartAngle |
The angles of the edge. More... | |
double | myEndAngle |
double | myTotalAngle |
PositionVector | myFromBorder |
intersection borders (because the node shape might be invalid) More... | |
PositionVector | myToBorder |
Friends | |
class | GNEEdge |
class | GNEJunction |
class | GNELane |
class | NBEdgeCont |
Setting and getting connections | |
bool | addEdge2EdgeConnection (NBEdge *dest) |
Adds a connection to another edge. More... | |
bool | addLane2LaneConnection (int fromLane, NBEdge *dest, int toLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false, bool keepClear=true, double contPos=UNSPECIFIED_CONTPOS, double visibility=UNSPECIFIED_VISIBILITY_DISTANCE, double speed=UNSPECIFIED_SPEED, const PositionVector &customShape=PositionVector::EMPTY, const bool uncontrolled=UNSPECIFIED_CONNECTION_UNCONTROLLED) |
Adds a connection between the specified this edge's lane and an approached one. More... | |
bool | addLane2LaneConnections (int fromLane, NBEdge *dest, int toLane, int no, Lane2LaneInfoType type, bool invalidatePrevious=false, bool mayDefinitelyPass=false) |
Builds no connections starting at the given lanes. More... | |
bool | setConnection (int lane, NBEdge *destEdge, int destLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false, bool keepClear=true, double contPos=UNSPECIFIED_CONTPOS, double visibility=UNSPECIFIED_VISIBILITY_DISTANCE, double speed=UNSPECIFIED_SPEED, const PositionVector &customShape=PositionVector::EMPTY, const bool uncontrolled=UNSPECIFIED_CONNECTION_UNCONTROLLED) |
Adds a connection to a certain lane of a certain edge. More... | |
std::vector< Connection > | getConnectionsFromLane (int lane, NBEdge *to=nullptr, int toLane=-1) 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... | |
Connection & | getConnectionRef (int fromLane, const NBEdge *to, int toLane) |
Returns reference to the specified connection This method goes through "myConnections" and returns the specified one. More... | |
bool | hasConnectionTo (NBEdge *destEdge, int destLane, int fromLane=-1) const |
Retrieves info about a connection to a certain lane of a certain edge. More... | |
bool | isConnectedTo (const NBEdge *e) const |
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... | |
EdgeVector | getIncomingEdges () const |
Returns the list of incoming edges unsorted. More... | |
std::vector< int > | getConnectionLanes (NBEdge *currentOutgoing, bool withBikes=true) 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, const bool adaptToLaneRemoval=false, const bool keepPossibleTurns=false) |
Removes the specified connection(s) More... | |
bool | removeFromConnections (NBEdge::Connection connectionToRemove) |
remove an existent connection of edge More... | |
void | invalidateConnections (bool reallowSetting=false) |
invalidate current connections of edge More... | |
void | replaceInConnections (NBEdge *which, NBEdge *by, int laneOff) |
replace in current connections of edge More... | |
void | replaceInConnections (NBEdge *which, const std::vector< NBEdge::Connection > &origConns) |
replace in current connections of edge More... | |
void | copyConnectionsFrom (NBEdge *src) |
copy connections from antoher edge More... | |
void | shiftToLanesToEdge (NBEdge *to, int laneOff) |
modifify the toLane for all connections to the given edge More... | |
void | moveConnectionToLeft (int lane) |
void | moveConnectionToRight (int lane) |
bool | canMoveConnection (const Connection &con, int newFromLane) const |
whether the connection can originate on newFromLane More... | |
functions for router usage | |
void | setNumericalID (int index) |
sets the index of the edge in the list of all network edges More... | |
int | getNumericalID () const |
Returns the index (numeric id) of the edge. More... | |
const EdgeVector & | getSuccessors (SUMOVehicleClass vClass=SVC_IGNORING) const |
Returns the following edges for the given vClass. More... | |
const ConstRouterEdgePairVector & | getViaSuccessors (SUMOVehicleClass vClass=SVC_IGNORING) const |
Returns the following edges for the given vClass. More... | |
static double | getTravelTimeStatic (const NBEdge *const edge, const NBVehicle *const, double) |
static int | getLaneIndexFromLaneID (const std::string laneID) |
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, | ||
double | speed, | ||
int | nolanes, | ||
int | priority, | ||
double | width, | ||
double | endOffset, | ||
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] | endOffset | 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 266 of file NBEdge.cpp.
References init().
NBEdge::NBEdge | ( | const std::string & | id, |
NBNode * | from, | ||
NBNode * | to, | ||
std::string | type, | ||
double | speed, | ||
int | nolanes, | ||
int | priority, | ||
double | width, | ||
double | endOffset, | ||
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] | endOffset | 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 294 of file NBEdge.cpp.
References init().
NBEdge::NBEdge | ( | const std::string & | id, |
NBNode * | from, | ||
NBNode * | to, | ||
const 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 324 of file NBEdge.cpp.
References getLaneSpeed(), getNumLanes(), getPermissions(), init(), MIN2(), myGeom, myLanes, myTo, setEndOffset(), setLaneWidth(), setPermissions(), setSpeed(), and setStopOffsets().
NBEdge::~NBEdge | ( | ) |
Destructor.
Definition at line 509 of file NBEdge.cpp.
|
private |
invalidated copy constructor
|
private |
constructor for dummy edge
Definition at line 361 of file NBEdge.cpp.
Referenced by splitGeometry().
void NBEdge::addBikeLane | ( | double | width | ) |
add a bicycle lane of the given width and shift existing connctions
Definition at line 3589 of file NBEdge.cpp.
References addRestrictedLane(), and SVC_BICYCLE.
Referenced by NIImporter_OpenStreetMap::insertEdge(), and NIXMLEdgesHandler::myEndElement().
void NBEdge::addCrossingPointsAsIncomingWithGivenOutgoing | ( | NBEdge * | o, |
PositionVector & | into | ||
) |
add crossing points as incoming with given outgoing
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 990 of file NBEdge.cpp.
References EDGE2EDGES, INIT_REJECT_CONNECTIONS, invalidateConnections(), myConnections, myFrom, myStep, and myTo.
Referenced by addLane2LaneConnection(), NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), 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 883 of file NBEdge.cpp.
References PositionVector::insert_noDoublePos(), and myGeom.
Referenced by NIImporter_VISUM::parse_EdgePolys().
void NBEdge::addLane | ( | int | index, |
bool | recomputeShape, | ||
bool | recomputeConnections, | ||
bool | shiftIndices | ||
) |
add lane
Definition at line 3139 of file NBEdge.cpp.
References computeLaneShapes(), NBNode::getIncomingEdges(), Parameterised::getParametersMap(), invalidateConnections(), myConnections, myFrom, myLanes, myTo, NBNode::shiftTLConnectionLaneIndex(), NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by GNEEdge::addLane(), and incLaneNo().
bool NBEdge::addLane2LaneConnection | ( | int | fromLane, |
NBEdge * | dest, | ||
int | toLane, | ||
Lane2LaneInfoType | type, | ||
bool | mayUseSameDestination = false , |
||
bool | mayDefinitelyPass = false , |
||
bool | keepClear = true , |
||
double | contPos = UNSPECIFIED_CONTPOS , |
||
double | visibility = UNSPECIFIED_VISIBILITY_DISTANCE , |
||
double | speed = UNSPECIFIED_SPEED , |
||
const PositionVector & | customShape = PositionVector::EMPTY , |
||
const bool | uncontrolled = UNSPECIFIED_CONNECTION_UNCONTROLLED |
||
) |
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 1014 of file NBEdge.cpp.
References addEdge2EdgeConnection(), INIT_REJECT_CONNECTIONS, myFrom, myStep, myTo, and setConnection().
Referenced by NIImporter_SUMO::_loadNetwork(), addLane2LaneConnections(), NIVissimConnection::buildEdgeConnections(), NIImporter_OpenDrive::loadNetwork(), moveOutgoingConnectionsFrom(), NIImporter_VISUM::parse_LanesConnections(), NIXMLConnectionsHandler::parseLaneBound(), NBEdgeCont::processSplits(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and NBEdgeCont::splitAt().
bool NBEdge::addLane2LaneConnections | ( | int | fromLane, |
NBEdge * | dest, | ||
int | toLane, | ||
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 1041 of file NBEdge.cpp.
References addLane2LaneConnection(), and invalidateConnections().
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), and NBNode::computeLanes2Lanes().
|
private |
add a lane of the given width, restricted to the given class and shift existing connections
Definition at line 3611 of file NBEdge.cpp.
References computeLaneShapes(), disallowVehicleClass(), NBEdge::Connection::fromLane, getID(), NBNode::getIncomingEdges(), Parameterised::getParameter(), hasRestrictedLane(), LANESPREAD_CENTER, PositionVector::move2side(), myConnections, myFrom, myGeom, myLanes, myLaneSpreadFunction, myTo, NBNode::shiftTLConnectionLaneIndex(), SUMO_PARAM_ORIGID, toString(), and WRITE_WARNING.
Referenced by addBikeLane(), addSidewalk(), and NBEdgeCont::guessSpecialLanes().
void NBEdge::addSidewalk | ( | double | width | ) |
add a pedestrian sidewalk of the given width and shift existing connctions
Definition at line 3577 of file NBEdge.cpp.
References addRestrictedLane(), and SVC_PEDESTRIAN.
Referenced by NIImporter_OpenStreetMap::insertEdge(), and NIXMLEdgesHandler::myEndElement().
|
inline |
|
private |
add some straight connections
Definition at line 2557 of file NBEdge.cpp.
References DEBUGCOND, NBNode::getDirection(), getID(), getNumLanes(), getPermissions(), LINKDIR_STRAIGHT, MIN2(), myConnections, myLanes, myTo, and SVC_PEDESTRIAN.
Referenced by divideSelectedLanesOnEdges().
|
inlineinherited |
Adds this object to the given container.
Definition at line 127 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 3232 of file NBEdge.cpp.
References myLanes.
Referenced by NINavTeqHelper::addVehicleClasses(), NINavTeqHelper::addVehicleClassesV6(), and preferVehicleClass().
void NBEdge::append | ( | NBEdge * | continuation | ) |
append another edge
Definition at line 3056 of file NBEdge.cpp.
References PositionVector::append(), computeAngle(), OptionsCont::getBool(), getFinalLength(), getID(), getLength(), OptionsCont::getOptions(), Parameterised::getParameter(), getSignalOffset(), Parameterised::knowsParameter(), myConnections, myConnectionsToDelete, myGeom, myLanes, myLength, myLoadedLength, myPossibleTurnDestination, mySignalOffset, myStep, myTo, myToBorder, myTurnDestination, Parameterised::setParameter(), SUMO_PARAM_ORIGID, and UNSPECIFIED_SIGNAL_OFFSET.
Referenced by NBNodeCont::removeUnwishedNodes().
void NBEdge::appendTurnaround | ( | bool | noTLSControlled, |
bool | onlyDeadends, | ||
bool | noGeometryLike, | ||
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 2721 of file NBEdge.cpp.
References NBNode::geometryLike(), getAngleAtNode(), getIncomingEdges(), getNumLanes(), getPermissions(), NBNode::getType(), isBidiRail(), isRailDeadEnd(), isRailway(), NBNode::isTLControlled(), L2L_VALIDATED, myConnections, myLanes, myTo, myTurnDestination, NODETYPE_RAIL_CROSSING, NBHelpers::normRelAngle(), setConnection(), SUMO_const_haltingSpeed, SVC_PASSENGER, SVC_PEDESTRIAN, UNSPECIFIED_CONTPOS, and UNSPECIFIED_VISIBILITY_DISTANCE.
|
private |
assign length to all lanes of an internal edge
Definition at line 1776 of file NBEdge.cpp.
References myConnections.
Referenced by buildInnerEdges().
|
private |
determine conflict between opposite left turns
Definition at line 1820 of file NBEdge.cpp.
References NBNode::computeInternalLaneShape(), firstIntersection(), NBNode::getDirection(), PositionVector::length(), LINKDIR_LEFT, LINKDIR_PARTLEFT, POSITION_EPS, and NBEdge::Connection::toEdge.
Referenced by buildInnerEdges().
void NBEdge::buildInnerEdges | ( | const NBNode & | n, |
int | noInternalNoSplits, | ||
int & | linkIndex, | ||
int & | splitIndex | ||
) |
Definition at line 1522 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::angleDiff(), assignInternalLaneLength(), NBNode::AVOID_INTERSECTING_LEFT_TURNS, bothLeftIntersect(), NBNode::computeInternalLaneShape(), NBEdge::Connection::contPos, DEG2RAD, NBNode::Crossing::edges, PositionVector::extrapolate(), firstIntersection(), NBEdge::Connection::foeIncomingLanes, NBEdge::Connection::foeInternalLinks, NBNode::foes(), NBNode::forbids(), NBEdge::Connection::fromLane, OptionsCont::getBool(), NBNode::getCrossings(), NBEdge::Connection::getDescription(), NBNode::getDirection(), getEndOffset(), OptionsCont::getFloat(), Named::getID(), getID(), NBNode::getIncomingEdges(), OptionsCont::getInt(), getJunctionPriority(), getLaneID(), getLanes(), getLaneShape(), getLaneWidth(), OptionsCont::getOptions(), getPermissions(), getTurnDestination(), NBNode::getType(), hasSignalisedConnectionTo(), NBEdge::Connection::haveVia, NBEdge::Connection::id, NBEdge::Connection::internalLaneIndex, isBidiRail(), isRailway(), PositionVector::length(), PositionVector::length2D(), LINKDIR_LEFT, LINKDIR_PARTLEFT, LINKDIR_PARTRIGHT, LINKDIR_RIGHT, LINKDIR_STRAIGHT, LINKDIR_TURN, MAX2(), MIN2(), myConnections, myFrom, myLanes, myTo, NBNode::needsCont(), NODETYPE_NOJUNCTION, POSITION_EPS, RAD2DEG, NBNode::rightTurnConflict(), ROUNDABOUT, NBNode::SCURVE_IGNORE, NBNode::Crossing::shape, NBEdge::Connection::shape, NBEdge::Connection::speed, split(), PositionVector::splitAt(), SVC_BICYCLE, SVC_DELIVERY, SVC_PEDESTRIAN, SVCAll, NBEdge::Connection::tlID, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, toString(), UNSPECIFIED_CONTPOS, UNSPECIFIED_SPEED, NBEdge::Connection::viaID, NBEdge::Connection::viaShape, NBEdge::Connection::vmax, NBNode::Crossing::width, and WRITE_WARNING.
|
private |
whether the connection can originate on newFromLane
Definition at line 1485 of file NBEdge.cpp.
References getPermissions(), SVC_PEDESTRIAN, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by moveConnectionToLeft(), and moveConnectionToRight().
void NBEdge::checkGeometry | ( | const double | maxAngle, |
const double | minRadius, | ||
bool | fix | ||
) |
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 944 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::angleDiff(), DEG2RAD, getID(), M_PI, myGeom, RAD2DEG, toString(), WRITE_MESSAGE, and WRITE_WARNING.
void NBEdge::clearControllingTLInformation | ( | ) |
clears tlID for all connections
Definition at line 2907 of file NBEdge.cpp.
References myConnections.
|
inherited |
Clears the parameter map.
Definition at line 99 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::beginEdgeParsing(), GNECrossing::setGenericParametersStr(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), and GNEVehicle::setGenericParametersStr().
|
private |
computes the angle of this edge and stores it in myAngle
Definition at line 1961 of file NBEdge.cpp.
References ANGLE_LOOKAHEAD, Position::angleTo2D(), PositionVector::around(), DEBUGCOND, PositionVector::distance2D(), PositionVector::getCentroid(), getID(), getLaneWidth(), getNumLanes(), NBNode::getPosition(), NBNode::getShape(), LANESPREAD_RIGHT, GeomHelper::legacyDegree(), PositionVector::length(), PositionVector::length2D(), MIN2(), PositionVector::move2side(), myEndAngle, myFrom, myGeom, myLanes, myLaneSpreadFunction, myStartAngle, myTo, myTotalAngle, POSITION_EPS, and PositionVector::positionAtOffset2D().
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 2160 of file NBEdge.cpp.
References DEBUGCOND, EDGE2EDGES, getAngleAtNode(), getID(), Named::getIDSecure(), NBNode::getOutgoingEdges(), getPermissions(), NBNode::isLeftMover(), isRailway(), myConnections, myStep, myTo, and NBHelpers::normRelAngle().
void NBEdge::computeEdgeShape | ( | double | smoothElevationThreshold = -1 | ) |
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 770 of file NBEdge.cpp.
References computeAngle(), computeLaneShapes(), cutAtIntersection(), NBNode::geometryLike(), NBNode::getPosition(), PositionVector::hasElevation(), PositionVector::length2D(), MIN2(), myFrom, myGeom, myLanes, myLength, myTo, PositionVector::reverse(), PositionVector::smoothedZFront(), and Position::z().
bool NBEdge::computeLanes2Edges | ( | ) |
computes the edge, step2: computation of which lanes approach the edges)
Definition at line 2193 of file NBEdge.cpp.
References DEBUGCOND, divideOnEdges(), EDGE2EDGES, getConnectedSorted(), getID(), Named::getIDSecure(), LANES2EDGES, myConnections, and myStep.
|
private |
Computes the shape for the given lane.
Definition at line 1949 of file NBEdge.cpp.
References getLaneID(), PositionVector::move2side(), myGeom, and WRITE_WARNING.
Referenced by computeLaneShapes().
|
private |
compute lane shapes
Definition at line 1905 of file NBEdge.cpp.
References computeLaneShape(), getID(), getLaneWidth(), LANESPREAD_RIGHT, myFrom, myGeom, myLanes, myLaneSpreadFunction, myTo, SUMO_const_laneOffset, SUMO_const_laneWidth, UNSPECIFIED_WIDTH, and WRITE_WARNING.
Referenced by addLane(), addRestrictedLane(), computeEdgeShape(), deleteLane(), init(), restoreRestrictedLane(), setGeometry(), and shortenGeometryAtNode().
|
static |
connections_sorter sort by fromLane, toEdge and toLane
Definition at line 3471 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by sortOutgoingConnectionsByIndex().
void NBEdge::copyConnectionsFrom | ( | NBEdge * | src | ) |
copy connections from antoher edge
Definition at line 1478 of file NBEdge.cpp.
References myConnections, and myStep.
Referenced by NBEdgeCont::splitAt().
PositionVector NBEdge::cutAtIntersection | ( | const PositionVector & | old | ) | const |
cut shape at the intersection shapes
Definition at line 709 of file NBEdge.cpp.
References GeomHelper::angleDiff(), PositionVector::beginEndAngle(), DEG2RAD, PositionVector::getSubpart(), PositionVector::length(), myFrom, myFromBorder, myTo, myToBorder, POSITION_EPS, PositionVector::reverse(), and startShapeAt().
Referenced by computeEdgeShape(), and getFinalLength().
void NBEdge::debugPrintConnections | ( | bool | outgoing = true , |
bool | incoming = false |
||
) | const |
debugging helper to print all connections
Definition at line 3781 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, getID(), NBNode::getIncomingEdges(), myConnections, myFrom, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
void NBEdge::decLaneNo | ( | int | by | ) |
decrement lane
Definition at line 3213 of file NBEdge.cpp.
References deleteLane(), LANES2LANES_USER, myLanes, and myStep.
Referenced by NBEdgeCont::processSplits().
|
inline |
declares connections as fully loaded. This is needed to avoid recomputing connections if an edge has no connections intentionally.
Definition at line 1285 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and GNEEdge::setAttribute().
void NBEdge::deleteLane | ( | int | index, |
bool | recompute, | ||
bool | shiftIndices | ||
) |
delete lane
Definition at line 3193 of file NBEdge.cpp.
References computeLaneShapes(), NBNode::getIncomingEdges(), invalidateConnections(), myFrom, myLanes, and removeFromConnections().
Referenced by decLaneNo(), NIXMLEdgesHandler::deleteEdge(), joinLanes(), and GNEEdge::removeLane().
void NBEdge::disableConnection4TLS | ( | int | fromLane, |
NBEdge * | toEdge, | ||
int | toLane | ||
) |
disable connections for TLS
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 3245 of file NBEdge.cpp.
References myLanes.
Referenced by addRestrictedLane(), and NIImporter_DlrNavteq::EdgesHandler::report().
void NBEdge::dismissVehicleClassInformation | ( | ) |
dimiss vehicle class information
Definition at line 3462 of file NBEdge.cpp.
References myLanes, and SVCAll.
Referenced by NBEdgeCont::insert().
|
private |
divides the lanes on the outgoing edges
Definition at line 2370 of file NBEdge.cpp.
References DEBUGCOND, divideSelectedLanesOnEdges(), getID(), getPermissions(), isForbidden(), myConnections, myLanes, sortOutgoingConnectionsByIndex(), SVC_BICYCLE, SVC_BUS, SVC_PASSENGER, SVC_PEDESTRIAN, and toString().
Referenced by computeLanes2Edges().
|
private |
divide selected lanes on edges
Definition at line 2442 of file NBEdge.cpp.
References addStraightConnections(), Bresenham::compute(), DEBUGCOND, NBEdge::ToEdgeConnectionsAdder::getBuiltConnections(), getConnectionsFromLane(), getID(), getPermissions(), getSpeed(), myConnections, myLanes, prepareEdgePriorities(), SVC_BICYCLE, SVC_PEDESTRIAN, and toString().
Referenced by divideOnEdges().
bool NBEdge::expandableBy | ( | NBEdge * | possContinuation, |
std::string & | reason | ||
) | const |
Check if Node is expandable.
!! if (myAllowedOnLanes!=possContinuation->myAllowedOnLanes || myNotAllowedOnLanes!=possContinuation->myNotAllowedOnLanes) { return false; }
Definition at line 2955 of file NBEdge.cpp.
References EDGE2EDGES, NBNode::FORWARD, getConnectedEdges(), getConnectionLanes(), getFirstNonPedestrianLaneIndex(), OptionsCont::getFloat(), getLoadedLength(), OptionsCont::getOptions(), getPriority(), INIT, INIT_REJECT_CONNECTIONS, isBidiRail(), LANES2EDGES, LANES2LANES_DONE, LANES2LANES_RECHECK, LANES2LANES_USER, MAX2(), myConnections, myFrom, myLanes, myLaneSpreadFunction, mySpeed, myStep, myTo, and toString().
void NBEdge::extendGeometryAtNode | ( | const NBNode * | node, |
double | maxExtent | ||
) |
linearly extend the geometry at the given node
Definition at line 588 of file NBEdge.cpp.
References PositionVector::extrapolate(), NBNode::getPosition(), PositionVector::getSubpart2D(), GeomHelper::INVALID_OFFSET, PositionVector::length2D(), MAX2(), MIN2(), myFrom, myGeom, myTo, PositionVector::nearest_offset_to_point2D(), and POSITION_EPS.
|
static |
compute the first intersection point between the given lane geometries considering their rspective widths
Definition at line 1788 of file NBEdge.cpp.
References PositionVector::intersectsAtLengths2D(), PositionVector::length(), MIN2(), PositionVector::move2side(), POSITION_EPS, and WRITE_WARNING.
Referenced by bothLeftIntersect(), buildInnerEdges(), and NBRequest::oppositeLeftTurnConflict().
double NBEdge::getAngleAtNode | ( | const NBNode *const | node | ) | const |
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 1863 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::legacyDegree(), myFrom, myGeom, and myTo.
Referenced by appendTurnaround(), computeEdge2Edges(), NBNode::computeLanes2Lanes(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBNodeCont::feasibleCluster(), NBRampsComputer::fulfillsRampConstraints(), NBNode::geometryLike(), NBNodesEdgesSorter::edge_by_junction_angle_sorter::getConvAngle(), getCrossingAngle(), NBNode::getDirection(), NBEdgeCont::guessRoundabouts(), NBNode::isLeftMover(), NBRailwayTopologyAnalyzer::isStraight(), NBRequest::laneConflict(), NBEdgePriorityComputer::markBestParallel(), and NBEdgePriorityComputer::setPriorityJunctionPriorities().
double NBEdge::getAngleAtNodeToCenter | ( | const NBNode *const | node | ) | const |
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 1875 of file NBEdge.cpp.
References myEndAngle, myFrom, myStartAngle, and myTo.
Referenced by 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 2935 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, getFirstAllowedLaneIndex(), getLaneWidth(), PositionVector::move2side(), myFrom, and myLanes.
Referenced by NBEdgeCont::checkOverlap(), and NBNodeShapeComputer::joinSameDirectionEdges().
EdgeVector NBEdge::getConnectedEdges | ( | ) | const |
Returns the list of outgoing edges unsorted.
Definition at line 1226 of file NBEdge.cpp.
References myConnections.
Referenced by NIVissimDisturbance::addToNode(), expandableBy(), NBTrafficLightDefinition::forbids(), NBContHelper::same_connection_edge_sorter::getMinMaxRelAngles(), remapConnections(), and NBNode::removeSelfLoops().
const EdgeVector * NBEdge::getConnectedSorted | ( | ) |
Returns the list of outgoing edges without the turnaround sorted in clockwise direction.
Definition at line 1189 of file NBEdge.cpp.
References NBNode::getOutgoingEdges(), myConnections, myConnectionsToDelete, myTo, and myTurnDestination.
Referenced by computeLanes2Edges().
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 1141 of file NBEdge.cpp.
References getID(), myConnections, and toString().
Referenced by GNEViewNet::drawLaneCandidates(), NBRequest::getFoesString(), NBRequest::getResponseString(), NBRequest::mustBrake(), and NWWriter_SUMO::writeInternalEdges().
std::vector< int > NBEdge::getConnectionLanes | ( | NBEdge * | currentOutgoing, |
bool | withBikes = true |
||
) | const |
Returns the list of lanes that may be used to reach the given edge.
Definition at line 1251 of file NBEdge.cpp.
References getPermissions(), myConnections, myTurnDestination, and SVC_BICYCLE.
Referenced by expandableBy().
NBEdge::Connection & NBEdge::getConnectionRef | ( | int | fromLane, |
const NBEdge * | to, | ||
int | toLane | ||
) |
Returns reference to the specified connection This method goes through "myConnections" and returns the specified one.
Definition at line 1155 of file NBEdge.cpp.
References getID(), myConnections, and toString().
Referenced by NIImporter_SUMO::_loadNetwork(), and GNEConnection::getNBEdgeConnection().
|
inline |
Returns the connections.
Definition at line 924 of file NBEdge.h.
Referenced by NIXMLTrafficLightsHandler::addTlConnection(), NBEdgeCont::checkGrade(), NBRequest::checkLaneFoesByCooperation(), NBTrafficLightDefinition::collectReachable(), NWWriter_SUMO::getOppositeInternalID(), NBNodeCont::joinNodeCluster(), NIImporter_OpenDrive::loadNetwork(), NBRequest::mustBrake(), GNEConnectorFrame::ConnectionOperations::onCmdSelectDeadStarts(), NBEdgeCont::recheckPostProcessConnections(), GNEEdge::remakeGNEConnections(), GNEJunction::removeConnectionsFrom(), GNEJunction::replaceIncomingConnections(), GNENet::replaceIncomingEdge(), GNENet::replaceJunctionByGeometry(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_OpenDrive::writeNetwork(), NWWriter_SUMO::writeNetwork(), and NWWriter_XML::writeTrafficLights().
|
inline |
std::vector< NBEdge::Connection > NBEdge::getConnectionsFromLane | ( | int | lane, |
NBEdge * | to = nullptr , |
||
int | toLane = -1 |
||
) | 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 |
[in] | to | The target Edge (ignore nullptr) |
[in] | toLane | The target lane (ignore if > 0) |
Definition at line 1127 of file NBEdge.cpp.
References myConnections.
Referenced by NIVissimTL::NIVissimTLSignal::addTo(), GNEDemandElement::RouteCalculator::areEdgesConsecutives(), GNEConnectorFrame::buildConnection(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectLinks(), NBRequest::computeCrossingResponse(), NBRequest::computeLaneResponse(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), divideSelectedLanesOnEdges(), GNELane::drawLane2LaneConnections(), GNELane::drawLinkNo(), GNELane::drawTLSLinkNo(), GNEConnectorFrame::initTargets(), moveOutgoingConnectionsFrom(), NIXMLConnectionsHandler::parseLaneBound(), GNERoute::updateGeometry(), and GNEVehicle::updateGeometry().
double NBEdge::getCrossingAngle | ( | NBNode * | node | ) |
return the angle for computing pedestrian crossings at the given node
Definition at line 3536 of file NBEdge.cpp.
References gDebugFlag1, getAngleAtNode(), getFromNode(), and getID().
Referenced by NBNode::checkCrossing().
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 2915 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, getFirstAllowedLaneIndex(), getLaneWidth(), PositionVector::move2side(), myFrom, and myLanes.
Referenced by NBNodeShapeComputer::joinSameDirectionEdges().
|
inline |
Definition at line 604 of file NBEdge.h.
Referenced by NIXMLEdgesHandler::addEdge(), GNEEdge::getAttribute(), GNELane::getColorValue(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
|
inherited |
Returns the value for a given key converted to a double.
[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, StringUtils::toDouble(), and WRITE_WARNING.
Referenced by MSDevice_Battery::buildVehicleDevices(), MSSOTLPolicy5DStimulus::getStimCox(), MSSOTLPolicy5DStimulus::getStimCoxExpDispersionIn(), MSSOTLPolicy5DStimulus::getStimCoxExpDispersionOut(), MSSOTLPolicy5DStimulus::getStimCoxExpIn(), MSSOTLPolicy5DStimulus::getStimCoxExpOut(), MSSOTLPolicy5DStimulus::getStimDivisorDispersionIn(), MSSOTLPolicy5DStimulus::getStimDivisorDispersionOut(), MSSOTLPolicy5DStimulus::getStimDivisorIn(), MSSOTLPolicy5DStimulus::getStimDivisorOut(), MSSOTLPolicy5DStimulus::getStimOffsetDispersionIn(), MSSOTLPolicy5DStimulus::getStimOffsetDispersionOut(), MSSOTLPolicy5DStimulus::getStimOffsetIn(), MSSOTLPolicy5DStimulus::getStimOffsetOut(), and MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus().
|
inline |
Returns the angle at the end of the edge (relative to the node shape center) The angle is computed in computeAngle()
Definition at line 504 of file NBEdge.h.
Referenced by NBContHelper::relative_incoming_edge_sorter::operator()(), and NBNode::rightTurnConflict().
|
inline |
Returns the offset to the destination node.
Definition at line 600 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), buildInnerEdges(), NBNode::computeInternalLaneShape(), GNEEdge::copyTemplate(), GNEEdge::getAttribute(), getEndOffset(), getFinalLength(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
double NBEdge::getEndOffset | ( | int | lane | ) | const |
Returns the offset to the destination node a the specified lane.
Definition at line 3317 of file NBEdge.cpp.
References getEndOffset(), myLanes, and UNSPECIFIED_OFFSET.
double NBEdge::getFinalLength | ( | ) | const |
get length that will be assigned to the lanes in the final network
Definition at line 3704 of file NBEdge.cpp.
References cutAtIntersection(), getEndOffset(), getFromNode(), getLoadedLength(), OptionsCont::getOptions(), getToNode(), hasLoadedLength(), isBidiRail(), PositionVector::length(), MAX2(), myGeom, myLanes, myPossibleTurnDestination, POSITION_EPS, PositionVector::push_back_noDoublePos(), and PositionVector::push_front_noDoublePos().
Referenced by append(), NBPTStopCont::findAccessEdgesForRailStops(), GNEEdge::getAttribute(), GNEDetector::getGeometryPositionOverLane(), GNELane::getLengthGeometryFactor(), GNEAdditionalHandler::parseAndBuildBusStop(), GNEAdditionalHandler::parseAndBuildChargingStation(), GNEAdditionalHandler::parseAndBuildContainerStop(), GNEAdditionalHandler::parseAndBuildDetectorE2(), GNEAdditionalHandler::parseAndBuildParkingArea(), NBEdgeCont::recheckLanes(), NBParking::write(), and NWWriter_SUMO::writeEdge().
int NBEdge::getFirstAllowedLaneIndex | ( | int | direction | ) | const |
return the first lane that permits at least 1 vClass or the last lane if search direction of there is no such lane
[in] | direction | The direction in which the lanes shall be checked |
Definition at line 3509 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, and myLanes.
Referenced by getCCWBoundaryLine(), and getCWBoundaryLine().
NBEdge::Lane NBEdge::getFirstNonPedestrianLane | ( | int | direction | ) | const |
get first non-pedestrian lane
Definition at line 3552 of file NBEdge.cpp.
References getFirstNonPedestrianLaneIndex(), getID(), and myLanes.
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 3483 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, myLanes, SVC_PEDESTRIAN, and SVCAll.
Referenced by NBTrafficLightDefinition::collectEdges(), NBNode::computeLanes2Lanes(), expandableBy(), and getFirstNonPedestrianLane().
|
inline |
Returns the origin node of the edge.
Definition at line 479 of file NBEdge.h.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesBetweenSwitches(), NBRailwayTopologyAnalyzer::addBidiEdgesForBufferStops(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NIXMLConnectionsHandler::addCrossing(), NIXMLEdgesHandler::addSplit(), NIVissimDisturbance::addToNode(), NBLoadedTLDef::addToSignalGroup(), NIXMLConnectionsHandler::addWalkingArea(), NBRampsComputer::buildOffRamp(), NBNode::buildWalkingAreas(), NBNode::checkCrossing(), NBEdgeCont::checkOverlap(), NBRampsComputer::computeRamps(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NIVissimDistrictConnection::dict_BuildDistricts(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBNodeCont::feasibleCluster(), NBRampsComputer::fulfillsRampConstraints(), NBNodesEdgesSorter::edge_by_junction_angle_sorter::getConvAngle(), getCrossingAngle(), NBContHelper::edge_opposite_direction_sorter::getEdgeAngleAt(), getFinalLength(), NWWriter_DlrNavteq::getGraphLength(), NIImporter_VISUM::getNamedEdgeContinuating(), NBPTStopCont::getReverseEdge(), NBNode::guessCrossings(), NBEdgeCont::guessOpposites(), NBEdgeCont::guessRoundabouts(), NBOwnTLDef::hasCrossing(), NBEdgeCont::insert(), GNENet::insertEdge(), NBNode::isNearDistrict(), NBRailwayTopologyAnalyzer::isStraight(), NBRequest::laneConflict(), NIImporter_ArcView::load(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::edge_by_direction_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NBEdgeCont::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBNodeCont::reduceToCircle(), NBNodeCont::removeComponents(), NBNodeCont::removeIsolatedRoads(), NBEdgeCont::removeUnwishedEdges(), GNEEdge::setAttribute(), NIXMLEdgesHandler::setNodes(), GNEEdge::smoothShape(), GNEEdge::straightenElevation(), NGNet::toNB(), NBRailwayTopologyAnalyzer::updateTurns(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeNetwork().
|
inline |
Returns the geometry of the edge.
Definition at line 680 of file NBEdge.h.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NIXMLEdgesHandler::addEdge(), NIXMLPTHandler::addPTStop(), GNENet::addReversedEdge(), NIXMLEdgesHandler::addSplit(), NBNodeShapeComputer::badIntersection(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), GNEViewNetHelper::MoveSingleElementValues::calculateEdgeValues(), NBEdgeCont::checkOverlap(), GNEEdge::clickedOverShapeEnd(), GNEEdge::clickedOverShapeStart(), GNEEdge::commitShapeChange(), GNEEdge::commitShapeEndChange(), GNEEdge::commitShapeStartChange(), NBPTStopCont::computeCrossProductEdgePosition(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), GNEEdge::drawGeometryPoints(), GNEEdge::editEndpoint(), GNEEdge::getAttribute(), GNEEdge::getCenteringBoundary(), NBContHelper::edge_opposite_direction_sorter::getEdgeAngleAt(), NWWriter_DlrNavteq::getGraphLength(), GNEEdge::getSplitPos(), GNEEdge::getVertexIndex(), NBEdgeCont::ignoreFilterMatch(), isBidiRail(), isNearEnough2BeJoined2(), GNEEdge::isValid(), NBNodeShapeComputer::joinSameDirectionEdges(), NIImporter_ArcView::load(), NBRampsComputer::moveRampRight(), GNEEdge::moveShapeEnd(), GNEEdge::moveShapeStart(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::relative_incoming_edge_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NIImporter_OpenStreetMap::reconstructLayerElevation(), GNENet::replaceJunctionByGeometry(), GNEEdge::setShapeEndPos(), GNEEdge::setShapeStartPos(), shiftPositionAtNode(), GNEEdge::smooth(), GNEEdge::smoothElevation(), NBEdgeCont::splitAt(), GNENet::splitEdge(), GNEEdge::straightenElevation(), NGNet::toNB(), GNEEdge::updateJunctionPosition(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_DlrNavteq::writeNodesUnsplitted().
|
inlinevirtual |
Implements NBRouterEdge.
Definition at line 1364 of file NBEdge.h.
References Named::getID().
Referenced by NIImporter_SUMO::_loadNetwork(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), addRestrictedLane(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), NBRailwayTopologyAnalyzer::allBroken(), append(), NBEdgeCont::appendRailwayTurnarounds(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), NIVissimConnection::buildEdgeConnections(), buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), checkGeometry(), NBEdgeCont::checkGrade(), NBEdgeCont::checkOverlap(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), computeAngle(), computeEdge2Edges(), NBNode::computeInternalLaneShape(), computeLanes2Edges(), computeLaneShapes(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), debugPrintConnections(), divideOnEdges(), divideSelectedLanesOnEdges(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBEdgeCont::extract(), NBNodeCont::feasibleCluster(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), NBPTStopCont::generateBidiStops(), GNEConnection::getAttribute(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), getConnection(), getConnectionRef(), getCrossingAngle(), getFirstNonPedestrianLane(), NIImporter_VISUM::getNamedEdgeContinuating(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), NBNode::guessCrossings(), NBEdgeCont::guessSpecialLanes(), NBEdgeCont::ignoreFilterMatch(), init(), NBEdgeCont::insert(), NIImporter_VISUM::isSplitEdge(), NBNodeCont::joinNodeCluster(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NBEdge::MainDirections::MainDirections(), GNEJunction::markAsModified(), NBRampsComputer::moveRampRight(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), prepareEdgePriorities(), GNECreateEdgeFrame::processClick(), NBEdgeCont::processSplits(), NWWriter_SUMO::prohibitionConnection(), NBEdgeCont::recheckLanes(), recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NBEdgeCont::remapIDs(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), GNEJunction::removeConnectionsFrom(), NBNodeCont::removeIsolatedRoads(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBEdgeCont::rename(), GNENet::renameEdge(), NBConnection::replaceFrom(), replaceInConnections(), NBConnection::replaceTo(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBPTLineCont::reviseStops(), NBRequest::setBlocking(), setControllingTLInformation(), setNodeBorder(), setStopOffsets(), shiftPositionAtNode(), NBNode::sortEdges(), NBEdgeCont::splitAt(), NBParking::write(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_OpenDrive::writeRoadObjects(), NWWriter_SUMO::writeRoundabout(), and NWWriter_DlrNavteq::writeTrafficSignals().
|
inlinestaticinherited |
get an identifier for Named-like object which may be Null
Definition at line 70 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V, BASE >::compute(), AStarRouter< MSEdge, SUMOVehicle, SUMOAbstractRouterPermissions< MSEdge, SUMOVehicle > >::compute(), computeEdge2Edges(), computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().
EdgeVector NBEdge::getIncomingEdges | ( | ) | const |
Returns the list of incoming edges unsorted.
Definition at line 1238 of file NBEdge.cpp.
References NBNode::getIncomingEdges(), and myFrom.
Referenced by appendTurnaround(), NBEdgePriorityComputer::computeEdgePriorities(), NBNodeCont::feasibleCluster(), NBNodeCont::onlyCrossings(), NBNode::removeSelfLoops(), and NWWriter_OpenDrive::writeNetwork().
const PositionVector NBEdge::getInnerGeometry | ( | ) | const |
Returns the geometry of the edge without the endpoints.
Definition at line 544 of file NBEdge.cpp.
References PositionVector::getSubpartByIndex(), and myGeom.
Referenced by GNENet::addReversedEdge(), GNEViewNetHelper::MoveSingleElementValues::calculateEdgeValues(), GNEEdge::commitShapeChange(), GNEEdge::deleteGeometryPoint(), GNEEdge::editEndpoint(), GNEEdge::getAttribute(), GNEEdge::moveVertexShape(), 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 1843 of file NBEdge.cpp.
References myFrom, myFromJunctionPriority, and myToJunctionPriority.
Referenced by buildInnerEdges(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NBEdgeCont::generateStreetSigns(), NBNode::getDirection(), NWWriter_DlrNavteq::getFormOfWay(), NBOwnTLDef::getToPrio(), NBEdge::MainDirections::MainDirections(), NBNode::needsCont(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), and NBRequest::setBlocking().
std::string NBEdge::getLaneID | ( | int | lane | ) | const |
get lane ID
Definition at line 3125 of file NBEdge.cpp.
References Named::myID, and toString().
Referenced by NIImporter_SUMO::_loadNetwork(), buildInnerEdges(), NWWriter_OpenDrive::checkLaneGeometries(), computeLaneShape(), NBPTStop::findLaneAndComputeBusStopExtent(), NWWriter_SUMO::getOppositeInternalID(), getSidewalkID(), NBEdgeCont::guessOpposites(), NIXMLConnectionsHandler::parseLaneBound(), NBEdgeCont::recheckLanes(), GNEChange_Connection::redo(), GNENet::replaceIncomingEdge(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), setConnection(), GNELane::setIndex(), GNEChange_Connection::undo(), NBParking::write(), NWWriter_SUMO::writeEdge(), and NWWriter_OpenDrive::writeInternalEdge().
|
static |
Definition at line 3800 of file NBEdge.cpp.
References StringUtils::toInt().
Referenced by NIXMLPTHandler::addPTStop().
|
inline |
Returns the lane definitions.
Definition at line 644 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEFrameModuls::EdgePathCreator::addEdge(), NWWriter_OpenDrive::addPedestrianConnection(), buildInnerEdges(), NBNode::buildWalkingAreas(), NBNode::checkCrossing(), GNEEdge::drawGeometryPoints(), NBPTStop::findLaneAndComputeBusStopExtent(), GNEEdge::getLaneByVClass(), NIXMLShapeHandler::getLanePos(), GNEAdditionalHandler::getLanePos(), NWWriter_SUMO::getOppositeInternalID(), NBNode::guessCrossings(), NBEdgeCont::joinSameNodeConnectingEdges(), NIXMLEdgesHandler::myEndElement(), NBEdgeCont::recheckLanes(), GNEConnection::updateGeometry(), GNERoute::updateGeometry(), NBSign::writeAsPOI(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_OpenDrive::writeNormalEdge().
const PositionVector & NBEdge::getLaneShape | ( | int | i | ) | const |
Returns the shape of the nth lane.
Definition at line 871 of file NBEdge.cpp.
References myLanes.
Referenced by buildInnerEdges(), NBNode::buildWalkingAreas(), NBEdgeCont::checkGrade(), NWWriter_OpenDrive::checkLaneGeometries(), NBNode::computeInternalLaneShape(), NBPTStopCont::findAccessEdgesForRailStops(), NBPTStop::findLaneAndComputeBusStopExtent(), NWWriter_OpenDrive::getLeftLaneBorder(), GNELane::getLengthGeometryFactor(), NBRampsComputer::patchRampGeometry(), and GNELane::updateGeometry().
double NBEdge::getLaneSpeed | ( | int | lane | ) | const |
get lane speed
Definition at line 1899 of file NBEdge.cpp.
References myLanes.
Referenced by GNELane::getAttribute(), GNELane::getColorValue(), GNELane::getSpeed(), and NBEdge().
|
inline |
Returns how this edge's lanes' lateral offset is computed.
Definition at line 762 of file NBEdge.h.
References PositionVector::EMPTY.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NIXMLEdgesHandler::addEdge(), GNENet::addReversedEdge(), NBNodeShapeComputer::badIntersection(), GNEEdge::getAttribute(), isBidiRail(), NBRailwayTopologyAnalyzer::makeAllBidi(), NBRampsComputer::moveRampRight(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_DlrNavteq::writeNodesUnsplitted().
|
inline |
Definition at line 1271 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), NBNode::computeInternalLaneShape(), GNENet::deleteLane(), GNELane::drawGL(), GNELane::drawStartEndShapePoints(), GNENet::duplicateLane(), GNELane::getAttribute(), GNELane::getCenteringBoundary(), GNELane::getColorValue(), GNELane::getGenericParameters(), GNELane::getGenericParametersStr(), GNELane::getPopUpMenu(), NBEdgeCont::guessOpposites(), NIImporter_OpenDrive::loadNetwork(), NIXMLEdgesHandler::myStartElement(), NBEdgeCont::recheckLanes(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), GNELane::setGenericParametersStr(), GNEEdge::setNumLanes(), and NBEdgeCont::splitAt().
|
inline |
|
inline |
Returns the default width of lanes of this edge.
Definition at line 575 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), buildInnerEdges(), NBNode::checkCrossing(), computeAngle(), NBNode::computeInternalLaneShape(), computeLaneShapes(), GNEEdge::copyTemplate(), NBNode::displaceShapeAtWidthChange(), GNELane::drawDirectionIndicators(), GNELane::drawGL(), GNEEdge::drawGL(), GNELane::drawLinkNo(), GNELane::drawMarkings(), GNELane::drawTLSLinkNo(), GNEEdge::getAttribute(), getCCWBoundaryLine(), getCWBoundaryLine(), NBNodeShapeComputer::getExtraWidth(), getLaneWidth(), NWWriter_OpenDrive::getLeftLaneBorder(), NWWriter_OpenDrive::getRightLaneBorder(), getTotalWidth(), joinLanes(), NBRampsComputer::moveRampRight(), NBRequest::oppositeLeftTurnConflict(), NBRampsComputer::patchRampGeometry(), setNodeBorder(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_OpenDrive::writeInternalEdge(), and NWWriter_OpenDrive::writeNormalEdge().
double NBEdge::getLaneWidth | ( | int | lane | ) | const |
Returns the width of the lane of this edge.
Definition at line 3300 of file NBEdge.cpp.
References getLaneWidth(), myLanes, SUMO_const_laneWidth, and UNSPECIFIED_WIDTH.
|
inlinevirtual |
Returns the computed length of the edge.
Implements NBRouterEdge.
Definition at line 533 of file NBEdge.h.
Referenced by append(), GNELane::drawGL(), NBEdgeCont::generateStreetSigns(), GNELane::getColorValue(), NIXMLShapeHandler::getLanePos(), GNEAdditionalHandler::getLanePos(), getTravelTimeStatic(), NBNodeCont::guessTLs(), NIXMLEdgesHandler::myStartElement(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::relative_incoming_edge_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), and NBEdgeCont::retrievePossiblySplit().
|
inline |
Returns the length was set explicitly or the computed length if it wasn't set.
Definition at line 542 of file NBEdge.h.
Referenced by NIXMLEdgesHandler::addEdge(), expandableBy(), NBNodeCont::feasibleCluster(), GNELane::getColorValue(), getFinalLength(), GNELane::getLaneParametricLength(), NBNode::isLongEnough(), GNEEdge::isValid(), NBNodeCont::joinSimilarEdges(), NBEdgeCont::recheckLanes(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
double NBEdge::getMaxLaneOffset | ( | ) |
get max lane offset
Definition at line 2830 of file NBEdge.cpp.
References myLanes, and SUMO_const_laneWidthAndOffset.
const PositionVector & NBEdge::getNodeBorder | ( | const NBNode * | node | ) |
Definition at line 661 of file NBEdge.cpp.
References myFrom, myFromBorder, myTo, and myToBorder.
Referenced by NBNode::computeInternalLaneShape().
|
inlinevirtual |
Returns the index (numeric id) of the edge.
Implements NBRouterEdge.
Definition at line 1350 of file NBEdge.h.
References NBRouterEdge::getViaSuccessors(), and SVC_IGNORING.
Referenced by NBContHelper::edge_similar_direction_sorter::operator()().
|
inline |
Returns the number of lanes.
Definition at line 465 of file NBEdge.h.
Referenced by NBLoadedTLDef::SignalGroup::addConnection(), NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NIXMLPTHandler::addPTStop(), NIXMLEdgesHandler::addSplit(), addStraightConnections(), NIVissimTL::NIVissimTLSignal::addTo(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), NBNode::ApproachingDivider::ApproachingDivider(), NIVissimConnection::buildEdgeConnections(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), GNEVehicle::ConnectionGeometry::calculateConnectionShape(), GNEPerson::calculateSmoothPersonPlanConnection(), NBNode::checkCrossing(), NBEdgeCont::checkGrade(), NWWriter_OpenDrive::checkLaneGeometries(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectLinks(), computeAngle(), NBRequest::computeCrossingResponse(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), GNENet::deleteLane(), NBNode::displaceShapeAtWidthChange(), NBRampsComputer::fulfillsRampConstraints(), GNEEdge::getAttribute(), GNELane::getColorValue(), NWWriter_OpenDrive::getLeftLaneBorder(), getPermissionVariants(), NWWriter_DlrNavteq::getRoadClass(), GNEEdge::GNEEdge(), NBEdgeCont::guessOpposites(), NBRampsComputer::hasWrongMode(), NBNode::isSimpleContinuation(), joinLanes(), NBEdge::MainDirections::MainDirections(), moveOutgoingConnectionsFrom(), NIXMLEdgesHandler::myStartElement(), NBEdge(), NBContHelper::edge_by_priority_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NIVissimExtendedEdgePoint::recheckLanes(), NBEdgeCont::recheckLanes(), recheckLanes(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBEdgePriorityComputer::samePriority(), setConnection(), NBLoadedSUMOTLDef::setTLControllingInformation(), shiftPositionAtNode(), NBEdgeCont::splitAt(), GNEConnection::updateGeometry(), GNERoute::updateGeometry(), NBParking::write(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_OpenDrive::writeInternalEdge(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeNormalEdge().
|
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 71 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSTLLogicControl::WAUTSwitchProcedure_Stretch::adaptLogic(), addRestrictedLane(), FareModul::addStop(), append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), libsumo::Simulation::findIntermodalRoute(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Route::getParameter(), libsumo::Polygon::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), libsumo::Simulation::getParameter(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::stretchLogic(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().
|
inherited |
Returns the inner key/value map.
Definition at line 105 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEVehicleType::getGenericParameters(), GNELane::getGenericParameters(), GNEPoly::getGenericParameters(), GNEStop::getGenericParameters(), GNEPOI::getGenericParameters(), GNEJunction::getGenericParameters(), GNERide::getGenericParameters(), GNEPersonTrip::getGenericParameters(), GNEWalk::getGenericParameters(), GNEEdge::getGenericParameters(), GNERoute::getGenericParameters(), GNEPerson::getGenericParameters(), GNEAdditional::getGenericParameters(), GNEVehicle::getGenericParameters(), GNEVehicleType::getGenericParametersStr(), GNELane::getGenericParametersStr(), GNEPoly::getGenericParametersStr(), GNEStop::getGenericParametersStr(), GNEPOI::getGenericParametersStr(), GNEJunction::getGenericParametersStr(), GNERide::getGenericParametersStr(), GNEPersonTrip::getGenericParametersStr(), GNEWalk::getGenericParametersStr(), GNEEdge::getGenericParametersStr(), GNERoute::getGenericParametersStr(), GNEPerson::getGenericParametersStr(), GNEAdditional::getGenericParametersStr(), GNEVehicle::getGenericParametersStr(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUILane::getParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), and TraCIServerAPI_TrafficLight::processGet().
SVCPermissions NBEdge::getPermissions | ( | int | lane = -1 | ) | const |
get the union of allowed classes over all lanes or for a specific lane
Definition at line 3441 of file NBEdge.cpp.
References myLanes.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NWWriter_OpenDrive::addPedestrianConnection(), NIXMLPTHandler::addPTStop(), GNENet::addRestrictedLane(), GNENet::addReversedEdge(), addStraightConnections(), NBRailwayTopologyAnalyzer::Track::addSuccessor(), appendTurnaround(), NBNode::ApproachingDivider::ApproachingDivider(), GNEDemandElement::RouteCalculator::areEdgesConsecutives(), GNEConnectorFrame::buildConnection(), buildInnerEdges(), canMoveConnection(), NBRequest::checkLaneFoesByClass(), NBTrafficLightDefinition::collectAllLinks(), computeEdge2Edges(), NBNode::computeLanes2Lanes(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBNode::displaceShapeAtWidthChange(), divideOnEdges(), divideSelectedLanesOnEdges(), GNELane::drawAsRailway(), GNELane::drawAsWaterway(), GNELane::drawMarkings(), NBNodeCont::feasibleCluster(), NBPTStopCont::findAccessEdgesForRailStops(), GNELane::getAttribute(), GNEEdge::getAttribute(), GNELane::getColorValue(), getConnectionLanes(), NBNode::getDirection(), NBNodeShapeComputer::getExtraWidth(), NWWriter_DlrNavteq::getFormOfWay(), GNEConnectorFrame::getLaneStatus(), NBNode::getLinkState(), getPermissionVariants(), getSuccessors(), getViaSuccessors(), NBEdgeCont::guessSpecialLanes(), NBNodeCont::guessTLs(), NBRampsComputer::hasWrongMode(), NBEdgeCont::ignoreFilterMatch(), NIImporter_OpenStreetMap::insertEdge(), isBidiRail(), isRailDeadEnd(), GNELane::isRestricted(), joinLanes(), NBNodeCont::joinNodeCluster(), NBNodeCont::joinSimilarEdges(), NBEdge::MainDirections::MainDirections(), NBRailwayTopologyAnalyzer::makeAllBidi(), NBEdgePriorityComputer::markBestParallel(), NBRequest::mergeConflict(), NBEdge(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), recheckLanes(), NIImporter_DlrNavteq::EdgesHandler::report(), GNENet::restrictLane(), shiftPositionAtNode(), GNERoute::updateGeometry(), GNEVehicle::updateGeometry(), NBParking::write(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_OpenDrive::writeInternalEdge(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), and NWWriter_DlrNavteq::writeProhibitedManoeuvres().
std::set< SVCPermissions > NBEdge::getPermissionVariants | ( | int | iStart, |
int | iEnd | ||
) | const |
return all permission variants within the specified lane range [iStart, iEnd[
Definition at line 3523 of file NBEdge.cpp.
References getNumLanes(), getPermissions(), and toString().
Referenced by NBNode::computeLanes2Lanes().
|
inline |
Returns the priority of the edge.
Definition at line 472 of file NBEdge.h.
Referenced by NIXMLEdgesHandler::addEdge(), expandableBy(), GNEEdge::getAttribute(), GNELane::getColorValue(), NBNode::getLinkState(), NBEdgePriorityComputer::hasDifferentPriorities(), NBEdge::MainDirections::MainDirections(), NBContHelper::edge_by_priority_sorter::operator()(), NBContHelper::edge_opposite_direction_sorter::operator()(), NBEdgePriorityComputer::samePriority(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
double NBEdge::getShapeEndAngle | ( | ) | const |
Returns the angle at the end of the edge.
Definition at line 2021 of file NBEdge.cpp.
References ANGLE_LOOKAHEAD, GeomHelper::legacyDegree(), PositionVector::length(), PositionVector::length2D(), MIN2(), myGeom, and PositionVector::positionAtOffset2D().
double NBEdge::getShapeStartAngle | ( | ) | const |
Returns the angle at the start of the edge.
Definition at line 2013 of file NBEdge.cpp.
References ANGLE_LOOKAHEAD, GeomHelper::legacyDegree(), PositionVector::length2D(), MIN2(), myGeom, and PositionVector::positionAtOffset2D().
Referenced by NBContHelper::edge_similar_direction_sorter::operator()().
std::string NBEdge::getSidewalkID | ( | ) |
get the lane id for the canonical sidewalk lane
Definition at line 3561 of file NBEdge.cpp.
References getLaneID(), myLanes, and SVC_PEDESTRIAN.
Referenced by NBNode::buildWalkingAreas().
|
inline |
Returns the node that (possibly) represents a traffic signal controlling at the end of this edge.
Definition at line 631 of file NBEdge.h.
Referenced by NBNodeCont::guessTLs().
|
inline |
Returns the offset of a traffic signal from the end of this edge.
Definition at line 626 of file NBEdge.h.
Referenced by append(), and NBNodeCont::guessTLs().
|
inline |
int NBEdge::getSpecialLane | ( | SVCPermissions | permissions | ) | const |
return index of the first lane that allows the given permissions
Definition at line 3499 of file NBEdge.cpp.
References myLanes.
Referenced by NBNode::computeLanes2Lanes().
|
inlinevirtual |
Returns the speed allowed on this edge.
Implements NBRouterEdge.
Definition at line 559 of file NBEdge.h.
Referenced by NIXMLEdgesHandler::addSplit(), NBNode::checkCrossing(), GNEEdge::copyTemplate(), divideSelectedLanesOnEdges(), NBRampsComputer::fulfillsRampConstraints(), GNEEdge::getAttribute(), NWWriter_DlrNavteq::getRoadClass(), getTravelTimeStatic(), NBEdgeCont::guessSpecialLanes(), hasLaneSpecificSpeed(), NBEdgeCont::ignoreFilterMatch(), NBNodeCont::joinSimilarEdges(), NBContHelper::edge_by_priority_sorter::operator()(), NBEdgePriorityComputer::samePriority(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeNormalEdge().
|
inline |
Returns the angle at the start of the edge (relative to the node shape center) The angle is computed in computeAngle()
Definition at line 495 of file NBEdge.h.
Referenced by NBContHelper::relative_outgoing_edge_sorter::operator()(), and NBNode::rightTurnConflict().
|
inline |
The building step of this edge.
Definition at line 568 of file NBEdge.h.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::computeLanes2Lanes(), NBNodeCont::joinNodeCluster(), NIXMLConnectionsHandler::myStartElement(), NIXMLConnectionsHandler::parseLaneBound(), and replaceInConnections().
|
inline |
Returns the stopOffset to the end of the edge.
Definition at line 611 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::myEndElement(), NIXMLEdgesHandler::myStartElement(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
const std::map< SVCPermissions, double > & NBEdge::getStopOffsets | ( | int | lane | ) | const |
Returns the stop offset to the specified lane's end.
Definition at line 3323 of file NBEdge.cpp.
References myLanes, and myStopOffsets.
|
inline |
Returns the street name of this edge.
Definition at line 588 of file NBEdge.h.
Referenced by NIXMLEdgesHandler::addEdge(), GNEEdge::drawEdgeName(), GNEEdge::getAttribute(), GNEEdge::getOptionalName(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_OpenDrive::writeNormalEdge().
const EdgeVector & NBEdge::getSuccessors | ( | SUMOVehicleClass | vClass = SVC_IGNORING | ) | const |
Returns the following edges for the given vClass.
Definition at line 3740 of file NBEdge.cpp.
References getPermissions(), myConnections, mySuccessors, and SVC_IGNORING.
Referenced by replaceInConnections().
|
inline |
Returns the destination node of the edge.
Definition at line 486 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesBetweenSwitches(), NBRailwayTopologyAnalyzer::addBidiEdgesForBufferStops(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NIXMLConnectionsHandler::addCrossing(), NIXMLEdgesHandler::addSplit(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), NBLoadedTLDef::addToSignalGroup(), NIXMLConnectionsHandler::addWalkingArea(), NBNodeShapeComputer::badIntersection(), NBRampsComputer::buildOnRamp(), GNEVehicle::ConnectionGeometry::calculateConnectionShape(), GNEPerson::calculateSmoothPersonPlanConnection(), NBNode::checkCrossing(), NBEdgeCont::checkOverlap(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectNodes(), NBRampsComputer::computeRamps(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NIVissimDistrictConnection::dict_BuildDistricts(), GNELane::drawLane2LaneConnections(), GNELane::drawLinkNo(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBNodeCont::feasibleCluster(), NBRampsComputer::fulfillsRampConstraints(), NBEdgeCont::generateStreetSigns(), getFinalLength(), NWWriter_DlrNavteq::getFormOfWay(), NWWriter_DlrNavteq::getGraphLength(), NIImporter_VISUM::getNamedEdgeContinuating(), NBNode::getOppositeIncoming(), NWWriter_SUMO::getOppositeInternalID(), NBPTStopCont::getReverseEdge(), NBOwnTLDef::getToPrio(), NBEdgeCont::guessOpposites(), NBEdgeCont::guessRoundabouts(), NBNodeCont::guessTLs(), NBEdgeCont::insert(), GNENet::insertEdge(), NBNode::isLongEnough(), NBNode::isNearDistrict(), NBRailwayTopologyAnalyzer::isStraight(), GNEConnection::isValid(), NBNodeCont::joinNodeCluster(), NBRequest::laneConflict(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), 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(), NIImporter_VISUM::parse_LanesConnections(), NIXMLConnectionsHandler::parseLaneBound(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NBEdgeCont::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBNodeCont::reduceToCircle(), NBNodeCont::removeComponents(), NBNodeCont::removeIsolatedRoads(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), GNENet::replaceJunctionByGeometry(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NBNode::rightTurnConflict(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), NIXMLEdgesHandler::setNodes(), GNEEdge::smoothShape(), GNEEdge::straightenElevation(), NBNodesEdgesSorter::swapWhenReversed(), GNEConnection::updateGeometry(), GNERoute::updateGeometry(), GNEConnection::updateLinkState(), NBRailwayTopologyAnalyzer::updateTurns(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_OpenDrive::writeInternalEdge(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), and NWWriter_SUMO::writeRoundabout().
|
inline |
Returns the angle at the start of the edge.
Definition at line 526 of file NBEdge.h.
Referenced by NBContHelper::same_connection_edge_sorter::getMinMaxRelAngles().
double NBEdge::getTotalWidth | ( | ) | const |
Returns the combined width of all lanes of this edge.
Definition at line 3308 of file NBEdge.cpp.
References getLaneWidth(), and myLanes.
Referenced by GNENet::addReversedEdge(), NBNodeShapeComputer::badIntersection(), NBEdgeCont::checkOverlap(), NBNode::isSimpleContinuation(), setNodeBorder(), shiftPositionAtNode(), and NWWriter_DlrNavteq::writeNodesUnsplitted().
|
inlinestaticinherited |
Definition at line 76 of file NBEdge.h.
References NBRouterEdge::getLength(), and NBRouterEdge::getSpeed().
Referenced by NBPTLineCont::fixBidiStops(), GNEDemandElement::RouteCalculator::RouteCalculator(), and GNEDemandElement::RouteCalculator::updateDijkstraRouter().
|
inlinestatic |
Definition at line 1335 of file NBEdge.h.
References getLength(), and getSpeed().
Referenced by NBRailwayTopologyAnalyzer::getTravelTimeStatic().
NBEdge * NBEdge::getTurnDestination | ( | bool | possibleDestination = false | ) | const |
Definition at line 3116 of file NBEdge.cpp.
References myPossibleTurnDestination, and myTurnDestination.
Referenced by NBEdgeCont::appendRailwayTurnarounds(), NBNode::avoidOverlap(), buildInnerEdges(), GNEVehicle::ConnectionGeometry::calculateConnectionShape(), NBNode::checkIsRemovableReporting(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBPTStopCont::generateBidiStops(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), NBNode::getEdgesToJoin(), NBEdgeCont::guessRoundabouts(), isRailDeadEnd(), NBEdgeCont::markRoundabouts(), GNEEdge::removeConnection(), GNEJunction::removeConnectionsFrom(), GNERoute::updateGeometry(), NWWriter_SUMO::writeEdge(), and NWWriter_SUMO::writeInternalEdges().
|
inline |
get ID of type
Definition at line 1061 of file NBEdge.h.
Referenced by NIXMLEdgesHandler::addEdge(), GNEEdge::getAttribute(), NWWriter_DlrNavteq::getBrunnelType(), NWWriter_DlrNavteq::getFormOfWay(), NWWriter_DlrNavteq::getRoadClass(), NBEdgeCont::ignoreFilterMatch(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
|
virtual |
Returns the following edges for the given vClass.
Implements NBRouterEdge.
Definition at line 3758 of file NBEdge.cpp.
References getPermissions(), myConnections, myViaSuccessors, and SVC_PEDESTRIAN.
bool NBEdge::hasAccelLane | ( | ) | const |
whether one of the lanes is an acceleration lane
Definition at line 2112 of file NBEdge.cpp.
References myLanes.
Referenced by needsLaneSpecificOutput().
bool NBEdge::hasConnectionTo | ( | NBEdge * | destEdge, |
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 1170 of file NBEdge.cpp.
References myConnections.
Referenced by NIImporter_SUMO::_loadNetwork(), NBNode::buildWalkingAreas(), GNEConnectorFrame::getLaneStatus(), NIXMLConnectionsHandler::myStartElement(), NIXMLConnectionsHandler::parseLaneBound(), recheckLanes(), NBLoadedSUMOTLDef::reconstructLogic(), and setConnection().
bool NBEdge::hasCustomLaneShape | ( | ) | const |
whether one of the lanes has a custom shape
Definition at line 2123 of file NBEdge.cpp.
References myLanes.
Referenced by needsLaneSpecificOutput().
bool NBEdge::hasDefaultGeometry | ( | ) | const |
Returns whether the geometry consists only of the node positions.
Definition at line 550 of file NBEdge.cpp.
References hasDefaultGeometryEndpoints(), and myGeom.
Referenced by NIXMLEdgesHandler::addEdge(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasDefaultGeometryEndpointAtNode | ( | const NBNode * | node | ) | 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 563 of file NBEdge.cpp.
References NBNode::getPosition(), myFrom, myGeom, and myTo.
Referenced by NBRampsComputer::patchRampGeometry(), and GNENet::replaceJunctionByGeometry().
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 556 of file NBEdge.cpp.
References NBNode::getPosition(), myFrom, myGeom, and myTo.
Referenced by hasDefaultGeometry(), and NBRampsComputer::patchRampGeometry().
bool NBEdge::hasLaneParams | ( | ) | const |
whether one of the lanes has parameters set
Definition at line 2134 of file NBEdge.cpp.
References myLanes.
Referenced by needsLaneSpecificOutput().
bool NBEdge::hasLaneSpecificEndOffset | ( | ) | const |
whether lanes differ in offset
Definition at line 2087 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::getAttribute(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificPermissions | ( | ) | const |
whether lanes differ in allowed vehicle classes
Definition at line 2040 of file NBEdge.cpp.
References myLanes.
Referenced by GNEEdge::getAttribute(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificSpeed | ( | ) | const |
whether lanes differ in speed
Definition at line 2054 of file NBEdge.cpp.
References getSpeed(), and myLanes.
Referenced by GNEEdge::getAttribute(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificStopOffsets | ( | ) | const |
whether lanes differ in stopOffsets
Definition at line 2098 of file NBEdge.cpp.
References myLanes, and myStopOffsets.
Referenced by NIImporter_SUMO::_loadNetwork(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificType | ( | ) | const |
whether lanes differ in type
Definition at line 2076 of file NBEdge.cpp.
References myLanes.
Referenced by needsLaneSpecificOutput().
bool NBEdge::hasLaneSpecificWidth | ( | ) | const |
whether lanes differ in width
Definition at line 2065 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::getAttribute(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
|
inline |
Returns whether a length was set explicitly.
Definition at line 552 of file NBEdge.h.
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 2029 of file NBEdge.cpp.
|
private |
returns whether any lane already allows the given vclass exclusively
Definition at line 3600 of file NBEdge.cpp.
References myLanes.
Referenced by addRestrictedLane(), and NBEdgeCont::guessSpecialLanes().
bool NBEdge::hasSignalisedConnectionTo | ( | const NBEdge *const | e | ) | const |
Check if edge has signalised connections.
Definition at line 3105 of file NBEdge.cpp.
References myConnections.
Referenced by buildInnerEdges(), and NBRequest::forbids().
void NBEdge::incLaneNo | ( | int | by | ) |
increment lane
Definition at line 3182 of file NBEdge.cpp.
References addLane(), LANES2LANES_USER, myLanes, and myStep.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NIImporter_VISUM::parse_Lanes(), and NBEdgeCont::processSplits().
|
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 440 of file NBEdge.cpp.
References PositionVector::add(), NBNode::addIncomingEdge(), NBNode::addOutgoingEdge(), computeAngle(), computeLaneShapes(), DEBUGCOND, Position::distanceTo(), getID(), Named::getIDSecure(), NBNode::getIncomingEdges(), NBNode::getPosition(), SUMOXMLDefinitions::isValidNetID(), myConnections, myFrom, myGeom, Named::myID, myLanes, myLength, myTo, NUMERICAL_EPS, POSITION_EPS, PositionVector::push_back_noDoublePos(), PositionVector::push_front_noDoublePos(), PositionVector::removeDoublePoints(), removeFromConnections(), and WRITE_WARNING.
void NBEdge::invalidateConnections | ( | bool | reallowSetting = false | ) |
invalidate current connections of edge
Definition at line 1363 of file NBEdge.cpp.
References INIT, INIT_REJECT_CONNECTIONS, myConnections, myStep, and myTurnDestination.
Referenced by addEdge2EdgeConnection(), addLane(), addLane2LaneConnections(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), deleteLane(), NBRailwayTopologyAnalyzer::makeAllBidi(), NBEdgeCont::processSplits(), and GNEEdge::setAttribute().
bool NBEdge::isBidiRail | ( | bool | ignoreSpread = false | ) | const |
whether this edge is part of a bidirectional railway
Definition at line 683 of file NBEdge.cpp.
References getGeometry(), getLaneSpreadFunction(), getPermissions(), isRailway(), LANESPREAD_CENTER, myLaneSpreadFunction, myPossibleTurnDestination, and PositionVector::reverse().
Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), buildInnerEdges(), NBNode::computeInternalLaneShape(), GNEEdge::drawEdgeName(), GNEConnection::drawGL(), GNELane::drawGL(), GNEEdge::drawGL(), expandableBy(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBPTStopCont::generateBidiStops(), GNEEdge::getAttribute(), getFinalLength(), NBRailwayTopologyAnalyzer::makeAllBidi(), and NWWriter_SUMO::writeEdge().
bool NBEdge::isConnectedTo | ( | const NBEdge * | e | ) | const |
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 1176 of file NBEdge.cpp.
References myConnections, and myTurnDestination.
Referenced by NBNode::computeLanes2Lanes(), NIXMLConnectionsHandler::myStartElement(), NBRequest::setBlocking(), and NWWriter_DlrNavteq::writeProhibitedManoeuvres().
|
inline |
Returns whether this edge was marked as being within an intersection.
Definition at line 1031 of file NBEdge.h.
Referenced by NBNode::getLinkState().
|
inlinevirtualinherited |
Reimplemented in NBEdge::Connection.
|
inline |
Returns whether this edge was marked as a macroscopic connector.
Definition at line 1019 of file NBEdge.h.
Referenced by NBRampsComputer::fulfillsRampConstraints(), and NWWriter_SUMO::writeEdge().
bool NBEdge::isNearEnough2BeJoined2 | ( | NBEdge * | e, |
double | threshold | ||
) | const |
Check if edge is near enought to be joined to another edge.
Definition at line 3131 of file NBEdge.cpp.
References PositionVector::distances(), getGeometry(), VectorHelper< T >::maxValue(), and myGeom.
Referenced by NBNodeCont::joinSimilarEdges().
bool NBEdge::isRailDeadEnd | ( | ) | const |
whether this edge is a railway edge that does not continue
Definition at line 694 of file NBEdge.cpp.
References NBNode::getOutgoingEdges(), getPermissions(), getTurnDestination(), isRailway(), and myTo.
Referenced by appendTurnaround().
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 2783 of file NBEdge.cpp.
References myPossibleTurnDestination, and myTurnDestination.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::computeLanes2Lanes(), NBRampsComputer::fulfillsRampConstraints(), NBNode::geometryLike(), NBNode::getDirection(), NBNode::getNextCompatibleOutgoing(), NBLoadedSUMOTLDef::initNeedsContRelation(), NBNode::isLeftMover(), NBRequest::laneConflict(), NBContHelper::opposite_finder::operator()(), recheckLanes(), NBNode::rightTurnConflict(), NBRequest::setBlocking(), GNEEdge::smoothShape(), NBNodesEdgesSorter::swapWhenReversed(), NBNode::tlsContConflict(), NBNode::turnFoes(), and NWWriter_OpenDrive::writeInternalEdge().
bool NBEdge::joinLanes | ( | SVCPermissions | perms | ) |
join adjacent lanes with the given permissions
Definition at line 3805 of file NBEdge.cpp.
References deleteLane(), getLaneWidth(), getNumLanes(), getPermissions(), myLanes, setLaneType(), and setLaneWidth().
|
inherited |
Returns whether the parameter is known.
[in] | key | The key to ask for |
Definition at line 65 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by append(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice::getBoolParam(), NWWriter_DlrNavteq::getBrunnelType(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), libsumo::Simulation::getParameter(), MSDevice::getStringParam(), MSTriggeredRerouter::getWeight(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), MSDevice_SSM::useGeoCoords(), and NWWriter_OpenDrive::writeRoadObjects().
bool NBEdge::lanesWereAssigned | ( | ) | const |
Check if lanes were assigned.
Definition at line 2824 of file NBEdge.cpp.
References LANES2LANES_DONE, LANES2LANES_USER, and myStep.
Referenced by NIVissimTL::NIVissimTLSignal::addTo().
void NBEdge::markAsInLane2LaneState | ( | ) |
mark edge as in lane to state lane
Definition at line 3225 of file NBEdge.cpp.
References NBNode::getOutgoingEdges(), LANES2LANES_DONE, myStep, and myTo.
bool NBEdge::mayBeTLSControlled | ( | int | fromLane, |
NBEdge * | toEdge, | ||
int | toLane | ||
) | const |
return true if certain connection must be controlled by TLS
Definition at line 2836 of file NBEdge.cpp.
References myConnections.
Referenced by NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectReachable(), NBLoadedSUMOTLDef::reconstructLogic(), and setControllingTLInformation().
void NBEdge::mirrorX | ( | ) |
mirror coordinates along the x-axis
Definition at line 527 of file NBEdge.cpp.
References computeAngle(), PositionVector::mirrorX(), myConnections, myGeom, and myLanes.
|
private |
a connection one place to the left;
Definition at line 1494 of file NBEdge.cpp.
References canMoveConnection(), L2L_VALIDATED, myConnections, setConnection(), NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by recheckLanes().
|
private |
a connection one place to the right; ! no checking for field validity
Definition at line 1509 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, |
int | laneOff | ||
) |
move outgoing connection
Definition at line 2810 of file NBEdge.cpp.
References addLane2LaneConnection(), getConnectionsFromLane(), getNumLanes(), L2L_COMPUTED, NBEdge::Connection::tlID, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by NBEdgeCont::joinSameNodeConnectingEdges().
bool NBEdge::needsLaneSpecificOutput | ( | ) | const |
whether at least one lane has values differing from the edges values
Definition at line 2144 of file NBEdge.cpp.
References hasAccelLane(), hasCustomLaneShape(), hasLaneParams(), hasLaneSpecificEndOffset(), hasLaneSpecificPermissions(), hasLaneSpecificSpeed(), hasLaneSpecificStopOffsets(), hasLaneSpecificType(), hasLaneSpecificWidth(), and myLanes.
Referenced by NWWriter_XML::writeEdgesAndConnections().
void NBEdge::preferVehicleClass | ( | int | lane, |
SUMOVehicleClass | vclass | ||
) |
prefer certain vehicle class
Definition at line 3258 of file NBEdge.cpp.
References allowVehicleClass(), and myLanes.
|
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 2639 of file NBEdge.cpp.
References DEBUGCOND, NBEdge::MainDirections::DIR_FORWARD, NBEdge::MainDirections::DIR_LEFTMOST, NBEdge::MainDirections::DIR_RIGHTMOST, NBEdge::MainDirections::empty(), getID(), NBEdge::MainDirections::getStraightest(), NBNode::getType(), NBEdge::MainDirections::includes(), NBNode::isTrafficLight(), myLanes, myTo, and toString().
Referenced by divideSelectedLanesOnEdges().
bool NBEdge::recheckLanes | ( | ) |
recheck whether all lanes within the edge are all right and optimises the connections once again
Definition at line 2225 of file NBEdge.cpp.
References DEBUGCOND, NBEdge::Connection::fromLane, Named::getID(), getID(), Named::getIDSecure(), NBNode::getIncomingEdges(), getNumLanes(), NBNode::getOutgoingEdges(), getPermissions(), hasConnectionTo(), isForbidden(), isRailway(), isTurningDirectionAt(), LANES2LANES_DONE, LANES2LANES_USER, moveConnectionToLeft(), moveConnectionToRight(), myConnections, myConnectionsToDelete, myFrom, myLanes, myStep, myTo, removeFromConnections(), SVC_BICYCLE, SVC_PASSENGER, SVC_PEDESTRIAN, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, toString(), and WRITE_WARNING.
Referenced by NBEdgeCont::recheckLanes().
void NBEdge::reduceGeometry | ( | const double | 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 938 of file NBEdge.cpp.
References myGeom, and PositionVector::removeDoublePoints().
void NBEdge::reinit | ( | NBNode * | from, |
NBNode * | to, | ||
const std::string & | type, | ||
double | speed, | ||
int | nolanes, | ||
int | priority, | ||
PositionVector | geom, | ||
double | width, | ||
double | endOffset, | ||
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] | endOffset | 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 366 of file NBEdge.cpp.
References StringUtils::convertUmlaute(), init(), MIN2(), myFrom, myGeom, myLanes, myLaneSpreadFunction, myLoadedLength, myPriority, myStreetName, myTo, myType, NBNode::removeEdge(), setEndOffset(), setLaneWidth(), setSpeed(), SUMO_PARAM_ORIGID, 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 414 of file NBEdge.cpp.
References NBNode::addIncomingEdge(), NBNode::addOutgoingEdge(), computeAngle(), myFrom, Named::myID, myTo, and NBNode::removeEdge().
Referenced by GNENet::changeEdgeEndpoints().
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 1277 of file NBEdge.cpp.
References addEdge2EdgeConnection(), EDGE2EDGES, getConnectedEdges(), myStep, and removeFromConnections().
Referenced by NBNode::removeSelfLoops().
void NBEdge::removeFromConnections | ( | NBEdge * | toEdge, |
int | fromLane = -1 , |
||
int | toLane = -1 , |
||
bool | tryLater = false , |
||
const bool | adaptToLaneRemoval = false , |
||
const bool | keepPossibleTurns = 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() |
[in] | adaptToLaneRemoval | we are in the process of removing a complete lane, adapt all connections accordingly |
Definition at line 1293 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, NBNode::getControllingTLS(), NBConnection::getFromLane(), NBConnection::getTo(), NBConnection::getToLane(), NBNode::isTLControlled(), myConnections, myConnectionsToDelete, myPossibleTurnDestination, myTo, myTurnDestination, NBConnection::shiftLaneIndex(), NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), deleteLane(), init(), NBEdgeCont::markRoundabouts(), NIXMLConnectionsHandler::myStartElement(), NIXMLConnectionsHandler::parseLaneBound(), recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), remapConnections(), GNEEdge::removeConnection(), replaceInConnections(), and NIImporter_DlrNavteq::ProhibitionHandler::report().
bool NBEdge::removeFromConnections | ( | NBEdge::Connection | connectionToRemove | ) |
remove an existent connection of edge
Definition at line 1348 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, myConnections, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
replace in current connections of edge
Definition at line 1375 of file NBEdge.cpp.
References myConnections, and myTurnDestination.
Referenced by replaceInConnections(), and NBNode::replaceOutgoing().
void NBEdge::replaceInConnections | ( | NBEdge * | which, |
const std::vector< NBEdge::Connection > & | origConns | ||
) |
replace in current connections of edge
Definition at line 1390 of file NBEdge.cpp.
References DEBUGCOND, EDGE2EDGES, getID(), getStep(), getSuccessors(), joinToString(), L2L_COMPUTED, MAX2(), MIN2(), myConnections, removeFromConnections(), replaceInConnections(), setConnection(), and toString().
void NBEdge::resetNodeBorder | ( | const NBNode * | node | ) |
Definition at line 672 of file NBEdge.cpp.
References myFrom, myFromBorder, myTo, and myToBorder.
void NBEdge::reshiftPosition | ( | double | xoff, |
double | yoff | ||
) |
Applies an offset to the edge.
[in] | xoff | The x-offset to apply |
[in] | yoff | The y-offset to apply |
Definition at line 514 of file NBEdge.cpp.
References PositionVector::add(), computeAngle(), myConnections, myGeom, and myLanes.
void NBEdge::restoreBikelane | ( | std::vector< NBEdge::Lane > | oldLanes, |
PositionVector | oldGeometry, | ||
std::vector< NBEdge::Connection > | oldConnections | ||
) |
restore an previously added BikeLane
Definition at line 3595 of file NBEdge.cpp.
References restoreRestrictedLane(), and SVC_BICYCLE.
|
private |
restore a restricted lane
Definition at line 3645 of file NBEdge.cpp.
References computeLaneShapes(), getID(), NBNode::getIncomingEdges(), myConnections, myFrom, myGeom, myLanes, myTo, NBNode::shiftTLConnectionLaneIndex(), toString(), and WRITE_WARNING.
Referenced by restoreBikelane(), and restoreSidewalk().
void NBEdge::restoreSidewalk | ( | std::vector< NBEdge::Lane > | oldLanes, |
PositionVector | oldGeometry, | ||
std::vector< NBEdge::Connection > | oldConnections | ||
) |
restore an previously added sidewalk
Definition at line 3583 of file NBEdge.cpp.
References restoreRestrictedLane(), and SVC_PEDESTRIAN.
void NBEdge::setAcceleration | ( | int | lane, |
bool | accelRamp | ||
) |
marks one lane as acceleration lane
Definition at line 3397 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), NBRampsComputer::buildOnRamp(), and GNELane::setAttribute().
|
inline |
Definition at line 1012 of file NBEdge.h.
Referenced by NIImporter_VISUM::parse_Connectors().
bool NBEdge::setConnection | ( | int | lane, |
NBEdge * | destEdge, | ||
int | destLane, | ||
Lane2LaneInfoType | type, | ||
bool | mayUseSameDestination = false , |
||
bool | mayDefinitelyPass = false , |
||
bool | keepClear = true , |
||
double | contPos = UNSPECIFIED_CONTPOS , |
||
double | visibility = UNSPECIFIED_VISIBILITY_DISTANCE , |
||
double | speed = UNSPECIFIED_SPEED , |
||
const PositionVector & | customShape = PositionVector::EMPTY , |
||
const bool | uncontrolled = UNSPECIFIED_CONNECTION_UNCONTROLLED |
||
) |
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 1058 of file NBEdge.cpp.
References getLaneID(), 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(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), NBNode::computeLanes2Lanes(), 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 2847 of file NBEdge.cpp.
References NBConnection::getFromLane(), getID(), NBConnection::getTLIndex(), NBConnection::getTo(), NBConnection::getToLane(), mayBeTLSControlled(), myConnections, myLanes, NBEdge::Connection::tlID, NBEdge::Connection::tlLinkIndex, and WRITE_WARNING.
Referenced by NBLoadedSUMOTLDef::addConnection(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), and NBLoadedTLDef::setTLControllingInformation().
|
inline |
set lane specific speed (negative lane implies set for all lanes)
Definition at line 1263 of file NBEdge.h.
Referenced by NIXMLEdgesHandler::addEdge(), NIImporter_OpenStreetMap::insertEdge(), and GNEEdge::setAttribute().
void NBEdge::setEndOffset | ( | int | lane, |
double | offset | ||
) |
set lane specific end-offset (negative lane implies set for all lanes)
Definition at line 3332 of file NBEdge.cpp.
References myEndOffset, and myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), 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 574 of file NBEdge.cpp.
References computeAngle(), computeLaneShapes(), and myGeom.
Referenced by NBRampsComputer::moveRampRight(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NIImporter_OpenStreetMap::reconstructLayerElevation(), GNEEdge::setGeometry(), and NGNet::toNB().
|
inlineinherited |
resets the id
[in] | newID | The new id of this object |
Definition at line 85 of file Named.h.
Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::remapIDs(), NBNodeCont::rename(), NBEdgeCont::rename(), GNEJunction::setAttribute(), and IntermodalNetwork< E, L, N, V >::splitEdge().
|
inline |
Marks this edge being within an intersection.
Definition at line 1024 of file NBEdge.h.
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 1853 of file NBEdge.cpp.
References myFrom, myFromJunctionPriority, and myToJunctionPriority.
Referenced by NBEdgePriorityComputer::computeEdgePriorities(), NBEdgePriorityComputer::extractAndMarkFirst(), and NBEdgePriorityComputer::setPriorityJunctionPriorities().
void NBEdge::setLaneShape | ( | int | lane, |
const PositionVector & | shape | ||
) |
sets a custom lane shape
Definition at line 3405 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), and GNELane::setAttribute().
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 877 of file NBEdge.cpp.
References myLaneSpreadFunction.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdgesForBufferStops(), NIImporter_ArcView::load(), NIImporter_VISUM::parse_Edges(), NBEdgeCont::recheckLaneSpread(), and GNEEdge::setAttribute().
void NBEdge::setLaneType | ( | int | lane, |
const std::string & | type | ||
) |
set lane specific type (negative lane implies set for all lanes)
Definition at line 3286 of file NBEdge.cpp.
References myLanes.
Referenced by NIXMLEdgesHandler::addLane(), and joinLanes().
void NBEdge::setLaneWidth | ( | int | lane, |
double | width | ||
) |
set lane specific width (negative lane implies set for all lanes)
Definition at line 3271 of file NBEdge.cpp.
References myLanes, and myLaneWidth.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NIVissimEdge::buildNBEdge(), joinLanes(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdge(), reinit(), GNELane::setAttribute(), and GNEEdge::setAttribute().
void NBEdge::setLoadedLength | ( | double | val | ) |
set loaded lenght
Definition at line 3456 of file NBEdge.cpp.
References myLoadedLength.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIImporter_MATSim::EdgesHandler::myStartElement(), NBEdgeCont::recheckLanes(), and GNEEdge::setAttribute().
void NBEdge::setNodeBorder | ( | const NBNode * | node, |
const Position & | p, | ||
const Position & | p2, | ||
bool | rectangularCut | ||
) |
Set Node border.
Definition at line 625 of file NBEdge.cpp.
References DEBUGCOND, PositionVector::extrapolate2D(), gDebugFlag1, Named::getID(), getID(), getLaneWidth(), PositionVector::getOrthogonal(), getTotalWidth(), myFrom, myFromBorder, myGeom, myLanes, myTo, and myToBorder.
|
inline |
void NBEdge::setOrigID | ( | const std::string | origID | ) |
set origID for all lanes
Definition at line 3725 of file NBEdge.cpp.
References myLanes, and SUMO_PARAM_ORIGID.
Referenced by NBEdgeCont::remapIDs(), and NBEdgeCont::splitAt().
|
inherited |
Sets a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Definition at line 45 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::addDistrict(), SUMORouteHandler::addParam(), ShapeHandler::addPOI(), append(), NIImporter_OpenStreetMap::insertNodeChecking(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), NIImporter_OpenStreetMap::EdgesHandler::myStartElement(), GNEAdditionalHandler::parseGenericParameter(), GNEVehicleType::setAttribute(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), GNEVehicle::setGenericParametersStr(), NIImporter_OpenDrive::setLaneAttributes(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::TrafficLight::setParameter(), libsumo::POI::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().
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 3413 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NINavTeqHelper::addVehicleClasses(), NINavTeqHelper::addVehicleClassesV6(), NIImporter_OpenStreetMap::insertEdge(), NBEdgeCont::joinSameNodeConnectingEdges(), NIImporter_ArcView::load(), NBEdge(), NIImporter_VISUM::parse_Edges(), NIImporter_DlrNavteq::EdgesHandler::report(), and GNELane::setAttribute().
void NBEdge::setPreferredVehicleClass | ( | SVCPermissions | permissions, |
int | lane = -1 |
||
) |
set preferred Vehicle Class
Definition at line 3427 of file NBEdge.cpp.
References myLanes.
Referenced by NIXMLEdgesHandler::addLane(), and GNEEdge::addLane().
|
inline |
sets the offset of a traffic signal from the end of this edge
Definition at line 636 of file NBEdge.h.
Referenced by NBNodeCont::guessTLs().
void NBEdge::setSpeed | ( | int | lane, |
double | speed | ||
) |
set lane specific speed (negative lane implies set for all lanes)
Definition at line 3382 of file NBEdge.cpp.
References myLanes, and mySpeed.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NIVissimEdge::buildNBEdge(), NBEdge(), reinit(), GNELane::setAttribute(), GNEEdge::setAttribute(), and NBEdgeCont::splitAt().
bool NBEdge::setStopOffsets | ( | int | lane, |
std::map< int, double > | offsets, | ||
bool | overwrite = false |
||
) |
set lane and vehicle class specific stopOffset (negative lane implies set for all lanes)
Definition at line 3348 of file NBEdge.cpp.
References getID(), myLanes, myStopOffsets, and WRITE_WARNING.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::myEndElement(), NIXMLEdgesHandler::myStartElement(), and NBEdge().
|
inline |
sets the street name of this edge
Definition at line 593 of file NBEdge.h.
Referenced by NBNodeShapeComputer::compute(), and 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 1890 of file NBEdge.cpp.
References myPossibleTurnDestination, and myTurnDestination.
shift geometry at the given node to avoid overlap
Definition at line 3679 of file NBEdge.cpp.
References PositionVector::distance2D(), getGeometry(), Named::getID(), getID(), getNumLanes(), getPermissions(), NBNode::getPosition(), getTotalWidth(), isRailway(), LANESPREAD_CENTER, MIN2(), PositionVector::move2side(), myGeom, myLaneSpreadFunction, myTo, SUMO_const_laneOffset, and WRITE_WARNING.
Referenced by NBNode::avoidOverlap().
void NBEdge::shiftToLanesToEdge | ( | NBEdge * | to, |
int | laneOff | ||
) |
modifify the toLane for all connections to the given edge
XXX could we repurpose the function replaceInConnections ?
Definition at line 3668 of file NBEdge.cpp.
References myConnections.
void NBEdge::shortenGeometryAtNode | ( | const NBNode * | node, |
double | reduction | ||
) |
linearly extend the geometry at the given node
Definition at line 611 of file NBEdge.cpp.
References computeLaneShapes(), PositionVector::getSubpart2D(), PositionVector::length2D(), MIN2(), myFrom, myGeom, and POSITION_EPS.
void NBEdge::sortOutgoingConnectionsByAngle | ( | ) |
sorts the outgoing connections by their angle relative to their junction
Definition at line 1265 of file NBEdge.cpp.
References myConnections.
void NBEdge::sortOutgoingConnectionsByIndex | ( | ) |
sorts the outgoing connections by their from-lane-index and their to-lane-index
Definition at line 1271 of file NBEdge.cpp.
References connections_sorter(), and myConnections.
Referenced by divideOnEdges().
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 893 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.
|
static |
returns a modified version of laneShape which starts at the outside of startNode. laneShape may be shorted or extended
Definition at line 811 of file NBEdge.cpp.
References PositionVector::closePolygon(), PositionVector::extrapolate2D(), NBNode::geometryLike(), 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(), Position::setz(), and Position::z().
Referenced by NBNode::computeInternalLaneShape(), and cutAtIntersection().
NBNode * NBEdge::tryGetNodeAtPosition | ( | double | pos, |
double | tolerance = 5.0 |
||
) | const |
|
inherited |
Removes a parameter.
[in] | key | The parameter's name |
Definition at line 51 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by GNEVehicleType::setAttribute().
|
inherited |
Adds or updates all given parameters from the map.
[in] | mapArg | The keys/values to insert |
Definition at line 57 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NBTrafficLightDefinition::compute(), NIImporter_OpenStreetMap::insertEdge(), and NBLoadedSUMOTLDef::NBLoadedSUMOTLDef().
|
inherited |
write Params in the given outputdevice
Definition at line 111 of file Parameterised.cpp.
References OutputDevice::closeTag(), StringUtils::escapeXML(), Parameterised::myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().
Referenced by ROVehicle::saveAsXML(), ROPerson::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), SUMOVTypeParameter::write(), GNEAdditional::writeAdditional(), NWWriter_SUMO::writeConnection(), GNERoute::writeDemandElement(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), PointOfInterest::writeXML(), and SUMOPolygon::writeXML().
|
friend |
|
friend |
|
friend |
|
static |
the distance at which to take the default angle
Definition at line 324 of file NBEdge.h.
Referenced by computeAngle(), getShapeEndAngle(), getShapeStartAngle(), NBContHelper::relative_outgoing_edge_sorter::operator()(), and NBContHelper::relative_incoming_edge_sorter::operator()().
|
static |
|
private |
|
private |
|
private |
List of connections to following edges.
Definition at line 1557 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane(), addRestrictedLane(), addStraightConnections(), append(), appendTurnaround(), assignInternalLaneLength(), buildInnerEdges(), clearControllingTLInformation(), computeEdge2Edges(), computeLanes2Edges(), copyConnectionsFrom(), debugPrintConnections(), divideOnEdges(), divideSelectedLanesOnEdges(), GNELane::drawArrows(), NBEdge::ToEdgeConnectionsAdder::execute(), expandableBy(), getConnectedEdges(), getConnectedSorted(), getConnection(), getConnectionLanes(), getConnectionRef(), getConnectionsFromLane(), getSuccessors(), getViaSuccessors(), hasConnectionTo(), hasSignalisedConnectionTo(), init(), invalidateConnections(), isConnectedTo(), mayBeTLSControlled(), mirrorX(), moveConnectionToLeft(), moveConnectionToRight(), recheckLanes(), removeFromConnections(), replaceInConnections(), reshiftPosition(), restoreRestrictedLane(), setConnection(), setControllingTLInformation(), shiftToLanesToEdge(), sortOutgoingConnectionsByAngle(), and sortOutgoingConnectionsByIndex().
|
private |
List of connections marked for delayed removal.
Definition at line 1560 of file NBEdge.h.
Referenced by append(), getConnectedSorted(), recheckLanes(), and removeFromConnections().
|
private |
|
private |
Definition at line 1541 of file NBEdge.h.
Referenced by computeAngle(), and getAngleAtNodeToCenter().
|
private |
This edges's offset to the intersection begin (will be applied to all lanes)
Definition at line 1581 of file NBEdge.h.
Referenced by setEndOffset().
|
private |
The source and the destination node.
Definition at line 1533 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane(), addLane2LaneConnection(), addRestrictedLane(), buildInnerEdges(), computeAngle(), computeEdgeShape(), computeLaneShapes(), cutAtIntersection(), debugPrintConnections(), deleteLane(), expandableBy(), extendGeometryAtNode(), NBEdgeCont::extract(), getAngleAtNode(), getAngleAtNodeToCenter(), getCCWBoundaryLine(), getCWBoundaryLine(), getIncomingEdges(), getJunctionPriority(), getNodeBorder(), hasDefaultGeometryEndpointAtNode(), hasDefaultGeometryEndpoints(), init(), recheckLanes(), reinit(), reinitNodes(), resetNodeBorder(), restoreRestrictedLane(), NBEdgeCont::retrievePossiblySplit(), setJunctionPriority(), setNodeBorder(), shortenGeometryAtNode(), NBEdgeCont::splitAt(), splitGeometry(), and tryGetNodeAtPosition().
|
private |
intersection borders (because the node shape might be invalid)
Definition at line 1618 of file NBEdge.h.
Referenced by cutAtIntersection(), getNodeBorder(), resetNodeBorder(), and setNodeBorder().
|
private |
The priority normalised for the node the edge is outgoing of.
Definition at line 1569 of file NBEdge.h.
Referenced by getJunctionPriority(), and setJunctionPriority().
|
private |
The geometry for the edge.
Definition at line 1575 of file NBEdge.h.
Referenced by addGeometryPoint(), addRestrictedLane(), append(), checkGeometry(), computeAngle(), computeEdgeShape(), computeLaneShape(), computeLaneShapes(), extendGeometryAtNode(), getAngleAtNode(), getFinalLength(), getInnerGeometry(), getShapeEndAngle(), getShapeStartAngle(), hasDefaultGeometry(), hasDefaultGeometryEndpointAtNode(), hasDefaultGeometryEndpoints(), init(), isNearEnough2BeJoined2(), mirrorX(), NBEdge(), reduceGeometry(), reinit(), reshiftPosition(), restoreRestrictedLane(), setGeometry(), setNodeBorder(), shiftPositionAtNode(), shortenGeometryAtNode(), and splitGeometry().
|
protectedinherited |
The name of the object.
Definition at line 134 of file Named.h.
Referenced by MSE2Collector::addDetectorToLanes(), RODFDetector::buildDestinationDistribution(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), MSE2Collector::detectorUpdate(), GNEPoly::getAttribute(), GNEPOI::getAttribute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), getLaneID(), ROEdge::getStoredEffort(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), init(), MSLane::isInsertionSuccess(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), RORouteDef::preComputeCurrentRoute(), reinitNodes(), MSRoute::release(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), MSSOTLTrafficLightLogic::setToATargetPhase(), splitGeometry(), Distribution_Parameterized::toStr(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), RODFDetector::writeSingleSpeedTrigger(), MEInductLoop::writeXMLOutput(), and MSE3Collector::writeXMLOutput().
|
private |
the index of the edge in the list of all edges. Set by NBEdgeCont and requires re-set whenever the list of edges changes
|
private |
Lane information.
Definition at line 1595 of file NBEdge.h.
Referenced by addLane(), addRestrictedLane(), addStraightConnections(), allowVehicleClass(), append(), appendTurnaround(), buildInnerEdges(), computeAngle(), computeEdgeShape(), computeLaneShapes(), decLaneNo(), deleteLane(), disallowVehicleClass(), dismissVehicleClassInformation(), divideOnEdges(), divideSelectedLanesOnEdges(), expandableBy(), getCCWBoundaryLine(), getCWBoundaryLine(), getEndOffset(), getFinalLength(), getFirstAllowedLaneIndex(), getFirstNonPedestrianLane(), getFirstNonPedestrianLaneIndex(), getLaneShape(), getLaneSpeed(), getLaneWidth(), getMaxLaneOffset(), getPermissions(), getSidewalkID(), getSpecialLane(), getStopOffsets(), getTotalWidth(), hasAccelLane(), hasCustomLaneShape(), hasLaneParams(), hasLaneSpecificEndOffset(), hasLaneSpecificPermissions(), hasLaneSpecificSpeed(), hasLaneSpecificStopOffsets(), hasLaneSpecificType(), hasLaneSpecificWidth(), hasPermissions(), hasRestrictedLane(), incLaneNo(), init(), joinLanes(), NBEdge::MainDirections::MainDirections(), mirrorX(), NBEdge(), needsLaneSpecificOutput(), preferVehicleClass(), prepareEdgePriorities(), recheckLanes(), reinit(), reshiftPosition(), restoreRestrictedLane(), setAcceleration(), setConnection(), setControllingTLInformation(), setEndOffset(), setLaneShape(), setLaneType(), setLaneWidth(), setNodeBorder(), setOrigID(), setPermissions(), setPreferredVehicleClass(), setSpeed(), setStopOffsets(), NBEdgeCont::splitAt(), and splitGeometry().
|
private |
The information about how to spread the lanes.
Definition at line 1578 of file NBEdge.h.
Referenced by addRestrictedLane(), computeAngle(), computeLaneShapes(), expandableBy(), isBidiRail(), reinit(), setLaneSpreadFunction(), shiftPositionAtNode(), and splitGeometry().
|
private |
This width of this edge's lanes.
Definition at line 1590 of file NBEdge.h.
Referenced by setLaneWidth(), and splitGeometry().
|
private |
The length of the edge.
Definition at line 1536 of file NBEdge.h.
Referenced by append(), computeEdgeShape(), init(), and tryGetNodeAtPosition().
|
private |
An optional length to use (-1 if not valid)
Definition at line 1598 of file NBEdge.h.
Referenced by append(), reinit(), and setLoadedLength().
|
private |
The edge that would be the turn destination if there was one.
Definition at line 1566 of file NBEdge.h.
Referenced by append(), getFinalLength(), getTurnDestination(), isBidiRail(), isTurningDirectionAt(), removeFromConnections(), and setTurningDestination().
|
private |
The priority of the edge.
Definition at line 1546 of file NBEdge.h.
Referenced by reinit(), GNEEdge::setAttribute(), and splitGeometry().
|
private |
|
private |
|
private |
The maximal speed.
Definition at line 1549 of file NBEdge.h.
Referenced by expandableBy(), setSpeed(), and splitGeometry().
|
private |
The angles of the edge.
Definition at line 1540 of file NBEdge.h.
Referenced by computeAngle(), and getAngleAtNodeToCenter().
|
private |
The building step.
Definition at line 1527 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane2LaneConnection(), append(), computeEdge2Edges(), computeLanes2Edges(), copyConnectionsFrom(), decLaneNo(), expandableBy(), incLaneNo(), invalidateConnections(), lanesWereAssigned(), markAsInLane2LaneState(), recheckLanes(), remapConnections(), setConnection(), and splitGeometry().
|
private |
A vClass specific stop offset - assumed of length 0 (unspecified) or 1. For the latter case the int is a bit set specifying the vClasses, the offset applies to (see SUMOVehicleClass.h), and the double is the stopping offset in meters from the lane end.
Definition at line 1587 of file NBEdge.h.
Referenced by getStopOffsets(), hasLaneSpecificStopOffsets(), and setStopOffsets().
|
private |
The street name (or whatever arbitrary string you wish to attach)
Definition at line 1607 of file NBEdge.h.
Referenced by reinit(), and splitGeometry().
|
mutableprivate |
Definition at line 1627 of file NBEdge.h.
Referenced by getSuccessors().
|
private |
Definition at line 1533 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane(), addLane2LaneConnection(), addRestrictedLane(), addStraightConnections(), append(), appendTurnaround(), buildInnerEdges(), computeAngle(), computeEdge2Edges(), computeEdgeShape(), computeLaneShapes(), cutAtIntersection(), GNELane::drawArrows(), expandableBy(), extendGeometryAtNode(), NBEdgeCont::extract(), getAngleAtNode(), getAngleAtNodeToCenter(), getConnectedSorted(), getNodeBorder(), hasDefaultGeometryEndpointAtNode(), hasDefaultGeometryEndpoints(), init(), isRailDeadEnd(), markAsInLane2LaneState(), NBEdge(), prepareEdgePriorities(), recheckLanes(), reinit(), reinitNodes(), removeFromConnections(), resetNodeBorder(), restoreRestrictedLane(), NBEdgeCont::retrievePossiblySplit(), setNodeBorder(), shiftPositionAtNode(), NBEdgeCont::splitAt(), splitGeometry(), and tryGetNodeAtPosition().
|
private |
Definition at line 1619 of file NBEdge.h.
Referenced by append(), cutAtIntersection(), getNodeBorder(), resetNodeBorder(), and setNodeBorder().
|
private |
The priority normalised for the node the edge is incoming in.
Definition at line 1572 of file NBEdge.h.
Referenced by getJunctionPriority(), and setJunctionPriority().
|
private |
Definition at line 1542 of file NBEdge.h.
Referenced by computeAngle().
|
private |
The turn destination edge (if a connection exists)
Definition at line 1563 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 1530 of file NBEdge.h.
Referenced by reinit(), GNEEdge::setAttribute(), and splitGeometry().
|
mutableprivate |
Definition at line 1630 of file NBEdge.h.
Referenced by getViaSuccessors().
|
static |
TLS-controlled despite its node controlled not specified.
Definition at line 330 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection().
|
static |
unspecified internal junction position
Definition at line 312 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), buildInnerEdges(), GNEAttributeCarrier::fillNetElements(), NIImporter_OpenDrive::loadNetwork(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and NWWriter_SUMO::writeConnection().
|
static |
|
static |
no length override given
Definition at line 318 of file NBEdge.h.
Referenced by NIImporter_SUMO::addEdge(), NIXMLEdgesHandler::addEdge(), GNEEdge::isValid(), and reinit().
|
static |
unspecified lane offset
Definition at line 306 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 321 of file NBEdge.h.
Referenced by append(), and NBNodeCont::guessTLs().
|
static |
unspecified lane speed
Definition at line 309 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), NIXMLEdgesHandler::addEdge(), buildInnerEdges(), GNEAttributeCarrier::fillNetElements(), NIImporter_OpenDrive::loadNetwork(), reinit(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and NWWriter_SUMO::writeConnection().
|
static |
unspecified foe visibility for connections
Definition at line 315 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), GNEAttributeCarrier::fillNetElements(), NIImporter_OpenDrive::loadNetwork(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and NWWriter_SUMO::writeConnection().
|
static |
unspecified lane width
Definition at line 303 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLConnectionsHandler::addCrossing(), NIXMLEdgesHandler::addEdge(), NIImporter_SUMO::addLane(), NBNode::buildCrossings(), NIVissimEdge::buildNBEdge(), NBNode::buildWalkingAreas(), NBNode::checkCrossing(), computeLaneShapes(), GNENet::createEdge(), NIVissimDistrictConnection::dict_BuildDistricts(), NIVissimEdge::dictionary(), NBFrame::fillOptions(), 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(), NIVissimSingleTypeParser_Streckendefinition::parse(), NIImporter_VISUM::parse_Connectors(), NIImporter_VISUM::parse_Edges(), NIImporter_VISUM::parse_Types(), reinit(), NIImporter_DlrNavteq::EdgesHandler::report(), NIImporter_OpenDrive::setLaneAttributes(), NIImporter_OpenStreetMap::usableType(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_SUMO::writeLane().