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 class | 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 class | Lane2LaneInfoType { COMPUTED , USER , VALIDATED } |
Modes of setting connections between lanes. More... | |
typedef std::map< std::string, std::string > | Map |
parameters map | |
Public Member Functions | |
void | addBikeLane (double width) |
add a bicycle lane of the given width and shift existing connctions | |
void | addLane (int index, bool recomputeShape, bool recomputeConnections, bool shiftIndices) |
add lane | |
void | addRestrictedLane (double width, SUMOVehicleClass vclass) |
add a lane of the given width, restricted to the given class and shift existing connections | |
void | addSidewalk (double width) |
add a pedestrian sidewalk of the given width and shift existing connctions | |
void | addSign (NBSign sign) |
add Sign | |
void | addTo (const StoringVisitor &cont) const |
Adds this object to the given container. | |
void | allowVehicleClass (int lane, SUMOVehicleClass vclass) |
set allowed class for the given lane or for all lanes if -1 is given | |
void | append (NBEdge *continuation) |
append another edge | |
void | appendTurnaround (bool noTLSControlled, bool noFringe, bool onlyDeadends, bool onlyTurnlane, bool noGeometryLike, bool checkPermissions) |
Add a connection to the previously computed turnaround, if wished and a turning direction exists (myTurnDestination!=0) | |
double | buildInnerEdges (const NBNode &n, int noInternalNoSplits, int &linkIndex, int &splitIndex) |
void | clearControllingTLInformation () |
clears tlID for all connections | |
void | clearParameter () |
Clears the parameter map. | |
bool | computeEdge2Edges (bool noLeftMovers) |
computes the edge (step1: computation of approached edges) | |
bool | computeLanes2Edges () |
computes the edge, step2: computation of which lanes approach the edges) | |
PositionVector | cutAtIntersection (const PositionVector &old) const |
cut shape at the intersection shapes | |
void | debugPrintConnections (bool outgoing=true, bool incoming=false) const |
debugging helper to print all connections | |
void | decLaneNo (int by) |
decrement lane | |
void | declareConnectionsAsLoaded (EdgeBuildingStep step=EdgeBuildingStep::LANES2LANES_USER) |
declares connections as fully loaded. This is needed to avoid recomputing connections if an edge has no connections intentionally. | |
void | deleteLane (int index, bool recompute, bool shiftIndices) |
delete lane | |
void | disallowVehicleClass (int lane, SUMOVehicleClass vclass) |
set disallowed class for the given lane or for all lanes if -1 is given | |
void | dismissVehicleClassInformation () |
dimiss vehicle class information | |
bool | expandableBy (NBEdge *possContinuation, std::string &reason) const |
Check if Node is expandable. | |
double | getAngleAtNode (const NBNode *const node) const |
Returns the angle of the edge's geometry at the given node. | |
double | getAngleAtNodeNormalized (const NBNode *const node) const |
Returns the angle of the edge's geometry at the given node and disregards edge direction. | |
double | getAngleAtNodeToCenter (const NBNode *const node) const |
Returns the angle of from the node shape center to where the edge meets the node shape. | |
PositionVector | getCCWBoundaryLine (const NBNode &n) const |
get the outer boundary of this edge when going counter-clock-wise around the given node | |
PositionVector | getCWBoundaryLine (const NBNode &n) const |
get the outer boundary of this edge when going clock-wise around the given node | |
double | getDouble (const std::string &key, const double defaultValue) const |
Returns the value for a given key converted to a double. | |
std::vector< double > | getDoubles (const std::string &key, std::vector< double > defaultValue=std::vector< double >()) const |
Returns the value for a given key converted to a list of doubles. | |
int | getJunctionPriority (const NBNode *const node) const |
Returns the junction priority (normalised for the node currently build) | |
double | getLaneFriction (int lane) const |
get lane friction of specified lane | |
std::string | getLaneID (int lane) const |
get lane ID | |
double | getLaneSpeed (int lane) const |
get lane speed | |
Lane & | getLaneStruct (int lane) |
const Lane & | getLaneStruct (int lane) const |
double | getMaxLaneOffset () |
get max lane offset | |
const PositionVector & | getNodeBorder (const NBNode *node) const |
virtual const std::string | getParameter (const std::string &key, const std::string defaultValue="") const |
Returns the value for a given key. | |
const Parameterised::Map & | getParametersMap () const |
Returns the inner key/value map. | |
std::string | getParametersStr (const std::string kvsep="=", const std::string sep="|") const |
Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN". | |
SVCPermissions | getPermissions (int lane=-1) const |
get the union of allowed classes over all lanes or for a specific lane | |
const std::vector< NBSign > & | getSigns () const |
get Signs | |
NBEdge * | getTurnDestination (bool possibleDestination=false) const |
const std::string & | getTypeID () const |
get ID of type | |
bool | hasAccelLane () const |
whether one of the lanes is an acceleration lane | |
bool | hasCustomLaneShape () const |
whether one of the lanes has a custom shape | |
bool | hasLaneParams () const |
whether one of the lanes has parameters set | |
bool | hasLaneSpecificEndOffset () const |
whether lanes differ in offset | |
bool | hasLaneSpecificFriction () const |
whether lanes differ in friction | |
bool | hasLaneSpecificPermissions () const |
whether lanes differ in allowed vehicle classes | |
bool | hasLaneSpecificSpeed () const |
whether lanes differ in speed | |
bool | hasLaneSpecificStopOffsets () const |
whether lanes differ in stopOffsets | |
bool | hasLaneSpecificType () const |
whether lanes differ in type | |
bool | hasLaneSpecificWidth () const |
whether lanes differ in width | |
bool | hasParameter (const std::string &key) const |
Returns whether the parameter is set. | |
bool | hasPermissions () const |
whether at least one lane has restrictions | |
bool | hasSignalisedConnectionTo (const NBEdge *const e) const |
Check if edge has signalised connections. | |
void | incLaneNo (int by) |
increment lane | |
bool | isBidi () |
return whether this edge should be a bidi edge | |
bool | isBidiEdge (bool checkPotential=false) const |
whether this edge is part of a bidirectional edge pair | |
bool | isBidiRail (bool ignoreSpread=false) const |
whether this edge is part of a bidirectional railway | |
virtual bool | isInternal () const |
bool | isNearEnough2BeJoined2 (NBEdge *e, double threshold) const |
Check if edge is near enought to be joined to another edge. | |
bool | isOffRamp () const |
bool | isRailDeadEnd () const |
whether this edge is a railway edge that does not continue | |
bool | isTurningDirectionAt (const NBEdge *const edge) const |
Returns whether the given edge is the opposite direction to this edge. | |
bool | lanesWereAssigned () const |
Check if lanes were assigned. | |
void | markAsInLane2LaneState () |
mark edge as in lane to state lane | |
void | markOffRamp (bool isOffRamp) |
marks this edge has being an offRamp or leading to one (used for connection computation) | |
bool | mayBeTLSControlled (int fromLane, NBEdge *toEdge, int toLane) const |
return true if certain connection must be controlled by TLS | |
void | mergeParameters (const Parameterised::Map &mapArg, const std::string separator=" ", bool uniqueValues=true) |
Adds or appends all given parameters from the map. | |
void | moveOutgoingConnectionsFrom (NBEdge *e, int laneOff) |
move outgoing connection | |
NBEdge (const std::string &id, NBNode *from, NBNode *to, const NBEdge *tpl, const PositionVector &geom=PositionVector(), int numLanes=-1) | |
Constructor. | |
NBEdge (const std::string &id, NBNode *from, NBNode *to, std::string type, double speed, double friction, int nolanes, int priority, double width, double endOffset, LaneSpreadFunction spread, const std::string &streetName="") | |
Constructor. | |
NBEdge (const std::string &id, NBNode *from, NBNode *to, std::string type, double speed, double friction, int nolanes, int priority, double width, double endOffset, PositionVector geom, LaneSpreadFunction spread, const std::string &streetName="", const std::string &origID="", bool tryIgnoreNodePositions=false) | |
Constructor. | |
bool | needsLaneSpecificOutput () const |
whether at least one lane has values differing from the edges values | |
void | preferVehicleClass (int lane, SVCPermissions vclasses) |
prefer certain vehicle classes for the given lane or for all lanes if -1 is given (ensures also permissions) | |
bool | prohibits (const NBVehicle *const) const |
bool | prohibitsChanging () const |
whether one of the lanes prohibits lane changing | |
bool | recheckLanes () |
recheck whether all lanes within the edge are all right and optimises the connections once again | |
void | reinit (NBNode *from, NBNode *to, const std::string &type, double speed, double friction, int nolanes, int priority, PositionVector geom, double width, double endOffset, const std::string &streetName, LaneSpreadFunction spread, bool tryIgnoreNodePositions=false) |
Resets initial values. | |
void | reinitNodes (NBNode *from, NBNode *to) |
Resets nodes but keeps all other values the same (used when joining) | |
void | resetNodeBorder (const NBNode *node) |
void | restoreBikelane (std::vector< NBEdge::Lane > oldLanes, PositionVector oldGeometry, std::vector< NBEdge::Connection > oldConnections) |
restore an previously added BikeLane | |
void | restoreSidewalk (std::vector< NBEdge::Lane > oldLanes, PositionVector oldGeometry, std::vector< NBEdge::Connection > oldConnections) |
restore an previously added sidewalk | |
bool | restricts (const NBVehicle *const) const |
void | setAcceleration (int lane, bool accelRamp) |
marks one lane as acceleration lane | |
void | setAverageLengthWithOpposite (double val) |
patch average lane length in regard to the opposite edge | |
void | setBidi (bool isBidi) |
mark this edge as a bidi edge | |
bool | setControllingTLInformation (const NBConnection &c, const std::string &tlID) |
Returns if the link could be set as to be controlled. | |
void | setDistance (double distance) |
set kilometrage at start of edge (negative value implies couting down along the edge) | |
bool | setEdgeStopOffset (int lane, const StopOffset &offset, bool overwrite=false) |
set lane and vehicle class specific stopOffset (negative lane implies set for all lanes) | |
void | setEndOffset (int lane, double offset) |
set lane specific end-offset (negative lane implies set for all lanes) | |
void | setFriction (int lane, double friction) |
set lane specific friction (negative lane implies set for all lanes) | |
virtual void | setID (const std::string &newID) |
resets the id | |
void | setJunctionPriority (const NBNode *const node, int prio) |
Sets the junction priority of the edge. | |
void | setLaneShape (int lane, const PositionVector &shape) |
sets a custom lane shape | |
void | setLaneType (int lane, const std::string &type) |
set lane specific type (negative lane implies set for all lanes) | |
void | setLaneWidth (int lane, double width) |
set lane specific width (negative lane implies set for all lanes) | |
void | setLoadedLength (double val) |
set loaded length | |
void | setNodeBorder (const NBNode *node, const Position &p, const Position &p2, bool rectangularCut) |
Set Node border. | |
void | setOrigID (const std::string origID, const bool append, const int laneIdx=-1) |
set origID for all lanes or for a specific lane | |
virtual void | setParameter (const std::string &key, const std::string &value) |
Sets a parameter. | |
void | setParameters (const Parameterised ¶ms) |
set the inner key/value map in map<string, string> format | |
void | setParametersStr (const std::string ¶msString, const std::string kvsep="=", const std::string sep="|") |
set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN" | |
void | setPermissions (SVCPermissions permissions, int lane=-1) |
set allowed/disallowed classes for the given lane or for all lanes if -1 is given | |
void | setPermittedChanging (int lane, SVCPermissions changeLeft, SVCPermissions changeRight) |
set allowed classes for changing to the left and right from the given lane | |
void | setPreferredVehicleClass (SVCPermissions permissions, int lane=-1) |
set preferred Vehicle Class | |
void | setSpeed (int lane, double speed) |
set lane specific speed (negative lane implies set for all lanes) | |
void | setTurningDestination (NBEdge *e, bool onlyPossible=false) |
Sets the turing destination at the given edge. | |
NBNode * | tryGetNodeAtPosition (double pos, double tolerance=5.0) const |
Returns the node at the given edges length (using an epsilon) | |
void | unsetParameter (const std::string &key) |
Removes a parameter. | |
void | updateParameters (const Parameterised::Map &mapArg) |
Adds or updates all given parameters from the map. | |
void | writeParams (OutputDevice &device) const |
write Params in the given outputdevice | |
~NBEdge () | |
Destructor. | |
Applying offset | |
void | reshiftPosition (double xoff, double yoff) |
Applies an offset to the edge. | |
void | mirrorX () |
mirror coordinates along the x-axis | |
Atomar getter methods | |
int | getNumLanes () const |
Returns the number of lanes. | |
int | getPriority () const |
Returns the priority of the edge. | |
void | setPriority (int priority) |
Sets the priority of the edge. | |
NBNode * | getFromNode () const |
Returns the origin node of the edge. | |
NBNode * | getToNode () const |
Returns the destination node of the edge. | |
double | getStartAngle () const |
Returns the angle at the start of the edge (relative to the node shape center) The angle is computed in computeAngle() | |
double | getEndAngle () const |
Returns the angle at the end of the edge (relative to the node shape center) The angle is computed in computeAngle() | |
double | getShapeStartAngle () const |
Returns the angle at the start of the edge. | |
double | getShapeEndAngle () const |
Returns the angle at the end of the edge. | |
double | getTotalAngle () const |
Returns the angle at the start of the edge. | |
double | getLength () const |
Returns the computed length of the edge. | |
double | getLoadedLength () const |
Returns the length was set explicitly or the computed length if it wasn't set. | |
double | getFinalLength () const |
get length that will be assigned to the lanes in the final network | |
bool | hasLoadedLength () const |
Returns whether a length was set explicitly. | |
double | getSpeed () const |
Returns the speed allowed on this edge. | |
double | getFriction () const |
Returns the friction on this edge. | |
EdgeBuildingStep | getStep () const |
The building step of this edge. | |
double | getLaneWidth () const |
Returns the default width of lanes of this edge. | |
double | getLaneWidth (int lane) const |
Returns the width of the lane of this edge. | |
double | getInternalLaneWidth (const NBNode &node, const NBEdge::Connection &connection, const NBEdge::Lane &successor, bool isVia) const |
Returns the width of the internal lane associated with the connection. | |
double | getTotalWidth () const |
Returns the combined width of all lanes of this edge. | |
const std::string & | getStreetName () const |
Returns the street name of this edge. | |
void | setStreetName (const std::string &name) |
sets the street name of this edge | |
double | getDistance () const |
get distance | |
double | getDistancAt (double pos) const |
get distance at the given offset | |
double | getEndOffset () const |
Returns the offset to the destination node. | |
double | getEndOffset (int lane) const |
Returns the offset to the destination node a the specified lane. | |
const StopOffset & | getEdgeStopOffset () const |
Returns the stopOffset to the end of the edge. | |
const StopOffset & | getLaneStopOffset (int lane) const |
Returns the stop offset to the specified lane's end. | |
double | getSignalOffset () const |
Returns the offset of a traffic signal from the end of this edge. | |
const Position & | getSignalPosition () const |
Returns the position of a traffic signal on this edge. | |
const NBNode * | getSignalNode () const |
Returns the node that (possibly) represents a traffic signal controlling at the end of this edge. | |
void | setSignalPosition (const Position &pos, const NBNode *signalNode) |
sets the offset of a traffic signal from the end of this edge | |
const std::vector< NBEdge::Lane > & | getLanes () const |
Returns the lane definitions. | |
int | getFirstNonPedestrianLaneIndex (int direction, bool exclusive=false) const |
return the first lane with permissions other than SVC_PEDESTRIAN and 0 | |
int | getFirstNonPedestrianNonBicycleLaneIndex (int direction, bool exclusive=false) const |
return the first lane with permissions other than SVC_PEDESTRIAN, SVC_BICYCLE and 0 | |
int | getSpecialLane (SVCPermissions permissions) const |
return index of the first lane that allows the given permissions | |
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 | |
NBEdge::Lane | getFirstNonPedestrianLane (int direction) const |
@brif get first non-pedestrian lane | |
std::set< SVCPermissions > | getPermissionVariants (int iStart, int iEnd) const |
return all permission variants within the specified lane range [iStart, iEnd[ | |
int | getNumLanesThatAllow (SVCPermissions permissions, bool allPermissions=true) const |
bool | allowsChangingLeft (int lane, SUMOVehicleClass vclass) const |
Returns whether the given vehicle class may change left from this lane. | |
bool | allowsChangingRight (int lane, SUMOVehicleClass vclass) const |
Returns whether the given vehicle class may change left from this lane. | |
double | getCrossingAngle (NBNode *node) |
return the angle for computing pedestrian crossings at the given node | |
std::string | getSidewalkID () |
get the lane id for the canonical sidewalk lane | |
Edge geometry access and computation | |
const PositionVector & | getGeometry () const |
Returns the geometry of the edge. | |
const PositionVector | getInnerGeometry () const |
Returns the geometry of the edge without the endpoints. | |
bool | hasDefaultGeometry () const |
Returns whether the geometry consists only of the node positions. | |
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. | |
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. | |
Position | getEndpointAtNode (const NBNode *node) const |
void | resetEndpointAtNode (const NBNode *node) |
void | setGeometry (const PositionVector &g, bool inner=false) |
(Re)sets the edge's geometry | |
void | addGeometryPoint (int index, const Position &p) |
Adds a further geometry point. | |
void | extendGeometryAtNode (const NBNode *node, double maxExtent) |
linearly extend the geometry at the given node | |
void | shortenGeometryAtNode (const NBNode *node, double reduction) |
linearly extend the geometry at the given node | |
void | shiftPositionAtNode (NBNode *node, NBEdge *opposite) |
shift geometry at the given node to avoid overlap | |
Position | geometryPositionAtOffset (double offset) const |
return position taking into account loaded length | |
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 lengths (which may differ). This average length is used as the lane length when writing the network. | |
const PositionVector & | getLaneShape (int i) const |
Returns the shape of the nth lane. | |
void | setLaneSpreadFunction (LaneSpreadFunction spread) |
(Re)sets how the lanes lateral offset shall be computed | |
LaneSpreadFunction | getLaneSpreadFunction () const |
Returns how this edge's lanes' lateral offset is computed. | |
void | reduceGeometry (const double minDist) |
Removes points with a distance lesser than the given. | |
void | checkGeometry (const double maxAngle, bool fixAngle, const double minRadius, bool fix, bool silent) |
Check the angles of successive geometry segments. | |
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. | |
void | setInsideTLS (bool inside) |
Marks this edge being within an intersection. | |
bool | isInsideTLS () const |
Returns whether this edge was marked as being within an intersection. | |
Static Public Member Functions | |
static bool | areAttributesValid (const std::string &value, bool report=false, const std::string kvsep="=", const std::string sep="|") |
check if given string can be parsed to an attributes map "key1=value1|key2=value2|...|keyN=valueN" (used in generic datas) | |
static bool | areParametersValid (const std::string &value, bool report=false, const std::string kvsep="=", const std::string sep="|") |
check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN" | |
static bool | connections_sorter (const Connection &c1, const Connection &c2) |
connections_sorter sort by fromLane, toEdge and toLane | |
static double | firstIntersection (const PositionVector &v1, const PositionVector &v2, double width1, double width2, const std::string &error="", bool secondIntersection=false) |
compute the first intersection point between the given lane geometries considering their rspective widths | |
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 | |
static double | getTravelTimeStatic (const NBRouterEdge *const edge, const NBVehicle *const, double) |
static void | setDefaultConnectionLength (double length) |
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 | |
static NBEdge | DummyEdge |
Dummy edge to use when a reference must be supplied in the no-arguments constructor (FOX technicality) | |
static const int | TURN_SIGN_SHIFT_BICYCLE = 24 |
static const int | TURN_SIGN_SHIFT_BUS = 8 |
shift values for decoding turn signs | |
static const int | TURN_SIGN_SHIFT_TAXI = 16 |
static const bool | UNSPECIFIED_CONNECTION_UNCONTROLLED = false |
TLS-controlled despite its node controlled not specified. | |
static const double | UNSPECIFIED_CONTPOS = -1 |
unspecified internal junction position | |
static const double | UNSPECIFIED_FRICTION = 1. |
unspecified lane friction | |
static const int | UNSPECIFIED_INTERNAL_LANE_INDEX = -1 |
internal lane computation not yet done | |
static const double | UNSPECIFIED_LOADED_LENGTH = -1 |
no length override given | |
static const double | UNSPECIFIED_OFFSET = 0 |
unspecified lane offset | |
static const double | UNSPECIFIED_SIGNAL_OFFSET = -1 |
unspecified signal offset | |
static const double | UNSPECIFIED_SPEED = -1 |
unspecified lane speed | |
static const double | UNSPECIFIED_VISIBILITY_DISTANCE = -1 |
unspecified foe visibility for connections | |
static const double | UNSPECIFIED_WIDTH = -1 |
unspecified lane width | |
Protected Attributes | |
std::string | myID |
The name of the object. | |
Private Member Functions | |
bool | applyTurnSigns () |
apply loaded turn sign information | |
double | assignInternalLaneLength (std::vector< Connection >::iterator i, int numLanes, double lengthSum, bool averageLength) |
assign length to all lanes of an internal edge | |
bool | bothLeftTurns (LinkDirection dir, const NBEdge *otherFrom, LinkDirection dir2) const |
determine conflict between opposite left turns | |
void | computeAngle () |
computes the angle of this edge and stores it in myAngle | |
bool | hasRestrictedLane (SUMOVehicleClass vclass) const |
returns whether any lane already allows the given vclass exclusively | |
bool | haveIntersection (const NBNode &n, const PositionVector &shape, const NBEdge *otherFrom, const NBEdge::Connection &otherCon, int numPoints, double width1, double width2, int shapeFlag=0) const |
NBEdge () | |
constructor for dummy edge | |
NBEdge (const NBEdge &s)=delete | |
invalidated copy constructor | |
NBEdge & | operator= (const NBEdge &s)=delete |
invalidated assignment operator | |
void | removeInvalidConnections () |
void | restoreRestrictedLane (SUMOVehicleClass vclass, std::vector< NBEdge::Lane > oldLanes, PositionVector oldGeometry, std::vector< NBEdge::Connection > oldConnections) |
restore a restricted lane | |
Static Private Member Functions | |
static std::vector< LinkDirection > | decodeTurnSigns (int turnSigns, int shift=0) |
decode bitset | |
static bool | isParameterValid (const std::string &value, const std::string &kvsep, const std::string &sep) |
check if given string can be parsed to a parameter of type "key=value" | |
static void | updateTurnPermissions (SVCPermissions &perm, LinkDirection dir, SVCPermissions spec, std::vector< LinkDirection > dirs) |
Private Attributes | |
bool | myAmInTLS |
Information whether this is lies within a joined tls. | |
bool | myAmMacroscopicConnector |
Information whether this edge is a (macroscopic) connector. | |
std::vector< Connection > | myConnections |
List of connections to following edges. | |
std::vector< Connection > | myConnectionsToDelete |
List of connections marked for delayed removal. | |
double | myDistance |
The mileage/kilometrage at the start of this edge in a linear coordination system. | |
StopOffset | myEdgeStopOffset |
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. | |
double | myEndOffset |
This edges's offset to the intersection begin (will be applied to all lanes) | |
double | myFriction |
The current friction. | |
NBNode * | myFrom |
The source and the destination node. | |
int | myFromJunctionPriority |
The priority normalised for the node the edge is outgoing of. | |
PositionVector | myGeom |
The geometry for the edge. | |
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 | |
bool | myIsBidi |
whether this edge is part of a non-rail bidi edge pair | |
bool | myIsOffRamp |
whether this edge is an Off-Ramp or leads to one | |
std::vector< Lane > | myLanes |
Lane information. | |
LaneSpreadFunction | myLaneSpreadFunction |
The information about how to spread the lanes. | |
double | myLaneWidth |
This width of this edge's lanes. | |
double | myLength |
The length of the edge. | |
double | myLoadedLength |
An optional length to use (-1 if not valid) | |
Parameterised::Map | myMap |
The key->value map. | |
NBEdge * | myPossibleTurnDestination |
The edge that would be the turn destination if there was one. | |
int | myPriority |
The priority of the edge. | |
const NBNode * | mySignalNode |
Position | mySignalPosition |
the position of a traffic light signal on this edge | |
std::vector< NBSign > | mySigns |
the street signs along this edge | |
double | mySpeed |
The maximal speed. | |
EdgeBuildingStep | myStep |
The building step. | |
std::string | myStreetName |
The street name (or whatever arbitrary string you wish to attach) | |
EdgeVector | mySuccessors |
NBNode * | myTo |
int | myToJunctionPriority |
The priority normalised for the node the edge is incoming in. | |
NBEdge * | myTurnDestination |
The turn destination edge (if a connection exists) | |
std::string | myTurnSignTarget |
node for which turnSign information applies | |
std::string | myType |
The type of the edge. | |
ConstRouterEdgePairVector | myViaSuccessors |
double | myStartAngle |
The angles of the edge. | |
double | myEndAngle |
double | myTotalAngle |
PositionVector | myFromBorder |
intersection borders (because the node shape might be invalid) | |
PositionVector | myToBorder |
Static Private Attributes | |
static double | myDefaultConnectionLength = NBEdge::UNSPECIFIED_LOADED_LENGTH |
Friends | |
class | GNEEdge |
class | GNEJunction |
class | GNELane |
class | NBEdgeCont |
functions for router usage | |
static double | getTravelTimeStatic (const NBEdge *const edge, const NBVehicle *const, double) |
static int | getLaneIndexFromLaneID (const std::string laneID) |
static EdgeVector | filterByPermissions (const EdgeVector &edges, SVCPermissions permissions) |
return only those edges that permit at least one of the give permissions | |
void | setNumericalID (int index) |
sets the index of the edge in the list of all network edges | |
int | getNumericalID () const |
Returns the index (numeric id) of the edge. | |
const NBEdge * | getBidiEdge () const |
const EdgeVector & | getSuccessors (SUMOVehicleClass vClass=SVC_IGNORING) const |
Returns the following edges for the given vClass. | |
const ConstRouterEdgePairVector & | getViaSuccessors (SUMOVehicleClass vClass=SVC_IGNORING, bool ignoreTransientPermissions=false) const |
Returns the following edges for the given vClass. | |
const std::string & | getID () const |
bool | joinLanes (SVCPermissions perms) |
join adjacent lanes with the given permissions | |
void | resetLaneShapes () |
reset lane shapes to what they would be before cutting with the junction shapes | |
void | updateChangeRestrictions (SVCPermissions ignoring) |
modify all existing restrictions on lane changing | |
NBEdge * | getStraightContinuation (SVCPermissions permissions) const |
return the straightest follower edge for the given permissions or nullptr (never returns turn-arounds) | |
NBEdge * | getStraightPredecessor (SVCPermissions permissions) const |
return the straightest predecessor edge for the given permissions or nullptr (never returns turn-arounds) | |
NBEdge * | guessOpposite (bool reguess=false) |
set oppositeID and return opposite edge if found | |
const std::string & | getTurnSignTarget () const |
void | setTurnSignTarget (const std::string &target) |
PositionVector | computeLaneShape (int lane, double offset) const |
Computes the shape for the given lane. | |
void | computeLaneShapes () |
compute lane shapes | |
void | init (int noLanes, bool tryIgnoreNodePositions, const std::string &origID) |
Initialization routines common to all constructors. | |
void | divideOnEdges (const EdgeVector *outgoing) |
divides the lanes on the outgoing edges | |
void | divideSelectedLanesOnEdges (const EdgeVector *outgoing, const std::vector< int > &availableLanes) |
divide selected lanes on edges | |
void | addStraightConnections (const EdgeVector *outgoing, const std::vector< int > &availableLanes, const std::vector< int > &priorities) |
add some straight connections | |
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 | |
Setting and getting connections | |
bool | addEdge2EdgeConnection (NBEdge *dest, bool overrideRemoval=false, SVCPermissions permission=SVC_UNSPECIFIED) |
Adds a connection to another edge. | |
bool | addLane2LaneConnection (int fromLane, NBEdge *dest, int toLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false, KeepClear keepClear=KEEPCLEAR_UNSPECIFIED, double contPos=UNSPECIFIED_CONTPOS, double visibility=UNSPECIFIED_VISIBILITY_DISTANCE, double speed=UNSPECIFIED_SPEED, double friction=UNSPECIFIED_FRICTION, double length=myDefaultConnectionLength, const PositionVector &customShape=PositionVector::EMPTY, const bool uncontrolled=UNSPECIFIED_CONNECTION_UNCONTROLLED, SVCPermissions permissions=SVC_UNSPECIFIED, const bool indirectLeft=false, const std::string &edgeType="", SVCPermissions changeLeft=SVC_UNSPECIFIED, SVCPermissions changeRight=SVC_UNSPECIFIED, bool postProcess=false) |
Adds a connection between the specified this edge's lane and an approached one. | |
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. | |
bool | setConnection (int lane, NBEdge *destEdge, int destLane, Lane2LaneInfoType type, bool mayUseSameDestination=false, bool mayDefinitelyPass=false, KeepClear keepClear=KEEPCLEAR_UNSPECIFIED, double contPos=UNSPECIFIED_CONTPOS, double visibility=UNSPECIFIED_VISIBILITY_DISTANCE, double speed=UNSPECIFIED_SPEED, double friction=UNSPECIFIED_FRICTION, double length=myDefaultConnectionLength, const PositionVector &customShape=PositionVector::EMPTY, const bool uncontrolled=UNSPECIFIED_CONNECTION_UNCONTROLLED, SVCPermissions permissions=SVC_UNSPECIFIED, bool indirectLeft=false, const std::string &edgeType="", SVCPermissions changeLeft=SVC_UNSPECIFIED, SVCPermissions changeRight=SVC_UNSPECIFIED, bool postProcess=false) |
Adds a connection to a certain lane of a certain edge. | |
std::vector< Connection > | getConnectionsFromLane (int lane, const NBEdge *to=nullptr, int toLane=-1) const |
Returns connections from a given lane. | |
const Connection & | getConnection (int fromLane, const NBEdge *to, int toLane) const |
Returns the specified connection (unmodifiable) This method goes through "myConnections" and returns the specified one. | |
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. | |
bool | hasConnectionTo (const NBEdge *destEdge, int destLane, int fromLane=-1) const |
Retrieves info about a connection to a certain lane of a certain edge. | |
bool | isConnectedTo (const NBEdge *e, const bool ignoreTurnaround=false) const |
Returns the information whethe a connection to the given edge has been added (or computed) | |
const std::vector< Connection > & | getConnections () const |
Returns the connections. | |
std::vector< Connection > & | getConnections () |
Returns the connections. | |
const EdgeVector * | getConnectedSorted () |
Returns the list of outgoing edges without the turnaround sorted in clockwise direction. | |
EdgeVector | getConnectedEdges () const |
Returns the list of outgoing edges unsorted. | |
EdgeVector | getIncomingEdges () const |
Returns the list of incoming edges unsorted. | |
std::vector< int > | getConnectionLanes (NBEdge *currentOutgoing, bool withBikes=true) const |
Returns the list of lanes that may be used to reach the given edge. | |
void | sortOutgoingConnectionsByAngle () |
sorts the outgoing connections by their angle relative to their junction | |
void | sortOutgoingConnectionsByIndex () |
sorts the outgoing connections by their from-lane-index and their to-lane-index | |
void | remapConnections (const EdgeVector &incoming) |
Remaps the connection in a way that allows the removal of it. | |
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) | |
bool | removeFromConnections (const NBEdge::Connection &connectionToRemove) |
remove an existent connection of edge | |
void | invalidateConnections (bool reallowSetting=false) |
invalidate current connections of edge | |
void | replaceInConnections (NBEdge *which, NBEdge *by, int laneOff) |
replace in current connections of edge | |
void | replaceInConnections (NBEdge *which, const std::vector< NBEdge::Connection > &origConns) |
replace in current connections of edge | |
void | copyConnectionsFrom (NBEdge *src) |
copy connections from antoher edge | |
void | shiftToLanesToEdge (NBEdge *to, int laneOff) |
modifify the toLane for all connections to the given edge | |
void | moveConnectionToLeft (int lane) |
void | moveConnectionToRight (int lane) |
bool | canMoveConnection (const Connection &con, int newFromLane) const |
whether the connection can originate on newFromLane | |
The representation of a single edge during network building.
|
inherited |
parameters map
Definition at line 45 of file Parameterised.h.
|
strong |
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.
|
strong |
NBEdge::NBEdge | ( | const std::string & | id, |
NBNode * | from, | ||
NBNode * | to, | ||
std::string | type, | ||
double | speed, | ||
double | friction, | ||
int | nolanes, | ||
int | priority, | ||
double | width, | ||
double | endOffset, | ||
LaneSpreadFunction | spread, | ||
const std::string & | streetName = "" |
||
) |
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] | friction | The current friction coefficient 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] | spread | How the lateral offset of the lanes shall be computed |
[in] | streetName | The street name (need not be unique) |
Definition at line 256 of file NBEdge.cpp.
References init().
NBEdge::NBEdge | ( | const std::string & | id, |
NBNode * | from, | ||
NBNode * | to, | ||
std::string | type, | ||
double | speed, | ||
double | friction, | ||
int | nolanes, | ||
int | priority, | ||
double | width, | ||
double | endOffset, | ||
PositionVector | geom, | ||
LaneSpreadFunction | spread, | ||
const std::string & | streetName = "" , |
||
const std::string & | origID = "" , |
||
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] | friction | The current friction coefficient 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] | spread | How the lateral offset of the lanes shall be computed |
[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 284 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 attributes 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 316 of file NBEdge.cpp.
References getFromNode(), getGeometry(), getLaneFriction(), getLaneSpeed(), getNumLanes(), Parameterised::getParametersMap(), getPermissions(), getToNode(), init(), MIN2(), myGeom, myLanes, myLoadedLength, myTo, PositionVector::reverse(), setEdgeStopOffset(), setEndOffset(), setFriction(), setLaneType(), setLaneWidth(), setPermissions(), setSpeed(), and Parameterised::updateParameters().
NBEdge::~NBEdge | ( | ) |
Destructor.
Definition at line 545 of file NBEdge.cpp.
|
privatedelete |
invalidated copy constructor
|
private |
constructor for dummy edge
Definition at line 363 of file NBEdge.cpp.
void NBEdge::addBikeLane | ( | double | width | ) |
add a bicycle lane of the given width and shift existing connctions
Definition at line 4584 of file NBEdge.cpp.
References addRestrictedLane(), and SVC_BICYCLE.
Referenced by NIImporter_OpenStreetMap::insertEdge(), and NIXMLEdgesHandler::myEndElement().
bool NBEdge::addEdge2EdgeConnection | ( | NBEdge * | dest, |
bool | overrideRemoval = false , |
||
SVCPermissions | permission = SVC_UNSPECIFIED |
||
) |
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 1097 of file NBEdge.cpp.
References EDGE2EDGES, INIT_REJECT_CONNECTIONS, invalidateConnections(), myConnections, myConnectionsToDelete, myFrom, myStep, and myTo.
Referenced by addLane2LaneConnection(), NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), NBEdgeCont::joinSameNodeConnectingEdges(), NIImporter_VISUM::parse_Turns(), NIXMLConnectionsHandler::parseConnection(), 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 1004 of file NBEdge.cpp.
References myGeom.
Referenced by NIImporter_VISUM::parse_EdgePolys().
void NBEdge::addLane | ( | int | index, |
bool | recomputeShape, | ||
bool | recomputeConnections, | ||
bool | shiftIndices | ||
) |
add lane
Definition at line 4030 of file NBEdge.cpp.
References computeLaneShapes(), NBNode::getIncomingEdges(), Parameterised::getParametersMap(), invalidateConnections(), myConnections, myFrom, myLanes, myTo, and NBNode::shiftTLConnectionLaneIndex().
Referenced by GNEEdge::addLane(), and incLaneNo().
bool NBEdge::addLane2LaneConnection | ( | int | fromLane, |
NBEdge * | dest, | ||
int | toLane, | ||
Lane2LaneInfoType | type, | ||
bool | mayUseSameDestination = false , |
||
bool | mayDefinitelyPass = false , |
||
KeepClear | keepClear = KEEPCLEAR_UNSPECIFIED , |
||
double | contPos = UNSPECIFIED_CONTPOS , |
||
double | visibility = UNSPECIFIED_VISIBILITY_DISTANCE , |
||
double | speed = UNSPECIFIED_SPEED , |
||
double | friction = UNSPECIFIED_FRICTION , |
||
double | length = myDefaultConnectionLength , |
||
const PositionVector & | customShape = PositionVector::EMPTY , |
||
const bool | uncontrolled = UNSPECIFIED_CONNECTION_UNCONTROLLED , |
||
SVCPermissions | permissions = SVC_UNSPECIFIED , |
||
const bool | indirectLeft = false , |
||
const std::string & | edgeType = "" , |
||
SVCPermissions | changeLeft = SVC_UNSPECIFIED , |
||
SVCPermissions | changeRight = SVC_UNSPECIFIED , |
||
bool | postProcess = false |
||
) |
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 1132 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 1168 of file NBEdge.cpp.
References addLane2LaneConnection(), and invalidateConnections().
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), and NBNode::computeLanes2Lanes().
void NBEdge::addRestrictedLane | ( | double | width, |
SUMOVehicleClass | vclass | ||
) |
add a lane of the given width, restricted to the given class and shift existing connections
Definition at line 4606 of file NBEdge.cpp.
References CENTER, computeLaneShapes(), disallowVehicleClass(), NBEdge::Connection::fromLane, getID(), NBNode::getIncomingEdges(), Parameterised::getParameter(), hasRestrictedLane(), PositionVector::move2side(), myConnections, myFrom, myGeom, myLanes, myLaneSpreadFunction, myTo, NBNode::shiftTLConnectionLaneIndex(), SUMO_PARAM_ORIGID, SVC_PEDESTRIAN, TL, toString(), and WRITE_WARNINGF.
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 4572 of file NBEdge.cpp.
References addRestrictedLane(), and SVC_PEDESTRIAN.
Referenced by NIImporter_OpenStreetMap::insertEdge(), and NIXMLEdgesHandler::myEndElement().
|
inline |
add Sign
Definition at line 1460 of file NBEdge.h.
References mySigns.
Referenced by NBEdgeCont::generateStreetSigns().
|
private |
add some straight connections
Definition at line 3409 of file NBEdge.cpp.
References DEBUGCOND, NBNode::getDirection(), getID(), getNumLanes(), getPermissions(), MIN2(), myConnections, myLanes, myTo, STRAIGHT, and SVC_PEDESTRIAN.
Referenced by divideSelectedLanesOnEdges().
|
inlineinherited |
Adds this object to the given container.
[in,filled] | cont The container to add this item to |
Definition at line 118 of file Named.h.
References Named::StoringVisitor::add().
bool NBEdge::allowsChangingLeft | ( | int | lane, |
SUMOVehicleClass | vclass | ||
) | const |
Returns whether the given vehicle class may change left from this lane.
Definition at line 4519 of file NBEdge.cpp.
References getNumLanes(), myLanes, and SVC_UNSPECIFIED.
Referenced by GNELane::drawMarkingsAndBoundings().
bool NBEdge::allowsChangingRight | ( | int | lane, |
SUMOVehicleClass | vclass | ||
) | const |
Returns whether the given vehicle class may change left from this lane.
Definition at line 4525 of file NBEdge.cpp.
References getNumLanes(), myLanes, and SVC_UNSPECIFIED.
Referenced by GNELane::drawMarkingsAndBoundings().
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 4124 of file NBEdge.cpp.
References allowVehicleClass(), and myLanes.
Referenced by NINavTeqHelper::addCommonVehicleClasses(), NINavTeqHelper::addVehicleClasses(), NINavTeqHelper::addVehicleClassesV6(), and allowVehicleClass().
void NBEdge::append | ( | NBEdge * | continuation | ) |
append another edge
Definition at line 3945 of file NBEdge.cpp.
References PositionVector::append(), computeAngle(), OptionsCont::getBool(), getFinalLength(), getID(), getLength(), OptionsCont::getOptions(), Parameterised::getParametersMap(), Parameterised::hasParameter(), Position::INVALID, Parameterised::mergeParameters(), myConnections, myConnectionsToDelete, myGeom, myLanes, myLength, myLoadedLength, myPossibleTurnDestination, mySignalPosition, myStep, myStreetName, myTo, myToBorder, myTurnDestination, myTurnSignTarget, and SUMO_PARAM_ORIGID.
Referenced by NBNodeCont::removeUnwishedNodes(), and setOrigID().
void NBEdge::appendTurnaround | ( | bool | noTLSControlled, |
bool | noFringe, | ||
bool | onlyDeadends, | ||
bool | onlyTurnlane, | ||
bool | noGeometryLike, | ||
bool | checkPermissions | ||
) |
Add a connection to the previously computed turnaround, if wished and a turning direction exists (myTurnDestination!=0)
[in] | noTLSControlled | Whether the turnaround shall not be connected if the edge is controlled by a tls |
[in] | noFringe | Whether the turnaround shall not be connected if the junction is at the (outer) fringe |
[in] | onlyDeadends | Whether the turnaround shall only be built at deadends |
[in] | onlyTurnlane | Whether the turnaround shall only be built when there is an exclusive (left) turn lane |
[in] | noGeometryLike | Whether the turnaround shall be built at geometry-like nodes |
Definition at line 3584 of file NBEdge.cpp.
References NBNode::BACKWARD, filterByPermissions(), NBNode::geometryLike(), getAngleAtNode(), getConnectionsFromLane(), NBNode::getDirection(), getFirstAllowedLaneIndex(), NBNode::getFringeType(), getIncomingEdges(), NBNode::getIncomingEdges(), NBNode::getOutgoingEdges(), getPermissions(), NBNode::getType(), isBidiRail(), isRailDeadEnd(), isRailway(), NBNode::isTLControlled(), KEEPCLEAR_UNSPECIFIED, LEFT, myConnections, myTo, myTurnDestination, NBHelpers::normRelAngle(), OUTER, PARTLEFT, RAIL_CROSSING, setConnection(), SUMO_const_haltingSpeed, SVC_BICYCLE, SVC_DELIVERY, SVC_PASSENGER, SVC_PEDESTRIAN, UNSPECIFIED_CONTPOS, UNSPECIFIED_VISIBILITY_DISTANCE, and VALIDATED.
|
private |
apply loaded turn sign information
Definition at line 2689 of file NBEdge.cpp.
References decodeTurnSigns(), PositionVector::EMPTY, NBNode::getDirection(), getID(), getNumLanes(), getNumLanesThatAllow(), getPermissions(), KEEPCLEAR_UNSPECIFIED, myConnections, myDefaultConnectionLength, myLanes, myTo, NODIR, setConnection(), sortOutgoingConnectionsByAngle(), sortOutgoingConnectionsByIndex(), STRAIGHT, SVC_BICYCLE, SVC_BUS, SVC_DELIVERY, SVC_PASSENGER, SVC_TAXI, SVC_UNSPECIFIED, SVCAll, TL, toString(), TURN_SIGN_SHIFT_BICYCLE, TURN_SIGN_SHIFT_BUS, TURN_SIGN_SHIFT_TAXI, UNSPECIFIED_CONNECTION_UNCONTROLLED, UNSPECIFIED_CONTPOS, UNSPECIFIED_FRICTION, UNSPECIFIED_SPEED, UNSPECIFIED_VISIBILITY_DISTANCE, updateTurnPermissions(), VALIDATED, and WRITE_WARNINGF.
Referenced by recheckLanes().
|
staticinherited |
check if given string can be parsed to an attributes map "key1=value1|key2=value2|...|keyN=valueN" (used in generic datas)
Definition at line 219 of file Parameterised.cpp.
References StringTokenizer::getVector(), Parameterised::isParameterValid(), TL, and WRITE_WARNINGF.
Referenced by GNEFrameAttributeModules::GenericDataAttributes::areAttributesValid(), GNEEdgeData::isValid(), GNEEdgeRelData::isValid(), and GNETAZRelData::isValid().
|
staticinherited |
check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN"
Definition at line 200 of file Parameterised.cpp.
References StringTokenizer::getVector(), Parameterised::isParameterValid(), TL, and WRITE_WARNINGF.
Referenced by GNEDetector::isDetectorValid(), GNEAccess::isValid(), GNEBusStop::isValid(), GNECalibrator::isValid(), GNECalibratorFlow::isValid(), GNEChargingStation::isValid(), GNEContainerStop::isValid(), GNEMultiEntryExitDetector::isValid(), GNEOverheadWire::isValid(), GNEParkingArea::isValid(), GNEParkingSpace::isValid(), GNERerouter::isValid(), GNERouteProbe::isValid(), GNETAZ::isValid(), GNETAZSourceSink::isValid(), GNETractionSubstation::isValid(), GNEVaporizer::isValid(), GNEVariableSpeedSign::isValid(), GNEContainer::isValid(), GNEPerson::isValid(), GNERoute::isValid(), GNEStop::isValid(), GNEVehicle::isValid(), GNEVType::isValid(), GNEConnection::isValid(), GNECrossing::isValid(), GNEEdge::isValid(), GNEEdgeType::isValid(), GNEJunction::isValid(), GNELane::isValid(), GNELaneType::isValid(), GNEPOI::isValid(), GNEPoly::isValid(), GNETLSEditorFrame::TLSAttributes::isValidParameters(), and GNEFrameAttributeModules::GenericDataAttributes::onCmdSetParameters().
|
private |
assign length to all lanes of an internal edge
Definition at line 2009 of file NBEdge.cpp.
References NBEdge::Connection::customLength, gPrecision, NBEdge::Connection::haveVia, NBEdge::Connection::indirectLeft, NBEdge::Connection::length, PositionVector::length(), MAX2(), NBOwnTLDef::MIN_SPEED_CROSSING_TIME, myConnections, NBEdge::Connection::shape, UNSPECIFIED_LOADED_LENGTH, NBEdge::Connection::viaLength, NBEdge::Connection::viaShape, and NBEdge::Connection::vmax.
Referenced by buildInnerEdges().
|
private |
determine conflict between opposite left turns
Definition at line 2113 of file NBEdge.cpp.
References LEFT, and PARTLEFT.
Referenced by buildInnerEdges().
double NBEdge::buildInnerEdges | ( | const NBNode & | n, |
int | noInternalNoSplits, | ||
int & | linkIndex, | ||
int & | splitIndex | ||
) |
Definition at line 1693 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::angleDiff(), assignInternalLaneLength(), NBNode::AVOID_INTERSECTING_LEFT_TURNS, NBNode::bidiConflict(), bothLeftTurns(), NBNode::computeInternalLaneShape(), NBEdge::Connection::contPos, NBEdge::Connection::customLength, NBEdge::Connection::customShape, DEG2RAD, NBNode::Crossing::edges, PositionVector::extrapolate(), firstIntersection(), NBEdge::Connection::foeIncomingLanes, NBEdge::Connection::foeInternalLinks, NBNode::foes(), NBNode::forbids(), NBEdge::Connection::friction, NBEdge::Connection::fromLane, OptionsCont::getBool(), NBNode::getCrossings(), NBEdge::Connection::getDescription(), NBNode::getDirection(), getEndOffset(), OptionsCont::getFloat(), getID(), Named::getID(), NBNode::getIncomingEdges(), OptionsCont::getInt(), getJunctionPriority(), getLaneID(), getLanes(), getLaneShape(), getLaneWidth(), OptionsCont::getOptions(), getPermissions(), getTurnDestination(), NBNode::getType(), hasSignalisedConnectionTo(), haveIntersection(), NBEdge::Connection::haveVia, NBEdge::Connection::id, NBEdge::Connection::indirectLeft, NBEdge::Connection::internalLaneIndex, NBEdge::Connection::internalViaLaneIndex, isBidiRail(), isRailway(), NBNode::isTLControlled(), LEFT, PositionVector::length(), PositionVector::length2D(), MAX2(), NBNode::mergeConflict(), MIN2(), myConnections, myFrom, myLanes, myTo, NBNode::needsCont(), NOJUNCTION, PARTLEFT, PARTRIGHT, NBNode::Crossing::priority, RAD2DEG, RIGHT, NBNode::rightTurnConflict(), ROUNDABOUT, NBNode::SCURVE_IGNORE, NBEdge::Connection::shape, NBNode::Crossing::shape, NBEdge::Connection::speed, split(), PositionVector::splitAt(), STRAIGHT, SVC_BICYCLE, SVC_DELIVERY, SVC_PEDESTRIAN, SVC_RAIL_CLASSES, SVCAll, TL, NBEdge::Connection::tlID, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, toString(), TURN, UNSPECIFIED_CONTPOS, UNSPECIFIED_FRICTION, UNSPECIFIED_LOADED_LENGTH, UNSPECIFIED_SPEED, NBEdge::Connection::viaID, NBEdge::Connection::viaShape, NBEdge::Connection::vmax, NBNode::Crossing::width, and WRITE_WARNINGF.
|
private |
whether the connection can originate on newFromLane
Definition at line 1650 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, |
bool | fixAngle, | ||
const double | minRadius, | ||
bool | fix, | ||
bool | silent | ||
) |
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 1036 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::angleDiff(), checkGeometry(), DEG2RAD, getBidiEdge(), getID(), M_PI, myGeom, RAD2DEG, PositionVector::reverse(), TL, toString(), WRITE_MESSAGEF, and WRITE_WARNINGF.
Referenced by checkGeometry().
void NBEdge::clearControllingTLInformation | ( | ) |
clears tlID for all connections
Definition at line 3789 of file NBEdge.cpp.
References myConnections.
|
inherited |
Clears the parameter map.
Definition at line 139 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NLHandler::beginEdgeParsing(), and GNESingleParametersDialog::onCmdAccept().
|
private |
computes the angle of this edge and stores it in myAngle
Definition at line 2311 of file NBEdge.cpp.
References ANGLE_LOOKAHEAD, Position::angleTo2D(), PositionVector::around(), DEBUGCOND, PositionVector::distance2D(), getAngleAtNode(), PositionVector::getCentroid(), getID(), getLaneWidth(), getNumLanes(), getPermissions(), NBNode::getPosition(), NBNode::getShape(), GeomHelper::legacyDegree(), PositionVector::length(), PositionVector::length2D(), MIN2(), PositionVector::move2side(), myEndAngle, myFrom, myGeom, myLanes, myLaneSpreadFunction, myStartAngle, myTo, myTotalAngle, NBHelpers::normRelAngle(), PositionVector::positionAtOffset2D(), RIGHT, and SVC_PEDESTRIAN.
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 2575 of file NBEdge.cpp.
References NBNode::computeSmoothShape(), DEBUGCOND, DEG2RAD, EDGE2EDGES, getAngleAtNode(), getID(), NBNode::getOutgoingEdges(), getPermissions(), getTurnDestination(), NBNode::isLeftMover(), isRailway(), PositionVector::length2D(), myConnections, myConnectionsToDelete, myLanes, myStep, myTo, myTurnDestination, NBHelpers::normRelAngle(), SVC_PEDESTRIAN, and SVC_TRAM.
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 lengths (which may differ). This average length is used as the lane length when writing the network.
Definition at line 885 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().
Referenced by reshiftPosition().
bool NBEdge::computeLanes2Edges | ( | ) |
computes the edge, step2: computation of which lanes approach the edges)
Definition at line 2631 of file NBEdge.cpp.
References DEBUGCOND, divideOnEdges(), EDGE2EDGES, getConnectedSorted(), getID(), LANES2EDGES, myConnections, myConnectionsToDelete, and myStep.
|
private |
Computes the shape for the given lane.
Definition at line 2299 of file NBEdge.cpp.
References getLaneID(), PositionVector::move2side(), myGeom, TL, and WRITE_WARNINGF.
Referenced by computeLaneShapes().
|
private |
compute lane shapes
Definition at line 2247 of file NBEdge.cpp.
References CENTER, computeLaneShape(), getInnerGeometry(), getLaneID(), getLaneWidth(), NBNode::getOutgoingEdges(), getTotalWidth(), myFrom, myGeom, myLanes, myLaneSpreadFunction, myTo, PositionVector::reverse(), ROADCENTER, SUMO_const_laneWidth, TL, UNSPECIFIED_WIDTH, and WRITE_WARNINGF.
Referenced by addLane(), addRestrictedLane(), computeEdgeShape(), deleteLane(), init(), resetLaneShapes(), reshiftPosition(), restoreRestrictedLane(), setGeometry(), and shortenGeometryAtNode().
|
static |
connections_sorter sort by fromLane, toEdge and toLane
Definition at line 4413 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 1643 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 794 of file NBEdge.cpp.
References GeomHelper::angleDiff(), PositionVector::beginEndAngle(), DEBUGCOND, DEG2RAD, getID(), PositionVector::getSubpart(), PositionVector::length(), myFrom, myFromBorder, myTo, myToBorder, 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 4802 of file NBEdge.cpp.
References getID(), NBNode::getIncomingEdges(), myConnections, and myFrom.
void NBEdge::decLaneNo | ( | int | by | ) |
decrement lane
Definition at line 4105 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 1442 of file NBEdge.h.
References myStep.
Referenced by NIImporter_SUMO::_loadNetwork(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and GNEEdge::setAttribute().
|
staticprivate |
decode bitset
Definition at line 2666 of file NBEdge.cpp.
Referenced by applyTurnSigns().
void NBEdge::deleteLane | ( | int | index, |
bool | recompute, | ||
bool | shiftIndices | ||
) |
delete lane
Definition at line 4085 of file NBEdge.cpp.
References computeLaneShapes(), NBNode::getIncomingEdges(), invalidateConnections(), myFrom, myLanes, and removeFromConnections().
Referenced by decLaneNo(), NIXMLEdgesHandler::deleteEdge(), joinLanes(), GNEEdge::removeLane(), and NBEdgeCont::removeLanesByWidth().
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 4137 of file NBEdge.cpp.
References disallowVehicleClass(), and myLanes.
Referenced by NINavTeqHelper::addCommonVehicleClasses(), addRestrictedLane(), NINavTeqHelper::addVehicleClasses(), NINavTeqHelper::addVehicleClassesV6(), disallowVehicleClass(), and NIImporter_DlrNavteq::EdgesHandler::report().
void NBEdge::dismissVehicleClassInformation | ( | ) |
dimiss vehicle class information
Definition at line 4404 of file NBEdge.cpp.
References myLanes, and SVCAll.
Referenced by NBEdgeCont::insert().
|
private |
divides the lanes on the outgoing edges
Definition at line 3214 of file NBEdge.cpp.
References DEBUGCOND, divideSelectedLanesOnEdges(), getID(), getNumLanes(), getPermissions(), isForbidden(), myConnections, myLanes, myTurnDestination, sortOutgoingConnectionsByIndex(), SVC_BICYCLE, SVC_BUS, SVC_PASSENGER, SVC_PEDESTRIAN, SVC_UNSPECIFIED, and toString().
Referenced by computeLanes2Edges().
|
private |
divide selected lanes on edges
Definition at line 3304 of file NBEdge.cpp.
References addStraightConnections(), Bresenham::compute(), DEBUGCOND, NBEdge::ToEdgeConnectionsAdder::getBuiltConnections(), getConnectionsFromLane(), getID(), getPermissions(), myConnections, myLanes, prepareEdgePriorities(), SVC_PEDESTRIAN, and toString().
Referenced by divideOnEdges().
bool NBEdge::expandableBy | ( | NBEdge * | possContinuation, |
std::string & | reason | ||
) | const |
Check if Node is expandable.
Definition at line 3833 of file NBEdge.cpp.
References EDGE2EDGES, NBNode::FORWARD, getConnectedEdges(), getConnectionLanes(), getFirstNonPedestrianLaneIndex(), OptionsCont::getFloat(), getLength(), getLoadedLength(), OptionsCont::getOptions(), getPriority(), getStreetName(), INIT, INIT_REJECT_CONNECTIONS, isBidiRail(), LANES2EDGES, LANES2LANES_DONE, LANES2LANES_RECHECK, LANES2LANES_USER, MAX2(), myConnections, myFrom, myGeom, myLanes, myLaneSpreadFunction, myLength, mySpeed, myStep, myStreetName, myTo, and toString().
void NBEdge::extendGeometryAtNode | ( | const NBNode * | node, |
double | maxExtent | ||
) |
linearly extend the geometry at the given node
Definition at line 658 of file NBEdge.cpp.
References PositionVector::extrapolate(), NBNode::getPosition(), PositionVector::getSubpart2D(), GeomHelper::INVALID_OFFSET, PositionVector::length2D(), MAX2(), MIN2(), myFrom, myGeom, myTo, and PositionVector::nearest_offset_to_point2D().
|
static |
return only those edges that permit at least one of the give permissions
Definition at line 4846 of file NBEdge.cpp.
Referenced by appendTurnaround(), getStraightContinuation(), getStraightPredecessor(), and NBNodeCont::pruneLongEdges().
|
static |
compute the first intersection point between the given lane geometries considering their rspective widths
Definition at line 2049 of file NBEdge.cpp.
References PositionVector::intersectsAtLengths2D(), PositionVector::length(), MIN2(), PositionVector::move2side(), and WRITE_WARNING.
Referenced by buildInnerEdges(), haveIntersection(), and NBRequest::oppositeLeftTurnConflict().
Position NBEdge::geometryPositionAtOffset | ( | double | offset | ) | const |
return position taking into account loaded length
Definition at line 4704 of file NBEdge.cpp.
References myGeom, myLength, myLoadedLength, and PositionVector::positionAtOffset().
Referenced by NIXMLPTHandler::addPTStop().
double NBEdge::getAngleAtNode | ( | const NBNode *const | node | ) | const |
Returns the angle of the edge's geometry at the given node.
The angle is in degrees between -180 and 180.
[in] | node | The node for which the edge's angle shall be returned |
Definition at line 2158 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::legacyDegree(), myFrom, myGeom, and myTo.
Referenced by appendTurnaround(), computeAngle(), computeEdge2Edges(), NBNode::computeLanes2Lanes(), NBNodeCont::feasibleCluster(), NBRampsComputer::fulfillsRampConstraints(), NBNode::geometryLike(), getCrossingAngle(), NBNode::getDirection(), NBEdgeCont::guessRoundabouts(), NBNode::isLeftMover(), NBRailwayTopologyAnalyzer::isStraight(), NBNode::isStraighter(), NBRequest::laneConflict(), NBEdgePriorityComputer::markBestParallel(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), and NBRailwayGeometryHelper::straigthenCorrdidor().
double NBEdge::getAngleAtNodeNormalized | ( | const NBNode *const | node | ) | const |
Returns the angle of the edge's geometry at the given node and disregards edge direction.
[in] | node | The node for which the edge's angle shall be returned |
Definition at line 2168 of file NBEdge.cpp.
References PositionVector::angleAt2D(), GeomHelper::legacyDegree(), myFrom, myGeom, and myTo.
Referenced by NBNodesEdgesSorter::edge_by_junction_angle_sorter::operator()().
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 2184 of file NBEdge.cpp.
References myEndAngle, myFrom, myStartAngle, and myTo.
Referenced by NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()().
|
inlinevirtual |
Implements NBRouterEdge.
Definition at line 1514 of file NBEdge.h.
References isBidiEdge(), isBidiRail(), and myPossibleTurnDestination.
Referenced by NIXMLEdgesHandler::addEdge(), NBRequest::bidiConflict(), checkGeometry(), NBTrafficLightDefinition::collectAllLinks(), GNEEdge::drawEdgeName(), GNEEdge::getAttribute(), NBPTLineCont::getCost(), NBNode::isExplicitRailNoBidi(), NBEdgeCont::recheckLanes(), GNEEdge::setAttribute(), shiftPositionAtNode(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
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 3815 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, getFirstAllowedLaneIndex(), getLaneWidth(), PositionVector::move2side(), myFrom, myLanes, and PositionVector::reverse().
Referenced by NBEdgeCont::checkOverlap().
EdgeVector NBEdge::getConnectedEdges | ( | ) | const |
Returns the list of outgoing edges unsorted.
Definition at line 1380 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 1343 of file NBEdge.cpp.
References NBNode::getOutgoingEdges(), myConnections, myConnectionsToDelete, myTo, and myTurnDestination.
Referenced by computeLanes2Edges().
const NBEdge::Connection & NBEdge::getConnection | ( | int | fromLane, |
const NBEdge * | to, | ||
int | toLane | ||
) | const |
Returns the specified connection (unmodifiable) This method goes through "myConnections" and returns the specified one.
Definition at line 1300 of file NBEdge.cpp.
References getID(), myConnections, and toString().
Referenced by NBRequest::getFoesString(), NBRequest::getResponseString(), NBNode::mergeConflictYields(), and NBRequest::mustBrake().
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 1405 of file NBEdge.cpp.
References getPermissions(), myConnections, myTurnDestination, and SVC_BICYCLE.
Referenced by NBNode::ApproachingDivider::execute(), and 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 1312 of file NBEdge.cpp.
References getID(), myConnections, and toString().
Referenced by NIImporter_SUMO::_loadNetwork(), GNEConnection::getNBEdgeConnection(), and recheckLanes().
|
inline |
Returns the connections.
Definition at line 1048 of file NBEdge.h.
References myConnections.
|
inline |
Returns the connections.
Definition at line 1041 of file NBEdge.h.
References myConnections.
Referenced by NIXMLTrafficLightsHandler::addTlConnection(), NBEdgeCont::checkGrade(), NBRequest::checkLaneFoesByCooperation(), NBTrafficLightDefinition::collectReachable(), NBEdgeCont::fixSplitCustomLength(), NWWriter_SUMO::getInternalBidi(), NWWriter_SUMO::getOppositeInternalID(), NBNode::hasConflict(), NBOwnTLDef::hasStraightConnection(), NBNodeCont::joinNodeCluster(), NIImporter_OpenDrive::loadNetwork(), NBRequest::mustBrake(), NBEdgeCont::recheckPostProcessConnections(), GNEEdge::remakeGNEConnections(), GNEJunction::removeConnectionsFrom(), GNEJunction::replaceIncomingConnections(), GNENet::replaceIncomingEdge(), GNENet::replaceJunctionByGeometry(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_OpenDrive::writeNetwork(), NWWriter_SUMO::writeNetwork(), and NWWriter_XML::writeTrafficLights().
std::vector< NBEdge::Connection > NBEdge::getConnectionsFromLane | ( | int | lane, |
const 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 1286 of file NBEdge.cpp.
References myConnections.
Referenced by NIVissimTL::NIVissimTLSignal::addTo(), appendTurnaround(), GNEConnectorFrame::buildConnection(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectLinks(), NBRequest::computeCrossingResponse(), NBRequest::computeLaneResponse(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), GNEPathManager::connectedLanes(), divideSelectedLanesOnEdges(), GNELane::drawLane2LaneConnections(), GNELane::drawLinkNo(), GNELane::drawTLSLinkNo(), GNEConnection::existNBEdgeConnection(), NBPTLineCont::fixPermissions(), NWWriter_SUMO::getInternalBidi(), GNEConnectorFrame::initTargets(), moveOutgoingConnectionsFrom(), NIXMLConnectionsHandler::parseLaneBound(), and recheckLanes().
double NBEdge::getCrossingAngle | ( | NBNode * | node | ) |
return the angle for computing pedestrian crossings at the given node
Definition at line 4531 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 3797 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, getFirstAllowedLaneIndex(), getLaneWidth(), PositionVector::move2side(), myFrom, myLanes, and PositionVector::reverse().
double NBEdge::getDistancAt | ( | double | pos | ) | const |
get distance at the given offset
Definition at line 4916 of file NBEdge.cpp.
References myDistance.
Referenced by GNELane::getPopUpMenu().
|
inline |
get distance
Definition at line 679 of file NBEdge.h.
References myDistance.
Referenced by NIXMLEdgesHandler::addEdge(), GNEEdge::getAttribute(), GNELane::getColorValue(), GNELane::getPopUpMenu(), NBEdgeCont::splitAt(), 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 100 of file Parameterised.cpp.
References Parameterised::myMap, TL, StringUtils::toDouble(), WRITE_WARNING, and WRITE_WARNINGF.
Referenced by MSPModel_JuPedSim::add(), MSVehicleType::build(), MSVehicleType::check(), EnergyParams::EnergyParams(), 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(), MSActuatedTrafficLightLogic::init(), MSDevice_ElecHybrid::MSDevice_ElecHybrid(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), and MSDevice_Battery::readParameterValue().
|
inherited |
Returns the value for a given key converted to a list of doubles.
[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 118 of file Parameterised.cpp.
References StringTokenizer::getVector(), Parameterised::myMap, TL, StringUtils::toDouble(), WRITE_WARNING, and WRITE_WARNINGF.
Referenced by EnergyParams::EnergyParams().
const StopOffset & NBEdge::getEdgeStopOffset | ( | ) | const |
Returns the stopOffset to the end of the edge.
Definition at line 4231 of file NBEdge.cpp.
References myEdgeStopOffset.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::myEndElement(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
|
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 564 of file NBEdge.h.
References myEndAngle.
Referenced by NBContHelper::relative_incoming_edge_sorter::operator()(), and NBNode::rightTurnConflict().
|
inline |
Returns the offset to the destination node.
Definition at line 689 of file NBEdge.h.
References myEndOffset.
Referenced by NIImporter_SUMO::_loadNetwork(), buildInnerEdges(), NBNode::computeInternalLaneShape(), GNEEdge::getAttribute(), getEndOffset(), getFinalLength(), NBEdgeCont::recheckLanes(), 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 4225 of file NBEdge.cpp.
References getEndOffset(), myLanes, and UNSPECIFIED_OFFSET.
Definition at line 620 of file NBEdge.cpp.
References myFrom, and myGeom.
Referenced by NBNodeShapeComputer::isDivided().
double NBEdge::getFinalLength | ( | ) | const |
get length that will be assigned to the lanes in the final network
Definition at line 4714 of file NBEdge.cpp.
References cutAtIntersection(), getEndOffset(), getFromNode(), getLoadedLength(), OptionsCont::getOptions(), getToNode(), hasLoadedLength(), isBidiRail(), PositionVector::length(), MAX2(), myGeom, myLanes, myPossibleTurnDestination, PositionVector::push_back_noDoublePos(), and PositionVector::push_front_noDoublePos().
Referenced by NBNode::alreadyConnectedPaths(), append(), GNEAdditionalHandler::buildAccess(), GNEAdditionalHandler::buildBusStop(), GNEAdditionalHandler::buildChargingStation(), GNEAdditionalHandler::buildContainerStop(), GNEAdditionalHandler::buildDetectorE1Instant(), GNEAdditionalHandler::buildDetectorEntry(), GNEAdditionalHandler::buildDetectorExit(), GNEAdditionalHandler::buildE1Detector(), GNEAdditionalHandler::buildLaneCalibrator(), GNEAdditionalHandler::buildParkingArea(), GNEAdditionalHandler::buildPOILane(), GNEAdditionalHandler::buildSingleLaneDetectorE2(), GNEAdditionalHandler::buildTrainStop(), NBPTStop::findLaneAndComputeBusStopExtent(), GNEEdge::getAttribute(), GNEDetector::getGeometryPositionOverLane(), GNELane::getLengthGeometryFactor(), NBEdgeCont::recheckLanes(), GNENet::replaceIncomingEdge(), 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 4481 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, and myLanes.
Referenced by appendTurnaround(), getCCWBoundaryLine(), and getCWBoundaryLine().
NBEdge::Lane NBEdge::getFirstNonPedestrianLane | ( | int | direction | ) | const |
@brif get first non-pedestrian lane
Definition at line 4547 of file NBEdge.cpp.
References getFirstNonPedestrianLaneIndex(), getID(), myLanes, and TLF.
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 4438 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, myLanes, and SVC_PEDESTRIAN.
Referenced by NBNode::addedLanesRight(), NBTrafficLightDefinition::collectEdges(), NBNode::computeLanes2Lanes(), expandableBy(), getFirstNonPedestrianLane(), and NBNode::getReduction().
int NBEdge::getFirstNonPedestrianNonBicycleLaneIndex | ( | int | direction, |
bool | exclusive = false |
||
) | const |
return the first lane with permissions other than SVC_PEDESTRIAN, SVC_BICYCLE 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 4454 of file NBEdge.cpp.
References NBNode::BACKWARD, NBNode::FORWARD, myLanes, SVC_BICYCLE, SVC_PEDESTRIAN, and SVCAll.
Referenced by NBNode::addedLanesRight(), NBNode::computeLanes2Lanes(), and NBNode::getReduction().
|
inline |
Returns the friction on this edge.
Definition at line 626 of file NBEdge.h.
References myFriction.
Referenced by GNEEdge::getAttribute(), and NWWriter_XML::writeEdgesAndConnections().
|
inline |
Returns the origin node of the edge.
Definition at line 539 of file NBEdge.h.
References myFrom.
Referenced by NIImporter_SUMO::_loadNetwork(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesBetweenSwitches(), NBRailwayTopologyAnalyzer::addBidiEdgesForBufferStops(), NBLoadedSUMOTLDef::addConnection(), NIXMLConnectionsHandler::addCrossing(), NIXMLEdgesHandler::addLane(), NIXMLEdgesHandler::addSplit(), NIVissimDisturbance::addToNode(), NBLoadedTLDef::addToSignalGroup(), NIXMLConnectionsHandler::addWalkingArea(), NBNode::alreadyConnectedPaths(), NBRampsComputer::buildOffRamp(), NBNode::buildWalkingAreas(), NBEdgeCont::checkConsistency(), NBNode::checkCrossing(), NBEdgeCont::checkOverlap(), NBRampsComputer::computeRamps(), NIVissimDistrictConnection::dict_BuildDistricts(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBEdgeCont::extractRoundabouts(), NBNodeCont::feasibleCluster(), NBRampsComputer::fulfillsRampConstraints(), GNEEdge::getAttribute(), getCrossingAngle(), NBNode::getDirection(), NBContHelper::edge_opposite_direction_sorter::getEdgeAngleAt(), getFinalLength(), NWWriter_DlrNavteq::getGraphLength(), NIImporter_VISUM::getNamedEdgeContinuating(), NBPTStopCont::getReverseEdge(), GNEEdge::GNEEdge(), NBRailwaySignalGuesser::guessByStops(), NBNode::guessCrossings(), guessOpposite(), NBEdgeCont::guessRoundabouts(), NBEdgeCont::guessSpecialLanes(), NBOwnTLDef::hasCrossing(), NBEdgeCont::insert(), GNENetHelper::AttributeCarriers::insertEdge(), isBidiEdge(), NBRailwayTopologyAnalyzer::isStraight(), GNELane::isValid(), NBNodeCont::joinJunctions(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdgeCont::joinTramEdges(), NBRequest::laneConflict(), NBEdge(), NBNodeShapeComputer::needsLargeTurn(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBNode::edge_by_direction_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NBNodeCont::pruneSlipLaneNodes(), NBEdgeCont::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBNodeCont::reduceToCircle(), NBNodeCont::removeComponents(), NBNodeCont::removeIsolatedRoads(), NBNodeCont::removeRailComponents(), NBEdgeCont::removeUnwishedEdges(), NIImporter_OpenDrive::retrieveSignalEdges(), NIXMLEdgesHandler::setNodes(), GNEEdge::smoothShape(), GNEEdge::straightenElevation(), NBRailwayGeometryHelper::straigthenCorrdidor(), 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 783 of file NBEdge.h.
References myGeom.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NIXMLEdgesHandler::addEdge(), GNENet::addReversedEdge(), NIXMLEdgesHandler::addSplit(), NBPTStopCont::assignEdgeForFloatingStops(), NBNodeShapeComputer::badIntersection(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), GNEContour::calculateContourEdgeGeometryPoints(), GNEEdge::calculateEdgeContour(), GNEViewNetHelper::MoveMultipleElementModul::calculateEdgeSelection(), NBEdgeCont::checkOverlap(), GNEEdge::clickedOverShapeEnd(), GNEEdge::clickedOverShapeStart(), NBPTStopCont::computeCrossProductEdgePosition(), GNEEdge::drawEdgeGeometryPoints(), GNEEdge::drawEdgeShape(), GNEEdge::drawEndGeometryPoint(), GNEEdge::drawStartGeometryPoint(), GNEEdge::editEndpoint(), NBNode::geometryLike(), GNEEdge::getAttribute(), NBNode::getDirection(), NBContHelper::edge_opposite_direction_sorter::getEdgeAngleAt(), NBTurningDirectionsComputer::getFarAngleAtNode(), NWWriter_DlrNavteq::getGraphLength(), GNEEdge::getMoveOperation(), GNEEdge::getSplitPos(), GNEEdge::hasCustomEndPoints(), NBEdgeCont::ignoreFilterMatch(), isBidiEdge(), isBidiRail(), isNearEnough2BeJoined2(), GNEEdge::isValid(), NBEdgeCont::joinTramEdges(), NIImporter_ArcView::load(), NWWriter_OpenDrive::mapmatchRoadObjects(), NBRampsComputer::moveRampRight(), NBEdge(), GNEViewNet::onCmdSetCustomGeometryPoint(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::relative_incoming_edge_sorter::operator()(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NBRampsComputer::patchRampGeometry(), GNEEdge::processMoveBothJunctionSelected(), GNEEdge::processNoneJunctionSelected(), NBEdgeCont::processSplits(), NIImporter_OpenStreetMap::reconstructLayerElevation(), GNEEdge::removeGeometryPoint(), NBPTStop::replaceEdge(), GNENet::replaceJunctionByGeometry(), GNEEdge::setAttribute(), GNEEdge::setShapeEndPos(), GNEEdge::setShapeStartPos(), shiftPositionAtNode(), GNEEdge::smooth(), GNEEdge::smoothElevation(), NBEdgeCont::splitAt(), NBEdgeCont::splitAt(), GNENet::splitEdge(), NBEdgeCont::splitGeometry(), GNEEdge::straightenElevation(), NGNet::toNB(), GNEEdge::updateCenteringBoundary(), GNEEdge::updateJunctionPosition(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_DlrNavteq::writeNodesUnsplitted().
|
inlinevirtual |
Implements NBRouterEdge.
Definition at line 1528 of file NBEdge.h.
References Named::getID().
Referenced by NIImporter_SUMO::_loadNetwork(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBLoadedSUMOTLDef::addConnection(), NBNode::addedLanesRight(), addRestrictedLane(), NBDistrict::addSink(), NBDistrict::addSource(), NIXMLEdgesHandler::addSplit(), addStraightConnections(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), NBRailwayTopologyAnalyzer::allBroken(), append(), NBEdgeCont::appendRailwayTurnarounds(), applyTurnSigns(), NIImporter_OpenStreetMap::applyTurnSigns(), NBPTStopCont::assignAndCreatNewPTStopAsNeeded(), NBPTStopCont::assignPTStopToEdgeOfClosestPlatform(), NIVissimConnection::buildEdgeConnections(), buildInnerEdges(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::buildWalkingAreas(), NBEdgeCont::checkConsistency(), checkGeometry(), NBEdgeCont::checkGrade(), NBEdgeCont::checkOverlap(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedSUMOTLDef::collectEdges(), NBTrafficLightDefinition::collectEdges(), computeAngle(), NBPTStopCont::computeCrossProductEdgePosition(), computeEdge2Edges(), NBNode::computeInternalLaneShape(), computeLanes2Edges(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), cutAtIntersection(), debugPrintConnections(), NIXMLConnectionsHandler::delConnection(), divideOnEdges(), divideSelectedLanesOnEdges(), NBNode::ApproachingDivider::execute(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), NBEdgeCont::extract(), NBNodeCont::feasibleCluster(), NBPTStop::findLaneAndComputeBusStopExtent(), NBPTLineCont::findWay(), NBTrafficLightDefinition::forbids(), NBRampsComputer::fulfillsRampConstraints(), NBPTStopCont::generateBidiStops(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), getConnection(), getConnectionRef(), getCrossingAngle(), getFirstNonPedestrianLane(), NIImporter_VISUM::getNamedEdgeContinuating(), NBNode::getPossiblySplittedIncoming(), NBNode::getPossiblySplittedOutgoing(), NIImporter_VISUM::getReversedContinuating(), NBPTStopCont::getReverseStop(), NBPTLine::getRouteEnd(), NBPTLine::getRouteStart(), NBPTLine::getStopEdges(), NBNode::guessCrossings(), NBEdgeCont::guessRoundabouts(), NBEdgeCont::guessSpecialLanes(), NBNodeCont::guessTLs(), NBEdgeCont::ignoreFilterMatch(), init(), NBEdgeCont::insert(), NIImporter_VISUM::isSplitEdge(), GNELane::isValid(), NBNodeCont::joinNodeCluster(), NBEdgeCont::joinTramEdges(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NBEdge::MainDirections::MainDirections(), NWWriter_OpenDrive::mapmatchRoadObjects(), GNEJunction::markAsModified(), NBRampsComputer::mayNeedOffRamp(), NBRampsComputer::mayNeedOnRamp(), moveConnectionToLeft(), moveConnectionToRight(), NBRampsComputer::moveRampRight(), NIXMLEdgesHandler::myStartElement(), NBConnection::NBConnection(), NBRequest::NBRequest(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::relative_incoming_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBContHelper::same_connection_edge_sorter::operator()(), NBRequest::oppositeLeftTurnConflict(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_stopPoints(), NIImporter_VISUM::parse_TurnsToSignalGroups(), NIXMLConnectionsHandler::parseConnection(), NIXMLConnectionsHandler::parseDeprecatedLaneDefinition(), NIXMLConnectionsHandler::parseLaneBound(), prepareEdgePriorities(), GNECreateEdgeFrame::processClick(), NBEdgeCont::processSplits(), NWWriter_SUMO::prohibitionConnection(), NBTrafficLightDefinition::railSignalUncontrolled(), recheckLanes(), NBEdgeCont::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NBNode::recheckVClassConnections(), NBLoadedTLDef::SignalGroup::remapIncoming(), NBLoadedTLDef::SignalGroup::remapOutgoing(), GNEJunction::removeConnectionsFrom(), removeFromConnections(), NBNodeCont::removeIsolatedRoads(), NBNode::removeSelfLoops(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), NBEdgeCont::rename(), NBConnection::replaceFrom(), NBConnection::replaceFrom(), replaceInConnections(), NBConnection::replaceTo(), NBConnection::replaceTo(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NBRequest::resetCooperating(), restoreRestrictedLane(), GNEEdge::retrieveGNEConnection(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBPTLineCont::reviseStops(), GNEEdge::setAttribute(), NBRequest::setBlocking(), setControllingTLInformation(), setEdgeStopOffset(), GNEJunction::setMoveShape(), setNodeBorder(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), shiftPositionAtNode(), NBEdgeCont::splitAt(), NBEdgeCont::splitAt(), NBEdgeCont::splitGeometry(), GNENetHelper::AttributeCarriers::updateEdgeID(), NBParking::write(), NBSign::writeAsPOI(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), 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 67 of file Named.h.
Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSDriveWay::addSidings(), MSLaneChanger::avoidDeadlock(), MSDriveWay::canUseSiding(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChangeOpposite(), MSDriveWay::checkFlanks(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), AFRouter< E, N, V >::compute(), AStarRouter< E, V >::compute(), DijkstraRouter< E, V >::compute(), AFBuild< E, N, V >::computeArcFlagsAux(), AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree(), NBOwnTLDef::computeLogicAndConts(), Node2EdgeRouter< E, N, V >::computeNode2Edge(), Node2EdgeRouter< E, N, V >::computeNode2Edges(), MSDriveWay::conflictLaneOccupied(), NBPTLineCont::constructRoute(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::executeMove(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), NBPTLineCont::findWay(), MSDriveWay::foeDriveWayOccupied(), MSCFModel_CACC::followSpeed(), MSCFModel_W99::followSpeed(), MSStopOut::generateOutputForUnfinished(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), LIBSUMO_NAMESPACE::Person::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getOncomingOppositeVehicle(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), MSDevice_SSM::getVehiclesOnJunction(), NBEdgeCont::guessRoundabouts(), MSDriveWay::hasLinkConflict(), MSCFModel_IDM::insertionFollowSpeed(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), libsumo::Helper::moveToXYMap_matchingRoutePosition(), MSDevice_Bluelight::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSDriveWay::notifyLeave(), MSDriveWay::notifyLeaveBack(), MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processNextStop(), MSBaseVehicle::replaceRoute(), MSStoppingPlaceRerouter::reroute(), MSBaseVehicle::reroute(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), toString(), toString(), toString(), MSTriggeredRerouter::triggerRouting(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSAbstractLaneChangeModel::updateShadowLane(), MSPModel_Striping::PState::walk(), and MSLaneChanger::yieldToDeadlockOncoming().
EdgeVector NBEdge::getIncomingEdges | ( | ) | const |
Returns the list of incoming edges unsorted.
Definition at line 1392 of file NBEdge.cpp.
References NBNode::getIncomingEdges(), and myFrom.
Referenced by appendTurnaround(), NBTrafficLightDefinition::collectEdges(), NBEdgeCont::fixSplitCustomLength(), NBNode::removeSelfLoops(), NBRailwayGeometryHelper::straigthenCorrdidor(), and NWWriter_OpenDrive::writeNetwork().
const PositionVector NBEdge::getInnerGeometry | ( | ) | const |
Returns the geometry of the edge without the endpoints.
Definition at line 590 of file NBEdge.cpp.
References PositionVector::getSubpartByIndex(), and myGeom.
Referenced by GNENet::addReversedEdge(), GNELane::buildEdgeOperations(), GNEEdge::clickedOverGeometryPoint(), computeLaneShapes(), GNEEdge::drawEndGeometryPoint(), GNEEdge::drawStartGeometryPoint(), GNEEdge::getAttribute(), GNEEdge::getAttributePositionVector(), GNEViewNet::onCmdSplitEdgeBidi(), GNENet::replaceJunctionByGeometry(), and GNENet::reverseEdge().
double NBEdge::getInternalLaneWidth | ( | const NBNode & | node, |
const NBEdge::Connection & | connection, | ||
const NBEdge::Lane & | successor, | ||
bool | isVia | ||
) | const |
Returns the width of the internal lane associated with the connection.
[in] | node | The node for which this edge is an incoming one |
[in] | connection | The connection from this edge to the successor lane |
[in] | successor | The outgoing lane of the connection |
[in] | isVia | Whether it is computing the Via stage |
Definition at line 4200 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, getLaneWidth(), getNumLanes(), getPermissions(), isBikepath(), NBNode::isConstantWidthTransition(), myLanes, NBEdge::Connection::toEdge, UNSPECIFIED_WIDTH, and NBEdge::Lane::width.
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 2132 of file NBEdge.cpp.
References myFrom, myFromJunctionPriority, and myToJunctionPriority.
Referenced by buildInnerEdges(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NBNode::ApproachingDivider::execute(), NBEdgeCont::extractRoundabouts(), NBEdgeCont::generateStreetSigns(), NBNode::getDirection(), NWWriter_DlrNavteq::getFormOfWay(), NBNode::getLinkState(), NBOwnTLDef::getToPrio(), NBEdge::MainDirections::MainDirections(), NBNode::needsCont(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBRequest::setBlocking(), and NWWriter_SUMO::writeConnection().
double NBEdge::getLaneFriction | ( | int | lane | ) | const |
get lane friction of specified lane
Definition at line 2214 of file NBEdge.cpp.
References myLanes.
Referenced by NBEdge().
std::string NBEdge::getLaneID | ( | int | lane | ) | const |
get lane ID
Definition at line 4016 of file NBEdge.cpp.
References Named::myID, and toString().
Referenced by buildInnerEdges(), NWWriter_OpenDrive::checkLaneGeometries(), NBEdgeCont::computeEdgeShapes(), computeLaneShape(), computeLaneShapes(), NIXMLConnectionsHandler::delConnection(), NBPTStop::findLaneAndComputeBusStopExtent(), NWWriter_SUMO::getOppositeInternalID(), getSidewalkID(), guessOpposite(), GNELane::isValid(), NIXMLConnectionsHandler::parseLaneBound(), recheckLanes(), NBEdgeCont::recheckLanes(), GNEChange_Connection::redo(), NBEdgeCont::rename(), GNENet::replaceIncomingEdge(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), setConnection(), GNEEdge::setEdgeID(), setEdgeStopOffset(), GNELane::setIndex(), GNEChange_Connection::undo(), NBParking::write(), NWWriter_SUMO::writeEdge(), and NWWriter_OpenDrive::writeInternalEdge().
|
static |
Definition at line 4821 of file NBEdge.cpp.
References StringUtils::toInt().
Referenced by NIXMLPTHandler::addPTStop().
|
inline |
Returns the lane definitions.
Definition at line 730 of file NBEdge.h.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NWWriter_OpenDrive::addPedestrianConnection(), buildInnerEdges(), NBNode::buildWalkingAreas(), NBNode::checkCrossing(), NBEdgeCont::computeEdgeShapes(), GNEEdge::drawEndGeometryPoint(), GNEEdge::drawStartGeometryPoint(), NBPTStop::findLaneAndComputeBusStopExtent(), GNEConnection::getAttribute(), GNEEdge::getLaneByAllowedVClass(), GNEEdge::getLaneByDisallowedVClass(), NIXMLShapeHandler::getLanePos(), NWWriter_SUMO::getOppositeInternalID(), NBNode::guessCrossings(), NIImporter_OpenStreetMap::insertEdge(), NIXMLEdgesHandler::myEndElement(), NBEdgeCont::recheckLanes(), NBEdgeCont::removeLanesByWidth(), NBEdgeCont::rename(), GNEConnection::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 986 of file NBEdge.cpp.
References myLanes.
Referenced by NBRequest::bidiConflict(), buildInnerEdges(), NBNode::buildWalkingAreas(), NBEdgeCont::checkGrade(), NWWriter_OpenDrive::checkLaneGeometries(), NBNode::computeInternalLaneShape(), NBPTStop::findLaneAndComputeBusStopExtent(), NBPTLineCont::findWay(), NWWriter_OpenDrive::getInnerLaneBorder(), GNELane::getLaneShape(), NBEdgeCont::guessRoundabouts(), NBEdgeCont::joinTramEdges(), NWWriter_OpenDrive::mapmatchRoadObjects(), NBRampsComputer::patchRampGeometry(), and GNELane2laneConnection::updateLane2laneConnection().
double NBEdge::getLaneSpeed | ( | int | lane | ) | const |
get lane speed
Definition at line 2208 of file NBEdge.cpp.
References myLanes.
Referenced by NBNetBuilder::compute(), GNELane::getAttribute(), GNELane::getColorValue(), GNELane::getSpeed(), and NBEdge().
LaneSpreadFunction NBEdge::getLaneSpreadFunction | ( | ) | const |
Returns how this edge's lanes' lateral offset is computed.
Definition at line 998 of file NBEdge.cpp.
References myLaneSpreadFunction.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesBetweenSwitches(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NIXMLEdgesHandler::addEdge(), NBNodeShapeComputer::badIntersection(), GNEEdge::getAttribute(), isBidiEdge(), isBidiRail(), NBRampsComputer::moveRampRight(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_DlrNavteq::writeNodesUnsplitted().
const StopOffset & NBEdge::getLaneStopOffset | ( | int | lane | ) | const |
Returns the stop offset to the specified lane's end.
Definition at line 4237 of file NBEdge.cpp.
References myEdgeStopOffset, and myLanes.
Referenced by NIXMLEdgesHandler::myStartElement().
|
inline |
Definition at line 1428 of file NBEdge.h.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), NIImporter_OpenStreetMap::applyTurnSigns(), GNELane::buildLaneOperations(), GNEPathManager::PathCalculator::busStopConnected(), GNEPathManager::PathCalculator::calculateReachability(), NBNode::computeInternalLaneShape(), GNEPathManager::PathCalculator::consecutiveEdgesConnected(), GNENet::deleteLane(), GNEEdge::drawEdgeName(), GNELane::drawLaneStopOffset(), GNELane::drawStartEndGeometryPoints(), GNENet::duplicateLane(), GNELane::getACParametersMap(), GNELane::getAttribute(), GNELane::getAttributePositionVector(), GNELane::getColorValue(), GNELane::getLaneShape(), GNELane::isAttributeComputed(), GNELane::isAttributeEnabled(), NIImporter_OpenDrive::loadNetwork(), NIXMLEdgesHandler::myStartElement(), NBEdgeCont::recheckLanes(), NBEdgeCont::rename(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), GNELane::setAttribute(), GNELane::setMoveShape(), GNEEdge::setNumLanes(), NBEdgeCont::splitAt(), GNELane::DrawingConstants::update(), and NWWriter_OpenDrive::writeNormalEdge().
|
inline |
|
inline |
Returns the default width of lanes of this edge.
Definition at line 642 of file NBEdge.h.
References myLaneWidth.
Referenced by NIImporter_SUMO::_loadNetwork(), buildInnerEdges(), GNEAdditional::calculatePerpendicularLine(), NBNode::checkCrossing(), computeAngle(), NBNode::computeInternalLaneShape(), computeLaneShapes(), NBNode::displaceShapeAtWidthChange(), GNELane::drawArrows(), GNELane::drawLinkNo(), GNELane::drawTLSLinkNo(), GNEEdge::getAttribute(), getCCWBoundaryLine(), getCWBoundaryLine(), NBNodeShapeComputer::getExtraWidth(), NWWriter_OpenDrive::getInnerLaneBorder(), getInternalLaneWidth(), getLaneWidth(), NWWriter_OpenDrive::getOuterLaneBorder(), NWWriter_OpenDrive::getRoadSideOffset(), getTotalWidth(), guessOpposite(), GNEEdge::isAttributeComputed(), joinLanes(), NBRampsComputer::moveRampRight(), NBRequest::oppositeLeftTurnConflict(), NBRampsComputer::patchRampGeometry(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_OpenDrive::writeInternalEdge(), NWWriter_OpenDrive::writeNormalEdge(), and NWWriter_OpenDrive::writeSignals().
double NBEdge::getLaneWidth | ( | int | lane | ) | const |
Returns the width of the lane of this edge.
Definition at line 4193 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 593 of file NBEdge.h.
References myLength.
Referenced by append(), GNEPathManager::PathCalculator::calculateReachability(), NBEdgeCont::computeEdgeShapes(), expandableBy(), NBEdgeCont::generateStreetSigns(), GNELane::getColorValue(), NIXMLShapeHandler::getLanePos(), getTravelTimeStatic(), NBEdgeCont::guessRoundabouts(), NBRampsComputer::mayNeedOnRamp(), NIXMLEdgesHandler::myStartElement(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NBNodeCont::pruneSlipLaneNodes(), NBEdgeCont::recheckLanes(), and NBEdgeCont::retrievePossiblySplit().
|
inline |
Returns the length was set explicitly or the computed length if it wasn't set.
Definition at line 602 of file NBEdge.h.
References myLength, and myLoadedLength.
Referenced by NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addSplit(), NBRampsComputer::buildOffRamp(), expandableBy(), NBNodeCont::feasibleCluster(), NBEdgeCont::fixSplitCustomLength(), GNELane::getColorValue(), getFinalLength(), GNELane::getLaneParametricLength(), NBRailwaySignalGuesser::guessByStops(), NBEdgeCont::guessRoundabouts(), NBNode::isLongEnough(), GNEEdge::isValid(), NBNodeCont::joinSimilarEdges(), NBEdgeCont::processSplits(), NBNodeCont::pruneLongEdges(), NBEdgeCont::recheckLanes(), GNENet::replaceJunctionByGeometry(), NBEdgeCont::splitAt(), GNENet::splitEdge(), NBRailwayGeometryHelper::straigthenCorrdidor(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
double NBEdge::getMaxLaneOffset | ( | ) |
get max lane offset
Definition at line 3709 of file NBEdge.cpp.
References myLanes, and SUMO_const_laneWidth.
const PositionVector & NBEdge::getNodeBorder | ( | const NBNode * | node | ) | const |
Definition at line 727 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 1510 of file NBEdge.h.
References myIndex.
Referenced by NBContHelper::edge_similar_direction_sorter::operator()(), and NBNodesEdgesSorter::edge_by_junction_angle_sorter::operator()().
|
inline |
Returns the number of lanes.
Definition at line 520 of file NBEdge.h.
References myLanes.
Referenced by NBLoadedTLDef::SignalGroup::addConnection(), NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NIXMLPTHandler::addPTStop(), NIXMLEdgesHandler::addSplit(), addStraightConnections(), NIVissimTL::NIVissimTLSignal::addTo(), allowsChangingLeft(), allowsChangingRight(), NBEdgeCont::appendRailwayTurnarounds(), NIImporter_OpenStreetMap::applyChangeProhibition(), NIImporter_OpenStreetMap::applyLaneUse(), applyTurnSigns(), NIImporter_OpenStreetMap::applyTurnSigns(), NBNode::ApproachingDivider::ApproachingDivider(), NIVissimConnection::buildEdgeConnections(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::checkCrossing(), NBEdgeCont::checkGrade(), NWWriter_OpenDrive::checkLaneGeometries(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectLinks(), NBNetBuilder::compute(), computeAngle(), NBRequest::computeCrossingResponse(), NBEdgeCont::computeEdgeShapes(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), GNENet::createRoundabout(), GNENet::deleteLane(), NBNode::displaceShapeAtWidthChange(), divideOnEdges(), GNELane::drawMarkingsAndBoundings(), NBRampsComputer::fulfillsRampConstraints(), GNEEdge::getAttribute(), GNELane::getColorValue(), NWWriter_OpenDrive::getInnerLaneBorder(), NWWriter_SUMO::getInternalBidi(), getInternalLaneWidth(), getPermissionVariants(), NWWriter_DlrNavteq::getRoadClass(), NWWriter_OpenDrive::getRoadSideOffset(), NBEdgePriorityComputer::getScore(), getSignalOffset(), guessOpposite(), NBRampsComputer::hasWrongMode(), NBNode::isSimpleContinuation(), GNELane::isValid(), 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(), recheckLanes(), NBEdgeCont::recheckLanes(), NIVissimExtendedEdgePoint::recheckLanes(), NBNode::recheckVClassConnections(), removeInvalidConnections(), NBEdgeCont::removeLanesByWidth(), NBEdgeCont::rename(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NIXMLTrafficLightsHandler::retrieveLaneIndex(), NBEdgePriorityComputer::samePriority(), GNELane::setAttribute(), setConnection(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBEdgeCont::splitAt(), NBEdgeCont::splitGeometry(), GNEConnection::updateGeometry(), GNELane2laneConnection::updateLane2laneConnection(), NBParking::write(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_OpenDrive::writeInternalEdge(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNormalEdge(), and NWWriter_OpenDrive::writeSignals().
int NBEdge::getNumLanesThatAllow | ( | SVCPermissions | permissions, |
bool | allPermissions = true |
||
) | const |
Definition at line 4507 of file NBEdge.cpp.
References myLanes.
Referenced by applyTurnSigns(), NBNode::getDirection(), and NBNode::isStraighter().
|
virtualinherited |
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 |
Reimplemented in MSActuatedTrafficLightLogic, MSSimpleTrafficLightLogic, and NEMALogic.
Definition at line 90 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSPModel_JuPedSim::add(), NBRailwayTopologyAnalyzer::addBidiEdge(), addRestrictedLane(), FareModul::addStop(), GUIInductLoop::buildDetectorGUIRepresentation(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), MSVehicleType::check(), MSRailSignal::constraintsAllow(), GUINet::createTLWrapper(), GNEEdge::drawEdgeName(), GNEConnection::drawEdgeValues(), GNEGenericData::drawFilteredAttribute(), GUIEdge::drawGL(), EnergyParams::EnergyParams(), MSDevice_SSM::filterByConflictType(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), GUIVehicle::getColorValue(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::getColorValue(), GNELane::getColorValue(), GUIEdge::getColorValue(), GUILane::getColorValue(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), LIBSUMO_NAMESPACE::TrafficLight::getFutureTripIds(), MSTLLogicControl::WAUTSwitchProcedure::getGSPTime(), RORoutable::getMaxSpeed(), MSDevice_SSM::getMDRAC_PRT(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), GUIBaseVehicle::getOptionalName(), GUITrafficLightLogicWrapper::getOptionalName(), MSDevice_SSM::getOutputFilename(), MSSimpleTrafficLightLogic::getParameter(), NEMALogic::getParameter(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSBaseVehicle::getPrefixedParameter(), GUIBaseVehicle::getScaleValue(), LIBSUMO_NAMESPACE::Vehicle::getStopParameter(), SUMOTrafficObject::getStringParam(), MSRailSignalConstraint::getVeh(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), MSStoppingPlaceRerouter::getWeight(), MSRailSignal::hasInsertionConstraint(), MSRailSignalControl::haveDeadlock(), MSLink::ignoreFoe(), MSSOTLPhasePolicy::init(), MSStageDriving::init(), PushButtonLogic::init(), SigmoidLogic::init(), SUMOVTypeParameter::initRailVisualizationParameters(), NIImporter_OpenStreetMap::insertNodeChecking(), MSAbstractLaneChangeModel::laneChangeOutput(), NWWriter_OpenDrive::mapmatchRoadObjects(), Parameterised::mergeParameters(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSDevice_GLOSA::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), GNEVType::overwriteVType(), NWWriter_OpenDrive::parseTrafficSign(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSDevice_SSM::requestsTrajectories(), MSDevice_Bluelight::resetVehicle(), GNEEdgeData::setColor(), GNEEdgeRelData::setColor(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), setOrigID(), MSVehicle::slowDownForSchedule(), NBEdgeCont::splitAt(), LIBSUMO_NAMESPACE::TrafficLight::swapParameters(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), MSDevice_SSM::writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_OpenDrive::writeRoadObjects(), and NWWriter_OpenDrive::writeSignals().
|
inherited |
Returns the inner key/value map.
Definition at line 145 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NIImporter_SUMO::_loadNetwork(), NBNode::addCrossing(), addLane(), append(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEGenericData::drawAttribute(), GNEGenericData::drawFilteredAttribute(), NLDetectorBuilder::endE3Detector(), GNEAccess::getACParametersMap(), GNECalibrator::getACParametersMap(), GNEDetector::getACParametersMap(), GNEMultiEntryExitDetector::getACParametersMap(), GNEOverheadWire::getACParametersMap(), GNEParkingSpace::getACParametersMap(), GNERerouter::getACParametersMap(), GNERouteProbe::getACParametersMap(), GNEStoppingPlace::getACParametersMap(), GNETAZ::getACParametersMap(), GNEVaporizer::getACParametersMap(), GNEVariableSpeedSign::getACParametersMap(), GNEDataInterval::getACParametersMap(), GNEDataSet::getACParametersMap(), GNEGenericData::getACParametersMap(), GNEContainer::getACParametersMap(), GNEPerson::getACParametersMap(), GNEPersonTrip::getACParametersMap(), GNERide::getACParametersMap(), GNERoute::getACParametersMap(), GNEStop::getACParametersMap(), GNEStopPlan::getACParametersMap(), GNETranship::getACParametersMap(), GNETransport::getACParametersMap(), GNEVehicle::getACParametersMap(), GNEVType::getACParametersMap(), GNEWalk::getACParametersMap(), GNEConnection::getACParametersMap(), GNECrossing::getACParametersMap(), GNEEdge::getACParametersMap(), GNEEdgeType::getACParametersMap(), GNEJunction::getACParametersMap(), GNELane::getACParametersMap(), GNELaneType::getACParametersMap(), GNEPOI::getACParametersMap(), GNEPoly::getACParametersMap(), MSRailSignalConstraint_Predecessor::getDescription(), NWWriter_OpenDrive::getDividerType(), GUILane::getParameterWindow(), GNESingleParametersDialog::GNESingleParametersDialog(), MSRailCrossing::init(), MSActuatedTrafficLightLogic::init(), MSDevice_Taxi::initDispatch(), MSPModel_JuPedSim::initialize(), MSBaseVehicle::initTransientModelParams(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::insertNodeChecking(), GNEEdgeData::isGenericDataVisible(), GNEEdgeRelData::isGenericDataVisible(), GNETAZRelData::isGenericDataVisible(), GNEGenericData::isVisibleInspectDeleteSelect(), NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), NBTrafficLightLogic::NBTrafficLightLogic(), GUIParameterTableWindow::numParams(), GNESingleParametersDialog::onCmdReset(), GNEVType::overwriteVType(), TraCIServerAPI_TrafficLight::processGet(), Parameterised::setParameters(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), GNEEdgeData::writeGenericData(), GNEEdgeRelData::writeGenericData(), and GNETAZRelData::writeGenericData().
|
inherited |
Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN".
Definition at line 151 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by GNEAccess::getAttribute(), GNEBusStop::getAttribute(), GNECalibrator::getAttribute(), GNECalibratorFlow::getAttribute(), GNEChargingStation::getAttribute(), GNEContainerStop::getAttribute(), GNEMultiEntryExitDetector::getAttribute(), GNEOverheadWire::getAttribute(), GNEParkingArea::getAttribute(), GNEParkingSpace::getAttribute(), GNERerouter::getAttribute(), GNERouteProbe::getAttribute(), GNETAZ::getAttribute(), GNETAZSourceSink::getAttribute(), GNETractionSubstation::getAttribute(), GNEVaporizer::getAttribute(), GNEVariableSpeedSign::getAttribute(), GNEEdgeData::getAttribute(), GNEEdgeRelData::getAttribute(), GNETAZRelData::getAttribute(), GNEContainer::getAttribute(), GNEPerson::getAttribute(), GNERoute::getAttribute(), GNEStop::getAttribute(), GNEVehicle::getAttribute(), GNEVType::getAttribute(), GNEConnection::getAttribute(), GNEEdge::getAttribute(), GNEEdgeType::getAttribute(), GNEJunction::getAttribute(), GNELane::getAttribute(), GNELaneType::getAttribute(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), and GNEDetector::getDetectorAttribute().
SVCPermissions NBEdge::getPermissions | ( | int | lane = -1 | ) | const |
get the union of allowed classes over all lanes or for a specific lane
Definition at line 4378 of file NBEdge.cpp.
References getPermissions(), and myLanes.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NWWriter_OpenDrive::addPedestrianConnection(), NIXMLPTHandler::addPTStop(), GNENet::addRestrictedLane(), addStraightConnections(), NBRailwayTopologyAnalyzer::Track::addSuccessor(), GNELane::allowPedestrians(), NBNode::alreadyConnectedPaths(), appendTurnaround(), NIImporter_OpenStreetMap::applyLaneUse(), applyTurnSigns(), NBNode::ApproachingDivider::ApproachingDivider(), NBPTStopCont::assignEdgeForFloatingStops(), NBRequest::bidiConflict(), GNEConnectorFrame::buildConnection(), buildInnerEdges(), canMoveConnection(), NBRequest::checkLaneFoesByClass(), NBTrafficLightDefinition::collectAllLinks(), computeAngle(), computeEdge2Edges(), NBOwnTLDef::computeLogicAndConts(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NBNode::displaceShapeAtWidthChange(), divideOnEdges(), divideSelectedLanesOnEdges(), GNELane::drawAsWaterway(), NBNode::ApproachingDivider::execute(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), NBNodeCont::feasibleCluster(), NBPTStopCont::findAccessEdgesForRailStops(), NBPTLineCont::fixPermissions(), GNEEdge::getAttribute(), GNELane::getAttribute(), GNELane::getColorValue(), getConnectionLanes(), NBNode::getDirection(), NBNodeShapeComputer::getExtraWidth(), NWWriter_DlrNavteq::getFormOfWay(), getInternalLaneWidth(), GNEConnectorFrame::getLaneStatus(), NBNode::getLinkState(), getPermissions(), getPermissionVariants(), NWWriter_OpenDrive::getRoadSideOffset(), getSuccessors(), getViaSuccessors(), NBRailwaySignalGuesser::guessByStops(), NBEdgeCont::guessRoundabouts(), NBEdgeCont::guessSpecialLanes(), NBNodeCont::guessTLs(), NBRampsComputer::hasWrongMode(), NBEdgeCont::ignoreFilterMatch(), NIImporter_OpenStreetMap::insertEdge(), isBidiRail(), NBNode::isExplicitRailNoBidi(), isRailDeadEnd(), GNELane::isRestricted(), joinLanes(), NBNodeCont::joinNodeCluster(), NBNodeCont::joinSimilarEdges(), NBEdgeCont::joinTramEdges(), NBEdge::MainDirections::MainDirections(), NBEdgePriorityComputer::markBestParallel(), NBRequest::mergeConflict(), NBEdge(), NBNodeShapeComputer::needsLargeTurn(), NBTurningDirectionsComputer::combination_by_angle_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), recheckLanes(), NBNode::recheckVClassConnections(), NBNodeCont::removeComponents(), NBEdgeCont::removeEdgesByPermissions(), removeInvalidConnections(), NBPTStop::replaceEdge(), GNENet::restrictLane(), shiftPositionAtNode(), GNERerouterSymbol::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 4495 of file NBEdge.cpp.
References getNumLanes(), getPermissions(), and toString().
Referenced by NBNode::computeLanes2Lanes().
|
inline |
Returns the priority of the edge.
Definition at line 527 of file NBEdge.h.
References myPriority.
Referenced by NIXMLEdgesHandler::addEdge(), GNENet::createRoundabout(), expandableBy(), NBRailwayTopologyAnalyzer::extendDirectionPriority(), GNEEdge::getAttribute(), GNELane::getColorValue(), NBEdgePriorityComputer::getScore(), 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 2417 of file NBEdge.cpp.
References ANGLE_LOOKAHEAD, Position::angleTo2D(), GeomHelper::legacyDegree(), PositionVector::length2D(), MIN2(), myGeom, and PositionVector::positionAtOffset2D().
Referenced by NBContHelper::edge_similar_direction_sorter::operator()().
double NBEdge::getShapeStartAngle | ( | ) | const |
Returns the angle at the start of the edge.
Definition at line 2409 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 4556 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 717 of file NBEdge.h.
References mySignalNode.
Referenced by NBNodeCont::guessTLs().
double NBEdge::getSignalOffset | ( | ) | const |
Returns the offset of a traffic signal from the end of this edge.
Definition at line 4425 of file NBEdge.cpp.
References Position::distanceTo2D(), getNumLanes(), Position::INVALID, myLanes, myLaneSpreadFunction, mySignalPosition, RIGHT, and UNSPECIFIED_SIGNAL_OFFSET.
Referenced by NBNodeCont::guessTLs().
|
inline |
Returns the position of a traffic signal on this edge.
Definition at line 712 of file NBEdge.h.
References mySignalPosition.
Referenced by NBNodeCont::guessTLs().
|
inline |
get Signs
Definition at line 1455 of file NBEdge.h.
References mySigns.
Referenced by NWWriter_XML::writeStreetSigns().
int NBEdge::getSpecialLane | ( | SVCPermissions | permissions | ) | const |
return index of the first lane that allows the given permissions
Definition at line 4471 of file NBEdge.cpp.
References myLanes.
Referenced by NBNode::computeLanes2Lanes(), and NBNode::recheckVClassConnections().
|
inlinevirtual |
Returns the speed allowed on this edge.
Implements NBRouterEdge.
Definition at line 619 of file NBEdge.h.
References mySpeed.
Referenced by NIXMLEdgesHandler::addSplit(), GNEPathManager::PathCalculator::calculateReachability(), NBNode::checkCrossing(), NBRampsComputer::fulfillsRampConstraints(), GNEEdge::getAttribute(), NWWriter_DlrNavteq::getRoadClass(), NBEdgePriorityComputer::getScore(), getTravelTimeStatic(), NBEdgeCont::guessSpecialLanes(), hasLaneSpecificSpeed(), NBEdgeCont::ignoreFilterMatch(), NBNodeCont::joinSimilarEdges(), NBContHelper::edge_by_priority_sorter::operator()(), NBEdgeCont::removeEdgesBySpeed(), 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 555 of file NBEdge.h.
References myStartAngle.
Referenced by NBContHelper::relative_outgoing_edge_sorter::operator()(), and NBNode::rightTurnConflict().
|
inline |
The building step of this edge.
Definition at line 635 of file NBEdge.h.
References myStep.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNode::computeLanes2Lanes(), NIXMLConnectionsHandler::delConnection(), NBNode::ApproachingDivider::execute(), NBNode::isExplicitRailNoBidi(), NBNodeCont::joinNodeCluster(), NIXMLConnectionsHandler::parseLaneBound(), replaceInConnections(), and GNENet::restrictLane().
NBEdge * NBEdge::getStraightContinuation | ( | SVCPermissions | permissions | ) | const |
return the straightest follower edge for the given permissions or nullptr (never returns turn-arounds)
Definition at line 4857 of file NBEdge.cpp.
References filterByPermissions(), NBNode::getOutgoingEdges(), isTurningDirectionAt(), and myTo.
Referenced by NBRailwayTopologyAnalyzer::extendDirectionPriority(), and NBNodeCont::pruneLongEdges().
NBEdge * NBEdge::getStraightPredecessor | ( | SVCPermissions | permissions | ) | const |
return the straightest predecessor edge for the given permissions or nullptr (never returns turn-arounds)
Definition at line 4872 of file NBEdge.cpp.
References filterByPermissions(), NBNode::getIncomingEdges(), isTurningDirectionAt(), and myFrom.
Referenced by NBRailwayTopologyAnalyzer::extendDirectionPriority().
|
inline |
Returns the street name of this edge.
Definition at line 669 of file NBEdge.h.
References myStreetName.
Referenced by NIXMLEdgesHandler::addEdge(), GNEEdge::drawEdgeName(), expandableBy(), GNEEdge::getAttribute(), GNEEdge::getOptionalName(), NBEdgeCont::joinSameNodeConnectingEdges(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeNormalEdge().
const EdgeVector & NBEdge::getSuccessors | ( | SUMOVehicleClass | vClass = SVC_IGNORING | ) | const |
Returns the following edges for the given vClass.
Definition at line 4761 of file NBEdge.cpp.
References getPermissions(), myConnections, mySuccessors, and SVC_IGNORING.
Referenced by recheckLanes(), and replaceInConnections().
|
inline |
Returns the destination node of the edge.
Definition at line 546 of file NBEdge.h.
References myTo.
Referenced by NIImporter_SUMO::_loadNetwork(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesBetweenSwitches(), NBRailwayTopologyAnalyzer::addBidiEdgesForBufferStops(), NBLoadedSUMOTLDef::addConnection(), NIXMLConnectionsHandler::addCrossing(), NBNode::addedLanesRight(), NIXMLEdgesHandler::addLane(), NIXMLConnectionsHandler::addProhibition(), NIXMLEdgesHandler::addSplit(), NIXMLTrafficLightsHandler::addTlConnection(), NIVissimDisturbance::addToNode(), NBLoadedTLDef::addToSignalGroup(), NIXMLConnectionsHandler::addWalkingArea(), NBNode::alreadyConnectedPaths(), NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), NBNodeShapeComputer::badIntersection(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), GNEConnection::changeTLIndex(), NBEdgeCont::checkConsistency(), NBNode::checkCrossing(), NBEdgeCont::checkOverlap(), NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectNodes(), NBOwnTLDef::computeLogicAndConts(), NBRampsComputer::computeRamps(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NIVissimDistrictConnection::dict_BuildDistricts(), GNELane::drawLane2LaneConnections(), GNELane::drawLinkNo(), NBNode::ApproachingDivider::execute(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBEdgeCont::extractRoundabouts(), NBNodeCont::feasibleCluster(), NBRampsComputer::fulfillsRampConstraints(), NBEdgeCont::generateStreetSigns(), GNEEdge::getAttribute(), NBNode::getDirection(), NBTurningDirectionsComputer::getFarAngleAtNode(), getFinalLength(), NWWriter_DlrNavteq::getFormOfWay(), NWWriter_DlrNavteq::getGraphLength(), NIImporter_VISUM::getNamedEdgeContinuating(), NBNode::getOppositeIncoming(), NWWriter_SUMO::getOppositeInternalID(), NBPTStopCont::getReverseEdge(), NIImporter_OpenDrive::getTLSSecure(), NBOwnTLDef::getToPrio(), GNEEdge::GNEEdge(), NBRailwaySignalGuesser::guessByStops(), guessOpposite(), NBEdgeCont::guessRoundabouts(), NBEdgeCont::guessSpecialLanes(), NBNodeCont::guessTLs(), NBOwnTLDef::hasStraightConnection(), NBEdgeCont::insert(), GNENetHelper::AttributeCarriers::insertEdge(), GNEConnection::isAttributeEnabled(), isBidiEdge(), NBNode::isLongEnough(), NBRailwayTopologyAnalyzer::isStraight(), GNEConnection::isValid(), GNELane::isValid(), NBNodeCont::joinJunctions(), NBNodeCont::joinNodeCluster(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdgeCont::joinTramEdges(), NBRequest::laneConflict(), NBRampsComputer::mayNeedOnRamp(), NBEdge(), NBNodeShapeComputer::needsLargeTurn(), NBOwnTLDef::edge_by_incoming_priority_sorter::operator()(), NBContHelper::relative_incoming_edge_sorter::operator()(), NBContHelper::edge_by_angle_to_nodeShapeCentroid_sorter::operator()(), NBContHelper::edge_with_destination_finder::operator()(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), NIImporter_VISUM::parse_stopPoints(), NIXMLConnectionsHandler::parseConnection(), NIXMLConnectionsHandler::parseLaneBound(), NBOwnTLDef::patchNEMAStateForCrossings(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NBNodeCont::pruneLongEdges(), NBNodeCont::pruneSlipLaneNodes(), NBTrafficLightDefinition::railSignalUncontrolled(), NBEdgeCont::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBNodeCont::reduceToCircle(), NBNodeCont::removeComponents(), NBNode::removeEdge(), NBNodeCont::removeIsolatedRoads(), NBNodeCont::removeRailComponents(), NBEdgeCont::removeUnwishedEdges(), NBNodeCont::removeUnwishedNodes(), GNENet::replaceJunctionByGeometry(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NIImporter_OpenDrive::retrieveSignalEdges(), NBNode::rightTurnConflict(), GNEConnection::setAttribute(), NIXMLEdgesHandler::setNodes(), NIVissimConflictArea::setPriorityRegulation(), GNEEdge::smoothShape(), GNEEdge::straightenElevation(), NBRailwayGeometryHelper::straigthenCorrdidor(), NBNodesEdgesSorter::swapWhenReversed(), GNELane2laneConnection::updateLane2laneConnection(), GNEConnection::updateLinkState(), NBRailwayTopologyAnalyzer::updateTurns(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_OpenDrive::writeInternalEdge(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_SUMO::writeRoundabout(), and NWWriter_OpenDrive::writeSignals().
|
inline |
Returns the angle at the start of the edge.
Definition at line 586 of file NBEdge.h.
References myTotalAngle.
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 4216 of file NBEdge.cpp.
References getLaneWidth(), and myLanes.
Referenced by GNENet::addReversedEdge(), NBNodeShapeComputer::badIntersection(), NBEdgeCont::checkOverlap(), computeLaneShapes(), NBNodeShapeComputer::divisionWidth(), NBNodeShapeComputer::isDivided(), NBNode::isSimpleContinuation(), setNodeBorder(), shiftPositionAtNode(), and NWWriter_DlrNavteq::writeNodesUnsplitted().
|
inlinestatic |
Definition at line 1495 of file NBEdge.h.
References getLength(), and getSpeed().
Referenced by NBRailwayTopologyAnalyzer::getTravelTimeStatic().
|
inlinestaticinherited |
Definition at line 82 of file NBEdge.h.
References NBRouterEdge::getLength(), and NBRouterEdge::getSpeed().
Referenced by NBPTLineCont::fixBidiStops(), GNEPathManager::PathCalculator::PathCalculator(), and GNEPathManager::PathCalculator::updatePathCalculator().
NBEdge * NBEdge::getTurnDestination | ( | bool | possibleDestination = false | ) | const |
Definition at line 4007 of file NBEdge.cpp.
References myPossibleTurnDestination, and myTurnDestination.
Referenced by NBEdgeCont::appendRailwayTurnarounds(), NBNode::avoidOverlap(), buildInnerEdges(), NBNode::checkIsRemovableReporting(), computeEdge2Edges(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBPTStopCont::generateBidiStops(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), NBNode::getEdgesToJoin(), NWWriter_SUMO::getInternalBidi(), NBEdgeCont::guessRoundabouts(), isRailDeadEnd(), NBEdgeCont::recheckLanes(), GNEEdge::removeConnection(), GNEJunction::removeConnectionsFrom(), GNEEdge::setAttribute(), GNELane2laneConnection::updateLane2laneConnection(), and NWWriter_SUMO::writeEdge().
|
inline |
Definition at line 1553 of file NBEdge.h.
References myTurnSignTarget.
|
inline |
get ID of type
Definition at line 1181 of file NBEdge.h.
References myType.
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 4779 of file NBEdge.cpp.
References getPermissions(), myConnections, myViaSuccessors, and SVC_PEDESTRIAN.
NBEdge * NBEdge::guessOpposite | ( | bool | reguess = false | ) |
set oppositeID and return opposite edge if found
Definition at line 4888 of file NBEdge.cpp.
References PositionVector::distances(), getFromNode(), getLaneID(), getLaneWidth(), getNumLanes(), NBNode::getOutgoingEdges(), getToNode(), VectorHelper< T >::maxValue(), myLanes, NBEdge::Lane::oppositeID, and NBEdge::Lane::shape.
Referenced by NBEdgeCont::guessOpposites().
bool NBEdge::hasAccelLane | ( | ) | const |
whether one of the lanes is an acceleration lane
Definition at line 2516 of file NBEdge.cpp.
References myLanes.
Referenced by needsLaneSpecificOutput().
bool NBEdge::hasConnectionTo | ( | const 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 1324 of file NBEdge.cpp.
References myConnections.
Referenced by NBNode::buildWalkingAreas(), NIXMLConnectionsHandler::delConnection(), GNEConnectorFrame::getLaneStatus(), recheckLanes(), NBLoadedSUMOTLDef::reconstructLogic(), removeInvalidConnections(), and setConnection().
bool NBEdge::hasCustomLaneShape | ( | ) | const |
whether one of the lanes has a custom shape
Definition at line 2527 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 596 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 609 of file NBEdge.cpp.
References NBNode::getPosition(), myFrom, myGeom, and myTo.
Referenced by NBNodeShapeComputer::badIntersection(), 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 602 of file NBEdge.cpp.
References PositionVector::almostSame(), 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 2538 of file NBEdge.cpp.
References myLanes.
Referenced by needsLaneSpecificOutput().
bool NBEdge::hasLaneSpecificEndOffset | ( | ) | const |
whether lanes differ in offset
Definition at line 2492 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::getAttribute(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificFriction | ( | ) | const |
whether lanes differ in friction
Definition at line 2460 of file NBEdge.cpp.
References myLanes.
Referenced by GNEEdge::getAttribute(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificPermissions | ( | ) | const |
whether lanes differ in allowed vehicle classes
Definition at line 2436 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 2450 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 2503 of file NBEdge.cpp.
References StopOffset::isDefined(), myEdgeStopOffset, and myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
bool NBEdge::hasLaneSpecificType | ( | ) | const |
whether lanes differ in type
Definition at line 2481 of file NBEdge.cpp.
References myLanes.
Referenced by needsLaneSpecificOutput().
bool NBEdge::hasLaneSpecificWidth | ( | ) | const |
whether lanes differ in width
Definition at line 2470 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), GNEEdge::getAttribute(), GNEEdge::isAttributeComputed(), needsLaneSpecificOutput(), and NWWriter_XML::writeEdgesAndConnections().
|
inline |
Returns whether a length was set explicitly.
Definition at line 612 of file NBEdge.h.
References myLoadedLength.
Referenced by NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addSplit(), NBEdgeCont::fixSplitCustomLength(), getFinalLength(), GNEEdge::isAttributeComputed(), GNENet::replaceJunctionByGeometry(), NBEdgeCont::splitAt(), GNENet::splitEdge(), NWWriter_SUMO::writeEdge(), and NWWriter_XML::writeEdgesAndConnections().
|
inherited |
Returns whether the parameter is set.
[in] | key | The key to ask for |
Definition at line 84 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by MSStageWalking::activateEntryReminders(), append(), MSVehicleType::build(), GUIInductLoop::buildDetectorGUIRepresentation(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), GUINet::createTLWrapper(), EnergyParams::EnergyParams(), MSDevice_SSM::filterByConflictType(), NWWriter_DlrNavteq::getBrunnelType(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::getColorValue(), GNELane::getColorValue(), GUILane::getColorValue(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice_SSM::getMDRAC_PRT(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_SSM::getOutputFilename(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSStoppingPlaceRerouter::getWeight(), MSStageDriving::init(), SUMOVTypeParameter::initRailVisualizationParameters(), MSEdge::insertVehicle(), NWWriter_OpenDrive::mapmatchRoadObjects(), Parameterised::mergeParameters(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), GNEVType::overwriteVType(), NWWriter_OpenDrive::parseTrafficSign(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSDevice_SSM::requestsTrajectories(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), MSVehicle::slowDownForSchedule(), MSDevice_SSM::useGeoCoords(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::WAUTSwitchProcedure_Stretch(), MSDevice_SSM::writeLanesPositions(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_OpenDrive::writeRoadObjects(), and NWWriter_OpenDrive::writeSignals().
bool NBEdge::hasPermissions | ( | ) | const |
whether at least one lane has restrictions
Definition at line 2425 of file NBEdge.cpp.
|
private |
returns whether any lane already allows the given vclass exclusively
Definition at line 4595 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 3996 of file NBEdge.cpp.
References myConnections.
Referenced by buildInnerEdges(), and NBRequest::forbids().
|
private |
Definition at line 2122 of file NBEdge.cpp.
References NBNode::computeInternalLaneShape(), firstIntersection(), and PositionVector::length().
Referenced by buildInnerEdges().
void NBEdge::incLaneNo | ( | int | by | ) |
increment lane
Definition at line 4074 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 463 of file NBEdge.cpp.
References PositionVector::add(), NBNode::addIncomingEdge(), NBNode::addOutgoingEdge(), computeAngle(), computeLaneShapes(), DEBUGCOND, getID(), Named::getID(), NBNode::getIncomingEdges(), NBNode::getPosition(), SUMOXMLDefinitions::isValidNetID(), PositionVector::length(), myConnections, myConnectionsToDelete, myFrom, myGeom, Named::myID, myLanes, myLength, myTo, PositionVector::push_back_noDoublePos(), PositionVector::push_front_noDoublePos(), PositionVector::removeDoublePoints(), removeFromConnections(), PositionVector::reverse(), TL, TLF, and WRITE_WARNINGF.
Referenced by NBEdge(), NBEdge(), NBEdge(), and reinit().
void NBEdge::invalidateConnections | ( | bool | reallowSetting = false | ) |
invalidate current connections of edge
Definition at line 1528 of file NBEdge.cpp.
References INIT, INIT_REJECT_CONNECTIONS, myConnections, myStep, and myTurnDestination.
Referenced by addEdge2EdgeConnection(), addLane(), addLane2LaneConnections(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), deleteLane(), NBEdgeCont::guessSpecialLanes(), NBEdgeCont::joinTramEdges(), NBRailwayTopologyAnalyzer::makeAllBidi(), NBEdgeCont::processSplits(), and GNEEdge::setAttribute().
|
inline |
return whether this edge should be a bidi edge
Definition at line 1423 of file NBEdge.h.
References myIsBidi.
Referenced by setBidi(), and NBEdgeCont::splitAt().
bool NBEdge::isBidiEdge | ( | bool | checkPotential = false | ) | const |
whether this edge is part of a bidirectional edge pair
Definition at line 761 of file NBEdge.cpp.
References CENTER, getFromNode(), getGeometry(), getLaneSpreadFunction(), getToNode(), myIsBidi, myLanes, myLaneSpreadFunction, myPossibleTurnDestination, and PositionVector::reverse().
Referenced by getBidiEdge(), GNEEdge::isAttributeEnabled(), GNEEdge::isValid(), NBNode::mustBrake(), and GNELane::DrawingConstants::update().
bool NBEdge::isBidiRail | ( | bool | ignoreSpread = false | ) | const |
whether this edge is part of a bidirectional railway
Definition at line 749 of file NBEdge.cpp.
References CENTER, getGeometry(), getLaneSpreadFunction(), getPermissions(), isRailway(), myLaneSpreadFunction, myPossibleTurnDestination, and PositionVector::reverse().
Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NBRailwayTopologyAnalyzer::addBidiEdgesForStops(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), buildInnerEdges(), NBNode::computeInternalLaneShape(), expandableBy(), NBRailwayTopologyAnalyzer::extendBidiEdges(), NBPTStopCont::generateBidiStops(), getBidiEdge(), getFinalLength(), NBEdgeCont::recheckLanes(), GNELane::DrawingConstants::update(), and NWWriter_SUMO::writeEdge().
bool NBEdge::isConnectedTo | ( | const NBEdge * | e, |
const bool | ignoreTurnaround = false |
||
) | const |
Returns the information whethe a connection to the given edge has been added (or computed)
[in] | e | The destination edge |
[in] | ignoreTurnaround | flag to ignore or not Turnaround |
Definition at line 1330 of file NBEdge.cpp.
References myConnections, and myTurnDestination.
Referenced by NBNode::addedLanesRight(), NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), NBNode::computeLanes2Lanes(), NIXMLConnectionsHandler::delConnection(), NBEdgeCont::joinTramEdges(), NBRequest::setBlocking(), and NWWriter_DlrNavteq::writeProhibitedManoeuvres().
|
inline |
Returns whether this edge was marked as being within an intersection.
Definition at line 1148 of file NBEdge.h.
References myAmInTLS.
Referenced by NBNode::getLinkState().
|
inlinevirtualinherited |
Reimplemented in NBEdge::Connection.
|
inline |
Returns whether this edge was marked as a macroscopic connector.
Definition at line 1136 of file NBEdge.h.
References myAmMacroscopicConnector.
Referenced by NBRampsComputer::fulfillsRampConstraints(), GNELane::getColorValue(), 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 4022 of file NBEdge.cpp.
References PositionVector::distances(), getGeometry(), VectorHelper< T >::maxValue(), and myGeom.
Referenced by NBNodeCont::joinSimilarEdges().
|
inline |
Definition at line 1399 of file NBEdge.h.
References myIsOffRamp.
Referenced by NBNode::addedLanesRight(), and markOffRamp().
|
staticprivateinherited |
check if given string can be parsed to a parameter of type "key=value"
Definition at line 254 of file Parameterised.cpp.
References StringTokenizer::getVector(), and SUMOXMLDefinitions::isValidParameterKey().
Referenced by Parameterised::areAttributesValid(), and Parameterised::areParametersValid().
bool NBEdge::isRailDeadEnd | ( | ) | const |
whether this edge is a railway edge that does not continue
Definition at line 779 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 3664 of file NBEdge.cpp.
References myPossibleTurnDestination, and myTurnDestination.
Referenced by NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), GNEJunction::checkMissingConnections(), NBNode::computeLanes2Lanes(), NBNode::crossesFringe(), NBRampsComputer::fulfillsRampConstraints(), NBNode::geometryLike(), NBNode::getDirection(), NBNode::getNextCompatibleOutgoing(), getStraightContinuation(), getStraightPredecessor(), NBLoadedSUMOTLDef::initNeedsContRelation(), NBNode::isLeftMover(), NBRequest::laneConflict(), NBContHelper::opposite_finder::operator()(), recheckLanes(), removeInvalidConnections(), NBNode::rightTurnConflict(), NBRequest::setBlocking(), GNEEdge::smoothShape(), NBRailwayGeometryHelper::straigthenCorrdidor(), 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 4826 of file NBEdge.cpp.
References deleteLane(), getLaneWidth(), getNumLanes(), getPermissions(), myLanes, setLaneType(), and setLaneWidth().
bool NBEdge::lanesWereAssigned | ( | ) | const |
Check if lanes were assigned.
Definition at line 3703 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 4117 of file NBEdge.cpp.
References NBNode::getOutgoingEdges(), LANES2LANES_DONE, myStep, and myTo.
|
inline |
marks this edge has being an offRamp or leading to one (used for connection computation)
Definition at line 1395 of file NBEdge.h.
References isOffRamp(), and myIsOffRamp.
Referenced by NBRampsComputer::buildOffRamp().
bool NBEdge::mayBeTLSControlled | ( | int | fromLane, |
NBEdge * | toEdge, | ||
int | toLane | ||
) | const |
return true if certain connection must be controlled by TLS
Definition at line 3715 of file NBEdge.cpp.
References myConnections.
Referenced by NBTrafficLightDefinition::collectAllLinks(), NBLoadedTLDef::collectLinks(), NBTrafficLightDefinition::collectReachable(), NBLoadedSUMOTLDef::reconstructLogic(), and setControllingTLInformation().
|
inherited |
Adds or appends all given parameters from the map.
[in] | mapArg | The keys/values to insert |
Definition at line 65 of file Parameterised.cpp.
References Parameterised::getParameter(), Parameterised::hasParameter(), and Parameterised::setParameter().
Referenced by append().
void NBEdge::mirrorX | ( | ) |
mirror coordinates along the x-axis
Definition at line 570 of file NBEdge.cpp.
References computeAngle(), Position::INVALID, PositionVector::mirrorX(), myConnections, myGeom, myLanes, mySignalPosition, Position::sety(), and Position::y().
Referenced by GNEEdge::setGeometry().
|
private |
@briefmoves a connection one place to the left;
Definition at line 1659 of file NBEdge.cpp.
References canMoveConnection(), getID(), myConnections, setConnection(), NBEdge::Connection::toEdge, NBEdge::Connection::toLane, and VALIDATED.
Referenced by recheckLanes().
|
private |
@briefmoves a connection one place to the right; @noteAttention! no checking for field validity
Definition at line 1677 of file NBEdge.cpp.
References canMoveConnection(), getID(), myConnections, setConnection(), NBEdge::Connection::toEdge, NBEdge::Connection::toLane, and VALIDATED.
Referenced by recheckLanes().
void NBEdge::moveOutgoingConnectionsFrom | ( | NBEdge * | e, |
int | laneOff | ||
) |
move outgoing connection
Definition at line 3691 of file NBEdge.cpp.
References addLane2LaneConnection(), COMPUTED, getConnectionsFromLane(), and getNumLanes().
Referenced by NBEdgeCont::joinSameNodeConnectingEdges().
bool NBEdge::needsLaneSpecificOutput | ( | ) | const |
whether at least one lane has values differing from the edges values
Definition at line 2558 of file NBEdge.cpp.
References hasAccelLane(), hasCustomLaneShape(), hasLaneParams(), hasLaneSpecificEndOffset(), hasLaneSpecificPermissions(), hasLaneSpecificSpeed(), hasLaneSpecificStopOffsets(), hasLaneSpecificType(), hasLaneSpecificWidth(), myLanes, and prohibitsChanging().
Referenced by NWWriter_XML::writeEdgesAndConnections().
void NBEdge::preferVehicleClass | ( | int | lane, |
SVCPermissions | vclasses | ||
) |
prefer certain vehicle classes for the given lane or for all lanes if -1 is given (ensures also permissions)
Definition at line 4150 of file NBEdge.cpp.
References myLanes, and preferVehicleClass().
Referenced by NIImporter_OpenStreetMap::applyLaneUse(), and preferVehicleClass().
|
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 3491 of file NBEdge.cpp.
References DEBUGCOND, NBEdge::MainDirections::empty(), NBEdge::MainDirections::FORWARD, getID(), NBEdge::MainDirections::getStraightest(), NBNode::getType(), NBEdge::MainDirections::includes(), NBNode::isTrafficLight(), NBEdge::MainDirections::LEFTMOST, myLanes, myTo, NBEdge::MainDirections::RIGHTMOST, and toString().
Referenced by divideSelectedLanesOnEdges().
|
inlineinherited |
bool NBEdge::prohibitsChanging | ( | ) | const |
whether one of the lanes prohibits lane changing
Definition at line 2548 of file NBEdge.cpp.
References myLanes, and SVCAll.
Referenced by needsLaneSpecificOutput().
bool NBEdge::recheckLanes | ( | ) |
recheck whether all lanes within the edge are all right and optimises the connections once again
Definition at line 2911 of file NBEdge.cpp.
References NBEdge::Lane::accelRamp, applyTurnSigns(), NBEdge::Lane::changeLeft, NBEdge::Lane::changeRight, COMPUTED, DEBUGCOND, NBEdge::Connection::fromLane, getConnectionRef(), getConnectionsFromLane(), getID(), Named::getID(), NBNode::getIncomingEdges(), getLaneID(), getNumLanes(), NBNode::getOutgoingEdges(), getPermissions(), getSuccessors(), hasConnectionTo(), isForbidden(), isTurningDirectionAt(), LANES2LANES_DONE, LANES2LANES_USER, moveConnectionToLeft(), moveConnectionToRight(), myConnections, myConnectionsToDelete, myFrom, myLanes, myStep, myTo, myTurnSignTarget, removeFromConnections(), removeInvalidConnections(), setConnection(), sortOutgoingConnectionsByAngle(), sortOutgoingConnectionsByIndex(), SVC_BICYCLE, SVC_IGNORING, SVC_PASSENGER, SVC_PEDESTRIAN, SVC_UNSPECIFIED, SVCAll, TL, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, WRITE_WARNING, and WRITE_WARNINGF.
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 1014 of file NBEdge.cpp.
References Named::getID(), myFrom, myGeom, myLanes, myTo, PositionVector::removeDoublePoints(), and PositionVector::reverse().
void NBEdge::reinit | ( | NBNode * | from, |
NBNode * | to, | ||
const std::string & | type, | ||
double | speed, | ||
double | friction, | ||
int | nolanes, | ||
int | priority, | ||
PositionVector | geom, | ||
double | width, | ||
double | endOffset, | ||
const std::string & | streetName, | ||
LaneSpreadFunction | spread, | ||
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 386 of file NBEdge.cpp.
References StringUtils::convertUmlaute(), init(), MIN2(), myFrom, myGeom, myLanes, myLaneSpreadFunction, myLoadedLength, myPriority, myStreetName, myTo, myType, NBNode::removeEdge(), setEndOffset(), setFriction(), setLaneWidth(), setSpeed(), SUMO_PARAM_ORIGID, UNSPECIFIED_FRICTION, 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 437 of file NBEdge.cpp.
References NBNode::addIncomingEdge(), NBNode::addOutgoingEdge(), computeAngle(), myFrom, Named::myID, myTo, NBNode::removeEdge(), and TLF.
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 1431 of file NBEdge.cpp.
References addEdge2EdgeConnection(), EDGE2EDGES, getConnectedEdges(), myStep, and removeFromConnections().
Referenced by NBNode::removeSelfLoops().
bool NBEdge::removeFromConnections | ( | const NBEdge::Connection & | connectionToRemove | ) |
remove an existent connection of edge
Definition at line 1513 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, myConnections, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
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 1447 of file NBEdge.cpp.
References DEBUGCOND, NBEdge::Connection::fromLane, NBNode::getControllingTLS(), NBConnection::getFromLane(), getID(), 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(), NIXMLConnectionsHandler::delConnection(), deleteLane(), init(), NIXMLConnectionsHandler::parseLaneBound(), recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), remapConnections(), GNEEdge::removeConnection(), replaceInConnections(), and NIImporter_DlrNavteq::ProhibitionHandler::report().
|
private |
Definition at line 3152 of file NBEdge.cpp.
References NBEdge::Connection::fromLane, NBEdge::Connection::getDescription(), getNumLanes(), getPermissions(), hasConnectionTo(), isRailway(), isTurningDirectionAt(), myConnections, SVC_PEDESTRIAN, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.
Referenced by recheckLanes().
void NBEdge::replaceInConnections | ( | NBEdge * | which, |
const std::vector< NBEdge::Connection > & | origConns | ||
) |
replace in current connections of edge
Definition at line 1555 of file NBEdge.cpp.
References COMPUTED, DEBUGCOND, EDGE2EDGES, getID(), getStep(), getSuccessors(), joinToString(), MAX2(), MIN2(), myConnections, removeFromConnections(), replaceInConnections(), setConnection(), and toString().
replace in current connections of edge
Definition at line 1540 of file NBEdge.cpp.
References myConnections, and myTurnDestination.
Referenced by replaceInConnections(), and NBNode::replaceOutgoing().
void NBEdge::resetEndpointAtNode | ( | const NBNode * | node | ) |
Definition at line 625 of file NBEdge.cpp.
References NBNode::getPosition(), myFrom, myGeom, and myTo.
void NBEdge::resetLaneShapes | ( | ) |
reset lane shapes to what they would be before cutting with the junction shapes
Definition at line 2220 of file NBEdge.cpp.
References computeLaneShapes().
Referenced by NBRampsComputer::patchRampGeometry().
void NBEdge::resetNodeBorder | ( | const NBNode * | node | ) |
Definition at line 738 of file NBEdge.cpp.
References myFrom, myFromBorder, myTo, and myToBorder.
Referenced by GNENet::replaceJunctionByGeometry().
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 550 of file NBEdge.cpp.
References Position::add(), PositionVector::add(), computeAngle(), computeEdgeShape(), computeLaneShapes(), Position::INVALID, myConnections, myFromBorder, myGeom, myLanes, mySignalPosition, and myToBorder.
void NBEdge::restoreBikelane | ( | std::vector< NBEdge::Lane > | oldLanes, |
PositionVector | oldGeometry, | ||
std::vector< NBEdge::Connection > | oldConnections | ||
) |
restore an previously added BikeLane
Definition at line 4590 of file NBEdge.cpp.
References restoreRestrictedLane(), and SVC_BICYCLE.
|
private |
restore a restricted lane
Definition at line 4645 of file NBEdge.cpp.
References computeLaneShapes(), getID(), NBNode::getIncomingEdges(), myConnections, myFrom, myGeom, myLanes, myTo, NBNode::shiftTLConnectionLaneIndex(), TL, toString(), and WRITE_WARNINGF.
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 4578 of file NBEdge.cpp.
References restoreRestrictedLane(), and SVC_PEDESTRIAN.
|
inlineinherited |
void NBEdge::setAcceleration | ( | int | lane, |
bool | accelRamp | ||
) |
marks one lane as acceleration lane
Definition at line 4325 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), NBRampsComputer::buildOnRamp(), and GNELane::setAttribute().
|
inline |
Definition at line 1129 of file NBEdge.h.
References myAmMacroscopicConnector.
Referenced by NIImporter_VISUM::parse_Connectors_legacy().
void NBEdge::setAverageLengthWithOpposite | ( | double | val | ) |
patch average lane length in regard to the opposite edge
Definition at line 4398 of file NBEdge.cpp.
References myLength.
Referenced by NBEdgeCont::computeEdgeShapes().
|
inline |
mark this edge as a bidi edge
Definition at line 1418 of file NBEdge.h.
References isBidi(), and myIsBidi.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), and GNEEdge::setAttribute().
bool NBEdge::setConnection | ( | int | lane, |
NBEdge * | destEdge, | ||
int | destLane, | ||
Lane2LaneInfoType | type, | ||
bool | mayUseSameDestination = false , |
||
bool | mayDefinitelyPass = false , |
||
KeepClear | keepClear = KEEPCLEAR_UNSPECIFIED , |
||
double | contPos = UNSPECIFIED_CONTPOS , |
||
double | visibility = UNSPECIFIED_VISIBILITY_DISTANCE , |
||
double | speed = UNSPECIFIED_SPEED , |
||
double | friction = UNSPECIFIED_FRICTION , |
||
double | length = myDefaultConnectionLength , |
||
const PositionVector & | customShape = PositionVector::EMPTY , |
||
const bool | uncontrolled = UNSPECIFIED_CONNECTION_UNCONTROLLED , |
||
SVCPermissions | permissions = SVC_UNSPECIFIED , |
||
bool | indirectLeft = false , |
||
const std::string & | edgeType = "" , |
||
SVCPermissions | changeLeft = SVC_UNSPECIFIED , |
||
SVCPermissions | changeRight = SVC_UNSPECIFIED , |
||
bool | postProcess = false |
||
) |
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 1185 of file NBEdge.cpp.
References COMPUTED, getLaneID(), getNumLanes(), hasConnectionTo(), INIT_REJECT_CONNECTIONS, LANES2LANES_DONE, LANES2LANES_RECHECK, LANES2LANES_USER, myConnections, myConnectionsToDelete, myLanes, myStep, SVC_UNSPECIFIED, TL, USER, and WRITE_WARNINGF.
Referenced by GNEEdge::addConnection(), addLane2LaneConnection(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), applyTurnSigns(), NBNode::computeLanes2Lanes(), NBNode::ApproachingDivider::execute(), moveConnectionToLeft(), moveConnectionToRight(), recheckLanes(), 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 3726 of file NBEdge.cpp.
References NBConnection::getFromLane(), getID(), NBConnection::getTLIndex(), NBConnection::getTLIndex2(), NBConnection::getTo(), NBConnection::getToLane(), mayBeTLSControlled(), myConnections, myLanes, TL, NBEdge::Connection::tlID, NBEdge::Connection::tlLinkIndex, NBEdge::Connection::tlLinkIndex2, and WRITE_WARNINGF.
Referenced by NBLoadedSUMOTLDef::addConnection(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), and NBOwnTLDef::setTLControllingInformation().
|
inlinestatic |
Definition at line 390 of file NBEdge.h.
References myDefaultConnectionLength.
Referenced by NBNetBuilder::applyOptions().
|
inline |
set kilometrage at start of edge (negative value implies couting down along the edge)
Definition at line 1413 of file NBEdge.h.
References myDistance.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIImporter_OpenStreetMap::insertEdge(), GNEEdge::setAttribute(), and NBEdgeCont::splitAt().
bool NBEdge::setEdgeStopOffset | ( | int | lane, |
const StopOffset & | offset, | ||
bool | overwrite = false |
||
) |
set lane and vehicle class specific stopOffset (negative lane implies set for all lanes)
Definition at line 4263 of file NBEdge.cpp.
References getID(), getLaneID(), StopOffset::getOffset(), StopOffset::isDefined(), myEdgeStopOffset, myLanes, TL, toString(), and WRITE_WARNINGF.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::myEndElement(), NIXMLEdgesHandler::myStartElement(), and NBEdge().
void NBEdge::setEndOffset | ( | int | lane, |
double | offset | ||
) |
set lane specific end-offset (negative lane implies set for all lanes)
Definition at line 4247 of file NBEdge.cpp.
References myEndOffset, myLanes, and setEndOffset().
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdge(), reinit(), GNEEdge::setAttribute(), GNELane::setAttribute(), and setEndOffset().
void NBEdge::setFriction | ( | int | lane, |
double | friction | ||
) |
set lane specific friction (negative lane implies set for all lanes)
Definition at line 4309 of file NBEdge.cpp.
References myFriction, myLanes, and setFriction().
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NBEdge(), reinit(), GNEEdge::setAttribute(), GNELane::setAttribute(), setFriction(), and NBEdgeCont::splitAt().
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 637 of file NBEdge.cpp.
References PositionVector::add(), computeAngle(), computeLaneShapes(), Named::getID(), PositionVector::length(), myFrom, myGeom, Named::myID, myLength, myTo, TL, and WRITE_WARNINGF.
Referenced by NBRampsComputer::moveRampRight(), NBRampsComputer::patchRampGeometry(), NBEdgeCont::processSplits(), NIImporter_OpenStreetMap::reconstructLayerElevation(), GNEEdge::setGeometry(), and NGNet::toNB().
|
inlinevirtualinherited |
resets the id
[in] | newID | The new id of this object |
Reimplemented in MSBaseVehicle, MSTransportable, and NBLoadedSUMOTLDef.
Definition at line 82 of file Named.h.
References Named::myID.
Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::rename(), NBNodeCont::rename(), GNEJunction::setAttribute(), NBLoadedSUMOTLDef::setID(), and IntermodalNetwork< E, L, N, V >::splitEdge().
|
inline |
Marks this edge being within an intersection.
Definition at line 1141 of file NBEdge.h.
References myAmInTLS.
Referenced by NBLoadedSUMOTLDef::collectEdges(), and 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 2142 of file NBEdge.cpp.
References myFrom, myFromJunctionPriority, myToJunctionPriority, Parameterised::setParameter(), and toString().
Referenced by NBEdgePriorityComputer::extractAndMarkFirst(), NIImporter_OpenStreetMap::insertEdge(), and NBEdgePriorityComputer::setPriorityJunctionPriorities().
void NBEdge::setLaneShape | ( | int | lane, |
const PositionVector & | shape | ||
) |
sets a custom lane shape
Definition at line 4333 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 992 of file NBEdge.cpp.
References myLaneSpreadFunction.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdgesForBufferStops(), 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 4179 of file NBEdge.cpp.
References myLanes, and setLaneType().
Referenced by NIXMLEdgesHandler::addLane(), joinLanes(), NBEdge(), and setLaneType().
void NBEdge::setLaneWidth | ( | int | lane, |
double | width | ||
) |
set lane specific width (negative lane implies set for all lanes)
Definition at line 4164 of file NBEdge.cpp.
References myLanes, myLaneWidth, and setLaneWidth().
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NIVissimEdge::buildNBEdge(), NIImporter_OpenStreetMap::insertEdge(), joinLanes(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdge(), reinit(), GNEEdge::setAttribute(), GNELane::setAttribute(), and setLaneWidth().
void NBEdge::setLoadedLength | ( | double | val | ) |
set loaded length
Definition at line 4393 of file NBEdge.cpp.
References myLoadedLength.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NBEdgeCont::fixSplitCustomLength(), NIImporter_MATSim::EdgesHandler::insertEdge(), NIImporter_ArcView::load(), NBEdgeCont::recheckLanes(), NIImporter_DlrNavteq::EdgesHandler::report(), GNEEdge::setAttribute(), and NBEdgeCont::splitAt().
void NBEdge::setNodeBorder | ( | const NBNode * | node, |
const Position & | p, | ||
const Position & | p2, | ||
bool | rectangularCut | ||
) |
Set Node border.
Definition at line 695 of file NBEdge.cpp.
References DEBUGCOND, PositionVector::extrapolate2D(), gDebugFlag1, getID(), Named::getID(), PositionVector::getOrthogonal(), getTotalWidth(), myFrom, myFromBorder, myGeom, myTo, and myToBorder.
|
inline |
void NBEdge::setOrigID | ( | const std::string | origID, |
const bool | append, | ||
const int | laneIdx = -1 |
||
) |
set origID for all lanes or for a specific lane
Definition at line 4736 of file NBEdge.cpp.
References append(), Parameterised::getParameter(), StringTokenizer::getVector(), myLanes, setOrigID(), SUMO_PARAM_ORIGID, and toString().
Referenced by NBEdgeCont::joinTramEdges(), setOrigID(), and NBEdgeCont::splitAt().
|
virtualinherited |
Sets a parameter.
[in] | key | The parameter's name |
[in] | value | The parameter's value |
Reimplemented in MSRailCrossing, MSActuatedTrafficLightLogic, MSRailSignal, MSSimpleTrafficLightLogic, and NEMALogic.
Definition at line 45 of file Parameterised.cpp.
References Parameterised::myMap.
Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NLHandler::addDistrict(), RONetHandler::addParam(), ShapeHandler::addPOI(), NBOwnTLDef::buildNemaPhases(), MSParkingArea::enter(), NIImporter_MATSim::EdgesHandler::insertEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::insertNodeChecking(), MSLane::isInsertionSuccess(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NWWriter_OpenDrive::mapmatchRoadObjects(), Parameterised::mergeParameters(), MSStateHandler::myStartElement(), NIXMLConnectionsHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIXMLTrafficLightsHandler::myStartElement(), ShapeHandler::myStartElement(), MSDevice_Bluelight::notifyMove(), GNESingleParametersDialog::onCmdAccept(), NBRailwayTopologyAnalyzer::reverseEdges(), GNEVType::setAttribute(), setJunctionPriority(), NIImporter_OpenDrive::setLaneAttributes(), MSRailCrossing::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSRailSignal::setParameter(), MSSimpleTrafficLightLogic::setParameter(), NEMALogic::setParameter(), LIBSUMO_NAMESPACE::Simulation::setParameter(), Parameterised::setParametersStr(), LIBSUMO_NAMESPACE::Vehicle::setStopParameter(), LIBSUMO_NAMESPACE::TrafficLight::swapParameters(), Parameterised::updateParameters(), NWWriter_OpenDrive::writeNetwork(), and NIImporter_OpenDrive::writeRoadObjects().
|
inherited |
set the inner key/value map in map<string, string> format
Definition at line 167 of file Parameterised.cpp.
References Parameterised::getParametersMap(), and Parameterised::myMap.
Referenced by MSStageDriving::clone(), MSStageTranship::clone(), MSStageTrip::clone(), MSStageWaiting::clone(), MSStageWalking::clone(), and MSStageTrip::reroute().
|
inherited |
set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"
[in] | paramsString | A serialized key-value map |
[in] | kvsep | The separater between key and value |
[in] | sep | The separater between map entries |
Definition at line 173 of file Parameterised.cpp.
References StringTokenizer::getVector(), Parameterised::myMap, and Parameterised::setParameter().
Referenced by MSDevice_Taxi::initDispatch(), GNEAccess::setAttribute(), GNEBusStop::setAttribute(), GNECalibrator::setAttribute(), GNECalibratorFlow::setAttribute(), GNEChargingStation::setAttribute(), GNEContainerStop::setAttribute(), GNEMultiEntryExitDetector::setAttribute(), GNEOverheadWire::setAttribute(), GNEParkingArea::setAttribute(), GNEParkingSpace::setAttribute(), GNERerouter::setAttribute(), GNERouteProbe::setAttribute(), GNETAZ::setAttribute(), GNETAZSourceSink::setAttribute(), GNETractionSubstation::setAttribute(), GNEVaporizer::setAttribute(), GNEVariableSpeedSign::setAttribute(), GNEEdgeData::setAttribute(), GNEEdgeRelData::setAttribute(), GNETAZRelData::setAttribute(), GNEContainer::setAttribute(), GNEPerson::setAttribute(), GNERoute::setAttribute(), GNEStop::setAttribute(), GNEVehicle::setAttribute(), GNEVType::setAttribute(), GNEConnection::setAttribute(), GNEEdge::setAttribute(), GNEEdgeType::setAttribute(), GNEJunction::setAttribute(), GNELane::setAttribute(), GNELaneType::setAttribute(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), and GNEDetector::setDetectorAttribute().
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 4341 of file NBEdge.cpp.
References myLanes, and setPermissions().
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NINavTeqHelper::addVehicleClasses(), NINavTeqHelper::addVehicleClassesV6(), NIImporter_OpenStreetMap::applyLaneUse(), NGEdge::buildNBEdge(), NBPTLineCont::fixPermissions(), NIImporter_MATSim::EdgesHandler::insertEdge(), NIImporter_OpenStreetMap::insertEdge(), NBEdgeCont::joinSameNodeConnectingEdges(), NBEdgeCont::joinTramEdges(), NIImporter_ArcView::load(), NBEdge(), NIImporter_VISUM::parse_Edges(), NIImporter_DlrNavteq::EdgesHandler::report(), GNELane::setAttribute(), and setPermissions().
void NBEdge::setPermittedChanging | ( | int | lane, |
SVCPermissions | changeLeft, | ||
SVCPermissions | changeRight | ||
) |
set allowed classes for changing to the left and right from the given lane
Definition at line 4369 of file NBEdge.cpp.
References myLanes.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addLane(), NIImporter_OpenStreetMap::applyChangeProhibition(), and GNELane::setAttribute().
void NBEdge::setPreferredVehicleClass | ( | SVCPermissions | permissions, |
int | lane = -1 |
||
) |
set preferred Vehicle Class
Definition at line 4355 of file NBEdge.cpp.
References myLanes, and setPreferredVehicleClass().
Referenced by NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), and setPreferredVehicleClass().
|
inline |
Sets the priority of the edge.
Definition at line 532 of file NBEdge.h.
References myPriority.
Referenced by NBRailwayTopologyAnalyzer::extendDirectionPriority().
sets the offset of a traffic signal from the end of this edge
Definition at line 722 of file NBEdge.h.
References mySignalNode, and mySignalPosition.
void NBEdge::setSpeed | ( | int | lane, |
double | speed | ||
) |
set lane specific speed (negative lane implies set for all lanes)
Definition at line 4293 of file NBEdge.cpp.
References myLanes, mySpeed, and setSpeed().
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIXMLEdgesHandler::addLane(), GNEEdge::addLane(), NIVissimEdge::buildNBEdge(), NBNetBuilder::compute(), NBEdge(), NBEdgeCont::processSplits(), reinit(), GNEEdge::setAttribute(), GNELane::setAttribute(), setSpeed(), and NBEdgeCont::splitAt().
|
inline |
sets the street name of this edge
Definition at line 674 of file NBEdge.h.
References myStreetName.
Referenced by GNEEdge::setAttribute().
void NBEdge::setTurningDestination | ( | NBEdge * | e, |
bool | onlyPossible = false |
||
) |
Sets the turing destination at the given edge.
[in] | e | The turn destination |
[in] | onlyPossible | If true, only sets myPossibleTurnDestination |
Definition at line 2199 of file NBEdge.cpp.
References myPossibleTurnDestination, and myTurnDestination.
|
inline |
Definition at line 1557 of file NBEdge.h.
References myTurnSignTarget.
Referenced by NIImporter_OpenStreetMap::insertEdge().
shift geometry at the given node to avoid overlap
Definition at line 4679 of file NBEdge.cpp.
References CENTER, PositionVector::distance2D(), getBidiEdge(), getGeometry(), getID(), Named::getID(), getPermissions(), NBNode::getPosition(), getTotalWidth(), isRailway(), MIN2(), PositionVector::move2side(), myGeom, myLaneSpreadFunction, myTo, TL, and WRITE_WARNINGF.
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 4668 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 681 of file NBEdge.cpp.
References computeLaneShapes(), PositionVector::getSubpart2D(), PositionVector::length2D(), MIN2(), myFrom, and myGeom.
void NBEdge::sortOutgoingConnectionsByAngle | ( | ) |
sorts the outgoing connections by their angle relative to their junction
Definition at line 1419 of file NBEdge.cpp.
References myConnections.
Referenced by applyTurnSigns(), and recheckLanes().
void NBEdge::sortOutgoingConnectionsByIndex | ( | ) |
sorts the outgoing connections by their from-lane-index and their to-lane-index
Definition at line 1425 of file NBEdge.cpp.
References connections_sorter(), and myConnections.
Referenced by applyTurnSigns(), divideOnEdges(), and recheckLanes().
|
static |
returns a modified version of laneShape which starts at the outside of startNode. laneShape may be shorted or extended
Definition at line 926 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(), 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 NIImporter_OpenStreetMap::insertEdge(), MSLane::isInsertionSuccess(), GNEVType::setAttribute(), and LIBSUMO_NAMESPACE::TrafficLight::swapParameters().
void NBEdge::updateChangeRestrictions | ( | SVCPermissions | ignoring | ) |
modify all existing restrictions on lane changing
Definition at line 2226 of file NBEdge.cpp.
References myConnections, myLanes, SVC_UNSPECIFIED, and SVCAll.
|
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::setParameter().
Referenced by NIImporter_SUMO::_loadNetwork(), NBNode::addCrossing(), PCLoaderOSM::addPOI(), PCLoaderOSM::addPolygon(), NLHandler::closeEdge(), NLJunctionControlBuilder::closeJunction(), NLJunctionControlBuilder::closeTrafficLightLogic(), NBTrafficLightDefinition::compute(), NLDetectorBuilder::endE3Detector(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::insertNodeChecking(), NBEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), NBTrafficLightLogic::NBTrafficLightLogic(), and LIBSUMO_NAMESPACE::TrafficLight::swapConstraints().
|
staticprivate |
Definition at line 2678 of file NBEdge.cpp.
Referenced by applyTurnSigns().
|
inherited |
write Params in the given outputdevice
Definition at line 188 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 MSStageWaiting::routeOutput(), MSTransportable::routeOutput(), ROPerson::saveAsXML(), ROVehicle::saveAsXML(), MEVehicle::saveState(), MSVehicle::saveState(), MSStop::write(), SUMOVTypeParameter::write(), SUMOVehicleParameter::Stop::write(), NBPTStop::write(), MSRailSignalConstraint_Predecessor::write(), GNEBusStop::writeAdditional(), GNECalibrator::writeAdditional(), GNECalibratorFlow::writeAdditional(), GNEChargingStation::writeAdditional(), GNEContainerStop::writeAdditional(), GNEEntryExitDetector::writeAdditional(), GNEInductionLoopDetector::writeAdditional(), GNEInstantInductionLoopDetector::writeAdditional(), GNELaneAreaDetector::writeAdditional(), GNEMultiEntryExitDetector::writeAdditional(), GNEOverheadWire::writeAdditional(), GNEParkingArea::writeAdditional(), GNEParkingSpace::writeAdditional(), GNERerouter::writeAdditional(), GNERouteProbe::writeAdditional(), GNETAZ::writeAdditional(), GNETractionSubstation::writeAdditional(), GNEVaporizer::writeAdditional(), GNEVariableSpeedSign::writeAdditional(), NWWriter_SUMO::writeConnection(), GNEContainer::writeDemandElement(), GNEPerson::writeDemandElement(), GNERoute::writeDemandElement(), GNEVehicle::writeDemandElement(), NWWriter_SUMO::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeJunction(), NWWriter_SUMO::writeLane(), NWWriter_XML::writeNodes(), MSDevice_Vehroutes::writeOutput(), NWWriter_SUMO::writeTrafficLight(), SUMOPolygon::writeXML(), and PointOfInterest::writeXML().
|
friend |
|
friend |
|
static |
the distance at which to take the default angle
Definition at line 370 of file NBEdge.h.
Referenced by computeAngle(), getShapeEndAngle(), getShapeStartAngle(), NBContHelper::relative_outgoing_edge_sorter::operator()(), and NBContHelper::relative_incoming_edge_sorter::operator()().
|
static |
|
private |
Information whether this is lies within a joined tls.
Definition at line 1814 of file NBEdge.h.
Referenced by isInsideTLS(), and setInsideTLS().
|
private |
Information whether this edge is a (macroscopic) connector.
Definition at line 1817 of file NBEdge.h.
Referenced by isMacroscopicConnector(), and setAsMacroscopicConnector().
|
private |
List of connections to following edges.
Definition at line 1770 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane(), addRestrictedLane(), addStraightConnections(), append(), appendTurnaround(), applyTurnSigns(), assignInternalLaneLength(), buildInnerEdges(), clearControllingTLInformation(), computeEdge2Edges(), computeLanes2Edges(), copyConnectionsFrom(), debugPrintConnections(), divideOnEdges(), divideSelectedLanesOnEdges(), GNELane::drawArrows(), NBEdge::ToEdgeConnectionsAdder::execute(), expandableBy(), getConnectedEdges(), getConnectedSorted(), getConnection(), getConnectionLanes(), getConnectionRef(), getConnections(), getConnections(), getConnectionsFromLane(), getSuccessors(), getViaSuccessors(), hasConnectionTo(), hasSignalisedConnectionTo(), init(), invalidateConnections(), isConnectedTo(), mayBeTLSControlled(), mirrorX(), moveConnectionToLeft(), moveConnectionToRight(), recheckLanes(), removeFromConnections(), removeFromConnections(), removeInvalidConnections(), replaceInConnections(), replaceInConnections(), reshiftPosition(), restoreRestrictedLane(), setConnection(), setControllingTLInformation(), shiftToLanesToEdge(), sortOutgoingConnectionsByAngle(), sortOutgoingConnectionsByIndex(), and updateChangeRestrictions().
|
private |
List of connections marked for delayed removal.
Definition at line 1773 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), append(), computeEdge2Edges(), computeLanes2Edges(), getConnectedSorted(), init(), recheckLanes(), removeFromConnections(), and setConnection().
|
staticprivate |
Definition at line 1851 of file NBEdge.h.
Referenced by applyTurnSigns(), and setDefaultConnectionLength().
|
private |
The mileage/kilometrage at the start of this edge in a linear coordination system.
Definition at line 1765 of file NBEdge.h.
Referenced by getDistancAt(), getDistance(), and setDistance().
|
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 1800 of file NBEdge.h.
Referenced by GNEEdge::drawLaneStopOffset(), GNEEdge::getAttribute(), getEdgeStopOffset(), getLaneStopOffset(), hasLaneSpecificStopOffsets(), GNEEdge::isAttributeEnabled(), GNEEdge::setAttribute(), and setEdgeStopOffset().
|
private |
Definition at line 1751 of file NBEdge.h.
Referenced by computeAngle(), getAngleAtNodeToCenter(), and getEndAngle().
|
private |
This edges's offset to the intersection begin (will be applied to all lanes)
Definition at line 1794 of file NBEdge.h.
Referenced by getEndOffset(), and setEndOffset().
|
private |
The current friction.
Definition at line 1762 of file NBEdge.h.
Referenced by getFriction(), and setFriction().
|
private |
The source and the destination node.
Definition at line 1740 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane(), addLane2LaneConnection(), addRestrictedLane(), buildInnerEdges(), computeAngle(), computeEdgeShape(), computeLaneShapes(), cutAtIntersection(), debugPrintConnections(), deleteLane(), expandableBy(), extendGeometryAtNode(), NBEdgeCont::extract(), getAngleAtNode(), getAngleAtNodeNormalized(), getAngleAtNodeToCenter(), getCCWBoundaryLine(), getCWBoundaryLine(), getEndpointAtNode(), getFromNode(), getIncomingEdges(), getJunctionPriority(), getNodeBorder(), getStraightPredecessor(), hasDefaultGeometryEndpointAtNode(), hasDefaultGeometryEndpoints(), init(), recheckLanes(), reduceGeometry(), reinit(), reinitNodes(), resetEndpointAtNode(), resetNodeBorder(), restoreRestrictedLane(), setGeometry(), setJunctionPriority(), setNodeBorder(), shortenGeometryAtNode(), NBEdgeCont::splitAt(), NBEdgeCont::splitAt(), and tryGetNodeAtPosition().
|
private |
intersection borders (because the node shape might be invalid)
Definition at line 1831 of file NBEdge.h.
Referenced by cutAtIntersection(), getNodeBorder(), resetNodeBorder(), reshiftPosition(), and setNodeBorder().
|
private |
The priority normalised for the node the edge is outgoing of.
Definition at line 1782 of file NBEdge.h.
Referenced by getJunctionPriority(), and setJunctionPriority().
|
private |
The geometry for the edge.
Definition at line 1788 of file NBEdge.h.
Referenced by addGeometryPoint(), addRestrictedLane(), append(), checkGeometry(), computeAngle(), computeEdgeShape(), computeLaneShape(), computeLaneShapes(), expandableBy(), extendGeometryAtNode(), geometryPositionAtOffset(), getAngleAtNode(), getAngleAtNodeNormalized(), getEndpointAtNode(), getFinalLength(), getGeometry(), getInnerGeometry(), getShapeEndAngle(), getShapeStartAngle(), hasDefaultGeometry(), hasDefaultGeometryEndpointAtNode(), hasDefaultGeometryEndpoints(), init(), isNearEnough2BeJoined2(), mirrorX(), NBEdge(), reduceGeometry(), reinit(), resetEndpointAtNode(), reshiftPosition(), restoreRestrictedLane(), setGeometry(), setNodeBorder(), shiftPositionAtNode(), and shortenGeometryAtNode().
|
protectedinherited |
The name of the object.
Definition at line 125 of file Named.h.
Referenced by MSDriveWay::addBidiFoes(), MSE2Collector::addDetectorToLanes(), MSDriveWay::addFoes(), MSDriveWay::addParallelFoes(), MSDriveWay::addReversalFoes(), MSDriveWay::addSwitchFoes(), RODFDetector::buildDestinationDistribution(), MSDriveWay::buildDriveWay(), NGEdge::buildNBEdge(), NGNode::buildNBNode(), MSSOTLTrafficLightLogic::checkPhases(), NBNode::computeNodeShape(), NEMALogic::constructTimingAndPhaseDefs(), MSE2Collector::detectorUpdate(), GNEPOI::getAttribute(), GNEPoly::getAttribute(), MSLane::getCanonicalPredecessorLane(), MSLane::getCanonicalSuccessorLane(), Named::getID(), getLaneID(), NEMALogic::getPhaseObj(), ROEdge::getStoredEffort(), GNEPOI::getSumoBaseObject(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), init(), MSSOTLTrafficLightLogic::init(), MSDelayBasedTrafficLightLogic::init(), NEMALogic::init(), MSLane::isInsertionSuccess(), NBNode::NBNode(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), NEMALogic::parseControllerType(), RORouteDef::preComputeCurrentRoute(), reinitNodes(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), setGeometry(), Named::setID(), MSSOTLTrafficLightLogic::setToATargetPhase(), Distribution_Parameterized::toStr(), MSChargingStation::writeAggregatedChargingStationOutput(), MSDriveWay::writeBlocks(), MSDriveWay::writeBlockVehicles(), MSChargingStation::writeChargingStationOutput(), RODFDetector::writeEmitterDefinition(), MSOverheadWire::writeOverheadWireSegmentOutput(), RODFDetector::writeSingleSpeedTrigger(), MSTractionSubstation::writeTractionSubstationOutput(), 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
Definition at line 1842 of file NBEdge.h.
Referenced by getNumericalID(), and setNumericalID().
|
private |
whether this edge is part of a non-rail bidi edge pair
Definition at line 1839 of file NBEdge.h.
Referenced by isBidi(), isBidiEdge(), and setBidi().
|
private |
whether this edge is an Off-Ramp or leads to one
Definition at line 1836 of file NBEdge.h.
Referenced by isOffRamp(), and markOffRamp().
|
private |
Lane information.
Definition at line 1808 of file NBEdge.h.
Referenced by addLane(), addRestrictedLane(), addStraightConnections(), allowsChangingLeft(), allowsChangingRight(), allowVehicleClass(), append(), applyTurnSigns(), buildInnerEdges(), computeAngle(), computeEdge2Edges(), computeEdgeShape(), computeLaneShapes(), decLaneNo(), deleteLane(), disallowVehicleClass(), dismissVehicleClassInformation(), divideOnEdges(), divideSelectedLanesOnEdges(), expandableBy(), getCCWBoundaryLine(), getCWBoundaryLine(), getEndOffset(), getFinalLength(), getFirstAllowedLaneIndex(), getFirstNonPedestrianLane(), getFirstNonPedestrianLaneIndex(), getFirstNonPedestrianNonBicycleLaneIndex(), getInternalLaneWidth(), getLaneFriction(), getLanes(), getLaneShape(), getLaneSpeed(), getLaneStopOffset(), getLaneStruct(), getLaneStruct(), getLaneWidth(), getMaxLaneOffset(), getNumLanes(), getNumLanesThatAllow(), getPermissions(), getSidewalkID(), getSignalOffset(), getSpecialLane(), getTotalWidth(), guessOpposite(), hasAccelLane(), hasCustomLaneShape(), hasLaneParams(), hasLaneSpecificEndOffset(), hasLaneSpecificFriction(), hasLaneSpecificPermissions(), hasLaneSpecificSpeed(), hasLaneSpecificStopOffsets(), hasLaneSpecificType(), hasLaneSpecificWidth(), hasPermissions(), hasRestrictedLane(), incLaneNo(), init(), isBidiEdge(), joinLanes(), NBEdge::MainDirections::MainDirections(), mirrorX(), NBEdge(), needsLaneSpecificOutput(), preferVehicleClass(), prepareEdgePriorities(), prohibitsChanging(), recheckLanes(), reduceGeometry(), reinit(), reshiftPosition(), restoreRestrictedLane(), setAcceleration(), setConnection(), setControllingTLInformation(), setEdgeStopOffset(), setEndOffset(), setFriction(), setLaneShape(), setLaneType(), setLaneWidth(), setOrigID(), setPermissions(), setPermittedChanging(), setPreferredVehicleClass(), setSpeed(), NBEdgeCont::splitAt(), and updateChangeRestrictions().
|
private |
The information about how to spread the lanes.
Definition at line 1791 of file NBEdge.h.
Referenced by addRestrictedLane(), computeAngle(), computeLaneShapes(), expandableBy(), getLaneSpreadFunction(), getSignalOffset(), isBidiEdge(), isBidiRail(), NBEdgeCont::joinSameNodeConnectingEdges(), reinit(), setLaneSpreadFunction(), and shiftPositionAtNode().
|
private |
This width of this edge's lanes.
Definition at line 1803 of file NBEdge.h.
Referenced by getLaneWidth(), and setLaneWidth().
|
private |
The length of the edge.
Definition at line 1746 of file NBEdge.h.
Referenced by append(), computeEdgeShape(), expandableBy(), geometryPositionAtOffset(), getLength(), getLoadedLength(), init(), setAverageLengthWithOpposite(), setGeometry(), and tryGetNodeAtPosition().
|
private |
An optional length to use (-1 if not valid)
Definition at line 1811 of file NBEdge.h.
Referenced by append(), geometryPositionAtOffset(), getLoadedLength(), hasLoadedLength(), NBEdge(), reinit(), and setLoadedLength().
|
privateinherited |
The key->value map.
Definition at line 139 of file Parameterised.h.
Referenced by Parameterised::clearParameter(), Parameterised::getDouble(), Parameterised::getDoubles(), Parameterised::getParameter(), Parameterised::getParametersMap(), Parameterised::getParametersStr(), Parameterised::hasParameter(), Parameterised::setParameter(), Parameterised::setParameters(), Parameterised::setParametersStr(), Parameterised::unsetParameter(), and Parameterised::writeParams().
|
private |
The edge that would be the turn destination if there was one.
Definition at line 1779 of file NBEdge.h.
Referenced by append(), getBidiEdge(), getFinalLength(), getTurnDestination(), isBidiEdge(), isBidiRail(), isTurningDirectionAt(), removeFromConnections(), and setTurningDestination().
|
private |
The priority of the edge.
Definition at line 1756 of file NBEdge.h.
Referenced by getPriority(), reinit(), GNEEdge::setAttribute(), and setPriority().
|
private |
Definition at line 1827 of file NBEdge.h.
Referenced by getSignalNode(), and setSignalPosition().
|
private |
the position of a traffic light signal on this edge
Definition at line 1826 of file NBEdge.h.
Referenced by append(), getSignalOffset(), getSignalPosition(), mirrorX(), reshiftPosition(), and setSignalPosition().
|
private |
the street signs along this edge
Definition at line 1823 of file NBEdge.h.
Referenced by addSign(), and getSigns().
|
private |
The maximal speed.
Definition at line 1759 of file NBEdge.h.
Referenced by expandableBy(), getSpeed(), and setSpeed().
|
private |
The angles of the edge.
Definition at line 1750 of file NBEdge.h.
Referenced by computeAngle(), getAngleAtNodeToCenter(), and getStartAngle().
|
private |
The building step.
Definition at line 1734 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane2LaneConnection(), append(), computeEdge2Edges(), computeLanes2Edges(), copyConnectionsFrom(), decLaneNo(), declareConnectionsAsLoaded(), expandableBy(), getStep(), incLaneNo(), invalidateConnections(), lanesWereAssigned(), markAsInLane2LaneState(), recheckLanes(), remapConnections(), and setConnection().
|
private |
The street name (or whatever arbitrary string you wish to attach)
Definition at line 1820 of file NBEdge.h.
Referenced by append(), expandableBy(), getStreetName(), reinit(), and setStreetName().
|
mutableprivate |
Definition at line 1845 of file NBEdge.h.
Referenced by getSuccessors().
|
private |
Definition at line 1740 of file NBEdge.h.
Referenced by addEdge2EdgeConnection(), addLane(), addLane2LaneConnection(), addRestrictedLane(), addStraightConnections(), append(), appendTurnaround(), applyTurnSigns(), buildInnerEdges(), computeAngle(), computeEdge2Edges(), computeEdgeShape(), computeLaneShapes(), cutAtIntersection(), GNELane::drawArrows(), expandableBy(), extendGeometryAtNode(), NBEdgeCont::extract(), getAngleAtNode(), getAngleAtNodeNormalized(), getAngleAtNodeToCenter(), getConnectedSorted(), getNodeBorder(), getStraightContinuation(), getToNode(), hasDefaultGeometryEndpointAtNode(), hasDefaultGeometryEndpoints(), init(), isRailDeadEnd(), markAsInLane2LaneState(), NBEdge(), prepareEdgePriorities(), recheckLanes(), reduceGeometry(), reinit(), reinitNodes(), removeFromConnections(), resetEndpointAtNode(), resetNodeBorder(), restoreRestrictedLane(), setGeometry(), setNodeBorder(), shiftPositionAtNode(), NBEdgeCont::splitAt(), NBEdgeCont::splitAt(), and tryGetNodeAtPosition().
|
private |
Definition at line 1832 of file NBEdge.h.
Referenced by append(), cutAtIntersection(), getNodeBorder(), resetNodeBorder(), reshiftPosition(), and setNodeBorder().
|
private |
The priority normalised for the node the edge is incoming in.
Definition at line 1785 of file NBEdge.h.
Referenced by getJunctionPriority(), and setJunctionPriority().
|
private |
Definition at line 1752 of file NBEdge.h.
Referenced by computeAngle(), and getTotalAngle().
|
private |
The turn destination edge (if a connection exists)
Definition at line 1776 of file NBEdge.h.
Referenced by append(), appendTurnaround(), computeEdge2Edges(), divideOnEdges(), getConnectedSorted(), getConnectionLanes(), getTurnDestination(), invalidateConnections(), isConnectedTo(), isTurningDirectionAt(), removeFromConnections(), replaceInConnections(), and setTurningDestination().
|
private |
node for which turnSign information applies
Definition at line 1743 of file NBEdge.h.
Referenced by append(), getTurnSignTarget(), recheckLanes(), and setTurnSignTarget().
|
private |
The type of the edge.
Definition at line 1737 of file NBEdge.h.
Referenced by getTypeID(), reinit(), and GNEEdge::setAttribute().
|
mutableprivate |
Definition at line 1848 of file NBEdge.h.
Referenced by getViaSuccessors().
|
static |
Definition at line 381 of file NBEdge.h.
Referenced by applyTurnSigns(), and NIImporter_OpenStreetMap::EdgesHandler::myStartElement().
|
static |
shift values for decoding turn signs
Definition at line 379 of file NBEdge.h.
Referenced by applyTurnSigns(), and NIImporter_OpenStreetMap::EdgesHandler::myStartElement().
|
static |
Definition at line 380 of file NBEdge.h.
Referenced by applyTurnSigns(), and NIImporter_OpenStreetMap::EdgesHandler::myStartElement().
|
static |
TLS-controlled despite its node controlled not specified.
Definition at line 376 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), and applyTurnSigns().
|
static |
unspecified internal junction position
Definition at line 358 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), applyTurnSigns(), buildInnerEdges(), GNEAttributeCarrier::fillNetworkElements(), NBFrame::fillOptions(), NIImporter_OpenDrive::loadNetwork(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), and NWWriter_SUMO::writeConnection().
|
static |
unspecified lane friction
Definition at line 355 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIImporter_SUMO::addConnection(), NIXMLEdgesHandler::addEdge(), NIImporter_SUMO::addLane(), applyTurnSigns(), buildInnerEdges(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), GNENet::createEdge(), NIVissimDistrictConnection::dict_BuildDistricts(), NBFrame::fillOptions(), NIImporter_MATSim::EdgesHandler::insertEdge(), NIImporter_OpenStreetMap::insertEdge(), NBTypeCont::insertEdgeType(), NBTypeCont::insertLaneType(), NBEdgeCont::joinSameNodeConnectingEdges(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIImporter_ITSUMO::Handler::myEndElement(), NBTypeCont::EdgeTypeDefinition::needsLaneType(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_Edges(), reinit(), NIImporter_DlrNavteq::EdgesHandler::report(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NWWriter_XML::writeEdgesAndConnections(), NBTypeCont::writeEdgeTypes(), NWWriter_SUMO::writeInternalEdges(), and NWWriter_SUMO::writeLane().
|
static |
|
static |
no length override given
Definition at line 364 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), NIImporter_SUMO::addEdge(), NIXMLEdgesHandler::addEdge(), assignInternalLaneLength(), buildInnerEdges(), GNEAttributeCarrier::fillNetworkElements(), NBFrame::fillOptions(), GNEEdge::isValid(), NIImporter_OpenDrive::loadNetwork(), reinit(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), GNEEdge::setAttribute(), and NWWriter_SUMO::writeConnection().
|
static |
unspecified lane offset
Definition at line 349 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLEdgesHandler::addEdge(), NIImporter_SUMO::addLane(), NIVissimEdge::buildNBEdge(), NGEdge::buildNBEdge(), GNENet::createEdge(), NIVissimDistrictConnection::dict_BuildDistricts(), getEndOffset(), NIImporter_MATSim::EdgesHandler::insertEdge(), NIImporter_OpenStreetMap::insertEdge(), NBEdgeCont::joinSameNodeConnectingEdges(), NIImporter_ArcView::load(), NIImporter_OpenDrive::loadNetwork(), NIImporter_ITSUMO::Handler::myEndElement(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_Edges(), reinit(), NIImporter_DlrNavteq::EdgesHandler::report(), NWWriter_XML::writeEdgesAndConnections(), NWWriter_SUMO::writeInternalEdges(), and NWWriter_SUMO::writeLane().
|
static |
unspecified signal offset
Definition at line 367 of file NBEdge.h.
Referenced by getSignalOffset(), and NBNodeCont::guessTLs().
|
static |
unspecified lane speed
Definition at line 352 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), NIXMLEdgesHandler::addEdge(), applyTurnSigns(), buildInnerEdges(), GNEAttributeCarrier::fillNetworkElements(), GNEConnection::getAttribute(), GNEConnection::isAttributeComputed(), GNEConnection::isValid(), NIImporter_OpenDrive::loadNetwork(), NBTypeCont::EdgeTypeDefinition::needsLaneType(), reinit(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), GNEConnection::setAttribute(), NWWriter_SUMO::writeConnection(), and NBTypeCont::writeEdgeTypes().
|
static |
unspecified foe visibility for connections
Definition at line 361 of file NBEdge.h.
Referenced by NIImporter_SUMO::addConnection(), NBEdgeCont::appendRailwayTurnarounds(), appendTurnaround(), applyTurnSigns(), NBFrame::checkOptions(), GNEAttributeCarrier::fillNetworkElements(), NIImporter_OpenDrive::loadNetwork(), NIImporter_DlrNavteq::ConnectedLanesHandler::report(), NWWriter_SUMO::writeConnection(), and NWWriter_SUMO::writeInternalConnection().
|
static |
unspecified lane width
Definition at line 346 of file NBEdge.h.
Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLConnectionsHandler::addCrossing(), NIXMLEdgesHandler::addEdge(), NIImporter_SUMO::addLane(), NIXMLConnectionsHandler::addWalkingArea(), NBNode::buildCrossings(), NIVissimEdge::buildNBEdge(), NBNode::buildWalkingAreas(), NBNode::checkCrossing(), computeLaneShapes(), NBNodeShapeComputer::computeNodeShapeDefault(), GNENet::createEdge(), NIVissimDistrictConnection::dict_BuildDistricts(), NIVissimEdge::dictionary(), NBFrame::fillOptions(), GNEEdge::getAttribute(), GNELane::getAttribute(), getInternalLaneWidth(), getLaneWidth(), NIImporter_MATSim::EdgesHandler::insertEdge(), NIImporter_OpenStreetMap::insertEdge(), GNEEdge::isAttributeComputed(), GNELane::isAttributeComputed(), GNEEdge::isValid(), GNELane::isValid(), NBEdgeCont::joinSameNodeConnectingEdges(), NIImporter_OpenDrive::loadNetwork(), NBRampsComputer::moveRampRight(), NIImporter_ITSUMO::Handler::myEndElement(), NIXMLEdgesHandler::myEndElement(), NBTypeCont::EdgeTypeDefinition::needsLaneType(), NIVissimSingleTypeParser_Streckendefinition::parse(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_Edges(), NIImporter_VISUM::parse_Types(), reinit(), NBEdgeCont::removeLanesByWidth(), NIImporter_DlrNavteq::EdgesHandler::report(), GNEEdge::setAttribute(), GNELane::setAttribute(), NIImporter_OpenDrive::setLaneAttributes(), NIImporter_OpenStreetMap::usableType(), NWWriter_XML::writeEdgesAndConnections(), NBTypeCont::writeEdgeTypes(), and NWWriter_SUMO::writeLane().