Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
NBNode Class Reference

Represents a single node (junction) during network building. More...

#include <NBNode.h>

Inheritance diagram for NBNode:
[legend]
Collaboration diagram for NBNode:
[legend]

Data Structures

class  ApproachingDivider
 Computes lane-2-lane connections. More...
class  Crossing
 A definition of a pedestrian crossing. More...
class  edge_by_direction_sorter
 Sorts outgoing before incoming edges. More...
class  nodes_by_id_sorter
 Used for sorting the cells by the begin time they describe. More...
struct  WalkingArea
 A definition of a pedestrian walking area. More...
struct  WalkingAreaCustomShape

Public Types

typedef std::map< std::string, std::string > Map
 parameters map

Public Member Functions

NBNode::CrossingaddCrossing (EdgeVector edges, double width, bool priority, int tlIndex=-1, int tlIndex2=-1, const PositionVector &customShape=PositionVector::EMPTY, bool fromSumoNet=false, const Parameterised *params=nullptr)
 add a pedestrian crossing to this node
void addIncomingEdge (NBEdge *edge)
 adds an incoming edge
void addOutgoingEdge (NBEdge *edge)
 adds an outgoing edge
void addSortedLinkFoes (const NBConnection &mayDrive, const NBConnection &mustStop)
 add shorted link FOES
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container.
void addWalkingAreaShape (EdgeVector edges, const PositionVector &shape, double width)
 add custom shape for walkingArea
bool alreadyConnectedPaths (const NBEdge *e1, const NBEdge *e2, double dist) const
 return true if the given pedestrian paths are connected at another junction within dist
void avoidOverlap ()
 fix overlap
bool bidiConflict (const NBEdge *from, const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon, bool foes) const
 whether the foe connections is oncoming on the same lane
bool brakeForCrossingOnExit (const NBEdge *to, LinkDirection dir, bool indirect) const
 whether a connection to the given edge must brake for a crossing when leaving the intersection
void buildCrossingOutlines ()
 build crossing outlines after walkingareas are finished
int buildCrossings ()
 build pedestrian crossings
void buildCrossingsAndWalkingAreas ()
 build crossings, and walkingareas. Also removes invalid loaded crossings if wished
double buildInnerEdges ()
 build internal lanes, pedestrian crossings and walking areas
void buildWalkingAreas (int cornerDetail, double joinMinDist)
 build pedestrian walking areas and set connections from/to walkingAreas
int checkCrossing (EdgeVector candidates, bool checkOnly=false)
bool checkCrossingDuplicated (EdgeVector edges)
 return true if there already exist a crossing with the same edges as the input
bool checkIsRemovable () const
 check if node is removable
bool checkIsRemovableReporting (std::string &reason) const
 check if node is removable and return reason if not
void clearParameter ()
 Clears the parameter map.
PositionVector computeInternalLaneShape (const NBEdge *fromE, const NBEdge::Connection &con, int numPoints, NBNode *recordError=0, int shapeFlag=0) const
 Compute the shape for an internal lane.
void computeKeepClear ()
 compute keepClear status for all connections
void computeLanes2Lanes ()
 computes the connections of lanes to edges
void computeLogic (const NBEdgeCont &ec)
 computes the node's type, logic and traffic light
void computeLogic2 (bool checkLaneFoes)
 compute right-of-way logic for all lane-to-lane connections
void computeNodeShape (double mismatchThreshold)
 Compute the junction shape for this node.
PositionVector computeSmoothShape (const PositionVector &begShape, const PositionVector &endShape, int numPoints, bool isTurnaround, double extrapolateBeg, double extrapolateEnd, NBNode *recordError=0, int shapeFlag=0) const
 Compute a smooth curve between the given geometries.
bool crossesFringe (const NBEdge *e1, const NBEdge *e2) const
 return true if the given sidewalks are separated by a fringe road
bool crossingBetween (const NBEdge *e1, const NBEdge *e2) const
 return true if the given edges are connected by a crossing
void discardAllCrossings (bool rejectAll)
 discard all current (and optionally future) crossings
void discardWalkingareas ()
 discard previously built walkingareas (required for repeated computation by netedit)
EdgeVector edgesBetween (const NBEdge *e1, const NBEdge *e2) const
 return all edges that lie clockwise between the given edges
bool extraConflict (int index, int foeIndex) const
 whether the given index must yield to the foeIndex while turing right on a red light
bool foes (const NBEdge *const from1, const NBEdge *const to1, const NBEdge *const from2, const NBEdge *const to2) const
 Returns the information whether the given flows cross.
bool forbids (const NBEdge *const possProhibitorFrom, const NBEdge *const possProhibitorTo, const NBEdge *const possProhibitedFrom, const NBEdge *const possProhibitedTo, bool regardNonSignalisedLowerPriority) const
 Returns the information whether "prohibited" flow must let "prohibitor" flow pass.
bool geometryLike () const
 whether this is structurally similar to a geometry node
int getConnectionIndex (const NBEdge *from, const NBEdge::Connection &con) const
 return the index of the given connection
NBEdgegetConnectionTo (NBNode *n) const
 get connection to certain node
CrossinggetCrossing (const EdgeVector &edges, bool hardFail=true) const
 return the crossing with the given Edges
CrossinggetCrossing (const std::string &id) const
 return the crossing with the given id
std::vector< Crossing * > getCrossings () const
 return this junctions pedestrian crossings
const std::vector< std::unique_ptr< Crossing > > & getCrossingsIncludingInvalid () const
LinkDirection getDirection (const NBEdge *const incoming, const NBEdge *const outgoing, bool leftHand=false) const
 Returns the representation of the described stream's direction.
double getDisplacementError () const
 compute the displacement error during s-curve computation
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double.
std::vector< std::pair< NBEdge *, NBEdge * > > getEdgesToJoin () const
 get edges to join
Position getEmptyDir () const
 Returns something like the most unused direction Should only be used to add source or sink nodes.
std::vector< std::pair< Position, std::string > > getEndPoints () const
 return list of unique endpoint coordinates of all edges at this node
const std::string getFoes (int linkIndex) const
 get the 'foes' string (conflict bit set) of the right-of-way logic
const std::string & getID () const
 Returns the id.
LinkState getLinkState (const NBEdge *incoming, const NBEdge *outgoing, int fromLane, int toLane, bool mayDefinitelyPass, const std::string &tlID) const
 get link state
NBEdgegetOppositeIncoming (NBEdge *e) const
 returns the opposite incoming edge of certain edge
virtual const std::string getParameter (const std::string &key, const std::string defaultValue="") const
 Returns the value for a given key.
const Parameterised::MapgetParametersMap () 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".
NBEdgegetPossiblySplittedIncoming (const std::string &edgeid)
 get possibly splitted incoming edge
NBEdgegetPossiblySplittedOutgoing (const std::string &edgeid)
 get possibly splitted outgoing edge
const NBConnectionProhibitsgetProhibitions ()
 get prohibitions (BLocked connections)
const std::string getResponse (int linkIndex) const
 get the 'response' string (right-of-way bit set) of the right-of-way logic
const PositionVectorgetShape () const
 retrieve the junction shape
WalkingAreagetWalkingArea (const std::string &id)
 return the walkingArea with the given ID
const std::vector< WalkingAreaCustomShape > & getWalkingAreaCustomShapes () const
const std::vector< WalkingArea > & getWalkingAreas () const
 return this junctions pedestrian walking areas
int guessCrossings ()
 guess pedestrian crossings and return how many were guessed
bool hasConflict () const
 whether there are conflicting streams of traffic at this node
bool hasConflict (const NBEdge *e) const
 whether the given edge has a conflicting stream of traffic at this node
bool hasCustomShape () const
 return whether the shape was set by the user
bool hasIncoming (const NBEdge *const e) const
 Returns whether the given edge ends at this node.
bool hasOutgoing (const NBEdge *const e) const
 Returns whether the given edge starts at this node.
bool hasParameter (const std::string &key) const
 Returns whether the parameter is set.
PositionVector indirectLeftShape (const PositionVector &begShape, const PositionVector &endShape, int numPoints) const
 compute shape of indirect left turn
void invalidateIncomingConnections (bool reallowSetting=false)
 invalidate incoming connections
void invalidateOutgoingConnections (bool reallowSetting=false)
 invalidate outgoing connections
bool isBentPriority () const
 return whether a priority road turns at this node
bool isConstantWidthTransition () const
 detects whether a given junction splits or merges lanes while keeping constant road width
bool isDistrict () const
 check if node is a district
bool isLeftMover (const NBEdge *const from, const NBEdge *const to) const
 Computes whether the given connection is a left mover across the junction.
bool isNearDistrict () const
 @chech if node is near district
bool isRoundabout () const
 return whether this node is part of a roundabout
bool isSimpleContinuation (bool checkLaneNumbers=true, bool checkWidth=false) const
 check if node is a simple continuation
bool isTrafficLight () const
void markBentPriority (bool isBent)
 mark whether a priority road turns at this node
bool mergeConflict (const NBEdge *from, const NBEdge::Connection &con, const NBEdge *prohibitorFrom, const NBEdge::Connection &prohibitorCon, bool foes) const
 whether multiple connections from the same edge target the same lane
bool mergeConflictYields (const NBEdge *from, int fromLane, int fromLaneFoe, NBEdge *to, int toLane) const
 whether one of multple connections from the same edge targeting the same lane must yield
void mergeParameters (const Parameterised::Map &mapArg, const std::string separator=" ", bool uniqueValues=true)
 Adds or appends all given parameters from the map.
bool mustBrake (const NBEdge *const from, const NBEdge *const to, int fromLane, int toLane, bool includePedCrossings) const
 Returns the information whether the described flow must let any other flow pass.
bool mustBrakeForCrossing (const NBEdge *const from, const NBEdge *const to, const Crossing &crossing) const
 Returns the information whether the described flow must brake for the given crossing.
 NBNode (const std::string &id, const Position &position, NBDistrict *district=0)
 Constructor.
 NBNode (const std::string &id, const Position &position, SumoXMLNodeType type)
 Constructor.
bool needsCont (const NBEdge *fromE, const NBEdge *otherFromE, const NBEdge::Connection &c, const NBEdge::Connection &otherC, bool checkOnlyTLS=false) const
 whether an internal junction should be built at from and respect other
int numCrossingsFromSumoNet () const
 get num of crossings from sumo net
int numNormalConnections () const
 return the number of lane-to-lane connections at this junction (excluding crossings)
void recheckVClassConnections (NBEdge *currentOutgoing)
 ensure connectivity for all vClasses
void reinit (const Position &position, SumoXMLNodeType type, bool updateEdgeGeometries=false)
 Resets initial values.
void removeCrossing (const EdgeVector &edges)
 remove a pedestrian crossing from this node (identified by its edges)
void removeDoubleEdges ()
 remove duble edges
void removeEdge (NBEdge *edge, bool removeFromConnections=true)
 Removes edge from this node and optionally removes connections as well.
void replaceIncoming (const EdgeVector &which, NBEdge *by)
 Replaces occurrences of every edge from the given list within the list of incoming by the second Connections are remapped, too.
void replaceIncoming (NBEdge *which, NBEdge *by, int laneOff)
 Replaces occurrences of the first edge within the list of incoming by the second Connections are remapped, too.
void replaceOutgoing (const EdgeVector &which, NBEdge *by)
 Replaces occurrences of every edge from the given list within the list of outgoing by the second Connections are remapped, too.
void replaceOutgoing (NBEdge *which, NBEdge *by, int laneOff)
 Replaces occurrences of the first edge within the list of outgoing by the second Connections are remapped, too.
void resetShape ()
 reset node shape
bool setCrossingTLIndices (const std::string &tlID, int startIndex, bool ignoreCustom=false)
void setCustomShape (const PositionVector &shape)
 set the junction shape
void setFringeType (FringeType fringeType)
 set fringe type
virtual void setID (const std::string &newID)
 resets the id
void setKeepClear (bool keepClear)
 set the keepClear flag
void setName (const std::string &name)
 set intersection name
virtual void setParameter (const std::string &key, const std::string &value)
 Sets a parameter.
void setParameters (const Parameterised &params)
 set the given key/value map in map<string, string> format
void setParameters (const std::vector< std::pair< std::string, std::string > > &params)
 set the given key/value vector in map<string, string> format
void setParametersStr (const std::string &paramsString, const std::string kvsep="=", const std::string sep="|")
 set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"
void setRadius (double radius)
 set the turning radius
void setRightOfWay (RightOfWay rightOfWay)
 set method for computing right-of-way
void setRoundabout ()
 update the type of this node as a roundabout
void setRoundaboutType (RoundaboutType roundaboutType)
 set roundabout type
void sortEdges (bool useNodeShape)
 sort all edge containers for this node
bool tlsStrandedConflict (const NBEdge *from, const NBEdge::Connection &c, const NBEdge *foeFrom, const NBEdge::Connection &foe) const
 whether the connection must yield if the foe remains on the intersection after its phase ends
bool turnFoes (const NBEdge *from, const NBEdge *to, int fromLane, const NBEdge *from2, const NBEdge *to2, int fromLane2, bool lefthand=false) const
 return whether the given laneToLane connection originate from the same edge and are in conflict due to turning across each other
bool typeWasGuessed () const
 return whether a priority road turns at this node
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 updateSurroundingGeometry ()
 update geometry of node and surrounding edges
bool writeLogic (OutputDevice &into) const
 writes the XML-representation of the logic as a bitset-logic XML representation
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice
bool zipperConflict (const NBEdge *incoming, const NBEdge *outgoing, int fromLane, int toLane) const
 ~NBNode ()
 Destructor.
Atomar getter methods

Returns the position of this node

const PositiongetPosition () const
Position getCenter () const
 Returns a position that is guaranteed to lie within the node shape.
const EdgeVectorgetIncomingEdges () const
 Returns this node's incoming edges (The edges which yield in this node).
const EdgeVectorgetOutgoingEdges () const
 Returns this node's outgoing edges (The edges which start at this node).
const EdgeVectorgetEdges () const
 Returns all edges which participate in this node (Edges that start or end at this node).
SumoXMLNodeType getType () const
 Returns the type of this node.
double getRadius () const
 Returns the turning radius of this node.
bool getKeepClear () const
 Returns the keepClear flag.
RightOfWay getRightOfWay () const
 Returns hint on how to compute right of way.
FringeType getFringeType () const
 Returns fringe type.
RoundaboutType getRoundaboutType () const
 Returns roundabout type.
const std::string & getName () const
 Returns intersection name.
Methods for dealing with assigned traffic lights
void addTrafficLight (NBTrafficLightDefinition *tlDef)
 Adds a traffic light to the list of traffic lights that control this node.
void removeTrafficLight (NBTrafficLightDefinition *tlDef)
 Removes the given traffic light from this node.
void removeTrafficLights (bool setAsPriority=false)
 Removes all references to traffic lights that control this tls.
bool isTLControlled () const
 Returns whether this node is controlled by any tls.
bool hadSignal () const
 whether this node was marked as having a signal in the (OSM) input
const std::set< NBTrafficLightDefinition * > & getControllingTLS () const
 Returns the traffic lights that were assigned to this node (The set of tls that control this node).
void invalidateTLS (NBTrafficLightLogicCont &tlCont, bool addedConnections, bool removedConnections)
 causes the traffic light to be computed anew
void shiftTLConnectionLaneIndex (NBEdge *edge, int offset, int threshold=-1)
 patches loaded signal plans by modifying lane indices above threshold by the given offset
Prunning the input
int removeSelfLoops (NBDistrictCont &dc, NBEdgeCont &ec, NBTrafficLightLogicCont &tc)
 Removes edges which are both incoming and outgoing into this node.
Applying offset
void reshiftPosition (double xoff, double yoff)
 Applies an offset to the node.
void roundGeometry ()
 ensure consistency between input and output geometries
void mirrorX ()
 mirror coordinates along the x-axis

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 PositionVector bezierControlPoints (const PositionVector &begShape, const PositionVector &endShape, bool isTurnaround, double extrapolateBeg, double extrapolateEnd, bool &ok, NBNode *recordError=0, double straightThresh=DEG2RAD(5), int shapeFlag=0)
 get bezier control points
static bool geometryLike (const EdgeVector &incoming, const EdgeVector &outgoing)
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 void initRailSignalClasses (const NBNodeCont &nc)
 initialize signalized rail classes
static bool isTrafficLight (SumoXMLNodeType type)
 return whether the given type is a traffic light
static bool rightTurnConflict (const NBEdge *from, const NBEdge *to, int fromLane, const NBEdge *prohibitorFrom, const NBEdge *prohibitorTo, int prohibitorFromLane)
 return whether the given laneToLane connection is a right turn which must yield to a bicycle crossings

Static Public Attributes

static const int AVOID_INTERSECTING_LEFT_TURNS
static const int AVOID_WIDE_LEFT_TURN
static const int AVOID_WIDE_RIGHT_TURN
 flags for controlling shape generation
static const int BACKWARD
static const int FORWARD
 edge directions (for pedestrian related stuff)
static const int FOUR_CONTROL_POINTS
static const int INDIRECT_LEFT
static const int SCURVE_IGNORE
static const double UNSPECIFIED_RADIUS = -1
 unspecified lane width

Protected Attributes

std::string myID
 The name of the object.

Private Member Functions

int addedLanesRight (NBEdge *out, int addedLanes) const
 check whether this edge has extra lanes on the right side
bool avoidConfict (NBEdge *incoming, NBEdge *currentOutgoing, SVCPermissions svcSpecial, LinkDirection dir, int i)
 helper function for recheckSpecialConnections
PositionVector cutAtShapes (const PositionVector &cut, const PositionVector &border1, const PositionVector &border2, const PositionVector &def)
 geometry helper that cuts the first shape where bordered by the other two
void displaceShapeAtWidthChange (const NBEdge *from, const NBEdge::Connection &con, PositionVector &fromShape, PositionVector &toShape) const
 displace lane shapes to account for change in lane width at this node
SVCPermissions findToLaneForPermissions (NBEdge *currentOutgoing, int fromLane, NBEdge *incoming, SVCPermissions unsatisfied)
 helper function to add connections for unsatisfied modes
bool forbidsPedestriansAfter (std::vector< std::pair< NBEdge *, bool > > normalizedLanes, int startIndex)
 return whether there is a non-sidewalk lane after the given index;
EdgeVector getEdgesSortedByAngleAtNodeCenter () const
 returns the list of all edges sorted clockwise by getAngleAtNodeToCenter
void getEdgesThatApproach (NBEdge *currentOutgoing, EdgeVector &approaching)
 returns a list of edges which are connected to the given outgoing edge
NBEdgegetNextCompatibleOutgoing (const NBEdge *incoming, SVCPermissions vehPerm, EdgeVector::const_iterator start, bool clockwise) const
EdgeVector getPassengerEdges (bool incoming) const
 return edges that permit passengers (either incoming or outgoing)
void getReduction (const NBEdge *in, const NBEdge *out, int &inOffset, int &inEnd, int &outOffset, int &outEnd, int &reduction) const
 get the reduction in driving lanes at this junction
bool isStraighter (const NBEdge *const incoming, const double angle, const SVCPermissions vehPerm, const int modeLanes, const NBEdge *const candidate) const
 check whether the candidate edge is more likely to be the straight continuation
 NBNode (const NBNode &s)
 invalidated copy constructor
NBNodeoperator= (const NBNode &s)
 invalidated assignment operator
void patchOffset_pathAcrossStreet (double &offset)
 compute offset for centering path-across-street crossings
void recheckSpecialConnections (NBEdge *incoming, NBEdge *currentOutgoing, SVCPermissions svcSpecial)
 ensure connectivity for all special vClass
void remapRemoved (NBTrafficLightLogicCont &tc, NBEdge *removed, const EdgeVector &incoming, const EdgeVector &outgoing)
 remap removed
void removeJoinedTrafficLights ()
 remove all traffic light definitions that are part of a joined tls
void replaceInConnectionProhibitions (NBEdge *which, NBEdge *by, int whichLaneOff, int byLaneOff)
 replace incoming connections prohibitions
void setPriorityJunctionPriorities ()
 sets the priorites in case of a priority junction
bool unsignalizedOperation () const
 whether the given rail connections at this node may run in unsignalized (right-of-way) mode

Static Private Member Functions

static bool includes (const std::set< const NBEdge *, ComparatorIdLess > &super, const std::set< const NBEdge *, ComparatorIdLess > &sub)
 returns whether sub is a subset of super
static bool isExplicitRailNoBidi (const NBEdge *incoming, const NBEdge *outgoing)
 detect explict rail turns with potential geometry problem
static bool isLongEnough (NBEdge *out, double minLength)
 check if is long enough
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"

Private Attributes

EdgeVector myAllEdges
 Vector of incoming and outgoing edges.
NBConnectionProhibits myBlockedConnections
 The container for connection block dependencies.
std::vector< std::unique_ptr< Crossing > > myCrossings
 Vector of crossings.
int myCrossingsLoadedFromSumoNet
 number of crossings loaded from a sumo net
bool myDiscardAllCrossings
 whether to discard all pedestrian crossings
double myDisplacementError
 geometry error after computation of internal lane shapes
NBDistrictmyDistrict
 The district the node is the centre of.
FringeType myFringeType
 fringe type of this node
bool myHaveCustomPoly
 whether this nodes shape was set by the user
EdgeVector myIncomingEdges
 Vector of incoming edges.
bool myIsBentPriority
bool myKeepClear
 whether the junction area must be kept clear
Parameterised::Map myMap
 The key->value map.
std::string myName
 The intersection name (or whatever arbitrary string you wish to attach).
EdgeVector myOutgoingEdges
 Vector of outgoing edges.
PositionVector myPoly
 the (outer) shape of the junction
Position myPosition
 The position the node lies at.
double myRadius
 the turning radius (for all corners) at this node in m.
NBRequestmyRequest
 Node requests.
RightOfWay myRightOfWay
 how to compute right of way for this node
RoundaboutType myRoundaboutType
 roundabout type of this node
std::set< NBTrafficLightDefinition * > myTrafficLights
 traffic lights of node
SumoXMLNodeType myType
 The type of the junction.
bool myTypeWasGuessed
 whether the node type was guessed rather than loaded
std::vector< WalkingAreaCustomShapemyWalkingAreaCustomShapes
 Vector of custom walking areas shapes.
std::vector< WalkingAreamyWalkingAreas
 Vector of walking areas.

Static Private Attributes

static SVCPermissions myHaveRailSignalClasses
 all vehicle classes for which rail signals exist
static SVCPermissions myPermitUnsignalizedClasses
 all rail classes for which operation without rail signals is permitted

Friends

class GNEJunction
class NBEdgePriorityComputer
class NBNodeCont
class NBNodesEdgesSorter
class NBNodeTypeComputer

Detailed Description

Represents a single node (junction) during network building.

Definition at line 66 of file NBNode.h.

Member Typedef Documentation

◆ Map

typedef std::map<std::string, std::string> Parameterised::Map
inherited

parameters map

Definition at line 45 of file Parameterised.h.

Constructor & Destructor Documentation

◆ NBNode() [1/3]

NBNode::NBNode ( const std::string & id,
const Position & position,
SumoXMLNodeType type )

◆ NBNode() [2/3]

NBNode::NBNode ( const std::string & id,
const Position & position,
NBDistrict * district = 0 )

Constructor.

Parameters
[in]idThe id of the node
[in]positionThe position of the node
[in]districtThe district this district node represents, 0 means no district node

Definition at line 321 of file NBNode.cpp.

References SUMOXMLDefinitions::isValidNetID(), myCrossingsLoadedFromSumoNet, myDiscardAllCrossings, myDisplacementError, myDistrict, myFringeType, myHaveCustomPoly, Named::myID, myIsBentPriority, myKeepClear, myPosition, myRadius, myRequest, myRightOfWay, myRoundaboutType, myType, myTypeWasGuessed, Named::Named(), TLF, and UNSPECIFIED_RADIUS.

◆ ~NBNode()

NBNode::~NBNode ( )

Destructor.

Definition at line 347 of file NBNode.cpp.

References myRequest.

◆ NBNode() [3/3]

NBNode::NBNode ( const NBNode & s)
private

invalidated copy constructor

References NBNode().

Member Function Documentation

◆ addCrossing()

NBNode::Crossing * NBNode::addCrossing ( EdgeVector edges,
double width,
bool priority,
int tlIndex = -1,
int tlIndex2 = -1,
const PositionVector & customShape = PositionVector::EMPTY,
bool fromSumoNet = false,
const Parameterised * params = nullptr )

add a pedestrian crossing to this node

Definition at line 4082 of file NBNode.cpp.

References Parameterised::getParametersMap(), myCrossings, myCrossingsLoadedFromSumoNet, Parameterised::Parameterised(), and Parameterised::updateParameters().

Referenced by NIImporter_SUMO::_loadNetwork(), and checkCrossing().

Here is the caller graph for this function:

◆ addedLanesRight()

int NBNode::addedLanesRight ( NBEdge * out,
int addedLanes ) const
private

check whether this edge has extra lanes on the right side

Definition at line 1759 of file NBNode.cpp.

References BACKWARD, DEBUGCOND, FORWARD, getDirection(), NBEdge::getFirstNonPedestrianLaneIndex(), NBEdge::getFirstNonPedestrianNonBicycleLaneIndex(), NBEdge::getID(), getIncomingEdges(), getOutgoingEdges(), getReduction(), NBEdge::getToNode(), NBEdge::isConnectedTo(), NBEdge::isOffRamp(), MAX2(), MIN2(), MIN3(), NBNode(), PARTRIGHT, RIGHT, and STRAIGHT.

Referenced by computeLanes2Lanes().

Here is the caller graph for this function:

◆ addIncomingEdge()

void NBNode::addIncomingEdge ( NBEdge * edge)

adds an incoming edge

Definition at line 533 of file NBNode.cpp.

References myAllEdges, and myIncomingEdges.

Referenced by GNENetHelper::AttributeCarriers::insertEdge().

Here is the caller graph for this function:

◆ addOutgoingEdge()

void NBNode::addOutgoingEdge ( NBEdge * edge)

adds an outgoing edge

Definition at line 543 of file NBNode.cpp.

References myAllEdges, and myOutgoingEdges.

Referenced by GNENetHelper::AttributeCarriers::insertEdge().

Here is the caller graph for this function:

◆ addSortedLinkFoes()

void NBNode::addSortedLinkFoes ( const NBConnection & mayDrive,
const NBConnection & mustStop )

add shorted link FOES

Definition at line 2024 of file NBNode.cpp.

References NBConnection::getFrom(), NBConnection::getTo(), myBlockedConnections, TL, and WRITE_WARNING.

Referenced by NIVissimDisturbance::addToNode(), and NIVissimConflictArea::setPriorityRegulation().

Here is the caller graph for this function:

◆ addTo()

void Named::addTo ( const StoringVisitor & cont) const
inlineinherited

Adds this object to the given container.

Parameters
[in,filled]cont The container to add this item to

Definition at line 118 of file Named.h.

References Named::StoringVisitor::add().

◆ addTrafficLight()

void NBNode::addTrafficLight ( NBTrafficLightDefinition * tlDef)

Adds a traffic light to the list of traffic lights that control this node.

Parameters
[in]tldThe traffic light that controls this node

Definition at line 429 of file NBNode.cpp.

References isTrafficLight(), myTrafficLights, myType, RAIL_CROSSING, RAIL_SIGNAL, and TRAFFIC_LIGHT.

Referenced by NBTrafficLightDefinition::addNode(), NBLoadedTLDef::addToSignalGroup(), and NIImporter_OpenDrive::getTLSSecure().

Here is the caller graph for this function:

◆ addWalkingAreaShape()

void NBNode::addWalkingAreaShape ( EdgeVector edges,
const PositionVector & shape,
double width )

add custom shape for walkingArea

Definition at line 4016 of file NBNode.cpp.

References NBNode::WalkingAreaCustomShape::edges, myWalkingAreaCustomShapes, NBNode::WalkingAreaCustomShape::shape, and NBNode::WalkingAreaCustomShape::width.

Referenced by NIImporter_SUMO::_loadNetwork(), and NIXMLConnectionsHandler::addWalkingArea().

Here is the caller graph for this function:

◆ alreadyConnectedPaths()

bool NBNode::alreadyConnectedPaths ( const NBEdge * e1,
const NBEdge * e2,
double dist ) const

return true if the given pedestrian paths are connected at another junction within dist

Definition at line 3971 of file NBNode.cpp.

References NBEdge::getFinalLength(), NBEdge::getFromNode(), NBEdge::getPermissions(), NBEdge::getToNode(), NBNode(), and SVC_PEDESTRIAN.

Referenced by buildWalkingAreas().

Here is the caller graph for this function:

◆ areAttributesValid()

bool Parameterised::areAttributesValid ( const std::string & value,
bool report = false,
const std::string kvsep = "=",
const std::string sep = "|" )
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 207 of file Parameterised.cpp.

References StringTokenizer::getVector(), invalid_return< std::string >::value, isParameterValid(), TL, and WRITE_WARNINGF.

◆ areParametersValid()

bool Parameterised::areParametersValid ( const std::string & value,
bool report = false,
const std::string kvsep = "=",
const std::string sep = "|" )
staticinherited

check if given string can be parsed to a parameters map "key1=value1|key2=value2|...|keyN=valueN"

Definition at line 188 of file Parameterised.cpp.

References StringTokenizer::getVector(), invalid_return< std::string >::value, isParameterValid(), TL, and WRITE_WARNINGF.

Referenced by GNEAttributeCarrier::isCommonAttributeValid(), and GNETLSEditorFrame::TLSAttributes::isValidParameters().

Here is the caller graph for this function:

◆ avoidConfict()

bool NBNode::avoidConfict ( NBEdge * incoming,
NBEdge * currentOutgoing,
SVCPermissions svcSpecial,
LinkDirection dir,
int i )
private

helper function for recheckSpecialConnections

Definition at line 1678 of file NBNode.cpp.

References NBEdge::getConnections(), getDirection(), NBEdge::getPermissions(), LEFT, PARTLEFT, PARTRIGHT, RIGHT, STRAIGHT, and SVC_BICYCLE.

Referenced by recheckSpecialConnections().

Here is the caller graph for this function:

◆ avoidOverlap()

◆ bezierControlPoints()

PositionVector NBNode::bezierControlPoints ( const PositionVector & begShape,
const PositionVector & endShape,
bool isTurnaround,
double extrapolateBeg,
double extrapolateEnd,
bool & ok,
NBNode * recordError = 0,
double straightThresh = DEG2RAD(5),
int shapeFlag = 0 )
static

◆ bidiConflict()

bool NBNode::bidiConflict ( const NBEdge * from,
const NBEdge::Connection & con,
const NBEdge * prohibitorFrom,
const NBEdge::Connection & prohibitorCon,
bool foes ) const

whether the foe connections is oncoming on the same lane

Definition at line 2254 of file NBNode.cpp.

References foes(), and myRequest.

◆ brakeForCrossingOnExit()

bool NBNode::brakeForCrossingOnExit ( const NBEdge * to,
LinkDirection dir,
bool indirect ) const

whether a connection to the given edge must brake for a crossing when leaving the intersection

Definition at line 2167 of file NBNode.cpp.

References myCrossings, and STRAIGHT.

◆ buildCrossingOutlines()

void NBNode::buildCrossingOutlines ( )

build crossing outlines after walkingareas are finished

Definition at line 3820 of file NBNode.cpp.

References PositionVector::append(), PositionVector::closePolygon(), cutAtShapes(), PositionVector::extrapolate(), getCrossings(), PositionVector::move2side(), myCrossings, myWalkingAreas, and PositionVector::reverse().

Referenced by buildCrossingsAndWalkingAreas().

Here is the caller graph for this function:

◆ buildCrossings()

int NBNode::buildCrossings ( )

build pedestrian crossings

Returns
The next index for creating internal lanes

Definition at line 3156 of file NBNode.cpp.

References BACKWARD, DEBUGCOND, DEBUGCOUT, PositionVector::extrapolate(), FORWARD, gDebugFlag1, OptionsCont::getFloat(), Named::getID(), OptionsCont::getOptions(), PositionVector::isNAN(), isTLControlled(), PositionVector::move2side(), myCrossings, myDiscardAllCrossings, patchOffset_pathAcrossStreet(), NBHelpers::relAngle(), NBEdge::Lane::shape, SUMO_const_laneWidth, TL, toString(), NBEdge::UNSPECIFIED_WIDTH, NBEdge::Lane::width, and WRITE_WARNINGF.

Referenced by buildCrossingsAndWalkingAreas(), and GNENetHelper::AttributeCarriers::updateJunctionID().

Here is the caller graph for this function:

◆ buildCrossingsAndWalkingAreas()

void NBNode::buildCrossingsAndWalkingAreas ( )

build crossings, and walkingareas. Also removes invalid loaded crossings if wished

Definition at line 3049 of file NBNode.cpp.

References buildCrossingOutlines(), buildCrossings(), buildWalkingAreas(), Named::getID(), OptionsCont::getOptions(), myCrossings, myWalkingAreas, NBNode::WalkingArea::nextCrossings, NBNode::WalkingArea::nextSidewalks, NBNode::WalkingArea::prevCrossings, NBNode::WalkingArea::prevSidewalks, TL, toString(), and WRITE_WARNINGF.

Referenced by getWalkingArea().

Here is the caller graph for this function:

◆ buildInnerEdges()

double NBNode::buildInnerEdges ( )

build internal lanes, pedestrian crossings and walking areas

Definition at line 3132 of file NBNode.cpp.

References MAX2(), myDisplacementError, and myIncomingEdges.

◆ buildWalkingAreas()

void NBNode::buildWalkingAreas ( int cornerDetail,
double joinMinDist )

build pedestrian walking areas and set connections from/to walkingAreas

Parameters
[in]cornerDetailThe detail level when generating the inner curve

Definition at line 3346 of file NBNode.cpp.

References alreadyConnectedPaths(), PositionVector::angleAt2D(), GeomHelper::angleDiff(), PositionVector::append(), AVOID_INTERSECTING_LEFT_TURNS, AVOID_WIDE_LEFT_TURN, computeSmoothShape(), crossesFringe(), crossingBetween(), DEBUGCOND, DEBUGCOUT, Position::distanceTo2D(), NBNode::Crossing::edges, FOUR_CONTROL_POINTS, gDebugFlag1, getCrossings(), getEdgesSortedByAngleAtNodeCenter(), OptionsCont::getFloat(), NBEdge::getFromNode(), Named::getID(), NBEdge::getID(), NBEdge::getLanes(), NBEdge::getLaneShape(), OptionsCont::getOptions(), NBEdge::getSidewalkID(), NBEdge::hasConnectionTo(), NBNode::WalkingArea::hasCustomShape, NBNode::Crossing::id, NBNode::WalkingArea::id, includes(), NBNode::WalkingArea::length, PositionVector::length2D(), MAX2(), MIN2(), NBNode::WalkingArea::minNextCrossingEdges, NBNode::WalkingArea::minPrevCrossingEdges, PositionVector::move2side(), myAllEdges, myIncomingEdges, myOutgoingEdges, myPoly, myWalkingAreaCustomShapes, myWalkingAreas, NBNode::WalkingArea::nextCrossings, NBNode::WalkingArea::nextSidewalks, NBNode::Crossing::nextWalkingArea, NBEdge::Lane::permissions, NBNode::WalkingArea::prevCrossings, NBNode::WalkingArea::prevSidewalks, NBNode::Crossing::prevWalkingArea, PositionVector::push_back_noDoublePos(), PositionVector::push_front_noDoublePos(), NBNode::WalkingArea::refEdges, PositionVector::reverse(), NBEdge::Lane::shape, NBNode::Crossing::shape, NBNode::WalkingArea::shape, SUMO_const_laneWidth, SVC_PEDESTRIAN, SVC_RAIL_CLASSES, TL, toString(), NBEdge::UNSPECIFIED_WIDTH, NBNode::Crossing::valid, NBEdge::Lane::width, NBNode::Crossing::width, NBNode::WalkingArea::width, and WRITE_WARNINGF.

Referenced by buildCrossingsAndWalkingAreas().

Here is the caller graph for this function:

◆ checkCrossing()

◆ checkCrossingDuplicated()

bool NBNode::checkCrossingDuplicated ( EdgeVector edges)

return true if there already exist a crossing with the same edges as the input

Definition at line 3021 of file NBNode.cpp.

References myCrossings.

◆ checkIsRemovable()

bool NBNode::checkIsRemovable ( ) const

check if node is removable

Definition at line 2664 of file NBNode.cpp.

References checkIsRemovableReporting().

Referenced by getEdgesToJoin(), NBNodeCont::removeUnwishedNodes(), and GNENet::replaceJunctionByGeometry().

Here is the caller graph for this function:

◆ checkIsRemovableReporting()

bool NBNode::checkIsRemovableReporting ( std::string & reason) const

check if node is removable and return reason if not

Definition at line 2670 of file NBNode.cpp.

References getEdges(), NBEdge::getTurnDestination(), myCrossings, myIncomingEdges, myOutgoingEdges, myTrafficLights, myType, and RAIL_SIGNAL.

Referenced by checkIsRemovable().

Here is the caller graph for this function:

◆ clearParameter()

void Parameterised::clearParameter ( )
inherited

Clears the parameter map.

Definition at line 118 of file Parameterised.cpp.

References myMap.

◆ computeInternalLaneShape()

PositionVector NBNode::computeInternalLaneShape ( const NBEdge * fromE,
const NBEdge::Connection & con,
int numPoints,
NBNode * recordError = 0,
int shapeFlag = 0 ) const

◆ computeKeepClear()

void NBNode::computeKeepClear ( )

compute keepClear status for all connections

Definition at line 1102 of file NBNode.cpp.

References geometryLike(), getLinkState(), hasConflict(), isTLControlled(), KEEPCLEAR_FALSE, KEEPCLEAR_UNSPECIFIED, LINKSTATE_MAJOR, myCrossings, myIncomingEdges, myKeepClear, and myRequest.

◆ computeLanes2Lanes()

◆ computeLogic()

◆ computeLogic2()

void NBNode::computeLogic2 ( bool checkLaneFoes)

compute right-of-way logic for all lane-to-lane connections

Definition at line 1095 of file NBNode.cpp.

References myRequest.

◆ computeNodeShape()

void NBNode::computeNodeShape ( double mismatchThreshold)

Compute the junction shape for this node.

Parameters
[in]mismatchThresholdThe threshold for warning about shapes which are away from myPosition

Definition at line 1195 of file NBNode.cpp.

References PositionVector::around(), NBNodeShapeComputer::compute(), PositionVector::distance2D(), OptionsCont::getOptions(), NBNodeShapeComputer::getRadius(), myHaveCustomPoly, Named::myID, myIncomingEdges, myOutgoingEdges, myPoly, myPosition, myRadius, PositionVector::push_back_noDoublePos(), TL, UNSPECIFIED_RADIUS, and WRITE_WARNINGF.

Referenced by guessCrossings(), sortEdges(), and updateSurroundingGeometry().

Here is the caller graph for this function:

◆ computeSmoothShape()

PositionVector NBNode::computeSmoothShape ( const PositionVector & begShape,
const PositionVector & endShape,
int numPoints,
bool isTurnaround,
double extrapolateBeg,
double extrapolateEnd,
NBNode * recordError = 0,
int shapeFlag = 0 ) const

Compute a smooth curve between the given geometries.

Parameters
[in]begShapeThe geometry at the start
[in]endShapeThe geometry at the end
[in]numPointsThe number of geometry points for the internal lane
[in]isTurnaroundWhether this shall be the shape for a turnaround
[in]extrapolateBegExtrapolation distance at the beginning
[in]extrapolateEndExtrapolation distance at the end
[in]recordErrorThe node itself if the displacement error during shape computation shall be recorded
Returns
The shape of the internal lane

Definition at line 588 of file NBNode.cpp.

References PositionVector::bezier(), bezierControlPoints(), DEBUGCOND, DEG2RAD, Named::getID(), INDIRECT_LEFT, indirectLeftShape(), NBNode(), and PositionVector::smoothedZFront().

Referenced by buildWalkingAreas(), computeInternalLaneShape(), and GNELane2laneConnection::updateLane2laneConnection().

Here is the caller graph for this function:

◆ crossesFringe()

bool NBNode::crossesFringe ( const NBEdge * e1,
const NBEdge * e2 ) const

return true if the given sidewalks are separated by a fringe road

Definition at line 3992 of file NBNode.cpp.

References DEFAULT, NBEdge::isTurningDirectionAt(), myFringeType, myIncomingEdges, and myOutgoingEdges.

Referenced by buildWalkingAreas().

Here is the caller graph for this function:

◆ crossingBetween()

bool NBNode::crossingBetween ( const NBEdge * e1,
const NBEdge * e2 ) const

return true if the given edges are connected by a crossing

Definition at line 3950 of file NBNode.cpp.

References getCrossings(), and myAllEdges.

Referenced by buildWalkingAreas().

Here is the caller graph for this function:

◆ cutAtShapes()

PositionVector NBNode::cutAtShapes ( const PositionVector & cut,
const PositionVector & border1,
const PositionVector & border2,
const PositionVector & def )
private

geometry helper that cuts the first shape where bordered by the other two

Definition at line 3877 of file NBNode.cpp.

References PositionVector::distance2D(), PositionVector::getSubpart(), PositionVector::intersectsAtLengths2D(), PositionVector::length2D(), VectorHelper< T >::maxValue(), VectorHelper< T >::minValue(), and PositionVector::nearest_offset_to_point2D().

Referenced by buildCrossingOutlines().

Here is the caller graph for this function:

◆ discardAllCrossings()

void NBNode::discardAllCrossings ( bool rejectAll)

discard all current (and optionally future) crossings

Definition at line 3116 of file NBNode.cpp.

References myCrossings, and myDiscardAllCrossings.

◆ discardWalkingareas()

void NBNode::discardWalkingareas ( )

discard previously built walkingareas (required for repeated computation by netedit)

Definition at line 3126 of file NBNode.cpp.

References myWalkingAreas.

◆ displaceShapeAtWidthChange()

void NBNode::displaceShapeAtWidthChange ( const NBEdge * from,
const NBEdge::Connection & con,
PositionVector & fromShape,
PositionVector & toShape ) const
private

displace lane shapes to account for change in lane width at this node

Definition at line 929 of file NBNode.cpp.

References NBEdge::Connection::fromLane, getDirection(), NBEdge::getLaneWidth(), NBEdge::getNumLanes(), NBEdge::getPermissions(), isConstantWidthTransition(), LEFT, PositionVector::move2side(), myIncomingEdges, myOutgoingEdges, PARTLEFT, SVC_BICYCLE, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, and TURN.

Referenced by computeInternalLaneShape().

Here is the caller graph for this function:

◆ edgesBetween()

EdgeVector NBNode::edgesBetween ( const NBEdge * e1,
const NBEdge * e2 ) const

return all edges that lie clockwise between the given edges

Definition at line 4000 of file NBNode.cpp.

References myAllEdges, and NBContHelper::nextCW().

◆ extraConflict()

bool NBNode::extraConflict ( int index,
int foeIndex ) const

whether the given index must yield to the foeIndex while turing right on a red light

Definition at line 4277 of file NBNode.cpp.

References myTrafficLights.

◆ findToLaneForPermissions()

SVCPermissions NBNode::findToLaneForPermissions ( NBEdge * currentOutgoing,
int fromLane,
NBEdge * incoming,
SVCPermissions unsatisfied )
private

helper function to add connections for unsatisfied modes

Definition at line 1721 of file NBNode.cpp.

References NBEdge::COMPUTED, NBEdge::Lane::connectionsDone, DEBUGCOND, NBEdge::Connection::fromLane, NBEdge::getConnectionRef(), NBEdge::getConnections(), NBEdge::getID(), NBEdge::getLaneStruct(), NBEdge::getNumLanes(), NBEdge::getPermissions(), getVehicleClassNames(), NBEdge::hasConnectionTo(), NBEdge::setConnection(), SVC_PASSENGER, and SVC_TRAM.

Referenced by recheckVClassConnections().

Here is the caller graph for this function:

◆ foes()

bool NBNode::foes ( const NBEdge *const from1,
const NBEdge *const to1,
const NBEdge *const from2,
const NBEdge *const to2 ) const

Returns the information whether the given flows cross.

Parameters
[in]from1The starting edge of the first stream
[in]to1The ending edge of the first stream
[in]from2The starting edge of the second stream
[in]to2The ending edge of the second stream
Returns
Whether both stream are foes (cross)

Definition at line 2338 of file NBNode.cpp.

References myRequest.

Referenced by bidiConflict(), NBTrafficLightDefinition::foes(), NBTrafficLightDefinition::forbids(), mergeConflict(), needsCont(), and tlsStrandedConflict().

Here is the caller graph for this function:

◆ forbids()

bool NBNode::forbids ( const NBEdge *const possProhibitorFrom,
const NBEdge *const possProhibitorTo,
const NBEdge *const possProhibitedFrom,
const NBEdge *const possProhibitedTo,
bool regardNonSignalisedLowerPriority ) const

Returns the information whether "prohibited" flow must let "prohibitor" flow pass.

Parameters
[in]possProhibitedFromThe maybe prohibited connection's begin
[in]possProhibitedToThe maybe prohibited connection's end
[in]possProhibitorFromThe maybe prohibiting connection's begin
[in]possProhibitorToThe maybe prohibiting connection's end
[in]regardNonSignalisedLowerPriorityWhether the right of way rules without traffic lights shall be regarded
Returns
Whether the second flow prohibits the first one

Definition at line 2328 of file NBNode.cpp.

References myRequest.

Referenced by NBTrafficLightDefinition::forbids().

Here is the caller graph for this function:

◆ forbidsPedestriansAfter()

bool NBNode::forbidsPedestriansAfter ( std::vector< std::pair< NBEdge *, bool > > normalizedLanes,
int startIndex )
private

return whether there is a non-sidewalk lane after the given index;

Definition at line 3038 of file NBNode.cpp.

Referenced by guessCrossings().

Here is the caller graph for this function:

◆ geometryLike() [1/2]

bool NBNode::geometryLike ( ) const

whether this is structurally similar to a geometry node

Definition at line 4026 of file NBNode.cpp.

References geometryLike(), myIncomingEdges, and myOutgoingEdges.

Referenced by NBRailwaySignalGuesser::canBeSignal(), computeKeepClear(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBNodeCont::discardTrafficLights(), NBNodeCont::generateNodeClusters(), geometryLike(), NBRailwaySignalGuesser::guessByStops(), NBNodeCont::guessTLs(), patchOffset_pathAcrossStreet(), NBNodeCont::pruneLongEdges(), NBEdge::startShapeAt(), and NWWriter_OpenDrive::writeInternalEdge().

Here is the caller graph for this function:

◆ geometryLike() [2/2]

bool NBNode::geometryLike ( const EdgeVector & incoming,
const EdgeVector & outgoing )
static

◆ getCenter()

Position NBNode::getCenter ( ) const

Returns a position that is guaranteed to lie within the node shape.

Definition at line 4212 of file NBNode.cpp.

References PositionVector::around(), PositionVector::closePolygon(), PositionVector::distance2D(), myPoly, and myPosition.

Referenced by GNENetHelper::AttributeCarriers::isNetworkElementAroundTriangle().

Here is the caller graph for this function:

◆ getConnectionIndex()

int NBNode::getConnectionIndex ( const NBEdge * from,
const NBEdge::Connection & con ) const

return the index of the given connection

Definition at line 4197 of file NBNode.cpp.

References NBEdge::Connection::fromLane, myIncomingEdges, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.

Referenced by GNEProhibitionFrame::buildProhibition(), and hasConflict().

Here is the caller graph for this function:

◆ getConnectionTo()

NBEdge * NBNode::getConnectionTo ( NBNode * n) const

get connection to certain node

Definition at line 2801 of file NBNode.cpp.

References myOutgoingEdges, n, and NBNode().

Referenced by NBEdgeCont::guessRoundabouts(), NIImporter_VISUM::parse_EdgePolys(), and NIImporter_VISUM::parse_Turns().

Here is the caller graph for this function:

◆ getControllingTLS()

const std::set< NBTrafficLightDefinition * > & NBNode::getControllingTLS ( ) const
inline

Returns the traffic lights that were assigned to this node (The set of tls that control this node).

Definition at line 345 of file NBNode.h.

References myTrafficLights.

Referenced by GNENet::computeJunction(), GNETLSEditorFrame::TLSPrograms::createTLS(), NBNodeCont::discardTrafficLights(), GNEACChooserDialog::getObjectName(), NIImporter_OpenDrive::getTLSSecure(), GNEViewNet::onCmdAddJoinTLS(), NIXMLNodesHandler::processNodeType(), NIXMLNodesHandler::processTrafficLightDefinitions(), NBNodeCont::recheckTLSThreshold(), NBNodeCont::removeUnwishedNodes(), NBEdgeCont::splitAt(), and NWWriter_OpenDrive::writeSignals().

Here is the caller graph for this function:

◆ getCrossing() [1/2]

NBNode::Crossing * NBNode::getCrossing ( const EdgeVector & edges,
bool hardFail = true ) const

return the crossing with the given Edges

Definition at line 4122 of file NBNode.cpp.

References myCrossings, and TL.

◆ getCrossing() [2/2]

NBNode::Crossing * NBNode::getCrossing ( const std::string & id) const

return the crossing with the given id

Definition at line 4111 of file NBNode.cpp.

References myCrossings, and TLF.

Referenced by NWWriter_SUMO::writeNetwork().

Here is the caller graph for this function:

◆ getCrossings()

std::vector< NBNode::Crossing * > NBNode::getCrossings ( ) const

return this junctions pedestrian crossings

Definition at line 3098 of file NBNode.cpp.

References myCrossings.

Referenced by buildCrossingOutlines(), buildWalkingAreas(), crossingBetween(), NBNodeCont::discardTrafficLights(), NBOwnTLDef::maxCrossingIndex(), setCrossingTLIndices(), and NWWriter_SUMO::writeNetwork().

Here is the caller graph for this function:

◆ getCrossingsIncludingInvalid()

const std::vector< std::unique_ptr< Crossing > > & NBNode::getCrossingsIncludingInvalid ( ) const
inline

Definition at line 759 of file NBNode.h.

References myCrossings.

◆ getDirection()

LinkDirection NBNode::getDirection ( const NBEdge *const incoming,
const NBEdge *const outgoing,
bool leftHand = false ) const

Returns the representation of the described stream's direction.

Parameters
[in]incomingThe edge the stream starts at
[in]outgoingThe edge the stream ends at
[in]leftHandWhether a lefthand network is being built. Should only be set at writing time
Returns
The direction of the stream

Definition at line 2498 of file NBNode.cpp.

References NBEdge::getAngleAtNode(), NBEdge::getFromNode(), NBEdge::getGeometry(), NBEdge::getJunctionPriority(), getNextCompatibleOutgoing(), NBEdge::getNumLanesThatAllow(), NBEdge::getPermissions(), NBEdge::getToNode(), isExplicitRailNoBidi(), isStraighter(), NBEdge::isTurningDirectionAt(), LEFT, myAllEdges, NODIR, NBHelpers::normRelAngle(), PARTLEFT, PARTRIGHT, RIGHT, NBEdge::ROUNDABOUT, STRAIGHT, SVC_PEDESTRIAN, TURN, and TURN_LEFTHAND.

Referenced by addedLanesRight(), avoidConfict(), NBTrafficLightDefinition::collectAllLinks(), computeInternalLaneShape(), computeLanes2Lanes(), NBOwnTLDef::computeLogicAndConts(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), displaceShapeAtWidthChange(), GNELane::drawArrows(), NBTrafficLightDefinition::forbids(), getLinkState(), NWWriter_SUMO::getOppositeInternalID(), NBOwnTLDef::hasStraightConnection(), NBEdge::MainDirections::MainDirections(), NBRequest::mustBrakeForCrossing(), needsCont(), NBOwnTLDef::patchNEMAStateForCrossings(), recheckSpecialConnections(), rightTurnConflict(), GNEConnection::setAttribute(), GNENet::splitJunction(), NWWriter_SUMO::writeConnection(), NWWriter_OpenDrive::writeInternalEdge(), and NWWriter_OpenDrive::writeSignals().

Here is the caller graph for this function:

◆ getDisplacementError()

double NBNode::getDisplacementError ( ) const
inline

compute the displacement error during s-curve computation

Definition at line 661 of file NBNode.h.

References myDisplacementError.

◆ getDouble()

◆ getEdges()

const EdgeVector & NBNode::getEdges ( ) const
inline

Returns all edges which participate in this node (Edges that start or end at this node).

Definition at line 278 of file NBNode.h.

References myAllEdges.

Referenced by checkIsRemovableReporting(), GNENet::createRoundabout(), GNENet::deleteJunction(), NBEdgeCont::guessRoundabouts(), isNearDistrict(), NBNodeShapeComputer::NBNodeShapeComputer(), NBOwnTLDef::patchNEMAStateForCrossings(), NBNodeCont::removeUnwishedNodes(), and GNENet::splitEdgesBidi().

Here is the caller graph for this function:

◆ getEdgesSortedByAngleAtNodeCenter()

EdgeVector NBNode::getEdgesSortedByAngleAtNodeCenter ( ) const
private

returns the list of all edges sorted clockwise by getAngleAtNodeToCenter

Definition at line 4229 of file NBNode.cpp.

References DEBUGCOUT, gDebugFlag1, myAllEdges, and toString().

Referenced by buildWalkingAreas(), and guessCrossings().

Here is the caller graph for this function:

◆ getEdgesThatApproach()

void NBNode::getEdgesThatApproach ( NBEdge * currentOutgoing,
EdgeVector & approaching )
private

returns a list of edges which are connected to the given outgoing edge

Definition at line 1830 of file NBNode.cpp.

References myAllEdges, and NBContHelper::nextCW().

Referenced by computeLanes2Lanes().

Here is the caller graph for this function:

◆ getEdgesToJoin()

std::vector< std::pair< NBEdge *, NBEdge * > > NBNode::getEdgesToJoin ( ) const

get edges to join

Definition at line 2747 of file NBNode.cpp.

References checkIsRemovable(), NBEdge::getTurnDestination(), myIncomingEdges, and myOutgoingEdges.

Referenced by NBNodeCont::removeUnwishedNodes(), and GNENet::replaceJunctionByGeometry().

Here is the caller graph for this function:

◆ getEmptyDir()

Position NBNode::getEmptyDir ( ) const

Returns something like the most unused direction Should only be used to add source or sink nodes.

Definition at line 2103 of file NBNode.cpp.

References Position::add(), Position::mul(), myIncomingEdges, myOutgoingEdges, myPosition, Position::norm2D(), Position::sub(), Position::x(), and Position::y().

◆ getEndPoints()

std::vector< std::pair< Position, std::string > > NBNode::getEndPoints ( ) const

return list of unique endpoint coordinates of all edges at this node

Definition at line 4372 of file NBNode.cpp.

References Position::almostSame(), and myAllEdges.

Referenced by GNENet::splitJunction().

Here is the caller graph for this function:

◆ getFoes()

const std::string NBNode::getFoes ( int linkIndex) const

get the 'foes' string (conflict bit set) of the right-of-way logic

Definition at line 1141 of file NBNode.cpp.

References myRequest.

Referenced by GNEProhibitionFrame::buildProhibition().

Here is the caller graph for this function:

◆ getFringeType()

FringeType NBNode::getFringeType ( ) const
inline

Returns fringe type.

Definition at line 305 of file NBNode.h.

References myFringeType.

Referenced by NIImporter_SUMO::addJunction(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ getID()

const std::string & Named::getID ( ) const
inlineinherited

Returns the id.

Returns
The stored id

Definition at line 74 of file Named.h.

References myID.

Referenced by MSDriveWay::_saveState(), MSCFModel_ACC::_v(), MSCFModel_CACC::_v(), MSCFModel_EIDM::_v(), MSCFModel_IDM::_v(), MSCFModel_Wiedemann::_v(), MSLCM_LC2013::_wantsChange(), MSTransportableControl::abortAnyWaitingForVehicle(), MSLaneChangerSublane::abortLCManeuver(), MSTransportable::abortStage(), AccessEdge< E, L, N, V >::AccessEdge(), MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToJunctionLeader(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaderDistance(), MSVehicle::adaptToLeaders(), MSVehicle::adaptToOncomingLeader(), MSDetectorControl::add(), MSDetectorControl::add(), MSDetectorControl::add(), MSPModel_JuPedSim::add(), MSPModel_Striping::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), PCPolyContainer::add(), ShapeContainer::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), MSChargingStation::addChargeValueForOutput(), MSOverheadWire::addChargeValueForOutput(), MSTractionSubstation::addChargeValueForOutput(), NBNodeCont::addCluster2Join(), NLHandler::addConflict(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), ROJTREdge::addFollowerProbability(), MSLane::addLeaders(), MSTLLogicControl::TLSLogicVariants::addLogic(), RONet::addNode(), MSLaneChangerSublane::addOutsideLeaders(), MSTractionSubstation::addOverheadWireClampToCircuit(), MSTractionSubstation::addOverheadWireInnerSegmentToCircuit(), MSTractionSubstation::addOverheadWireSegmentToCircuit(), MSDriveWay::addParallelFoes(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), MSDevice_Taxi::addReservation(), MSDispatch::addReservation(), MSDriveWay::addReversalFoes(), MSRouteHandler::addRideOrTransport(), RONet::addRouteDef(), MSDriveWay::addSidings(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), MSBaseVehicle::addStop(), MSRouteHandler::addStop(), RORouteHandler::addStop(), ROVehicle::addStop(), MSNet::addStoppingPlace(), MSRouteHandler::addTranship(), MSVehicle::addTransportable(), AGActivityTripWriter::addTrip(), MSPModel_JuPedSim::addWaitingSet(), NIXMLConnectionsHandler::addWalkingArea(), MSBaseVehicle::allowsBoarding(), MSTransportable::appendStage(), LIBSUMO_NAMESPACE::Person::appendWalkingStage(), MSCFModel::applyHeadwayAndSpeedDifferencePerceptionErrors(), MSCFModel::applyHeadwayPerceptionError(), libsumo::Helper::applySubscriptionFilterLanes(), libsumo::Helper::applySubscriptionFilterLateralDistance(), libsumo::Helper::applySubscriptionFilterLateralDistanceSinglePass(), libsumo::Helper::applySubscriptionFilters(), libsumo::Helper::applySubscriptionFilterTurn(), MSLaneChanger::avoidDeadlock(), MSPModel_Interacting::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), MSVehicle::boardTransportables(), MSVehicle::brakeForOverlap(), NIVisumTL::build(), LIBSUMO_NAMESPACE::TrafficLight::buildConstraint(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), NBNode::buildCrossings(), NBNode::buildCrossingsAndWalkingAreas(), MSTransportableDevice_BTreceiver::buildDevices(), MSTransportableDevice_BTsender::buildDevices(), MSTransportableDevice_FCD::buildDevices(), MSTransportableDevice_FCDReplay::buildDevices(), MSTransportableDevice_Routing::buildDevices(), NIImporter_VISUM::buildDistrictNode(), MSDriveWay::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), NLDetectorBuilder::buildInductLoop(), NLTriggerBuilder::buildInnerOverheadWireSegments(), GNETLSEditorFrame::buildInternalLanes(), NIVissimEdge::buildNBEdge(), NBOwnTLDef::buildNemaPhases(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSPModel_JuPedSim::buildPedestrianNetwork(), MSDriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), libsumo::Helper::buildStopParameters(), MSDriveWay::buildSubFoe(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_DriverState::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), MSDevice_FCD::buildVehicleDevices(), MSDevice_FCDReplay::buildVehicleDevices(), MSDevice_Friction::buildVehicleDevices(), MSDevice_GLOSA::buildVehicleDevices(), MSDevice_Routing::buildVehicleDevices(), MSDevice_SSM::buildVehicleDevices(), MSDevice_Taxi::buildVehicleDevices(), MSDevice_ToC::buildVehicleDevices(), MSDevice_Transportable::buildVehicleDevices(), MSDevice_Tripinfo::buildVehicleDevices(), MSDevice_Vehroutes::buildVehicleDevices(), MSVehicleDevice_BTreceiver::buildVehicleDevices(), MSVehicleDevice_BTsender::buildVehicleDevices(), NBNode::buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), NEMALogic::calculateInitialPhases170(), MSE2Collector::calculateTimeLossAndTimeOnDetector(), MSDevice_Taxi::cancelCustomer(), MSStageDriving::canLeaveVehicle(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSLCHelper::canSaveBlockerLength(), MSDriveWay::canUseSiding(), CarEdge< E, L, N, V >::CarEdge(), MSLaneChanger::change(), MSLaneChangerSublane::change(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSActuatedTrafficLightLogic::changeStepAndDuration(), MSSimpleTrafficLightLogic::changeStepAndDuration(), LIBSUMO_NAMESPACE::Vehicle::changeTarget(), MSCFModel_CC::changeWholePlatoonLane(), MSTLLogicControl::check2Switch(), MSLaneChanger::checkChange(), MSLaneChanger::checkChangeOpposite(), MSLaneChangerSublane::checkChangeOpposite(), MSLaneChangerSublane::checkChangeSublane(), NBEdgeCont::checkConsistency(), MSDriveWay::checkCrossingFlanks(), MSLane::checkFailure(), MSDriveWay::checkFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSRoute::checkRemoval(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), MEVehicle::checkStop(), MSTriggeredRerouter::checkStopSwitch(), MSLCM_SL2015::checkStrategicChange(), MSLaneChanger::checkTraCICommands(), MSLink::checkWalkingAreaFoe(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), NLHandler::closeEdge(), MSRouteHandler::closeVehicle(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), NBTrafficLightDefinition::compute(), ROJTRRouter::compute(), MSVehicle::computeAngle(), MSDispatch::computeDetourTime(), MSVehicle::computeFurtherLanes(), NBNode::computeInternalLaneShape(), NBNode::computeLanes2Lanes(), NBNode::computeLogic(), NBOwnTLDef::computeLogicAndConts(), NBRampsComputer::computeRamps(), RODFNet::computeRoutesFor(), MSLaneChanger::computeSafeOppositeLength(), NBTrafficLightLogicCont::computeSingleLogic(), NBNode::computeSmoothShape(), MSDevice_SSM::computeSSMs(), MSLaneChanger::computeSurplusGap(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), MSVehicle::Manoeuvre::configureEntryManoeuvre(), MSVehicle::Manoeuvre::configureExitManoeuvre(), MSDriveWay::conflictLaneOccupied(), NGNet::connect(), MSRailSignal::constraintsAllow(), NEMALogic::constructTimingAndPhaseDefs(), MSLaneChanger::continueChange(), MSLaneChangerSublane::continueChangeSublane(), libsumo::Helper::convertCartesianToRoadMap(), LIBSUMO_NAMESPACE::Person::convertTraCIStage(), NBLoadedSUMOTLDef::copyIndices(), NBOwnTLDef::correctConflicting(), NBOwnTLDef::corridorLike(), MSSOTLE2Sensors::countVehicles(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSDevice_SSM::createEncounters(), GNETLSEditorFrame::TLSPrograms::createTLS(), GUINet::createTLWrapper(), NBNodeCont::customTLID(), libsumo::Helper::debugPrint(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSVehicleControl::deleteVehicle(), MSDevice_ElecHybrid::deleteVehicleFromCircuit(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSE3Collector::detectorUpdate(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSEdge::dictionaryHint(), NBNodeCont::discardTrafficLights(), MSDispatch_Greedy::dispatch(), MSDispatch_GreedyShared::dispatch(), MSDispatch_RouteExtension::dispatch(), MSDevice_Taxi::dispatchShared(), GUILane::drawGL(), MSDevice_SSM::Encounter::Encounter(), MSE3Collector::enter(), MSParkingArea::enter(), NEMAPhase::enter(), MSDriveWay::enterDriveWay(), MSVehicle::enterLaneAtInsertion(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::Manoeuvre::entryManoeuvreIsComplete(), MSTransportableControl::erase(), NEMALogic::error_handle_not_set(), MSStoppingPlaceRerouter::evaluateDestination(), Command_RouteReplacement::execute(), Command_SaveTLSSwitches::execute(), METriggeredCalibrator::execute(), MSCalibrator::execute(), MSDevice_BTreceiver::BTreceiverUpdate::execute(), MSPModel_JuPedSim::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVTypeProbe::execute(), MSVehicle::executeFractionalMove(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), MSDevice_SSM::filterByConflictType(), LIBSUMO_NAMESPACE::Person::filterReservation(), NBLoadedSUMOTLDef::finalChecks(), MSCFModel::finalizeSpeed(), MSCFModel_Daniel1::finalizeSpeed(), MSCFModel_EIDM::finalizeSpeed(), MSLaneChanger::findCandidate(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), MSRailSignalControl::findDeadlockFoes(), MSDriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), MSDriveWay::foeDriveWayOccupied(), MSCFModel_CACC::followSpeed(), MSCFModel_EIDM::followSpeed(), MSCFModel_W99::followSpeed(), NBTrafficLightDefinition::forbids(), MSLaneChanger::foundHilltop(), MSCFModel_EIDM::freeSpeed(), NBNodeCont::generateNodeClusters(), MSStopOut::generateOutputForUnfinished(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), LIBSUMO_NAMESPACE::Vehicle::getBestLanes(), MSLaneChanger::getBestLanesOpposite(), NBOwnTLDef::getBestPair(), LIBSUMO_NAMESPACE::Edge::getBidiEdge(), LIBSUMO_NAMESPACE::Lane::getBidiLane(), SUMOTrafficObject::getBoolParam(), MSLane::getCanonicalSuccessorLane(), MSVehicle::getCenterOnEdge(), MSDriveWay::getClickableTLLinkID(), LIBSUMO_NAMESPACE::Simulation::getCollisions(), GUIVehicle::getColorValue(), MSLaneChanger::getColumnleader(), MSActuatedTrafficLightLogic::getConditions(), LIBSUMO_NAMESPACE::TrafficLight::getConstraintsByFoe(), LIBSUMO_NAMESPACE::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), MSCalibrator::getCurrentStateInterval(), MSDriveWay::getDepartureDriveway(), MSLink::getDescription(), MSRailSignalConstraint_Predecessor::getDescription(), NBTrafficLightDefinition::getDescription(), GUIPerson::getDestinationEdgeID(), GUIPerson::getDestinationStopID(), MSDevice_SSM::getDetectionRange(), RODFNet::getDetectorEdge(), MSActuatedTrafficLightLogic::getDetectorPriority(), MSRailSignal::LinkInfo::getDriveWay(), MSRailSignal::LinkInfo::getDriveWay(), GUIVehicle::getDriveWays(), MSSimpleTrafficLightLogic::getEarliest(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), LIBSUMO_NAMESPACE::RouteProbe::getEdgeID(), MSMeanData::getEdgeID(), MSDevice_SSM::getExtraTime(), MSLane::getFirstVehicleInformation(), SUMOTrafficObject::getFloatParam(), MSBaseVehicle::getFlowID(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), NBEdge::getID(), LIBSUMO_NAMESPACE::Vehicle::getJunctionFoes(), MSDriveWay::getJunctionLinkID(), GUIPerson::getLaneID(), LIBSUMO_NAMESPACE::Calibrator::getLaneID(), NEMALogic::getLaneInfoFromNEMAState(), MSParkingArea::getLastFreePos(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSSimpleTrafficLightLogic::getLatest(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLaneChangerSublane::getLeaders(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSDevice_BTsender::getLocation(), MSDevice_SSM::getMDRAC_PRT(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), MSDevice_SSM::getMeasuresAndThresholds(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPModel_Striping::getNeighboringObstacles(), MSRailSignal::getNewDrivewayID(), MSCalibrator::getNewVehicleID(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSPModel_Striping::getNextLaneObstacles(), LIBSUMO_NAMESPACE::Vehicle::getNextLinks(), MSLaneChanger::getOncomingOppositeVehicle(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSDevice_SSM::getOutputFilename(), MSOverheadWire::getOverheadWireSegmentName(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSActuatedTrafficLightLogic::getParameter(), NEMALogic::getParameter(), GUIContainer::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), MSBaseVehicle::getPrefixedParameter(), MSCFModel_CC::getRadarMeasurements(), MSLaneChanger::getRealFollower(), MSLaneChanger::getRealLeader(), LIBSUMO_NAMESPACE::Vehicle::getRoadID(), MSLCHelper::getRoundaboutDistBonus(), LIBSUMO_NAMESPACE::Vehicle::getRouteID(), LIBSUMO_NAMESPACE::Calibrator::getRouteProbeID(), MSBaseVehicle::getRouteValidity(), LIBSUMO_NAMESPACE::TrafficLight::getServedPersonCount(), MSBaseVehicle::getSingularType(), MSTransportable::getSingularType(), LIBSUMO_NAMESPACE::Person::getStage(), MSPerson::MSPersonStage_Access::getStageSummary(), MSStageDriving::getStageSummary(), MSStageTranship::getStageSummary(), MSStageWaiting::getStageSummary(), MSStageWalking::getStageSummary(), MSDevice_Taxi::getStopLane(), MSNet::getStoppingPlaceID(), SUMOTrafficObject::getStringParam(), MSLane::getSurroundingVehicles(), MSActuatedTrafficLightLogic::getTarget(), LIBSUMO_NAMESPACE::Vehicle::getTeleportingIDList(), SUMOTrafficObject::getTimeParam(), MSDriveWay::getTLLinkID(), NIImporter_OpenDrive::getTLSSecure(), MSDevice_ElecHybrid::getTractionSubstationID(), PedestrianEdge< E, L, N, V >::getTravelTime(), MSVehicle::getUpcomingLanesUntil(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSRailSignalConstraint::getVeh(), LIBSUMO_NAMESPACE::Person::getVehicle(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), GUIPerson::getVehicleID(), MSPModel_Striping::getVehicleObstacles(), MSStageTrip::getVehicles(), MSDevice_SSM::getVehiclesOnJunction(), MSEdge::getWaitingVehicle(), MSStoppingPlaceRerouter::getWeight(), MSLink::getZipperSpeed(), GNEEdge::GNEEdge(), NBNode::guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), GUITriggeredRerouter::GUITriggeredRerouterEdge::GUITriggeredRerouterEdge(), MSLane::handleCollisionBetween(), MSLane::handleIntermodalCollisionBetween(), MSRailSignal::hasInsertionConstraint(), MSDriveWay::hasJoin(), MSDriveWay::hasLinkConflict(), MSBaseVehicle::hasValidRouteStart(), MSVehicle::hasValidRouteStart(), MSRailSignalControl::haveDeadlock(), MSBaseVehicle::haveValidStopEdges(), LIBSUMO_NAMESPACE::POI::highlight(), LIBSUMO_NAMESPACE::Vehicle::highlight(), MSIdling_RandomCircling::idle(), MSIdling_Stop::idle(), MSIdling_TaxiStand::idle(), MSLink::ignoreFoe(), MSVehicle::ignoreFoe(), MSVehicle::ignoreRed(), MSVehicle::Influencer::implicitDeltaPosRemote(), NBNode::indirectLeftShape(), MSLCM_LC2013::inform(), MSLCM_SL2015::inform(), MSLCM_LC2013::informFollower(), MSLCM_SL2015::informFollower(), MSLCM_LC2013::informLeader(), MSLCM_SL2015::informLeader(), MSActuatedTrafficLightLogic::init(), MSCalibrator::init(), MSDelayBasedTrafficLightLogic::init(), MSDeterministicHiLevelTrafficLightLogic::init(), MSMeanData::init(), MSRailSignal::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSTrafficLightLogic::init(), NEMALogic::init(), MSActuatedTrafficLightLogic::initAttributeOverride(), MSE2Collector::initAuxiliaries(), MESegment::initialise(), MSPModel_JuPedSim::initialize(), MSTrafficLightLogic::initMesoTLSPenalties(), NBOwnTLDef::initNeedsContRelation(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBNodeCont::insert(), NBTrafficLightLogicCont::insert(), NIImporter_OpenStreetMap::insertEdge(), MSCFModel_IDM::insertionFollowSpeed(), MSBaseVehicle::insertStop(), MSEdge::insertVehicle(), MSLane::insertVehicle(), MSPModel_Striping::insertWalkArePaths(), MSLane::integrateNewVehicles(), IntermodalNetwork< E, L, N, V >::IntermodalNetwork(), GNEJunction::invalidateTLS(), NBNode::invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isAllowed(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSBaseVehicle::isJumping(), MSVehicle::isLeader(), MESegment::isOpen(), MSCFModel_CC::isPlatoonLaneChangeSafe(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), RORoute::isValid(), MSStageDriving::isWaitingFor(), MESegment::jamThresholdForSpeed(), NBNodeCont::joinNodeCluster(), MSVehicle::joinTrainPartFront(), MSAbstractLaneChangeModel::laneChangeOutput(), MSVehicle::lateralDistanceToLane(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSVehicle::leaveLane(), MSVehicle::leaveLaneBack(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), MSStopOut::loadedContainers(), MSStopOut::loadedPersons(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), MEVehicle::loadState(), MSActuatedTrafficLightLogic::loadState(), MSVehicle::loadState(), MSVehicleTransfer::loadState(), ODDistrictCont::makeDistricts(), MSE2Collector::makeMoveNotification(), MSE2Collector::makeVehicleInfo(), NWWriter_OpenDrive::mapmatchRoadObjects(), MSDriveWay::match(), MEVehicle::mayProceed(), MSMeanData::MeanDataValues::MeanDataValues(), MSSOTLE2Sensors::meanVehiclesSpeed(), METriggeredCalibrator::METriggeredCalibrator(), MSTransportableDevice_FCDReplay::move(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveTo(), MSPModel_Striping::PState::moveToNextLane(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), libsumo::Helper::moveToXYMap(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSDevice_ElecHybrid::MSDevice_ElecHybrid(), MSDevice_Emissions::MSDevice_Emissions(), MSDevice_StationFinder::MSDevice_StationFinder(), MSDevice_ToC::MSDevice_ToC(), MSDevice_Transportable::MSDevice_Transportable(), MSE2Collector::MSE2Collector(), MSE3Collector::MSE3EntryReminder::MSE3EntryReminder(), MSE3Collector::MSE3LeaveReminder::MSE3LeaveReminder(), MSParkingArea::MSParkingArea(), MSSimpleDriverState::MSSimpleDriverState(), NBLoadedTLDef::myCompute(), MSCalibrator::myStartElement(), MSDevice_FCDReplay::FCDHandler::myStartElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), GUIE2Collector::MyWrapper::MyWrapper(), GUIE3Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), GUIInstantInductLoop::MyWrapper::MyWrapper(), GUIMEInductLoop::MyWrapper::MyWrapper(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), NBTrafficLightLogic::NBTrafficLightLogic(), MSPModel_Interacting::nextBlocking(), MSLane::AnyVehicleIterator::nextIsMyVehicles(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_ElecHybrid::notifyEnter(), MSDevice_Example::notifyEnter(), MSDevice_GLOSA::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Tripinfo::notifyEnter(), MSDriveWay::notifyEnter(), MSE2Collector::notifyEnter(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSRailSignalConstraint_Predecessor::PassedTracker::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_ElecHybrid::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Transportable::notifyLeave(), MSDevice_Tripinfo::notifyLeave(), MSDriveWay::notifyLeave(), MSE2Collector::notifyLeave(), MSE3Collector::MSE3EntryReminder::notifyLeave(), MSE3Collector::MSE3LeaveReminder::notifyLeave(), MSDriveWay::notifyLeaveBack(), MSDevice_Battery::notifyMove(), MSDevice_Bluelight::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_ElecHybrid::notifyMove(), MSDevice_Example::notifyMove(), MSDevice_SSM::notifyMove(), MSDevice_StationFinder::notifyMove(), MSE2Collector::notifyMove(), MSE3Collector::MSE3EntryReminder::notifyMove(), MSE3Collector::MSE3LeaveReminder::notifyMove(), MSInductLoop::notifyMove(), MSMeanData::MeanDataValues::notifyMove(), MSMeanData_Net::MSLaneMeanDataValues::notifyMoveInternal(), MSDriveWay::notifyReroute(), GNETLSEditorFrame::TLSPrograms::onCmdResetCurrentProgram(), MSVehicle::onRemovalFromNet(), MSLink::opened(), MSEdge::transportable_by_position_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), RODFNet::idComp::operator()(), MSBaseVehicle::optimizeSkipped(), MSLaneChangerSublane::outputLCStarted(), MSTriggeredRerouter::overtakingTrain(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_stopPoints(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildOverheadWireSection(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSRoutingEngine::patchSpeedForTurns(), NBLoadedTLDef::SignalGroup::patchTYellow(), PedestrianEdge< E, L, N, V >::PedestrianEdge(), MSCFModel_CC::performAutoLaneChange(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSDevice_StationFinder::planOpportunisticCharging(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), MSVehicle::Influencer::postProcessRemoteControl(), MSDevice_Taxi::prepareStop(), MSAbstractLaneChangeModel::primaryLaneChanged(), AGStreet::print(), MSStageDriving::proceed(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MSVehicle::processTraCISpeedControl(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneSlipLaneNodes(), MSPModel_Striping::PState::PState(), PublicTransportEdge< E, L, N, V >::PublicTransportEdge(), MSDevice_Battery::readParameterValue(), MSOffTrafficLightLogic::rebuildPhase(), NBEdgeCont::recheckPostProcessConnections(), NBLoadedSUMOTLDef::reconstructLogic(), MSNet::registerCollision(), MSPModel_Striping::registerCrossingApproach(), MSLink::removeApproaching(), MSLink::removeApproachingPerson(), LIBSUMO_NAMESPACE::TrafficLight::removeConstraints(), MSVehicle::removePassedDriveItems(), MSCalibrator::removePending(), MSDispatch::removeReservation(), GNEJunction::removeTLSConnections(), NBNodeCont::removeUnwishedNodes(), NBNodeCont::rename(), NBTrafficLightLogicCont::rename(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSBaseVehicle::replaceParkingArea(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), MSBaseVehicle::replaceStop(), MSTransportable::replaceVehicleType(), MSPerson::replaceWalk(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), MSDevice_SSM::requestsTrajectories(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), MSStageTrip::reroute(), GUIVehicle::rerouteDRTStop(), MSTransportable::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSStoppingPlaceRerouter::rerouteStoppingPlace(), MSDevice_StationFinder::rerouteToChargingStation(), MSDriveWay::reserve(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), MSDevice_Bluelight::resetVehicle(), MSLaneChanger::resolveDeadlock(), LIBSUMO_NAMESPACE::Vehicle::resume(), MSVehicle::resumeFromStopping(), MSRailSignal::retrieveDriveWay(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), MSStageDriving::routeOutput(), MSLane::safeInsertionSpeed(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), MESegment::saveState(), MSDevice::saveState(), MSDevice_Battery::saveState(), MSDevice_Routing::saveState(), MSDevice_StationFinder::saveState(), MSDevice_Transportable::saveState(), MSDevice_Tripinfo::saveState(), MSDevice_Vehroutes::saveState(), MSLane::saveState(), MSSimpleTrafficLightLogic::saveState(), MSTransportable::saveState(), MSTransportableDevice_Routing::saveState(), MSCalibrator::scheduleRemoval(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSVehicle::setAngle(), MSLink::setApproaching(), MSLink::setApproaching(), MSVehicle::setApproachingForAllLinks(), NBNodeCont::setAsTLControlled(), GNEJunction::setAttribute(), MSLane::setBidiLane(), MSEdge::setBidiLanes(), MSBaseVehicle::setDepartAndArrivalEdge(), MSCalibrator::setFlow(), MSBaseVehicle::setJunctionModelParameter(), MSTransportable::setJunctionModelParameter(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), MSDevice_Battery::setMaximumChargeRate(), NBEdge::setNodeBorder(), MSLane::setOpposite(), MSActuatedTrafficLightLogic::setParameter(), MSCFModel_CACC::setParameter(), MSCFModel_CC::setParameter(), MSSimpleTrafficLightLogic::setParameter(), NEMALogic::setParameter(), MSLane::setPartialOccupation(), libsumo::Helper::setRemoteControlled(), libsumo::Helper::setRemoteControlled(), MSLink::setRequestInformation(), LIBSUMO_NAMESPACE::Vehicle::setRoute(), LIBSUMO_NAMESPACE::Vehicle::setRouteID(), MSDevice_Battery::setStoppingThreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), MSStageDriving::setVehicle(), MSOverheadWire::setVoltage(), NBEdge::shiftPositionAtNode(), MSVehicle::slowDownForSchedule(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSDispatch_TraCI::splitReservation(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSCFModel_EIDM::stopSpeed(), MSRailSignal::storeTraCIVehicles(), MSLane::succLinkSec(), LIBSUMO_NAMESPACE::TrafficLight::swapConstraints(), GNETLSEditorFrame::TLSPrograms::switchProgram(), MSDevice_StationFinder::teleportToChargingStation(), MELoop::teleportVehicle(), libsumo::Helper::TransportableStateListener::transportableStateChanged(), TraCIServer::transportableStateChanged(), MSDevice_ToC::triggerMRM(), MSTriggeredRerouter::triggerRouting(), MSPerson::MSPersonStage_Access::tripInfoOutput(), MSTransportable::tripInfoOutput(), METriggeredCalibrator::tryEmit(), MSPModel_JuPedSim::tryPedestrianInsertion(), MSActuatedTrafficLightLogic::trySwitch(), MSSOTLTrafficLightLogic::trySwitch(), NEMALogic::trySwitch(), MSStopOut::unloadedContainers(), MSStopOut::unloadedPersons(), MSPModel_Interacting::unregisterCrossingApproach(), MSDevice_SSM::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), MSSOTLTrafficLightLogic::updateCTS(), MSRailSignal::updateCurrentPhase(), MSVehicle::updateDriveItems(), MSDevice_SSM::updateEncounter(), MSLCM_SL2015::updateExpectedSublaneSpeeds(), MSVehicle::updateFurtherLanes(), MSLCM_SL2015::updateGaps(), GNENetHelper::AttributeCarriers::updateJunctionID(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSVehicle::Influencer::updateRemoteControlRoute(), MSDispatch::updateReservationFromPos(), MSSwarmTrafficLightLogic::updateSensitivities(), MSVehicle::updateState(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), MSDevice_SSM::useGeoCoords(), NEMALogic::validate_timing(), MSInductLoop::VehicleData::VehicleData(), MSE2Collector::VehicleInfo::VehicleInfo(), MSCalibrator::VehicleRemover::VehicleRemover(), libsumo::Helper::VehicleStateListener::vehicleStateChanged(), MSDynamicShapeUpdater::vehicleStateChanged(), TraCIServer::vehicleStateChanged(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), MSBatteryExport::write(), MSElecHybridExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), NBParking::write(), MSElecHybridExport::writeAggregated(), MSLink::writeApproaching(), MSDriveWay::writeBlocks(), MSRailSignal::writeBlocks(), MSDriveWay::writeDepatureBlocks(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSMeanData::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSRoute::writeEdgeIDs(), NWWriter_XML::writeEdgesAndConnections(), MSEmissionExport::writeEmissions(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), ROMAAssignments::writeInterval(), MSFullExport::writeLane(), MSQueueExport::writeLane(), MSXMLRawOut::writeLane(), MSDevice_SSM::writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), MSTractionSubstation::writeOut(), MSNet::writeOutput(), MSOverheadWire::writeOverheadWireSegmentOutput(), MSFullExport::writePersons(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_SUMO::writeRoundabout(), NWWriter_OpenDrive::writeSignals(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_SUMO::writeTrafficLight(), MSFCDExport::writeTransportable(), MSXMLRawOut::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSAmitranTrajectories::writeVehicle(), MSXMLRawOut::writeVehicle(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSCalibrator::writeXMLOutput(), MSE2Collector::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSRouteProbe::writeXMLOutput(), MSLaneChanger::yieldToDeadlockOncoming(), MSLaneChanger::yieldToOppositeWaiting(), MSCalibrator::~MSCalibrator(), MSDevice_Transportable::~MSDevice_Transportable(), MSLaneSpeedTrigger::~MSLaneSpeedTrigger(), MSTriggeredRerouter::~MSTriggeredRerouter(), and RONet::~RONet().

◆ getIDSecure()

template<class T>
std::string Named::getIDSecure ( const T * obj,
const std::string & fallBack = "NULL" )
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(), NLEdgeControlBuilder::build(), MSDriveWay::canUseSiding(), MSLaneChanger::changeOpposite(), MSLaneChanger::checkChangeOpposite(), MSDriveWay::checkFlanks(), MSVehicle::checkReversal(), MSVehicle::checkRewindLinkLanes(), MSTriggeredRerouter::checkStopSwitch(), AFRouter< E, N, V, M >::compute(), AStarRouter< _IntermodalEdge, _IntermodalTrip, _MapMatcher >::compute(), DijkstraRouter< _IntermodalEdge, _IntermodalTrip >::compute(), AFBuild< E, N, V, M >::computeArcFlagsAux(), AFCentralizedSPTree< E, N, V >::computeCentralizedSPTree(), NBNode::computeLanes2Lanes(), NBOwnTLDef::computeLogicAndConts(), Node2EdgeRouter< E, N, V, M >::computeNode2Edge(), Node2EdgeRouter< E, N, V, M >::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(), 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(), MSDriveWay::notifyEnter(), MSDevice_Bluelight::notifyLeave(), MSDriveWay::notifyLeave(), MSDriveWay::notifyLeaveBack(), NBConnection::operator<<, MSVehicle::Influencer::postProcessRemoteControl(), MSVehicle::processNextStop(), MSBaseVehicle::replaceRoute(), MSBaseVehicle::reroute(), MSStoppingPlaceRerouter::rerouteStoppingPlace(), MSLaneChanger::resolveDeadlock(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), MSCriticalFollowerDistanceInfo::toString(), MSLeaderDistanceInfo::toString(), MSLeaderInfo::toString(), toString(), toString(), toString(), MSTriggeredRerouter::triggerRouting(), MSVehicle::updateBestLanes(), MSLCHelper::updateBlockerLength(), MSAbstractLaneChangeModel::updateShadowLane(), MSPModel_Striping::PState::walk(), and MSLaneChanger::yieldToDeadlockOncoming().

◆ getIncomingEdges()

const EdgeVector & NBNode::getIncomingEdges ( ) const
inline

◆ getKeepClear()

bool NBNode::getKeepClear ( ) const
inline

Returns the keepClear flag.

Definition at line 295 of file NBNode.h.

References myKeepClear.

◆ getLinkState()

LinkState NBNode::getLinkState ( const NBEdge * incoming,
const NBEdge * outgoing,
int fromLane,
int toLane,
bool mayDefinitelyPass,
const std::string & tlID ) const

◆ getName()

const std::string & NBNode::getName ( ) const
inline

Returns intersection name.

Definition at line 315 of file NBNode.h.

References myName.

◆ getNextCompatibleOutgoing()

NBEdge * NBNode::getNextCompatibleOutgoing ( const NBEdge * incoming,
SVCPermissions vehPerm,
EdgeVector::const_iterator start,
bool clockwise ) const
private

Definition at line 2426 of file NBNode.cpp.

References NBEdge::isTurningDirectionAt(), myAllEdges, NBContHelper::nextCCW(), and NBContHelper::nextCW().

Referenced by getDirection().

Here is the caller graph for this function:

◆ getOppositeIncoming()

NBEdge * NBNode::getOppositeIncoming ( NBEdge * e) const

returns the opposite incoming edge of certain edge

Definition at line 2006 of file NBNode.cpp.

References NBEdge::getToNode(), and myIncomingEdges.

◆ getOutgoingEdges()

const EdgeVector & NBNode::getOutgoingEdges ( ) const
inline

Returns this node's outgoing edges (The edges which start at this node).

Definition at line 273 of file NBNode.h.

References myOutgoingEdges.

Referenced by addedLanesRight(), NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBRampsComputer::computeRamps(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), GNENet::createEdge(), NBNodeCont::discardTrafficLights(), NBEdgeCont::extractRoundabouts(), NIImporter_VISUM::getEdge(), NBTurningDirectionsComputer::getFarAngleAtNode(), NIImporter_VISUM::getNamedEdgeContinuating(), NBRailwayTopologyAnalyzer::getRailEdges(), NBPTStopCont::getReverseEdge(), NBEdgeCont::guessSpecialLanes(), NBNodeCont::guessTLs(), GNEConnectorFrame::initTargets(), isLongEnough(), NBNodeCont::joinNodeCluster(), NBRampsComputer::mayNeedOffRamp(), NBRampsComputer::mayNeedOnRamp(), GNENet::mergeJunctions(), NIImporter_VISUM::parse_Connectors(), NIImporter_VISUM::parse_Connectors_legacy(), NIImporter_VISUM::parse_Lanes(), patchOffset_pathAcrossStreet(), NBEdgeCont::processSplits(), NBNodeCont::pruneLongEdges(), NBNodeCont::pruneSlipLaneNodes(), NBNodeCont::removeComponents(), NBNodeCont::removeIsolatedRoads(), NBNodeCont::removeRailComponents(), NBEdgeCont::retrievePossiblySplit(), NBRailwayGeometryHelper::straigthenCorrdidor(), and NWWriter_XML::writeEdgesAndConnections().

Here is the caller graph for this function:

◆ getParameter()

const std::string Parameterised::getParameter ( const std::string & key,
const std::string defaultValue = "" ) const
virtualinherited

Returns the value for a given key.

Parameters
[in]keyThe key to ask for
[in]defaultValueThe default value to return if no value is stored under the key
Returns
The value stored under the key

Reimplemented in MSActuatedTrafficLightLogic, MSSimpleTrafficLightLogic, and NEMALogic.

Definition at line 90 of file Parameterised.cpp.

References myMap.

Referenced by MSPModel_JuPedSim::add(), NBRailwayTopologyAnalyzer::addBidiEdge(), NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), NBEdgeCont::attachRemoved(), GUIInductLoop::buildDetectorGUIRepresentation(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), ROEdge::cacheParamRestrictions(), SUMOVTypeParameter::cacheParamRestrictions(), MSRailSignal::constraintsAllow(), GUINet::createTLWrapper(), GNEEdge::drawEdgeName(), GNEConnection::drawEdgeValues(), GNEGenericData::drawFilteredAttribute(), GUIEdge::drawGL(), GUIPointOfInterest::drawGL(), GNEPOI::drawPOI(), EnergyParams::EnergyParams(), MSPModel_JuPedSim::execute(), MSDevice_SSM::filterByConflictType(), LIBSUMO_NAMESPACE::TrafficLight::findConstraintsDeadLocks(), LIBSUMO_NAMESPACE::Simulation::findIntermodalRoute(), GUIBusStop::finishedLoading(), MSStoppingPlace::finishedLoading(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::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(), MSDevice_SSM::getOutputFilename(), LIBSUMO_NAMESPACE::Simulation::getParameter(), MSSimpleTrafficLightLogic::getParameter(), NEMALogic::getParameter(), MSBaseVehicle::getPrefixedParameter(), GNETAZRelData::getScaleValue(), LIBSUMO_NAMESPACE::Vehicle::getStopParameter(), SUMOTrafficObject::getStringParam(), MSRailSignalConstraint::getVeh(), LIBSUMO_NAMESPACE::TrafficLight::getVehicleByTripId(), MSStoppingPlaceRerouter::getWeight(), MSRailSignal::hasInsertionConstraint(), MSInsertionControl::hasTaxiDeviceType(), MSRailSignalControl::haveDeadlock(), MSLink::ignoreFoe(), MSSOTLPhasePolicy::init(), MSStageDriving::init(), PushButtonLogic::init(), SigmoidLogic::init(), SUMOVTypeParameter::initRailVisualizationParameters(), NWWriter_OpenDrive::mapmatchRoadObjects(), mergeParameters(), MSDispatch_Greedy::MSDispatch_Greedy(), MSDispatch_GreedyShared::MSDispatch_GreedyShared(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), NIImporter_OpenStreetMap::RelationHandler::myEndElement(), 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(), NBEdge::setOrigID(), MSVehicle::slowDownForSchedule(), NBEdgeCont::splitAt(), LIBSUMO_NAMESPACE::TrafficLight::swapParameters(), LIBSUMO_NAMESPACE::TrafficLight::updateConstraints(), NBEdge::updateRemovedNodes(), MSDevice_SSM::useGeoCoords(), MSDevice_SSM::writeLanesPositions(), NWWriter_DlrNavteq::writeLinksUnsplitted(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPOI(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_OpenDrive::writeRoadObjects(), and NWWriter_OpenDrive::writeSignals().

◆ getParametersMap()

const Parameterised::Map & Parameterised::getParametersMap ( ) const
inherited

◆ getParametersStr()

std::string Parameterised::getParametersStr ( const std::string kvsep = "=",
const std::string sep = "|" ) const
inherited

Returns the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN".

Definition at line 130 of file Parameterised.cpp.

References myMap.

Referenced by GNEAttributeCarrier::getCommonAttribute().

Here is the caller graph for this function:

◆ getPassengerEdges()

EdgeVector NBNode::getPassengerEdges ( bool incoming) const
private

return edges that permit passengers (either incoming or outgoing)

Definition at line 2487 of file NBNode.cpp.

References myIncomingEdges, myOutgoingEdges, and SVC_PASSENGER.

Referenced by NBNodeCont::isSlipLaneContinuation().

Here is the caller graph for this function:

◆ getPosition()

const Position & NBNode::getPosition ( ) const
inline

Definition at line 260 of file NBNode.h.

References myPosition.

Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLNodesHandler::addNode(), NIXMLEdgesHandler::addSplit(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBNodeCont::discardRailSignals(), NBNodeCont::discardTrafficLights(), NBHelpers::distance(), GNEEdge::drawEndGeometryPoint(), GNEEdge::drawStartGeometryPoint(), GNEEdge::editEndpoint(), NBEdge::extendGeometryAtNode(), NBNodeCont::extract(), NBNodeCont::generateNodeClusters(), NWWriter_DlrNavteq::getGraphLength(), NBRailwaySignalGuesser::guessByStops(), NBNodeCont::guessTLs(), NBEdge::hasDefaultGeometryEndpointAtNode(), NBNodeCont::insert(), NBNodeCont::joinNodeCluster(), NIImporter_MATSim::EdgesHandler::myStartElement(), NBContHelper::relative_incoming_edge_sorter::operator()(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBNodeCont::paretoCheck(), NBNodeCont::pruneClusterFringe(), GNENetHelper::AttributeCarriers::registerJunction(), NIVissimEdge::remapOneOfNodes(), GNENet::replaceJunctionByGeometry(), NIImporter_DlrNavteq::EdgesHandler::report(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), GNEEdge::resetEndpoint(), NBNodeCont::retrieveByPos(), GNEEdge::setAttribute(), NBEdge::shiftPositionAtNode(), NBNodeCont::shortestEdge(), NBEdgeCont::splitAt(), NBEdgeCont::splitAt(), NBEdge::startShapeAt(), NBRailwayGeometryHelper::straigthenCorrdidor(), and GNEEdge::updateJunctionPosition().

Here is the caller graph for this function:

◆ getPossiblySplittedIncoming()

NBEdge * NBNode::getPossiblySplittedIncoming ( const std::string & edgeid)

get possibly splitted incoming edge

Definition at line 2041 of file NBNode.cpp.

References myIncomingEdges.

Referenced by NIVissimDisturbance::getConnection().

Here is the caller graph for this function:

◆ getPossiblySplittedOutgoing()

NBEdge * NBNode::getPossiblySplittedOutgoing ( const std::string & edgeid)

get possibly splitted outgoing edge

Definition at line 2054 of file NBNode.cpp.

References myOutgoingEdges.

Referenced by NIVissimDisturbance::getConnection().

Here is the caller graph for this function:

◆ getProhibitions()

const NBConnectionProhibits & NBNode::getProhibitions ( )
inline

get prohibitions (BLocked connections)

Definition at line 722 of file NBNode.h.

References myBlockedConnections.

◆ getRadius()

double NBNode::getRadius ( ) const
inline

Returns the turning radius of this node.

Definition at line 290 of file NBNode.h.

References myRadius.

Referenced by GNENet::createRoundabout().

Here is the caller graph for this function:

◆ getReduction()

void NBNode::getReduction ( const NBEdge * in,
const NBEdge * out,
int & inOffset,
int & inEnd,
int & outOffset,
int & outEnd,
int & reduction ) const
private

get the reduction in driving lanes at this junction

Definition at line 1711 of file NBNode.cpp.

References BACKWARD, FORWARD, NBEdge::getFirstNonPedestrianLaneIndex(), NBEdge::getFirstNonPedestrianNonBicycleLaneIndex(), and MAX2().

Referenced by addedLanesRight(), and computeLanes2Lanes().

Here is the caller graph for this function:

◆ getResponse()

const std::string NBNode::getResponse ( int linkIndex) const

get the 'response' string (right-of-way bit set) of the right-of-way logic

Definition at line 1151 of file NBNode.cpp.

References myRequest.

Referenced by GNEProhibitionFrame::buildProhibition().

Here is the caller graph for this function:

◆ getRightOfWay()

RightOfWay NBNode::getRightOfWay ( ) const
inline

Returns hint on how to compute right of way.

Definition at line 300 of file NBNode.h.

References myRightOfWay.

Referenced by NIImporter_SUMO::addJunction(), getLinkState(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ getRoundaboutType()

RoundaboutType NBNode::getRoundaboutType ( ) const
inline

Returns roundabout type.

Definition at line 310 of file NBNode.h.

References myRoundaboutType.

Referenced by NIImporter_SUMO::addJunction(), NBEdgeCont::guessRoundabouts(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ getShape()

const PositionVector & NBNode::getShape ( ) const

retrieve the junction shape

Definition at line 2783 of file NBNode.cpp.

References myPoly.

Referenced by GNENetHelper::AttributeCarriers::isNetworkElementAroundTriangle(), GNEViewNet::onCmdEditJunctionShape(), NBEdge::startShapeAt(), and GNELane2laneConnection::updateLane2laneConnection().

Here is the caller graph for this function:

◆ getType()

◆ getWalkingArea()

NBNode::WalkingArea & NBNode::getWalkingArea ( const std::string & id)

return the walkingArea with the given ID

Definition at line 4138 of file NBNode.cpp.

References buildCrossingsAndWalkingAreas(), myWalkingAreas, sortEdges(), TLF, updateSurroundingGeometry(), and WRITE_WARNINGF.

◆ getWalkingAreaCustomShapes()

const std::vector< WalkingAreaCustomShape > & NBNode::getWalkingAreaCustomShapes ( ) const
inline

Definition at line 768 of file NBNode.h.

References myWalkingAreaCustomShapes.

◆ getWalkingAreas()

const std::vector< WalkingArea > & NBNode::getWalkingAreas ( ) const
inline

return this junctions pedestrian walking areas

Definition at line 764 of file NBNode.h.

References myWalkingAreas.

Referenced by NWWriter_SUMO::writeNetwork().

Here is the caller graph for this function:

◆ guessCrossings()

◆ hadSignal()

bool NBNode::hadSignal ( ) const

whether this node was marked as having a signal in the (OSM) input

Definition at line 458 of file NBNode.cpp.

References getIncomingEdges(), and Position::INVALID.

◆ hasConflict() [1/2]

bool NBNode::hasConflict ( ) const

whether there are conflicting streams of traffic at this node

Definition at line 1160 of file NBNode.cpp.

References myRequest.

Referenced by computeKeepClear().

Here is the caller graph for this function:

◆ hasConflict() [2/2]

bool NBNode::hasConflict ( const NBEdge * e) const

whether the given edge has a conflicting stream of traffic at this node

Definition at line 1170 of file NBNode.cpp.

References getConnectionIndex(), NBEdge::getConnections(), and myRequest.

◆ hasCustomShape()

bool NBNode::hasCustomShape ( ) const
inline

return whether the shape was set by the user

Definition at line 601 of file NBNode.h.

References myHaveCustomPoly.

◆ hasIncoming()

bool NBNode::hasIncoming ( const NBEdge *const e) const

Returns whether the given edge ends at this node.

Parameters
[in]eThe edge
Returns
Whether the given edge is one of this node's incoming edges

Definition at line 1994 of file NBNode.cpp.

References myIncomingEdges.

Referenced by NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), and NIImporter_VISUM::parse_TurnsToSignalGroups().

Here is the caller graph for this function:

◆ hasOutgoing()

bool NBNode::hasOutgoing ( const NBEdge *const e) const

Returns whether the given edge starts at this node.

Parameters
[in]eThe edge
Returns
Whether the given edge is one of this node's outgoing edges

Definition at line 2000 of file NBNode.cpp.

References myOutgoingEdges.

Referenced by isLeftMover(), NBTrafficLightDefinition::mustBrake(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), and NIImporter_VISUM::parse_TurnsToSignalGroups().

Here is the caller graph for this function:

◆ hasParameter()

bool Parameterised::hasParameter ( const std::string & key) const
inherited

Returns whether the parameter is set.

Parameters
[in]keyThe key to ask for
Returns
Whether the key is known

Definition at line 84 of file Parameterised.cpp.

References myMap.

Referenced by MSStageWalking::activateEntryReminders(), NBEdge::append(), MSVehicleType::build(), GUIInductLoop::buildDetectorGUIRepresentation(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), GUINet::createTLWrapper(), EnergyParams::EnergyParams(), MSDevice_SSM::filterByConflictType(), GUIBusStop::finishedLoading(), NWWriter_DlrNavteq::getBrunnelType(), GNEEdgeData::getColorValue(), GNEEdgeRelData::getColorValue(), GNETAZRelData::getColorValue(), GUILane::getColorValue(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice_SSM::getMDRAC_PRT(), MSDevice_SSM::getMeasuresAndThresholds(), MSDevice_SSM::getOutputFilename(), LIBSUMO_NAMESPACE::Simulation::getParameter(), GNETAZRelData::getScaleValue(), MSStoppingPlaceRerouter::getWeight(), MSStageDriving::init(), SUMOVTypeParameter::initRailVisualizationParameters(), MSEdge::insertVehicle(), NWWriter_OpenDrive::mapmatchRoadObjects(), mergeParameters(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSSimpleTrafficLightLogic::MSSimpleTrafficLightLogic(), NIImporter_OpenStreetMap::RelationHandler::myEndElement(), GNEVType::overwriteVType(), NWWriter_OpenDrive::parseTrafficSign(), NBTrafficLightDefinition::railSignalUncontrolled(), MSDevice_Battery::readParameterValue(), MSDevice_SSM::requestsTrajectories(), NBTrafficLightLogicCont::setOpenDriveSignalParameters(), MSVehicle::slowDownForSchedule(), MSDevice_SSM::useGeoCoords(), MSDevice_SSM::writeLanesPositions(), MSDevice_SSM::writePositions(), NWWriter_OpenDrive::writeRoadObjectPoly(), NWWriter_OpenDrive::writeRoadObjects(), and NWWriter_OpenDrive::writeSignals().

Here is the caller graph for this function:

◆ includes()

bool NBNode::includes ( const std::set< const NBEdge *, ComparatorIdLess > & super,
const std::set< const NBEdge *, ComparatorIdLess > & sub )
staticprivate

returns whether sub is a subset of super

Definition at line 3937 of file NBNode.cpp.

Referenced by buildWalkingAreas().

Here is the caller graph for this function:

◆ indirectLeftShape()

PositionVector NBNode::indirectLeftShape ( const PositionVector & begShape,
const PositionVector & endShape,
int numPoints ) const

compute shape of indirect left turn

Definition at line 811 of file NBNode.cpp.

References PositionVector::extrapolate2D(), OptionsCont::getFloat(), Named::getID(), OptionsCont::getOptions(), PositionVector::intersectionPosition2D(), Position::INVALID, Position::mul(), myRadius, Position::norm2D(), Position::sub(), TL, UNSPECIFIED_RADIUS, UNUSED_PARAMETER, and WRITE_WARNINGF.

Referenced by computeSmoothShape().

Here is the caller graph for this function:

◆ initRailSignalClasses()

void NBNode::initRailSignalClasses ( const NBNodeCont & nc)
static

initialize signalized rail classes

Definition at line 2649 of file NBNode.cpp.

References OptionsCont::getOptions(), myHaveRailSignalClasses, myPermitUnsignalizedClasses, n, NBNode(), NBNodeCont, parseVehicleClasses(), and RAIL_SIGNAL.

Referenced by NBNetBuilder::compute().

Here is the caller graph for this function:

◆ invalidateIncomingConnections()

void NBNode::invalidateIncomingConnections ( bool reallowSetting = false)

invalidate incoming connections

Definition at line 2128 of file NBNode.cpp.

References myIncomingEdges.

Referenced by NIVissimDistrictConnection::dict_BuildDistricts().

Here is the caller graph for this function:

◆ invalidateOutgoingConnections()

void NBNode::invalidateOutgoingConnections ( bool reallowSetting = false)

invalidate outgoing connections

Definition at line 2136 of file NBNode.cpp.

References myOutgoingEdges.

Referenced by NIVissimDistrictConnection::dict_BuildDistricts(), and NBEdgeCont::guessSpecialLanes().

Here is the caller graph for this function:

◆ invalidateTLS()

void NBNode::invalidateTLS ( NBTrafficLightLogicCont & tlCont,
bool addedConnections,
bool removedConnections )

causes the traffic light to be computed anew

Definition at line 469 of file NBNode.cpp.

References NBTrafficLightDefinition::addNode(), Named::getID(), NBTrafficLightDefinition::getNodes(), NBTrafficLightDefinition::getOffset(), NBTrafficLightDefinition::getType(), NBTrafficLightLogicCont::insert(), isTLControlled(), myTrafficLights, and NBTrafficLightLogicCont::removeFully().

Referenced by NBEdgeCont::guessSpecialLanes(), NIXMLConnectionsHandler::parseConnection(), NIXMLConnectionsHandler::parseLaneBound(), and NBEdgeCont::processSplits().

Here is the caller graph for this function:

◆ isBentPriority()

bool NBNode::isBentPriority ( ) const
inline

return whether a priority road turns at this node

Definition at line 852 of file NBNode.h.

References myIsBentPriority.

◆ isConstantWidthTransition()

bool NBNode::isConstantWidthTransition ( ) const

detects whether a given junction splits or merges lanes while keeping constant road width

Definition at line 921 of file NBNode.cpp.

References myIncomingEdges, and myOutgoingEdges.

Referenced by displaceShapeAtWidthChange(), and NBEdge::getInternalLaneWidth().

Here is the caller graph for this function:

◆ isDistrict()

bool NBNode::isDistrict ( ) const

check if node is a district

Definition at line 2829 of file NBNode.cpp.

References DISTRICT, and myType.

Referenced by isNearDistrict().

Here is the caller graph for this function:

◆ isExplicitRailNoBidi()

bool NBNode::isExplicitRailNoBidi ( const NBEdge * incoming,
const NBEdge * outgoing )
staticprivate

detect explict rail turns with potential geometry problem

Definition at line 2571 of file NBNode.cpp.

References NBEdge::getBidiEdge(), NBEdge::getPermissions(), NBEdge::getStep(), isRailway(), and NBEdge::LANES2LANES_RECHECK.

Referenced by getDirection().

Here is the caller graph for this function:

◆ isLeftMover()

bool NBNode::isLeftMover ( const NBEdge *const from,
const NBEdge *const to ) const

Computes whether the given connection is a left mover across the junction.

It is assumed, that it is a left-mover if the clockwise angle is lower than the counter-clockwise angle.

Parameters
[in]fromThe incoming edge (the begin of the connection)
[in]fromThe outgoing edge (the end of the connection)
Returns
Whether the described connection is a left-mover

Definition at line 2309 of file NBNode.cpp.

References NBEdge::getAngleAtNode(), GeomHelper::getCCWAngleDiff(), GeomHelper::getCWAngleDiff(), hasOutgoing(), NBEdge::isTurningDirectionAt(), myAllEdges, myIncomingEdges, myOutgoingEdges, and NBContHelper::nextCW().

◆ isLongEnough()

bool NBNode::isLongEnough ( NBEdge * out,
double minLength )
staticprivate

check if is long enough

Definition at line 1813 of file NBNode.cpp.

References getIncomingEdges(), NBEdge::getLoadedLength(), getOutgoingEdges(), and NBEdge::getToNode().

Referenced by computeLanes2Lanes().

Here is the caller graph for this function:

◆ isNearDistrict()

bool NBNode::isNearDistrict ( ) const

@chech if node is near district

Definition at line 2812 of file NBNode.cpp.

References getEdges(), isDistrict(), and NBNode().

Referenced by NBNodeCont::guessTLs().

Here is the caller graph for this function:

◆ isParameterValid()

bool Parameterised::isParameterValid ( const std::string & value,
const std::string & kvsep,
const std::string & sep )
staticprivateinherited

check if given string can be parsed to a parameter of type "key=value"

Definition at line 242 of file Parameterised.cpp.

References StringTokenizer::getVector(), invalid_return< std::string >::value, and SUMOXMLDefinitions::isValidParameterKey().

Referenced by areAttributesValid(), and areParametersValid().

Here is the caller graph for this function:

◆ isRoundabout()

bool NBNode::isRoundabout ( ) const

return whether this node is part of a roundabout

Definition at line 4072 of file NBNode.cpp.

References myOutgoingEdges, and NBEdge::ROUNDABOUT.

Referenced by checkCrossing().

Here is the caller graph for this function:

◆ isSimpleContinuation()

bool NBNode::isSimpleContinuation ( bool checkLaneNumbers = true,
bool checkWidth = false ) const

check if node is a simple continuation

Definition at line 553 of file NBNode.cpp.

References NBEdge::getNumLanes(), NBEdge::getTotalWidth(), myIncomingEdges, myOutgoingEdges, and NBContHelper::nextCW().

Referenced by NBEdgeCont::generateStreetSigns(), and guessCrossings().

Here is the caller graph for this function:

◆ isStraighter()

bool NBNode::isStraighter ( const NBEdge *const incoming,
const double angle,
const SVCPermissions vehPerm,
const int modeLanes,
const NBEdge *const candidate ) const
private

check whether the candidate edge is more likely to be the straight continuation

Definition at line 2451 of file NBNode.cpp.

References NBEdge::getAngleAtNode(), NBEdge::getNumLanesThatAllow(), and NBHelpers::normRelAngle().

Referenced by getDirection().

Here is the caller graph for this function:

◆ isTLControlled()

bool NBNode::isTLControlled ( ) const
inline

◆ isTrafficLight() [1/2]

bool NBNode::isTrafficLight ( ) const
inline

Definition at line 839 of file NBNode.h.

References isTrafficLight(), and myType.

Referenced by addTrafficLight(), isTrafficLight(), NBEdge::prepareEdgePriorities(), and reinit().

Here is the caller graph for this function:

◆ isTrafficLight() [2/2]

bool NBNode::isTrafficLight ( SumoXMLNodeType type)
static

return whether the given type is a traffic light

Definition at line 4269 of file NBNode.cpp.

References TRAFFIC_LIGHT, TRAFFIC_LIGHT_NOJUNCTION, and TRAFFIC_LIGHT_RIGHT_ON_RED.

Referenced by NIImporter_SUMO::_loadNetwork(), NGNode::buildNBNode(), NBRampsComputer::fulfillsRampConstraints(), NBNodeCont::generateNodeClusters(), NBEdge::MainDirections::MainDirections(), NBEdge::prepareEdgePriorities(), NIXMLNodesHandler::processNodeType(), and GNEJunction::setJunctionType().

Here is the caller graph for this function:

◆ markBentPriority()

void NBNode::markBentPriority ( bool isBent)
inline

mark whether a priority road turns at this node

Definition at line 847 of file NBNode.h.

References myIsBentPriority.

◆ mergeConflict()

bool NBNode::mergeConflict ( const NBEdge * from,
const NBEdge::Connection & con,
const NBEdge * prohibitorFrom,
const NBEdge::Connection & prohibitorCon,
bool foes ) const

whether multiple connections from the same edge target the same lane

Definition at line 2245 of file NBNode.cpp.

References foes(), and myRequest.

◆ mergeConflictYields()

bool NBNode::mergeConflictYields ( const NBEdge * from,
int fromLane,
int fromLaneFoe,
NBEdge * to,
int toLane ) const

whether one of multple connections from the same edge targeting the same lane must yield

Definition at line 2234 of file NBNode.cpp.

References NBEdge::getConnection(), and myRequest.

◆ mergeParameters()

void Parameterised::mergeParameters ( const Parameterised::Map & mapArg,
const std::string separator = " ",
bool uniqueValues = true )
inherited

Adds or appends all given parameters from the map.

Parameters
[in]mapArgThe keys/values to insert

Definition at line 65 of file Parameterised.cpp.

References getParameter(), hasParameter(), and setParameter().

Referenced by NBEdge::append().

Here is the caller graph for this function:

◆ mirrorX()

void NBNode::mirrorX ( )

mirror coordinates along the x-axis

Definition at line 410 of file NBNode.cpp.

References myCrossings, myPoly, myPosition, myWalkingAreaCustomShapes, and myWalkingAreas.

◆ mustBrake()

bool NBNode::mustBrake ( const NBEdge *const from,
const NBEdge *const to,
int fromLane,
int toLane,
bool includePedCrossings ) const

Returns the information whether the described flow must let any other flow pass.

Parameters
[in]fromThe connection's start edge
[in]toThe connection's end edge
[in]fromLaneThe lane the connection start at
[in]toLaneThe lane the connection ends at
[in]includePedCrossingsWhether braking due to a pedestrian crossing counts
Returns
Whether the described connection must brake (has higher priorised foes)

Definition at line 2144 of file NBNode.cpp.

References NBEdge::isBidiEdge(), and myRequest.

Referenced by getLinkState(), NBTrafficLightDefinition::mustBrake(), needsCont(), and zipperConflict().

Here is the caller graph for this function:

◆ mustBrakeForCrossing()

bool NBNode::mustBrakeForCrossing ( const NBEdge *const from,
const NBEdge *const to,
const Crossing & crossing ) const

Returns the information whether the described flow must brake for the given crossing.

Parameters
[in]fromThe connection's start edge
[in]toThe connection's end edge
[in]crossingThe pedestrian crossing to check
Returns
Whether the described connection must brake (has higher priorised foes)

Definition at line 2162 of file NBNode.cpp.

References NBRequest::mustBrakeForCrossing().

Referenced by NBOwnTLDef::patchNEMAStateForCrossings().

Here is the caller graph for this function:

◆ needsCont()

bool NBNode::needsCont ( const NBEdge * fromE,
const NBEdge * otherFromE,
const NBEdge::Connection & c,
const NBEdge::Connection & otherC,
bool checkOnlyTLS = false ) const

whether an internal junction should be built at from and respect other

Definition at line 978 of file NBNode.cpp.

References ALLWAY_STOP, foes(), NBEdge::Connection::fromLane, getDirection(), NBEdge::getJunctionPriority(), LEFT_BEFORE_RIGHT, mustBrake(), myRequest, myTrafficLights, myType, PARTRIGHT, RAIL_CROSSING, RAIL_SIGNAL, RIGHT, RIGHT_BEFORE_LEFT, rightTurnConflict(), STRAIGHT, NBEdge::Connection::tlID, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, and TURN.

Referenced by tlsStrandedConflict().

Here is the caller graph for this function:

◆ numCrossingsFromSumoNet()

int NBNode::numCrossingsFromSumoNet ( ) const
inline

get num of crossings from sumo net

Definition at line 753 of file NBNode.h.

References myCrossingsLoadedFromSumoNet.

◆ numNormalConnections()

int NBNode::numNormalConnections ( ) const

return the number of lane-to-lane connections at this junction (excluding crossings)

Definition at line 4182 of file NBNode.cpp.

References myIncomingEdges, and myRequest.

Referenced by computeLogic().

Here is the caller graph for this function:

◆ operator=()

NBNode & NBNode::operator= ( const NBNode & s)
private

invalidated assignment operator

References NBNode().

◆ patchOffset_pathAcrossStreet()

void NBNode::patchOffset_pathAcrossStreet ( double & offset)
private

compute offset for centering path-across-street crossings

Definition at line 3274 of file NBNode.cpp.

References Position::distanceTo2D(), FORWARD, geometryLike(), NBEdge::getAngleAtNode(), NBEdge::getFirstNonPedestrianLaneIndex(), getIncomingEdges(), NBEdge::getLaneShape(), getOutgoingEdges(), MAX2(), myAllEdges, myCrossings, PositionVector::nearest_offset_to_point2D(), PositionVector::positionAtOffset2D(), NBHelpers::relAngle(), and SVC_PEDESTRIAN.

Referenced by buildCrossings().

Here is the caller graph for this function:

◆ recheckSpecialConnections()

void NBNode::recheckSpecialConnections ( NBEdge * incoming,
NBEdge * currentOutgoing,
SVCPermissions svcSpecial )
private

ensure connectivity for all special vClass

Definition at line 1607 of file NBNode.cpp.

References avoidConfict(), NBEdge::COMPUTED, DEBUGCOND, NBEdge::getConnectionsFromLane(), getDirection(), NBEdge::getLaneID(), NBEdge::getNumLanes(), NBEdge::getPermissions(), NBEdge::getSpecialLane(), NBEdge::getStep(), getVehicleClassNames(), NBEdge::LANES2LANES_DONE, LEFT, PARTLEFT, PARTRIGHT, RIGHT, NBEdge::setConnection(), STRAIGHT, and TURN.

Referenced by recheckVClassConnections().

Here is the caller graph for this function:

◆ recheckVClassConnections()

void NBNode::recheckVClassConnections ( NBEdge * currentOutgoing)

ensure connectivity for all vClasses

Definition at line 1540 of file NBNode.cpp.

References DEBUGCOND, findToLaneForPermissions(), NBEdge::Connection::fromLane, NBEdge::getID(), NBEdge::getPermissions(), getVehicleClassNames(), NBEdge::LANES2LANES_DONE, myIncomingEdges, recheckSpecialConnections(), SVC_BICYCLE, SVC_BUS, SVC_PEDESTRIAN, NBEdge::Connection::toEdge, and NBEdge::Connection::toLane.

Referenced by computeLanes2Lanes(), and NBEdgeCont::guessSpecialLanes().

Here is the caller graph for this function:

◆ reinit()

void NBNode::reinit ( const Position & position,
SumoXMLNodeType type,
bool updateEdgeGeometries = false )

Resets initial values.

Parameters
[in]positionThe position of the node
[in]typeThe type of the node
[in]updateEdgeGeometriesWhether the geometires of all connected edges shall be updated

Definition at line 353 of file NBNode.cpp.

References isTrafficLight(), Named::myID, myIncomingEdges, myOutgoingEdges, myPosition, myType, removeTrafficLights(), and TLF.

Referenced by NBNodeCont::discardRailSignals(), NBNodeCont::discardTrafficLights(), NBRailwaySignalGuesser::guessByStops(), NIImporter_OpenStreetMap::insertNodeChecking(), NBNodeCont::joinNodeCluster(), NIXMLNodesHandler::processNodeType(), and NIImporter_DlrNavteq::TrafficlightsHandler::report().

Here is the caller graph for this function:

◆ remapRemoved()

void NBNode::remapRemoved ( NBTrafficLightLogicCont & tc,
NBEdge * removed,
const EdgeVector & incoming,
const EdgeVector & outgoing )
private

remap removed

Definition at line 2345 of file NBNode.cpp.

References NBConnection::getFrom(), NBConnection::getTo(), myBlockedConnections, and NBTrafficLightLogicCont::remapRemoved().

Referenced by removeSelfLoops().

Here is the caller graph for this function:

◆ removeCrossing()

void NBNode::removeCrossing ( const EdgeVector & edges)

remove a pedestrian crossing from this node (identified by its edges)

Definition at line 4097 of file NBNode.cpp.

References myCrossings.

◆ removeDoubleEdges()

void NBNode::removeDoubleEdges ( )

remove duble edges

Definition at line 1956 of file NBNode.cpp.

References myAllEdges, myIncomingEdges, and myOutgoingEdges.

Referenced by replaceIncoming(), replaceOutgoing(), and NBEdgeCont::splitAt().

Here is the caller graph for this function:

◆ removeEdge()

void NBNode::removeEdge ( NBEdge * edge,
bool removeFromConnections = true )

Removes edge from this node and optionally removes connections as well.

Definition at line 2067 of file NBNode.cpp.

References NBEdge::getToNode(), myAllEdges, myIncomingEdges, myOutgoingEdges, and myTrafficLights.

Referenced by NBEdgeCont::extract(), NBEdgeCont::insert(), and NBEdgeCont::removeUnwishedEdges().

Here is the caller graph for this function:

◆ removeJoinedTrafficLights()

void NBNode::removeJoinedTrafficLights ( )
private

remove all traffic light definitions that are part of a joined tls

Definition at line 1041 of file NBNode.cpp.

References myTrafficLights.

Referenced by computeLogic().

Here is the caller graph for this function:

◆ removeSelfLoops()

int NBNode::removeSelfLoops ( NBDistrictCont & dc,
NBEdgeCont & ec,
NBTrafficLightLogicCont & tc )

Removes edges which are both incoming and outgoing into this node.

If given, the connections to other edges participating in this node are updated

Parameters
[in,opt.changed] dc The districts container to update
[in,opt.changed] ec The edge container to remove the edges from
[in,opt.changed] tc The traffic lights container to update
Returns
The number of removed edges

Definition at line 500 of file NBNode.cpp.

References NBEdgeCont::erase(), NBEdge::getConnectedEdges(), NBEdge::getID(), NBEdge::getIncomingEdges(), myIncomingEdges, myOutgoingEdges, NBEdge::remapConnections(), remapRemoved(), TL, and WRITE_WARNINGF.

◆ removeTrafficLight()

void NBNode::removeTrafficLight ( NBTrafficLightDefinition * tlDef)

Removes the given traffic light from this node.

Definition at line 439 of file NBNode.cpp.

References myTrafficLights, and NBTrafficLightDefinition::removeNode().

Referenced by NBNodeCont::discardTrafficLights(), and removeTrafficLights().

Here is the caller graph for this function:

◆ removeTrafficLights()

void NBNode::removeTrafficLights ( bool setAsPriority = false)

Removes all references to traffic lights that control this tls.

Definition at line 446 of file NBNode.cpp.

References DEAD_END, myRequest, myTrafficLights, myType, NOJUNCTION, PRIORITY, removeTrafficLight(), and TRAFFIC_LIGHT_NOJUNCTION.

Referenced by NBNodeCont::extract(), NIXMLNodesHandler::processTrafficLightDefinitions(), and reinit().

Here is the caller graph for this function:

◆ replaceIncoming() [1/2]

void NBNode::replaceIncoming ( const EdgeVector & which,
NBEdge * by )

Replaces occurrences of every edge from the given list within the list of incoming by the second Connections are remapped, too.

Definition at line 1902 of file NBNode.cpp.

References myDistrict, removeDoubleEdges(), and replaceIncoming().

◆ replaceIncoming() [2/2]

void NBNode::replaceIncoming ( NBEdge * which,
NBEdge * by,
int laneOff )

Replaces occurrences of the first edge within the list of incoming by the second Connections are remapped, too.

Definition at line 1888 of file NBNode.cpp.

References myAllEdges, myIncomingEdges, and replaceInConnectionProhibitions().

Referenced by NBEdgeCont::joinSameNodeConnectingEdges(), NBNodeCont::removeUnwishedNodes(), replaceIncoming(), and NBEdgeCont::splitAt().

Here is the caller graph for this function:

◆ replaceInConnectionProhibitions()

void NBNode::replaceInConnectionProhibitions ( NBEdge * which,
NBEdge * by,
int whichLaneOff,
int byLaneOff )
private

replace incoming connections prohibitions

Definition at line 1921 of file NBNode.cpp.

References myBlockedConnections, NBConnection::replaceFrom(), and NBConnection::replaceTo().

Referenced by replaceIncoming(), and replaceOutgoing().

Here is the caller graph for this function:

◆ replaceOutgoing() [1/2]

void NBNode::replaceOutgoing ( const EdgeVector & which,
NBEdge * by )

Replaces occurrences of every edge from the given list within the list of outgoing by the second Connections are remapped, too.

Definition at line 1870 of file NBNode.cpp.

References myDistrict, removeDoubleEdges(), and replaceOutgoing().

◆ replaceOutgoing() [2/2]

void NBNode::replaceOutgoing ( NBEdge * which,
NBEdge * by,
int laneOff )

Replaces occurrences of the first edge within the list of outgoing by the second Connections are remapped, too.

Definition at line 1852 of file NBNode.cpp.

References myAllEdges, myIncomingEdges, myOutgoingEdges, and replaceInConnectionProhibitions().

Referenced by NBEdgeCont::joinSameNodeConnectingEdges(), replaceOutgoing(), and NBEdgeCont::splitAt().

Here is the caller graph for this function:

◆ resetShape()

void NBNode::resetShape ( )
inline

reset node shape

Definition at line 566 of file NBNode.h.

References myPoly.

◆ reshiftPosition()

void NBNode::reshiftPosition ( double xoff,
double yoff )

Applies an offset to the node.

Parameters
[in]xoffThe x-offset to apply
[in]yoffThe y-offset to apply

Definition at line 382 of file NBNode.cpp.

References myCrossings, myPoly, myPosition, and myWalkingAreaCustomShapes.

◆ rightTurnConflict()

bool NBNode::rightTurnConflict ( const NBEdge * from,
const NBEdge * to,
int fromLane,
const NBEdge * prohibitorFrom,
const NBEdge * prohibitorTo,
int prohibitorFromLane )
static

return whether the given laneToLane connection is a right turn which must yield to a bicycle crossings

Definition at line 2183 of file NBNode.cpp.

References GeomHelper::getCWAngleDiff(), getDirection(), NBEdge::getEndAngle(), NBEdge::getStartAngle(), NBEdge::getToNode(), NBEdge::isTurningDirectionAt(), LEFT, PARTLEFT, PARTRIGHT, RIGHT, and STRAIGHT.

Referenced by NBEdge::buildInnerEdges(), NBOwnTLDef::correctConflicting(), NBRequest::getResponseString(), NBLoadedSUMOTLDef::initNeedsContRelation(), NBLoadedTLDef::myCompute(), needsCont(), and NBRequest::rightTurnConflict().

Here is the caller graph for this function:

◆ roundGeometry()

void NBNode::roundGeometry ( )

ensure consistency between input and output geometries

Definition at line 395 of file NBNode.cpp.

References gPrecision, myCrossings, myHaveCustomPoly, myPoly, myPosition, and myWalkingAreaCustomShapes.

◆ setCrossingTLIndices()

bool NBNode::setCrossingTLIndices ( const std::string & tlID,
int startIndex,
bool ignoreCustom = false )

Definition at line 4163 of file NBNode.cpp.

References getCrossings().

◆ setCustomShape()

void NBNode::setCustomShape ( const PositionVector & shape)

set the junction shape

Definition at line 2789 of file NBNode.cpp.

References myAllEdges, myHaveCustomPoly, and myPoly.

Referenced by NIImporter_SUMO::addJunction(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ setFringeType()

void NBNode::setFringeType ( FringeType fringeType)
inline

set fringe type

Definition at line 586 of file NBNode.h.

References myFringeType.

Referenced by NIImporter_SUMO::addJunction(), NGNode::buildNBNode(), NIImporter_OpenStreetMap::insertNodeChecking(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ setID()

virtual void Named::setID ( const std::string & newID)
inlinevirtualinherited

resets the id

Parameters
[in]newIDThe new id of this object

Reimplemented in MSBaseVehicle, MSTransportable, and NBLoadedSUMOTLDef.

Definition at line 82 of file Named.h.

References myID.

Referenced by Distribution_Parameterized::parse(), NBLoadedSUMOTLDef::reconstructLogic(), NBEdgeCont::rename(), NBNodeCont::rename(), GNEJunction::setAttribute(), NBLoadedSUMOTLDef::setID(), and IntermodalNetwork< E, L, N, V >::splitEdge().

Here is the caller graph for this function:

◆ setKeepClear()

void NBNode::setKeepClear ( bool keepClear)
inline

set the keepClear flag

Definition at line 576 of file NBNode.h.

References myKeepClear.

Referenced by NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ setName()

void NBNode::setName ( const std::string & name)
inline

set intersection name

Definition at line 596 of file NBNode.h.

References myName.

Referenced by NIImporter_SUMO::addJunction(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ setParameter()

void Parameterised::setParameter ( const std::string & key,
const std::string & value )
virtualinherited

Sets a parameter.

Parameters
[in]keyThe parameter's name
[in]valueThe parameter's value

Reimplemented in MSActuatedTrafficLightLogic, MSRailCrossing, MSRailSignal, MSSimpleTrafficLightLogic, and NEMALogic.

Definition at line 45 of file Parameterised.cpp.

References invalid_return< std::string >::value, and myMap.

Referenced by MSCFModel_CACC::_v(), NBRailwayTopologyAnalyzer::addBidiEdge(), NLHandler::addDistrict(), NBOwnTLDef::buildNemaPhases(), NLJunctionControlBuilder::closeTrafficLightLogic(), MSCFModel_CACC::freeSpeed(), NIImporter_MATSim::EdgesHandler::insertEdge(), NIImporter_OpenStreetMap::insertEdge(), NIImporter_OpenStreetMap::insertNodeChecking(), MSLane::isInsertionSuccess(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NWWriter_OpenDrive::mapmatchRoadObjects(), mergeParameters(), MSDevice_Bluelight::notifyMove(), MSDevice_Bluelight::resetVehicle(), GNEVType::setAttribute(), NBEdge::setJunctionPriority(), NIImporter_OpenDrive::setLaneAttributes(), LIBSUMO_NAMESPACE::Simulation::setParameter(), MSActuatedTrafficLightLogic::setParameter(), MSRailCrossing::setParameter(), MSRailSignal::setParameter(), MSSimpleTrafficLightLogic::setParameter(), NEMALogic::setParameter(), setParametersStr(), LIBSUMO_NAMESPACE::Vehicle::setStopParameter(), LIBSUMO_NAMESPACE::TrafficLight::swapParameters(), updateParameters(), NBEdge::updateRemovedNodes(), NWWriter_OpenDrive::writeNetwork(), and NIImporter_OpenDrive::writeRoadObjects().

Here is the caller graph for this function:

◆ setParameters() [1/2]

void Parameterised::setParameters ( const Parameterised & params)
inherited

set the given key/value map in map<string, string> format

Definition at line 146 of file Parameterised.cpp.

References getParametersMap(), myMap, and Parameterised().

Referenced by GNEVehicleFrame::buildVehicleOverRoute(), MSStageDriving::clone(), MSStageTranship::clone(), MSStageTrip::clone(), MSStageWaiting::clone(), MSStageWalking::clone(), GNEVehicleFrame::createPath(), and MSStageTrip::reroute().

Here is the caller graph for this function:

◆ setParameters() [2/2]

void Parameterised::setParameters ( const std::vector< std::pair< std::string, std::string > > & params)
inherited

set the given key/value vector in map<string, string> format

Definition at line 152 of file Parameterised.cpp.

References myMap.

◆ setParametersStr()

void Parameterised::setParametersStr ( const std::string & paramsString,
const std::string kvsep = "=",
const std::string sep = "|" )
inherited

set the inner key/value map in string format "key1=value1|key2=value2|...|keyN=valueN"

Parameters
[in]paramsStringA serialized key-value map
[in]kvsepThe separater between key and value
[in]sepThe separater between map entries

Definition at line 161 of file Parameterised.cpp.

References StringTokenizer::getVector(), myMap, and setParameter().

Referenced by MSDevice_Taxi::initDispatch(), and GNEAttributeCarrier::setCommonAttribute().

Here is the caller graph for this function:

◆ setPriorityJunctionPriorities()

void NBNode::setPriorityJunctionPriorities ( )
private

sets the priorites in case of a priority junction

◆ setRadius()

void NBNode::setRadius ( double radius)
inline

set the turning radius

Definition at line 571 of file NBNode.h.

References myRadius.

Referenced by NIImporter_SUMO::addJunction(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ setRightOfWay()

void NBNode::setRightOfWay ( RightOfWay rightOfWay)
inline

set method for computing right-of-way

Definition at line 581 of file NBNode.h.

References myRightOfWay.

Referenced by NIImporter_SUMO::addJunction(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ setRoundabout()

void NBNode::setRoundabout ( )

update the type of this node as a roundabout

Definition at line 4065 of file NBNode.cpp.

References LEFT_BEFORE_RIGHT, myType, PRIORITY, and RIGHT_BEFORE_LEFT.

Referenced by NBEdgeCont::markRoundabouts().

Here is the caller graph for this function:

◆ setRoundaboutType()

void NBNode::setRoundaboutType ( RoundaboutType roundaboutType)
inline

set roundabout type

Definition at line 591 of file NBNode.h.

References myRoundaboutType.

Referenced by NIImporter_SUMO::addJunction(), and NIXMLNodesHandler::processNodeType().

Here is the caller graph for this function:

◆ shiftTLConnectionLaneIndex()

void NBNode::shiftTLConnectionLaneIndex ( NBEdge * edge,
int offset,
int threshold = -1 )

patches loaded signal plans by modifying lane indices above threshold by the given offset

Definition at line 492 of file NBNode.cpp.

References myTrafficLights.

◆ sortEdges()

void NBNode::sortEdges ( bool useNodeShape)

sort all edge containers for this node

Definition at line 4288 of file NBNode.cpp.

References computeNodeShape(), DEBUGCOND, myAllEdges, myCrossings, myIncomingEdges, myOutgoingEdges, and NBNodesEdgesSorter::swapWhenReversed().

Referenced by getWalkingArea(), and updateSurroundingGeometry().

Here is the caller graph for this function:

◆ tlsStrandedConflict()

bool NBNode::tlsStrandedConflict ( const NBEdge * from,
const NBEdge::Connection & c,
const NBEdge * foeFrom,
const NBEdge::Connection & foe ) const

whether the connection must yield if the foe remains on the intersection after its phase ends

Definition at line 1031 of file NBNode.cpp.

References foes(), NBEdge::Connection::haveVia, isTLControlled(), NBEdge::isTurningDirectionAt(), needsCont(), NBEdge::Connection::tlLinkIndex, and NBEdge::Connection::toEdge.

◆ turnFoes()

bool NBNode::turnFoes ( const NBEdge * from,
const NBEdge * to,
int fromLane,
const NBEdge * from2,
const NBEdge * to2,
int fromLane2,
bool lefthand = false ) const

return whether the given laneToLane connection originate from the same edge and are in conflict due to turning across each other

Definition at line 2263 of file NBNode.cpp.

References NBEdge::isTurningDirectionAt(), myAllEdges, NBContHelper::nextCCW(), NBContHelper::nextCW(), and UNUSED_PARAMETER.

◆ typeWasGuessed()

bool NBNode::typeWasGuessed ( ) const
inline

return whether a priority road turns at this node

Definition at line 857 of file NBNode.h.

References myTypeWasGuessed.

Referenced by NBEdgeCont::guessRoundabouts().

Here is the caller graph for this function:

◆ unsetParameter()

void Parameterised::unsetParameter ( const std::string & key)
inherited

Removes a parameter.

Parameters
[in]keyThe parameter's name

Definition at line 51 of file Parameterised.cpp.

References myMap.

Referenced by NIImporter_OpenStreetMap::insertEdge(), MSLane::isInsertionSuccess(), GNEVType::setAttribute(), and LIBSUMO_NAMESPACE::TrafficLight::swapParameters().

Here is the caller graph for this function:

◆ unsignalizedOperation()

bool NBNode::unsignalizedOperation ( ) const
private

whether the given rail connections at this node may run in unsignalized (right-of-way) mode

Definition at line 2637 of file NBNode.cpp.

References myHaveRailSignalClasses, myIncomingEdges, myPermitUnsignalizedClasses, and SVC_RAIL_CLASSES.

Referenced by getLinkState().

Here is the caller graph for this function:

◆ updateParameters()

void Parameterised::updateParameters ( const Parameterised::Map & mapArg)
inherited

◆ updateSurroundingGeometry()

void NBNode::updateSurroundingGeometry ( )

update geometry of node and surrounding edges

Definition at line 1185 of file NBNode.cpp.

References computeNodeShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), myAllEdges, and sortEdges().

Referenced by GNENet::createRoundabout(), getWalkingArea(), and NBNodeCont::guessTLs().

Here is the caller graph for this function:

◆ writeLogic()

bool NBNode::writeLogic ( OutputDevice & into) const

writes the XML-representation of the logic as a bitset-logic XML representation

Definition at line 1131 of file NBNode.cpp.

References myRequest.

◆ writeParams()

void Parameterised::writeParams ( OutputDevice & device) const
inherited

write Params in the given outputdevice

Definition at line 176 of file Parameterised.cpp.

References OutputDevice::closeTag(), StringUtils::escapeXML(), myMap, OutputDevice::openTag(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_PARAM, and OutputDevice::writeAttr().

Referenced by MSStageWaiting::routeOutput(), ROPerson::saveAsXML(), ROVehicle::saveAsXML(), MSRailSignalConstraint_Predecessor::write(), NBPTStop::write(), SUMOVehicleParameter::Stop::write(), SUMOVTypeParameter::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(), GNEPOI::writeAdditional(), GNEPoly::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::writeLane(), NWWriter_SUMO::writeTrafficLight(), PointOfInterest::writeXML(), and SUMOPolygon::writeXML().

Here is the caller graph for this function:

◆ zipperConflict()

bool NBNode::zipperConflict ( const NBEdge * incoming,
const NBEdge * outgoing,
int fromLane,
int toLane ) const

Definition at line 2621 of file NBNode.cpp.

References getIncomingEdges(), and mustBrake().

Referenced by getLinkState().

Here is the caller graph for this function:

◆ GNEJunction

friend class GNEJunction
friend

Definition at line 68 of file NBNode.h.

References GNEJunction.

Referenced by GNEJunction.

◆ NBEdgePriorityComputer

Definition at line 71 of file NBNode.h.

References NBEdgePriorityComputer.

Referenced by NBEdgePriorityComputer.

◆ NBNodeCont

friend class NBNodeCont
friend

Definition at line 67 of file NBNode.h.

References NBNodeCont.

Referenced by initRailSignalClasses(), and NBNodeCont.

◆ NBNodesEdgesSorter

friend class NBNodesEdgesSorter
friend

Definition at line 69 of file NBNode.h.

References NBNodesEdgesSorter.

Referenced by NBNodesEdgesSorter.

◆ NBNodeTypeComputer

friend class NBNodeTypeComputer
friend

Definition at line 70 of file NBNode.h.

References NBNodeTypeComputer.

Referenced by NBNodeTypeComputer.

Field Documentation

◆ AVOID_INTERSECTING_LEFT_TURNS

const int NBNode::AVOID_INTERSECTING_LEFT_TURNS
static

Definition at line 226 of file NBNode.h.

Referenced by bezierControlPoints(), NBEdge::buildInnerEdges(), and buildWalkingAreas().

◆ AVOID_WIDE_LEFT_TURN

const int NBNode::AVOID_WIDE_LEFT_TURN
static

◆ AVOID_WIDE_RIGHT_TURN

const int NBNode::AVOID_WIDE_RIGHT_TURN
static

flags for controlling shape generation

Definition at line 223 of file NBNode.h.

Referenced by bezierControlPoints().

◆ BACKWARD

◆ FORWARD

◆ FOUR_CONTROL_POINTS

const int NBNode::FOUR_CONTROL_POINTS
static

Definition at line 225 of file NBNode.h.

Referenced by bezierControlPoints(), and buildWalkingAreas().

◆ INDIRECT_LEFT

const int NBNode::INDIRECT_LEFT
static

Definition at line 228 of file NBNode.h.

Referenced by computeInternalLaneShape(), and computeSmoothShape().

◆ myAllEdges

◆ myBlockedConnections

NBConnectionProhibits NBNode::myBlockedConnections
private

The container for connection block dependencies.

Definition at line 966 of file NBNode.h.

Referenced by addSortedLinkFoes(), computeLogic(), getProhibitions(), remapRemoved(), and replaceInConnectionProhibitions().

◆ myCrossings

◆ myCrossingsLoadedFromSumoNet

int NBNode::myCrossingsLoadedFromSumoNet
private

number of crossings loaded from a sumo net

Definition at line 1005 of file NBNode.h.

Referenced by addCrossing(), NBNode(), NBNode(), and numCrossingsFromSumoNet().

◆ myDiscardAllCrossings

bool NBNode::myDiscardAllCrossings
private

whether to discard all pedestrian crossings

Definition at line 1002 of file NBNode.h.

Referenced by buildCrossings(), discardAllCrossings(), guessCrossings(), NBNode(), and NBNode().

◆ myDisplacementError

double NBNode::myDisplacementError
private

geometry error after computation of internal lane shapes

Definition at line 1008 of file NBNode.h.

Referenced by bezierControlPoints(), buildInnerEdges(), getDisplacementError(), NBNode(), and NBNode().

◆ myDistrict

NBDistrict* NBNode::myDistrict
private

The district the node is the centre of.

Definition at line 969 of file NBNode.h.

Referenced by NBNode(), NBNode(), replaceIncoming(), and replaceOutgoing().

◆ myFringeType

FringeType NBNode::myFringeType
private

fringe type of this node

Definition at line 993 of file NBNode.h.

Referenced by crossesFringe(), getFringeType(), NBNode(), NBNode(), and setFringeType().

◆ myHaveCustomPoly

bool NBNode::myHaveCustomPoly
private

whether this nodes shape was set by the user

Definition at line 975 of file NBNode.h.

Referenced by computeNodeShape(), hasCustomShape(), NBNode(), NBNode(), roundGeometry(), and setCustomShape().

◆ myHaveRailSignalClasses

SVCPermissions NBNode::myHaveRailSignalClasses
staticprivate

all vehicle classes for which rail signals exist

Definition at line 1019 of file NBNode.h.

Referenced by initRailSignalClasses(), and unsignalizedOperation().

◆ myID

std::string Named::myID
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(), getID(), NBEdge::getLaneID(), NEMALogic::getPhaseObj(), ROEdge::getStoredEffort(), GNEPOI::getSumoBaseObject(), GNEPoly::getSumoBaseObject(), MSLane::getSurroundingVehicles(), ROEdge::getTravelTime(), MSDelayBasedTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), NBEdge::init(), NEMALogic::init(), MSLane::isInsertionSuccess(), Named(), NBNode::NBNode(), NBNode::NBNode(), MSE2Collector::notifyEnter(), MSE2Collector::notifyLeave(), MSE2Collector::notifyMove(), MSMeanData::openInterval(), NEMALogic::parseControllerType(), RORouteDef::preComputeCurrentRoute(), NBNode::reinit(), NBEdge::reinitNodes(), RORoute::RORoute(), GNEPOI::setAttribute(), GNEPoly::setAttribute(), NBEdge::setGeometry(), 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().

◆ myIncomingEdges

◆ myIsBentPriority

bool NBNode::myIsBentPriority
private

Definition at line 1013 of file NBNode.h.

Referenced by isBentPriority(), markBentPriority(), NBNode(), and NBNode().

◆ myKeepClear

bool NBNode::myKeepClear
private

whether the junction area must be kept clear

Definition at line 987 of file NBNode.h.

Referenced by computeKeepClear(), getKeepClear(), NBNode(), NBNode(), and setKeepClear().

◆ myMap

◆ myName

std::string NBNode::myName
private

The intersection name (or whatever arbitrary string you wish to attach).

Definition at line 999 of file NBNode.h.

Referenced by getName(), and setName().

◆ myOutgoingEdges

◆ myPermitUnsignalizedClasses

SVCPermissions NBNode::myPermitUnsignalizedClasses
staticprivate

all rail classes for which operation without rail signals is permitted

Definition at line 1022 of file NBNode.h.

Referenced by initRailSignalClasses(), and unsignalizedOperation().

◆ myPoly

PositionVector NBNode::myPoly
private

the (outer) shape of the junction

Definition at line 972 of file NBNode.h.

Referenced by buildWalkingAreas(), computeNodeShape(), getCenter(), getShape(), mirrorX(), resetShape(), reshiftPosition(), roundGeometry(), and setCustomShape().

◆ myPosition

Position NBNode::myPosition
private

The position the node lies at.

Definition at line 942 of file NBNode.h.

Referenced by computeNodeShape(), getCenter(), getEmptyDir(), getPosition(), mirrorX(), NBNode(), NBNode(), reinit(), reshiftPosition(), and roundGeometry().

◆ myRadius

double NBNode::myRadius
private

the turning radius (for all corners) at this node in m.

Definition at line 984 of file NBNode.h.

Referenced by computeNodeShape(), getRadius(), indirectLeftShape(), NBNode(), NBNode(), and setRadius().

◆ myRequest

◆ myRightOfWay

RightOfWay NBNode::myRightOfWay
private

how to compute right of way for this node

Definition at line 990 of file NBNode.h.

Referenced by getRightOfWay(), NBNode(), NBNode(), and setRightOfWay().

◆ myRoundaboutType

RoundaboutType NBNode::myRoundaboutType
private

roundabout type of this node

Definition at line 996 of file NBNode.h.

Referenced by getRoundaboutType(), NBNode(), NBNode(), and setRoundaboutType().

◆ myTrafficLights

◆ myType

◆ myTypeWasGuessed

bool NBNode::myTypeWasGuessed
private

whether the node type was guessed rather than loaded

Definition at line 1016 of file NBNode.h.

Referenced by NBNode(), NBNode(), and typeWasGuessed().

◆ myWalkingAreaCustomShapes

std::vector<WalkingAreaCustomShape> NBNode::myWalkingAreaCustomShapes
private

Vector of custom walking areas shapes.

Definition at line 960 of file NBNode.h.

Referenced by addWalkingAreaShape(), buildWalkingAreas(), getWalkingAreaCustomShapes(), mirrorX(), reshiftPosition(), and roundGeometry().

◆ myWalkingAreas

std::vector<WalkingArea> NBNode::myWalkingAreas
private

◆ SCURVE_IGNORE

const int NBNode::SCURVE_IGNORE
static

Definition at line 227 of file NBNode.h.

Referenced by bezierControlPoints(), and NBEdge::buildInnerEdges().

◆ UNSPECIFIED_RADIUS


The documentation for this class was generated from the following files: