Eclipse SUMO - Simulation of Urban MObility
NBNode Class Reference

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

#include <NBNode.h>

Inheritance diagram for NBNode:
Collaboration diagram for NBNode:

Data Structures

class  ApproachingDivider
 Computes lane-2-lane connections. More...
 
struct  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 Member Functions

NBNode::CrossingaddCrossing (EdgeVector edges, double width, bool priority, int tlIndex=-1, int tlIndex2=-1, const PositionVector &customShape=PositionVector::EMPTY, bool fromSumoNet=false)
 add a pedestrian crossing to this node More...
 
void addIncomingEdge (NBEdge *edge)
 adds an incoming edge More...
 
void addOutgoingEdge (NBEdge *edge)
 adds an outgoing edge More...
 
void addSortedLinkFoes (const NBConnection &mayDrive, const NBConnection &mustStop)
 add shorted link FOES More...
 
void addTo (const StoringVisitor &cont) const
 Adds this object to the given container. More...
 
void addWalkingAreaShape (EdgeVector edges, const PositionVector &shape)
 add custom shape for walkingArea More...
 
void avoidOverlap ()
 fix overlap More...
 
int buildCrossings ()
 build pedestrian crossings More...
 
void buildCrossingsAndWalkingAreas ()
 build crossings, and walkingareas. Also removes invalid loaded crossings if wished More...
 
void buildInnerEdges ()
 build internal lanes, pedestrian crossings and walking areas More...
 
void buildWalkingAreas (int cornerDetail)
 build pedestrian walking areas and set connections from/to walkingAreas More...
 
int checkCrossing (EdgeVector candidates)
 
bool checkCrossingDuplicated (EdgeVector edges)
 return true if there already exist a crossing with the same edges as the input More...
 
bool checkIsRemovable () const
 check if node is removable More...
 
bool checkIsRemovableReporting (std::string &reason) const
 check if node is removable and return reason if not More...
 
void clearParameter ()
 Clears the parameter map. More...
 
PositionVector computeInternalLaneShape (NBEdge *fromE, const NBEdge::Connection &con, int numPoints, NBNode *recordError=0, int shapeFlag=0) const
 Compute the shape for an internal lane. More...
 
void computeLanes2Lanes ()
 computes the connections of lanes to edges More...
 
void computeLogic (const NBEdgeCont &ec, OptionsCont &oc)
 computes the node's type, logic and traffic light More...
 
void computeLogic2 (bool checkLaneFoes)
 compute right-of-way logic for all lane-to-lane connections More...
 
void computeNodeShape (double mismatchThreshold)
 Compute the junction shape for this node. More...
 
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. More...
 
bool crossingBetween (const NBEdge *e1, const NBEdge *e2) const
 return true if the given edges are connected by a crossing More...
 
void discardAllCrossings (bool rejectAll)
 discard all current (and optionally future) crossings More...
 
void discardWalkingareas ()
 discard previously built walkingareas (required for repeated computation by netedit) More...
 
EdgeVector edgesBetween (const NBEdge *e1, const NBEdge *e2) const
 return all edges that lie clockwise between the given edges More...
 
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. More...
 
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. More...
 
bool geometryLike () const
 whether this is structurally similar to a geometry node More...
 
bool geometryLike (const EdgeVector &incoming, const EdgeVector &outgoing) const
 
int getConnectionIndex (const NBEdge *from, const NBEdge::Connection &con) const
 return the index of the given connection More...
 
NBEdgegetConnectionTo (NBNode *n) const
 get connection to certain node More...
 
CrossinggetCrossing (const EdgeVector &edges, bool hardFail=true) const
 return the crossing with the given Edges More...
 
CrossinggetCrossing (const std::string &id) const
 return the crossing with the given id More...
 
std::vector< Crossing * > getCrossings () const
 return this junctions pedestrian crossings More...
 
const std::vector< 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. More...
 
double getDisplacementError () const
 compute the displacement error during s-curve computation More...
 
double getDouble (const std::string &key, const double defaultValue) const
 Returns the value for a given key converted to a double. More...
 
std::vector< std::pair< NBEdge *, NBEdge * > > getEdgesToJoin () const
 get edges to join More...
 
Position getEmptyDir () const
 Returns something like the most unused direction Should only be used to add source or sink nodes. More...
 
std::vector< std::pair< Position, std::string > > getEndPoints () const
 return list of unique endpoint coordinates of all edges at this node More...
 
const std::string getFoes (int linkIndex) const
 
const std::string & getID () const
 Returns the id. More...
 
LinkState getLinkState (const NBEdge *incoming, NBEdge *outgoing, int fromLane, int toLane, bool mayDefinitelyPass, const std::string &tlID) const
 get link state More...
 
NBEdgegetOppositeIncoming (NBEdge *e) const
 returns the opposite incoming edge of certain edge More...
 
const std::string getParameter (const std::string &key, const std::string &defaultValue="") const
 Returns the value for a given key. More...
 
const std::map< std::string, std::string > & getParametersMap () const
 Returns the inner key/value map. More...
 
NBEdgegetPossiblySplittedIncoming (const std::string &edgeid)
 get possibly splitted incoming edge More...
 
NBEdgegetPossiblySplittedOutgoing (const std::string &edgeid)
 get possibly splitted outgoing edge More...
 
const NBConnectionProhibitsgetProhibitions ()
 get prohibitions (BLocked connections) More...
 
const std::string getResponse (int linkIndex) const
 
const PositionVectorgetShape () const
 retrieve the junction shape More...
 
const std::vector< WalkingAreaCustomShape > & getWalkingAreaCustomShapes () const
 
const std::vector< WalkingArea > & getWalkingAreas () const
 return this junctions pedestrian walking areas More...
 
int guessCrossings ()
 guess pedestrian crossings and return how many were guessed More...
 
bool hasCustomShape () const
 return whether the shape was set by the user More...
 
bool hasIncoming (const NBEdge *const e) const
 Returns whether the given edge ends at this node. More...
 
bool hasOutgoing (const NBEdge *const e) const
 Returns whether the given edge starts at this node. More...
 
void invalidateIncomingConnections ()
 invalidate incoming connections More...
 
void invalidateOutgoingConnections ()
 invalidate outgoing connections More...
 
bool isBentPriority () const
 return whether a priority road turns at this node More...
 
bool isConstantWidthTransition () const
 detects whether a given junction splits or merges lanes while keeping constant road width More...
 
bool isDistrict () const
 check if node is a district More...
 
bool isLeftMover (const NBEdge *const from, const NBEdge *const to) const
 Computes whether the given connection is a left mover across the junction. More...
 
bool isNearDistrict () const
 @chech if node is near district More...
 
bool isSimpleContinuation (bool checkLaneNumbers=true, bool checkWidth=false) const
 check if node is a simple continuation More...
 
bool knowsParameter (const std::string &key) const
 Returns whether the parameter is known. More...
 
void markBentPriority (bool isBent)
 mark whether a priority road turns at this node More...
 
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. More...
 
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. More...
 
 NBNode (const std::string &id, const Position &position, NBDistrict *district=0)
 Constructor. More...
 
 NBNode (const std::string &id, const Position &position, SumoXMLNodeType type)
 Constructor. More...
 
bool needsCont (const NBEdge *fromE, const NBEdge *otherFromE, const NBEdge::Connection &c, const NBEdge::Connection &otherC) const
 whether an internal junction should be built at from and respect other More...
 
int numCrossingsFromSumoNet () const
 get num of crossings from sumo net More...
 
int numNormalConnections () const
 return the number of lane-to-lane connections at this junction (excluding crossings) More...
 
void reinit (const Position &position, SumoXMLNodeType type, bool updateEdgeGeometries=false)
 Resets initial values. More...
 
void removeCrossing (const EdgeVector &edges)
 remove a pedestrian crossing from this node (identified by its edges) More...
 
void removeDoubleEdges ()
 remove duble edges More...
 
void removeEdge (NBEdge *edge, bool removeFromConnections=true)
 Removes edge from this node and optionally removes connections as well. More...
 
void replaceIncoming (const EdgeVector &which, NBEdge *by)
 Replaces occurences of every edge from the given list within the list of incoming by the second Connections are remapped, too. More...
 
void replaceIncoming (NBEdge *which, NBEdge *by, int laneOff)
 Replaces occurences of the first edge within the list of incoming by the second Connections are remapped, too. More...
 
void replaceOutgoing (const EdgeVector &which, NBEdge *by)
 Replaces occurences of every edge from the given list within the list of outgoing by the second Connections are remapped, too. More...
 
void replaceOutgoing (NBEdge *which, NBEdge *by, int laneOff)
 Replaces occurences of the first edge within the list of outgoing by the second Connections are remapped, too. More...
 
bool rightOnRedConflict (int index, int foeIndex) const
 whether the given index must yield to the foeIndex while turing right on a red light More...
 
bool setCrossingTLIndices (const std::string &tlID, int startIndex)
 
void setCustomShape (const PositionVector &shape)
 set the junction shape More...
 
void setFringeType (FringeType fringeType)
 set method for computing right-of-way More...
 
void setID (const std::string &newID)
 resets the id More...
 
void setKeepClear (bool keepClear)
 set the keepClear flag More...
 
void setParameter (const std::string &key, const std::string &value)
 Sets a parameter. More...
 
void setRadius (double radius)
 set the turning radius More...
 
void setRightOfWay (RightOfWay rightOfWay)
 set method for computing right-of-way More...
 
void setRoundabout ()
 update the type of this node as a roundabout More...
 
void sortEdges (bool useNodeShape)
 sort all edge containers for this node More...
 
bool tlsContConflict (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 More...
 
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 More...
 
bool typeWasGuessed () const
 return whether a priority road turns at this node More...
 
void unsetParameter (const std::string &key)
 Removes a parameter. More...
 
void updateParameter (const std::map< std::string, std::string > &mapArg)
 Adds or updates all given parameters from the map. More...
 
bool writeLogic (OutputDevice &into) const
 writes the XML-representation of the logic as a bitset-logic XML representation More...
 
void writeParams (OutputDevice &device) const
 write Params in the given outputdevice More...
 
 ~NBNode ()
 Destructor. More...
 
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. More...
 
const EdgeVectorgetIncomingEdges () const
 Returns this node's incoming edges (The edges which yield in this node) More...
 
const EdgeVectorgetOutgoingEdges () const
 Returns this node's outgoing edges (The edges which start at this node) More...
 
const EdgeVectorgetEdges () const
 Returns all edges which participate in this node (Edges that start or end at this node) More...
 
SumoXMLNodeType getType () const
 Returns the type of this node. More...
 
double getRadius () const
 Returns the turning radius of this node. More...
 
bool getKeepClear () const
 Returns the keepClear flag. More...
 
RightOfWay getRightOfWay () const
 Returns hint on how to compute right of way. More...
 
FringeType getFringeType () const
 Returns fringe type. More...
 
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. More...
 
void removeTrafficLight (NBTrafficLightDefinition *tlDef)
 Removes the given traffic light from this node. More...
 
void removeTrafficLights ()
 Removes all references to traffic lights that control this tls. More...
 
bool isTLControlled () const
 Returns whether this node is controlled by any tls. More...
 
const std::set< NBTrafficLightDefinition * > & getControllingTLS () const
 Returns the traffic lights that were assigned to this node (The set of tls that control this node) More...
 
void invalidateTLS (NBTrafficLightLogicCont &tlCont, bool removedConnections, bool addedConnections)
 causes the traffic light to be computed anew More...
 
void shiftTLConnectionLaneIndex (NBEdge *edge, int offset, int threshold=-1)
 patches loaded signal plans by modifying lane indices above threshold by the given offset More...
 
Prunning the input
int removeSelfLoops (NBDistrictCont &dc, NBEdgeCont &ec, NBTrafficLightLogicCont &tc)
 Removes edges which are both incoming and outgoing into this node. More...
 
Applying offset
void reshiftPosition (double xoff, double yoff)
 Applies an offset to the node. More...
 
void mirrorX ()
 mirror coordinates along the x-axis More...
 

Static Public Member Functions

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 More...
 
template<class T >
static std::string getIDSecure (const T *obj, const std::string &fallBack="NULL")
 get an identifier for Named-like object which may be Null More...
 
static std::string getNodeIDFromInternalLane (const std::string id)
 returns the node id for internal lanes, crossings and walkingareas More...
 
static bool isTrafficLight (SumoXMLNodeType type)
 return whether the given type is a traffic light More...
 
static bool rightTurnConflict (const NBEdge *from, const NBEdge *to, int fromLane, const NBEdge *prohibitorFrom, const NBEdge *prohibitorTo, int prohibitorFromLane, bool lefthand=false)
 return whether the given laneToLane connection is a right turn which must yield to a bicycle crossings More...
 

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 More...
 
static const int BACKWARD
 
static const int FORWARD
 edge directions (for pedestrian related stuff) More...
 
static const int FOUR_CONTROL_POINTS
 
static const int SCURVE_IGNORE
 
static const double UNSPECIFIED_RADIUS = -1
 unspecified lane width More...
 

Protected Attributes

std::string myID
 The name of the object. More...
 

Private Member Functions

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 More...
 
bool forbidsPedestriansAfter (std::vector< std::pair< NBEdge *, bool > > normalizedLanes, int startIndex)
 return whether there is a non-sidewalk lane after the given index; More...
 
EdgeVector getEdgesSortedByAngleAtNodeCenter () const
 returns the list of all edges sorted clockwise by getAngleAtNodeToCenter More...
 
void getEdgesThatApproach (NBEdge *currentOutgoing, EdgeVector &approaching)
 returns a list of edges which are connected to the given outgoing edge More...
 
NBEdgegetNextCompatibleOutgoing (const NBEdge *incoming, SVCPermissions vehPerm, EdgeVector::const_iterator start, bool clockwise) const
 
 NBNode (const NBNode &s)
 invalidated copy constructor More...
 
NBNodeoperator= (const NBNode &s)
 invalidated assignment operator More...
 
void remapRemoved (NBTrafficLightLogicCont &tc, NBEdge *removed, const EdgeVector &incoming, const EdgeVector &outgoing)
 remap removed More...
 
void removeJoinedTrafficLights ()
 remove all traffic light definitions that are part of a joined tls More...
 
void replaceInConnectionProhibitions (NBEdge *which, NBEdge *by, int whichLaneOff, int byLaneOff)
 replace incoming connections prohibitions More...
 
void setPriorityJunctionPriorities ()
 sets the priorites in case of a priority junction More...
 

Static Private Member Functions

static bool includes (const std::set< NBEdge *, ComparatorIdLess > &super, const std::set< const NBEdge *, ComparatorIdLess > &sub)
 returns whether sub is a subset of super More...
 
static bool isLongEnough (NBEdge *out, double minLength)
 check if is long enough More...
 

Private Attributes

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

Friends

class GNEJunction
 
class NBEdgePriorityComputer
 
class NBNodeCont
 
class NBNodesEdgesSorter
 
class NBNodeShapeComputer
 
class NBNodeTypeComputer
 

Detailed Description

Represents a single node (junction) during network building.

Definition at line 68 of file NBNode.h.

Constructor & Destructor Documentation

◆ NBNode() [1/3]

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

Constructor.

Parameters
[in]idThe id of the node
[in]positionThe position of the node
[in]typeThe type of the node

Definition at line 253 of file NBNode.cpp.

References SUMOXMLDefinitions::isValidNetID(), and Named::myID.

◆ 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 276 of file NBNode.cpp.

References SUMOXMLDefinitions::isValidNetID(), and Named::myID.

◆ ~NBNode()

NBNode::~NBNode ( )

Destructor.

Definition at line 298 of file NBNode.cpp.

References myRequest.

◆ NBNode() [3/3]

NBNode::NBNode ( const NBNode s)
private

invalidated copy constructor

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 
)

add a pedestrian crossing to this node

Definition at line 3089 of file NBNode.cpp.

References myCrossings, and myCrossingsLoadedFromSumoNet.

Referenced by NIImporter_SUMO::_loadNetwork(), checkCrossing(), GNEChange_Crossing::redo(), and GNEChange_Crossing::undo().

◆ addIncomingEdge()

void NBNode::addIncomingEdge ( NBEdge edge)

adds an incoming edge

Definition at line 449 of file NBNode.cpp.

References myAllEdges, and myIncomingEdges.

Referenced by NBEdge::init(), GNENet::insertEdge(), NBEdge::reinitNodes(), and NBEdge::splitGeometry().

◆ addOutgoingEdge()

void NBNode::addOutgoingEdge ( NBEdge edge)

adds an outgoing edge

Definition at line 459 of file NBNode.cpp.

References myAllEdges, and myOutgoingEdges.

Referenced by NBEdge::init(), GNENet::insertEdge(), and NBEdge::reinitNodes().

◆ addSortedLinkFoes()

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

◆ 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 127 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 359 of file NBNode.cpp.

References isTrafficLight(), myTrafficLights, myType, NODETYPE_RAIL_CROSSING, NODETYPE_RAIL_SIGNAL, and NODETYPE_TRAFFIC_LIGHT.

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

◆ addWalkingAreaShape()

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

◆ avoidOverlap()

void NBNode::avoidOverlap ( )

fix overlap

Definition at line 3255 of file NBNode.cpp.

References NBEdge::getTurnDestination(), myIncomingEdges, and NBEdge::shiftPositionAtNode().

◆ bezierControlPoints()

◆ buildCrossings()

◆ buildCrossingsAndWalkingAreas()

void NBNode::buildCrossingsAndWalkingAreas ( )

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

Definition at line 2432 of file NBNode.cpp.

References buildCrossings(), buildWalkingAreas(), Named::getID(), OptionsCont::getOptions(), myCrossings, myWalkingAreas, toString(), and WRITE_WARNING.

Referenced by GNEJunction::rebuildGNECrossings().

◆ buildInnerEdges()

void NBNode::buildInnerEdges ( )

build internal lanes, pedestrian crossings and walking areas

Definition at line 2492 of file NBNode.cpp.

References myDisplacementError, and myIncomingEdges.

◆ buildWalkingAreas()

void NBNode::buildWalkingAreas ( int  cornerDetail)

build pedestrian walking areas and set connections from/to walkingAreas

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

Definition at line 2612 of file NBNode.cpp.

References PositionVector::append(), computeSmoothShape(), crossingBetween(), DEBUGCOND, Position::distanceTo2D(), NBNode::Crossing::edges, FOUR_CONTROL_POINTS, gDebugFlag1, getCrossings(), getEdgesSortedByAngleAtNodeCenter(), NBEdge::getFromNode(), Named::getID(), NBEdge::getID(), NBEdge::getLanes(), NBEdge::getLaneShape(), NBEdge::getSidewalkID(), PositionVector::getSubpartByIndex(), NBEdge::hasConnectionTo(), NBNode::WalkingArea::hasCustomShape, NBNode::Crossing::id, NBNode::WalkingArea::id, includes(), NBNode::WalkingArea::length, MAX2(), MIN2(), NBNode::WalkingArea::minNextCrossingEdges, NBNode::WalkingArea::minPrevCrossingEdges, PositionVector::move2side(), myAllEdges, myWalkingAreaCustomShapes, myWalkingAreas, NBNode::WalkingArea::nextCrossings, NBNode::WalkingArea::nextSidewalks, NBNode::Crossing::nextWalkingArea, NBEdge::Lane::permissions, POSITION_EPS, NBNode::WalkingArea::prevSidewalks, NBNode::Crossing::prevWalkingArea, PositionVector::push_back_noDoublePos(), PositionVector::push_front_noDoublePos(), PositionVector::reverse(), NBNode::Crossing::shape, NBEdge::Lane::shape, NBNode::WalkingArea::shape, SUMO_const_laneWidth, SVC_PEDESTRIAN, SVC_RAIL_CLASSES, toString(), NBEdge::UNSPECIFIED_WIDTH, NBNode::Crossing::valid, NBNode::Crossing::width, NBEdge::Lane::width, NBNode::WalkingArea::width, and WRITE_WARNING.

Referenced by buildCrossingsAndWalkingAreas().

◆ 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 2404 of file NBNode.cpp.

References myCrossings.

Referenced by GNECrossing::isValid().

◆ checkIsRemovable()

bool NBNode::checkIsRemovable ( ) const

check if node is removable

Definition at line 2047 of file NBNode.cpp.

References checkIsRemovableReporting().

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

◆ checkIsRemovableReporting()

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

check if node is removable and return reason if not

Definition at line 2053 of file NBNode.cpp.

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

Referenced by checkIsRemovable(), and GNEJunction::getPopUpMenu().

◆ clearParameter()

◆ computeInternalLaneShape()

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

◆ computeLanes2Lanes()

◆ computeLogic()

◆ computeLogic2()

void NBNode::computeLogic2 ( bool  checkLaneFoes)

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

Definition at line 953 of file NBNode.cpp.

References NBRequest::computeLogic(), and myRequest.

◆ computeNodeShape()

void NBNode::computeNodeShape ( double  mismatchThreshold)

◆ 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 504 of file NBNode.cpp.

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

Referenced by buildWalkingAreas(), GNEVehicle::ConnectionGeometry::calculateConnectionShape(), GNEPerson::calculateSmoothPersonPlanConnection(), computeInternalLaneShape(), NBNodeShapeComputer::getSmoothCorner(), GNEConnection::updateGeometry(), and GNERoute::updateGeometry().

◆ 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 3000 of file NBNode.cpp.

References getCrossings(), and myAllEdges.

Referenced by buildWalkingAreas().

◆ discardAllCrossings()

void NBNode::discardAllCrossings ( bool  rejectAll)

discard all current (and optionally future) crossings

Definition at line 2473 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 2486 of file NBNode.cpp.

References myWalkingAreas.

◆ displaceShapeAtWidthChange()

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

◆ edgesBetween()

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

return all edges that lie clockwise between the given edges

Definition at line 3021 of file NBNode.cpp.

References myAllEdges, and NBContHelper::nextCW().

◆ 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 1823 of file NBNode.cpp.

References NBRequest::foes(), and myRequest.

Referenced by NBEdge::buildInnerEdges(), NBTrafficLightDefinition::foes(), NBTrafficLightDefinition::forbids(), needsCont(), and tlsContConflict().

◆ 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 1813 of file NBNode.cpp.

References NBRequest::forbids(), and myRequest.

Referenced by NBEdge::buildInnerEdges(), and NBTrafficLightDefinition::forbids().

◆ 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 2421 of file NBNode.cpp.

Referenced by guessCrossings().

◆ geometryLike() [1/2]

◆ geometryLike() [2/2]

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

◆ getCenter()

Position NBNode::getCenter ( ) const

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

Definition at line 3194 of file NBNode.cpp.

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

◆ getConnectionIndex()

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

◆ getConnectionTo()

NBEdge * NBNode::getConnectionTo ( NBNode n) const

get connection to certain node

Definition at line 2161 of file NBNode.cpp.

References myOutgoingEdges.

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

◆ getControllingTLS()

◆ getCrossing() [1/2]

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

return the crossing with the given Edges

Definition at line 3127 of file NBNode.cpp.

References myCrossings.

◆ getCrossing() [2/2]

◆ getCrossings()

◆ getCrossingsIncludingInvalid()

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

Definition at line 673 of file NBNode.h.

References myCrossings.

Referenced by GNEJunction::rebuildGNECrossings().

◆ 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 1936 of file NBNode.cpp.

References NBEdge::getAngleAtNode(), NBEdge::getJunctionPriority(), getNextCompatibleOutgoing(), NBEdge::getPermissions(), NBEdge::isTurningDirectionAt(), LINKDIR_LEFT, LINKDIR_NODIR, LINKDIR_PARTLEFT, LINKDIR_PARTRIGHT, LINKDIR_RIGHT, LINKDIR_STRAIGHT, LINKDIR_TURN, LINKDIR_TURN_LEFTHAND, myAllEdges, NBHelpers::normRelAngle(), NBEdge::ROUNDABOUT, and SVC_PEDESTRIAN.

Referenced by NBEdge::addStraightConnections(), NBEdge::bothLeftIntersect(), NBEdge::buildInnerEdges(), NBTrafficLightDefinition::collectAllLinks(), computeInternalLaneShape(), computeLanes2Lanes(), NBOwnTLDef::computeUnblockedWeightedStreamNumber(), displaceShapeAtWidthChange(), GNELane::drawArrows(), NBTrafficLightDefinition::forbids(), NBNodeShapeComputer::getDefaultRadius(), getLinkState(), NWWriter_SUMO::getOppositeInternalID(), NBEdge::MainDirections::MainDirections(), NBRequest::mergeConflict(), NBRequest::mustBrake(), NBRequest::mustBrakeForCrossing(), needsCont(), NBRequest::oppositeLeftTurnConflict(), NBOwnTLDef::patchStateForCrossings(), rightTurnConflict(), NBRequest::setBlocking(), NBEdgePriorityComputer::setPriorityJunctionPriorities(), GNENet::splitJunction(), NWWriter_SUMO::writeConnection(), NWWriter_SUMO::writeInternalConnections(), and NWWriter_OpenDrive::writeInternalEdge().

◆ getDisplacementError()

double NBNode::getDisplacementError ( ) const
inline

compute the displacement error during s-curve computation

Definition at line 588 of file NBNode.h.

References myDisplacementError.

Referenced by NBNodeShapeComputer::computeNodeShapeDefault().

◆ getDouble()

◆ getEdges()

◆ getEdgesSortedByAngleAtNodeCenter()

EdgeVector NBNode::getEdgesSortedByAngleAtNodeCenter ( ) const
private

returns the list of all edges sorted clockwise by getAngleAtNodeToCenter

Definition at line 3212 of file NBNode.cpp.

References gDebugFlag1, myAllEdges, and toString().

Referenced by buildWalkingAreas(), and guessCrossings().

◆ 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 1370 of file NBNode.cpp.

References myAllEdges, and NBContHelper::nextCW().

Referenced by computeLanes2Lanes().

◆ getEdgesToJoin()

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

◆ 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 1637 of file NBNode.cpp.

References Position::add(), getPosition(), 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 3375 of file NBNode.cpp.

References Position::almostSame(), and myAllEdges.

Referenced by GNEJunction::getPopUpMenu(), and GNENet::splitJunction().

◆ getFoes()

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

Definition at line 971 of file NBNode.cpp.

References NBRequest::getFoes(), and myRequest.

Referenced by GNEProhibitionFrame::buildProhibition().

◆ getFringeType()

FringeType NBNode::getFringeType ( ) const
inline

Returns fringe type.

Definition at line 296 of file NBNode.h.

References myFringeType.

Referenced by GNEJunction::getAttribute(), NWWriter_SUMO::writeJunction(), and NWWriter_XML::writeNodes().

◆ getID()

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

Returns the id.

Returns
The stored id

Definition at line 77 of file Named.h.

References Named::myID.

Referenced by MSLCM_LC2013::adaptSpeedToPedestrians(), MSVehicle::adaptToLeader(), MSVehicle::adaptToLeaders(), MSPModel_Remote::add(), MSPModel_Striping::add(), LaneStoringVisitor::add(), MSVehicleTransfer::add(), PCPolyContainer::add(), MSDetectorControl::add(), Named::StoringVisitor::add(), ShapeContainer::add(), NLTriggerBuilder::addAccess(), RORouteDef::addAlternative(), MSLane::addApproachingLane(), NBLoadedSUMOTLDef::addConnection(), NLHandler::addConnection(), MSPModel_Striping::addCrossingVehs(), RODFDetectorCon::addDetector(), RONet::addEdge(), NBParkingCont::addEdges2Keep(), ROJTREdge::addFollowerProbability(), MSTLLogicControl::TLSLogicVariants::addLogic(), MSLane::addNeigh(), RONet::addNode(), NIImporter_SUMO::addPhase(), GUIEdge::addRerouter(), RONet::addRouteDef(), NIXMLEdgesHandler::addSplit(), NBTrafficLightLogic::addStep(), ROVehicle::addStop(), MSRouteHandler::addStop(), MSVehicle::addStop(), MSNet::addStoppingPlace(), MSVehicle::addTraciStop(), MSVehicle::addTraciStopAtStoppingPlace(), AGActivityTripWriter::addTrip(), NIXMLConnectionsHandler::addWalkingArea(), libsumo::Helper::applySubscriptionFilters(), GUITrafficLightLogicWrapper::begin2TrackPhases(), MSTransportable::Stage_Waiting::beginEventOutput(), MSTransportable::Stage_Driving::beginEventOutput(), MSPModel_Striping::blockedAtDist(), MSLink::blockedAtTime(), MSLink::blockedByFoe(), NLEdgeControlBuilder::build(), NIVisumTL::build(), RODFNet::buildApproachList(), MSSOTLE2Sensors::buildContinueSensior(), MSSOTLE2Sensors::buildCountSensorForLane(), MSSOTLE2Sensors::buildCountSensorForOutLane(), buildCrossings(), buildCrossingsAndWalkingAreas(), NIImporter_VISUM::buildDistrictNode(), MSRailSignal::LinkInfo::buildDriveWay(), NLDetectorBuilder::buildE2Detector(), RODFNet::buildEdgeFlowMap(), GNETLSEditorFrame::buildIinternalLanes(), NBEdge::buildInnerEdges(), NGEdge::buildNBEdge(), NIVissimEdge::buildNBEdge(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), MSRailSignal::DriveWay::buildRoute(), MELoop::buildSegmentsFor(), MSSOTLE2Sensors::buildSensorForLane(), MSSOTLE2Sensors::buildSensorForOutLane(), buildWalkingAreas(), MSBaseVehicle::calculateArrivalParams(), MSSwarmTrafficLightLogic::calculateEtaDiff(), MSSwarmTrafficLightLogic::calculateEtaRatio(), MSSOTLPolicyBasedTrafficLightLogic::canRelease(), MSVehicle::canReverse(), MSLaneChanger::changeOpposite(), MELoop::changeSegment(), MSSimpleTrafficLightLogic::changeStepAndDuration(), MSEdge::checkAndRegisterBiDirEdge(), MSRailSignal::DriveWay::checkCrossingFlanks(), MSLane::checkForPedestrians(), MSVehicleTransfer::checkInsertions(), MSVehicle::checkLinkLeader(), MSDevice_Battery::checkParam(), MSE2Collector::checkPositioning(), MSVehicle::checkRewindLinkLanes(), MSLCM_SL2015::checkStrategicChange(), MSSwarmTrafficLightLogic::choosePolicy(), MSDevice_SSM::classifyEncounter(), ShapeContainer::clearHighlights(), NBTrafficLightLogic::closeBuilding(), ODDistrictHandler::closeDistrict(), NLHandler::closeEdge(), RORouteHandler::closeRouteDistribution(), RORouteHandler::closeVehicle(), NBTrafficLightDefinition::collectAllLinks(), NBTrafficLightDefinition::collectEdges(), NBLoadedSUMOTLDef::collectEdgeVectors(), NBLoadedTLDef::collectLinks(), ROJTRRouter::compute(), IntermodalRouter< E, L, N, V >::compute(), NBTrafficLightDefinition::compute(), computeInternalLaneShape(), computeLanes2Lanes(), computeLogic(), NBOwnTLDef::computeLogicAndConts(), computeNodeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), RODFNet::computeRoutesFor(), NBTrafficLightLogicCont::computeSingleLogic(), computeSmoothShape(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NGNet::connect(), NBOwnTLDef::corridorLike(), MSSOTLWaveTrafficLightLogic::countVehicles(), MSSOTLE2Sensors::countVehicles(), MSDevice_SSM::createEncounters(), GUINet::createTLWrapper(), MSDeterministicHiLevelTrafficLightLogic::decideNextPhase(), MSSOTLPolicyBasedTrafficLightLogic::decideNextPhase(), MSSwarmTrafficLightLogic::decideNextPhase(), MSDeterministicHiLevelTrafficLightLogic::decidePolicy(), MSSwarmTrafficLightLogic::decidePolicy(), MSLane::detectCollisionBetween(), MSLane::detectCollisions(), MSLane::detectPedestrianJunctionCollision(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), MSTransportable::Stage_Waiting::endEventOutput(), MSTransportable::Stage_Driving::endEventOutput(), MSE3Collector::enter(), MSVehicle::enterLaneAtMove(), METriggeredCalibrator::execute(), Command_SaveTLSState::execute(), Command_SaveTLSSwitchStates::execute(), Command_SaveTLSSwitches::execute(), MSVTypeProbe::execute(), MSCalibrator::execute(), MSPModel_Striping::MovePedestrians::execute(), MSVehicle::executeMove(), MSLane::executeMovements(), NBNodeCont::extract(), NBTrafficLightLogicCont::extract(), libsumo::Helper::findCloserLane(), MSRailSignal::DriveWay::findFlankProtection(), MSDevice_SSM::findFoeConflictLane(), libsumo::Simulation::findIntermodalRoute(), MSDevice_SSM::findSurroundingVehicles(), MSDevice_SSM::flushConflicts(), NBTrafficLightDefinition::forbids(), NBNodeCont::generateNodeClusters(), RODFDetectorCon::getAggFlowFor(), RODFDetectorCon::getAnyDetectorForEdge(), MSPModel_Striping::getArbitraryPath(), MSVehicle::getBackPosition(), MSVehicle::getBackPositionOnLane(), libsumo::Vehicle::getBestLanes(), NBOwnTLDef::getBestPair(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSVehicle::getCenterOnEdge(), MSDevice_Battery::getChargingStationID(), MSRailSignal::getClickableTLLinkID(), GUILane::getColorValue(), libsumo::TrafficLight::getControlledLinks(), MSLane::getCriticalLeader(), NBNodeShapeComputer::getDefaultRadius(), NBTrafficLightDefinition::getDescription(), MSLink::getDescription(), GUIPerson::getDestinationEdgeID(), RODFNet::getDetectorEdge(), libsumo::Lane::getEdgeID(), GUIMEVehicle::getEdgeID(), GUIPerson::getEdgeID(), MSMeanData::getEdgeID(), MSPModel_Remote::getFirstPedestrianLane(), MSLane::getFollower(), MSLane::getFollowersOnConsecutive(), GUIPerson::getFromEdgeID(), MSCalibrator::getID(), NBEdge::getID(), libsumo::LaneArea::getLaneID(), libsumo::InductionLoop::getLaneID(), libsumo::Vehicle::getLaneID(), MSParkingArea::getLastFreePosWithReservation(), MSLane::getLastVehicleInformation(), MSVehicle::getLatOffset(), MSLane::getLeader(), MSLink::getLeaderInfo(), MSLane::getLeaderOnConsecutive(), MSLane::getLeadersOnConsecutive(), MSLink::getLengthBeforeCrossing(), MSLane::getLinkTo(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForInputLanes(), MSDeterministicHiLevelTrafficLightLogic::getMeanSpeedForOutputLanes(), NIImporter_VISUM::getNamedEdgeContinuating(), MSPerson::getNextEdge(), MSPModel_Striping::getNextLane(), MSLane::getOppositeFollower(), MSLane::getOppositeLeader(), MSLane::getOppositePos(), libsumo::Simulation::getParameter(), GUITrafficLightLogicWrapper::getParameterWindow(), GUILane::getParameterWindow(), GUILane::getParentName(), MSLane::getPartialBehind(), MSSOTLTrafficLightLogic::getPhaseIndexWithMaxCTS(), MSSwarmTrafficLightLogic::getPheromoneForInputLanes(), MSSwarmTrafficLightLogic::getPheromoneForOutputLanes(), PolygonDynamics::getPolygonID(), GUITrafficLightLogicWrapper::getPopUpMenu(), NLTriggerBuilder::getPosition(), NLDetectorBuilder::getPositionChecking(), libsumo::Person::getRoadID(), libsumo::Vehicle::getRoadID(), MSLCM_LC2013::getRoundaboutDistBonus(), libsumo::Vehicle::getRouteID(), MSVehicle::getSafeFollowSpeed(), libsumo::Person::getStage(), MSContainer::MSContainerStage_Driving::getStageSummary(), MSPerson::MSPersonStage_Walking::getStageSummary(), MSContainer::MSContainerStage_Tranship::getStageSummary(), MSPerson::MSPersonStage_Driving::getStageSummary(), MSTransportable::Stage_Trip::getStageSummary(), MSTransportable::Stage_Waiting::getStageSummary(), MSNet::getStoppingPlaceID(), MSLane::getSurroundingVehicles(), MSRailSignal::getTLLinkID(), MSLane::getUpcomingLinks(), MSDevice_SSM::getUpstreamVehicles(), MSPModel_Striping::getVehicleObstacles(), MSDevice_SSM::getVehiclesOnJunction(), MSLink::getZipperSpeed(), guessCrossings(), RODFDetectorCon::guessEmptyFlows(), NBNodeCont::guessTLs(), GUITLLogicPhasesTrackerWindow::GUITLLogicPhasesTrackerWindow(), MSLane::handleCollisionBetween(), MSVehicle::haveValidStopEdges(), libsumo::POI::highlight(), MSVehicle::ignoreRed(), MSDeterministicHiLevelTrafficLightLogic::init(), MSRailSignal::init(), MSDelayBasedTrafficLightLogic::init(), MSActuatedTrafficLightLogic::init(), MSTrafficLightLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), MSE2Collector::initAuxiliaries(), NIImporter_SUMO::initTrafficLightLogic(), NIXMLTrafficLightsHandler::initTrafficLightLogic(), NBDistrictCont::insert(), NBTrafficLightLogicCont::insert(), NBNodeCont::insert(), MSEdge::insertVehicle(), MSLane::integrateNewVehicles(), GNEJunction::invalidateTLS(), invalidateTLS(), MSTLLogicControl::isActive(), MSPedestrianPushButton::isActiveForEdge(), MSPedestrianPushButton::isActiveOnAnySideOfTheRoad(), RODFNet::isDestination(), RODFNet::isFalseSource(), MSLane::isInsertionSuccess(), MSVehicle::isLeader(), MESegment::isOpen(), RODFNet::isSource(), NIImporter_VISUM::isSplitEdge(), MSSOTLTrafficLightLogic::isThresholdPassed(), MESegment::jamThresholdForSpeed(), NBNodeShapeComputer::joinSameDirectionEdges(), NBEdgeCont::joinSameNodeConnectingEdges(), MSAbstractLaneChangeModel::laneChangeOutput(), MSE3Collector::leave(), MSE3Collector::leaveFront(), MSDevice_BTreceiver::BTreceiverUpdate::leaveRange(), MSPedestrianPushButton::loadCrossingEdgeMap(), NIImporter_OpenDrive::loadNetwork(), MSPedestrianPushButton::loadPushButtons(), ODDistrictCont::makeDistricts(), MSE2Collector::makeVehicleInfo(), MSSOTLE2Sensors::meanVehiclesSpeed(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), MSCalibrator::MSCalibrator(), MSChargingStation::MSChargingStation(), MSDevice_Battery::MSDevice_Battery(), MSE2Collector::MSE2Collector(), NBLoadedTLDef::myCompute(), NIImporter_SUMO::myEndElement(), MSLaneSpeedTrigger::myStartElement(), MSTriggeredRerouter::myStartElement(), MSPModel_Striping::nextBlocking(), MSE3Collector::MSE3EntryReminder::notifyEnter(), MSMeanData::MeanDataValues::notifyEnter(), MSDevice_BTsender::notifyEnter(), MSDevice_Bluelight::notifyEnter(), MSDevice_BTreceiver::notifyEnter(), MSDevice_Example::notifyEnter(), MSMeanData_Net::MSLaneMeanDataValues::notifyEnter(), MSTriggeredRerouter::notifyEnter(), MSE3Collector::MSE3LeaveReminder::notifyEnter(), MSMeanData::MeanDataValueTracker::notifyEnter(), MSE2Collector::notifyEnter(), MSDevice_SSM::notifyEnter(), MSDevice_Transportable::notifyLeave(), MSDevice_Example::notifyLeave(), MSDevice_Bluelight::notifyLeave(), MSDevice_BTsender::notifyLeave(), MSDevice_BTreceiver::notifyLeave(), MSE2Collector::notifyLeave(), MSDevice_SSM::notifyLeave(), MSDevice_Example::notifyMove(), MSDevice_Bluelight::notifyMove(), MSDevice_BTsender::notifyMove(), MSDevice_BTreceiver::notifyMove(), MSE2Collector::notifyMove(), MSDevice_SSM::notifyMove(), GUIViewTraffic::onGamingClick(), MSLink::opened(), RORouteHandler::openRoute(), RODFNet::idComp::operator()(), NBNetBuilder::by_id_sorter::operator()(), NBNode::nodes_by_id_sorter::operator()(), MSLane::incoming_lane_priority_sorter::operator()(), MSLane::outgoing_lane_priority_sorter::operator()(), NIImporter_VISUM::parse_EdgePolys(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_Turns(), NLTriggerBuilder::parseAndBuildCalibrator(), MSRouteHandler::parseWalkPositions(), NBLoadedSUMOTLDef::patchIfCrossingsAdded(), MSLCM_LC2013::patchSpeed(), MSLCM_SL2015::patchSpeed(), NBLoadedTLDef::SignalGroup::patchTYellow(), MSVehicle::planMove(), MSVehicle::planMoveInternal(), MSLane::planMovements(), MSInternalJunction::postloadInit(), MSRightOfWayJunction::postloadInit(), AGStreet::print(), MSDevice_SSM::processEncounters(), MSVehicle::processLaneAdvances(), MSVehicle::processLinkApproaches(), MSVehicle::processNextStop(), NIXMLNodesHandler::processNodeType(), TraCIServerAPI_Vehicle::processSet(), MEVehicle::processStop(), NIXMLNodesHandler::processTrafficLightDefinitions(), MSDelayBasedTrafficLightLogic::proposeProlongation(), NBNodeCont::pruneClusterFringe(), MSPModel_Striping::PState::PState(), MSOffTrafficLightLogic::rebuildPhase(), NBEdge::recheckLanes(), NBEdgeCont::recheckPostProcessConnections(), NIImporter_OpenStreetMap::reconstructLayerElevation(), NBLoadedSUMOTLDef::reconstructLogic(), MSLink::removeApproaching(), MSVehicle::removePassedDriveItems(), GNEJunction::removeTLSConnections(), NBNodeCont::rename(), GNENet::renameJunction(), RORouteDef::repairCurrentRoute(), GNEJunction::replaceIncomingConnections(), MSVehicle::replaceParkingArea(), MSVehicle::replaceRoute(), MSBaseVehicle::replaceRouteEdges(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), NLEdgeControlBuilder::reportCurrentEdgeOrLane(), MSBaseVehicle::reroute(), MSRailSignal::LinkInfo::reroute(), GUIVehicle::rerouteDRTStop(), MSTriggeredRerouter::rerouteParkingArea(), MSVehicle::rerouteParkingArea(), MSLane::resetManeuverReservation(), MSLane::resetPartialOccupation(), RODFNet::revalidateFlows(), NBRailwayTopologyAnalyzer::reverseEdges(), RONet::saveAndRemoveRoutesUntil(), ROVehicle::saveAsXML(), ROPerson::Ride::saveAsXML(), MSTransportableDevice_Routing::saveState(), MSDevice_Routing::saveState(), MSDevice::saveState(), MSDevice_Vehroutes::saveState(), MSDevice_Tripinfo::saveState(), MSBaseVehicle::saveState(), MSLane::saveState(), GUIVehicle::selectBlockingFoes(), MSE2Collector::selectLanes(), MSLink::setApproaching(), NBNodeCont::setAsTLControlled(), GNEEdge::setAttribute(), MSChargingStation::setChargeDelay(), MSChargingStation::setChargingPower(), NLEdgeControlBuilder::setDefaultStopOffsets(), MSChargingStation::setEfficency(), MSLane::setManeuverReservation(), MSDevice_Battery::setMaximumBatteryCapacity(), NBEdge::setNodeBorder(), NIXMLEdgesHandler::setNodes(), NIImporter_OpenDrive::setNodeSecure(), MSLane::setPartialOccupation(), MSDevice_Battery::setPowerMax(), MSLink::setRequestInformation(), MSDevice_Battery::setStoppingTreshold(), NBLoadedSUMOTLDef::setTLControllingInformation(), NBOwnTLDef::setTLControllingInformation(), NBTrafficLightLogicCont::setTLControllingInformation(), NBLoadedTLDef::setTLControllingInformation(), NBEdge::shiftPositionAtNode(), MSLane::sortManeuverReservations(), IntermodalNetwork< E, L, N, V >::splitEdge(), MSLaneChangerSublane::startChangeSublane(), MSStopOut::stopEnded(), MSStopOut::stopStarted(), MSLane::succLinkSec(), GUITrafficLightLogicWrapper::switchTLSLogic(), MELoop::teleportVehicle(), MSSOTLTrafficLightLogic::trySwitch(), PolygonDynamics::update(), MSDevice_SSM::update(), MSDevice_SSM::updateAndWriteOutput(), MSVehicle::updateBestLanes(), MSLCM_SL2015::updateCFRelated(), MSSOTLTrafficLightLogic::updateCTS(), NLEdgeControlBuilder::updateCurrentLaneStopOffsets(), MSVehicle::updateDriveItems(), GNETLSEditorFrame::TLSJunction::updateJunctionDescription(), MSSwarmTrafficLightLogic::updatePheromoneLevels(), MSSwarmTrafficLightLogic::updateSensitivities(), MSAbstractLaneChangeModel::updateTargetLane(), MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility(), NBNodeTypeComputer::validateRailCrossings(), MSLCM_LC2013::wantsChange(), MSLCM_SL2015::wantsChange(), MSLCM_SL2015::wantsChangeSublane(), NBParking::write(), MSBatteryExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSInstantInductLoop::write(), MSLink::writeApproaching(), MSRailSignal::writeBlocks(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeDistrict(), MSFullExport::writeEdge(), MSXMLRawOut::writeEdge(), NWWriter_SUMO::writeEdge(), MSMeanData::writeEdge(), NWWriter_XML::writeEdgesAndConnections(), RODFDetector::writeEmitterDefinition(), RODFDetectorCon::writeEmitterPOIs(), RODFDetectorCon::writeEmitters(), RODFDetectorCon::writeEndRerouterDetectors(), NWWriter_OpenDrive::writeInternalEdge(), writeInterval(), NWWriter_SUMO::writeJunction(), MSQueueExport::writeLane(), MSFullExport::writeLane(), MSXMLRawOut::writeLane(), NWWriter_DlrNavteq::writeLinksUnsplitted(), NWWriter_OpenDrive::writeNetwork(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), NWWriter_SUMO::writeRoundabout(), RODFDetectorCon::writeSpeedTrigger(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), RODFDetectorCon::writeValidationDetectors(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), SUMOPolygon::writeXML(), MSRouteProbe::writeXMLOutput(), MSInductLoop::writeXMLOutput(), MSE2Collector::writeXMLOutput(), and RONet::~RONet().

◆ getIDSecure()

template<class T >
static 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 70 of file Named.h.

Referenced by MSLCM_LC2013::_wantsChange(), MSLCM_SL2015::_wantsChangeSublane(), MSLaneChanger::changeOpposite(), MSVehicle::checkRewindLinkLanes(), DijkstraRouter< E, V, BASE >::compute(), AStarRouter< MSEdge, SUMOVehicle, SUMOAbstractRouterPermissions< MSEdge, SUMOVehicle > >::compute(), NBEdge::computeEdge2Edges(), NBEdge::computeLanes2Edges(), NBOwnTLDef::computeLogicAndConts(), MSLaneChanger::continueChange(), MSLane::detectCollisions(), MSRailSignal::DriveWay::findProtection(), MSCFModel_W99::followSpeed(), MSCFModel_CACC::followSpeed(), MSVehicle::getBackPositionOnLane(), NBOwnTLDef::getBestCombination(), NBOwnTLDef::getBestPair(), MSVehicle::getCenterOnEdge(), MSLaneChanger::getColumnleader(), NBEdge::Connection::getDescription(), MSLane::getFollowersOnConsecutive(), GUIVehicle::getLaneID(), MSVehicle::getLatOffset(), MSLane::getLeaderOnConsecutive(), MSLaneChanger::getRealLeader(), GUIVehicle::getShadowLaneID(), GUIVehicle::getTargetLaneID(), NBEdge::init(), MSLane::isInsertionSuccess(), MESegment::isOpen(), joinNamedToString(), joinNamedToStringSorting(), MSPModel_Striping::PState::moveToNextLane(), libsumo::Person::moveToXY(), libsumo::Vehicle::moveToXY(), libsumo::Helper::moveToXYMap(), operator<<(), NBEdge::recheckLanes(), MSTriggeredRerouter::rerouteParkingArea(), MSLCM_LC2013::saveBlockerLength(), MSLCM_SL2015::saveBlockerLength(), MSLCM_LC2013::slowDownForBlocked(), MSLCM_SL2015::slowDownForBlocked(), MSLaneChangerSublane::startChangeSublane(), toString(), MSLeaderInfo::toString(), MSLeaderDistanceInfo::toString(), MSCriticalFollowerDistanceInfo::toString(), MSVehicle::updateBestLanes(), and MSAbstractLaneChangeModel::updateShadowLane().

◆ getIncomingEdges()

const EdgeVector& NBNode::getIncomingEdges ( ) const
inline

Returns this node's incoming edges (The edges which yield in this node)

Definition at line 259 of file NBNode.h.

References myIncomingEdges.

Referenced by NBEdge::addLane(), NBEdge::addRestrictedLane(), NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), NBEdge::buildInnerEdges(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNodeShapeComputer::compute(), NBRampsComputer::computeRamps(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), NBEdge::debugPrintConnections(), NBEdge::deleteLane(), NBNodeCont::generateNodeClusters(), NBNodeShapeComputer::getDefaultRadius(), NBEdge::getIncomingEdges(), NIImporter_VISUM::getNamedEdgeContinuating(), NBRampsComputer::getOffRampEdges(), NBRampsComputer::getOnRampEdges(), GNEJunction::getPopUpMenu(), NBRailwayTopologyAnalyzer::getRailEdges(), NBNodeCont::guessTLs(), NBEdge::init(), isLongEnough(), isNearDistrict(), NBNodeTypeComputer::isRailwayNode(), NBNodeCont::joinNodeCluster(), GNEJunction::markAsModified(), NBEdgePriorityComputer::markBestParallel(), NBEdgeCont::markRoundabouts(), NBRampsComputer::mayNeedOffRamp(), NBRampsComputer::mayNeedOnRamp(), GNENet::mergeJunctions(), NBContHelper::node_with_incoming_finder::operator()(), NIImporter_VISUM::parse_Lanes(), NBEdgeCont::processSplits(), NBNodeCont::pruneClusterFringe(), NBEdge::recheckLanes(), NBNodeCont::removeComponents(), GNEJunction::removeConnectionsTo(), NBNodeCont::removeIsolatedRoads(), NBNodeCont::removeUnwishedNodes(), NBEdge::restoreRestrictedLane(), NBEdgeCont::retrievePossiblySplit(), GNEJunction::setLogicValid(), GNEEdge::smoothShape(), NGNet::toNB(), NBNodeTypeComputer::validateRailCrossings(), NWWriter_DlrNavteq::writeConnectedLanes(), NWWriter_SUMO::writeInternalConnections(), NWWriter_SUMO::writeInternalEdges(), NWWriter_SUMO::writeInternalNodes(), NWWriter_SUMO::writeJunction(), NWWriter_OpenDrive::writeNetwork(), NWWriter_DlrNavteq::writeProhibitedManoeuvres(), and NWWriter_DlrNavteq::writeTrafficSignals().

◆ getKeepClear()

bool NBNode::getKeepClear ( ) const
inline

Returns the keepClear flag.

Definition at line 286 of file NBNode.h.

References myKeepClear.

Referenced by GNEJunction::getAttribute(), NWWriter_SUMO::writeConnection(), and NWWriter_XML::writeNodes().

◆ getLinkState()

◆ getNextCompatibleOutgoing()

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

◆ getNodeIDFromInternalLane()

std::string NBNode::getNodeIDFromInternalLane ( const std::string  id)
static

returns the node id for internal lanes, crossings and walkingareas

Definition at line 3235 of file NBNode.cpp.

References WRITE_ERROR.

◆ getOppositeIncoming()

NBEdge * NBNode::getOppositeIncoming ( NBEdge e) const

returns the opposite incoming edge of certain edge

Definition at line 1546 of file NBNode.cpp.

References NBEdge::getToNode(), and myIncomingEdges.

Referenced by NBNodeTypeComputer::computeNodeTypes().

◆ getOutgoingEdges()

const EdgeVector& NBNode::getOutgoingEdges ( ) const
inline

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

Definition at line 264 of file NBNode.h.

References myOutgoingEdges.

Referenced by NIImporter_OpenStreetMap::RelationHandler::applyRestriction(), NBRampsComputer::buildOffRamp(), NBRampsComputer::buildOnRamp(), NBNodeShapeComputer::compute(), NBEdge::computeEdge2Edges(), NBRampsComputer::computeRamps(), NBTurningDirectionsComputer::computeTurnDirectionsForNode(), GNENet::createEdge(), NBNodeCont::discardTrafficLights(), NBEdge::getConnectedSorted(), NBNodeShapeComputer::getDefaultRadius(), NIImporter_VISUM::getEdge(), NIImporter_VISUM::getNamedEdgeContinuating(), NBRampsComputer::getOffRampEdges(), NBRampsComputer::getOnRampEdges(), GNEJunction::getPopUpMenu(), NBRailwayTopologyAnalyzer::getRailEdges(), NBPTStopCont::getReverseEdge(), NBEdgeCont::guessOpposites(), NBNodeCont::guessTLs(), GNEConnectorFrame::initTargets(), isLongEnough(), isNearDistrict(), NBEdge::isRailDeadEnd(), NBNodeCont::joinNodeCluster(), NBEdge::markAsInLane2LaneState(), NBRampsComputer::mayNeedOffRamp(), NBRampsComputer::mayNeedOnRamp(), GNENet::mergeJunctions(), NBContHelper::node_with_outgoing_finder::operator()(), NIImporter_VISUM::parse_Lanes(), NBEdgeCont::processSplits(), NBNodeCont::pruneClusterFringe(), NBEdge::recheckLanes(), NBNodeCont::removeComponents(), NBNodeCont::removeIsolatedRoads(), NBNodeCont::removeUnwishedNodes(), NBEdgeCont::retrievePossiblySplit(), GNEEdge::smoothShape(), NBNodeTypeComputer::validateRailCrossings(), NWWriter_XML::writeEdgesAndConnections(), and NWWriter_DlrNavteq::writeProhibitedManoeuvres().

◆ getParameter()

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

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

Definition at line 71 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NBEdge::addRestrictedLane(), FareModul::addStop(), NBEdge::append(), MSDevice_Battery::buildVehicleDevices(), MSDevice_Bluelight::buildVehicleDevices(), MSDevice_Example::buildVehicleDevices(), libsumo::Simulation::findIntermodalRoute(), MSSwarmTrafficLightLogic::getBetaNo(), MSSwarmTrafficLightLogic::getBetaSp(), MSDevice::getBoolParam(), NBRailwayTopologyAnalyzer::getBrokenRailNodes(), MSSwarmTrafficLightLogic::getChangePlanProbability(), GNELane::getColorValue(), GUILane::getColorValue(), MSSOTLTrafficLightLogic::getDecayConstant(), MSDevice_SSM::getDetectionRange(), MSDevice_SSM::getExtraTime(), MSDevice::getFloatParam(), MSSwarmTrafficLightLogic::getForgettingCox(), MSSwarmTrafficLightLogic::getGammaNo(), MSSwarmTrafficLightLogic::getGammaSp(), MSTLLogicControl::WAUTSwitchProcedure::getGSPValue(), MSSOTLTrafficLightLogic::getInputSensorsLength(), MSSwarmTrafficLightLogic::getLearningCox(), MSSwarmTrafficLightLogic::getMaxCongestionDuration(), MSDevice_SSM::getMeasuresAndThresholds(), MSSOTLRequestPolicy::getMinDecisionalPhaseDuration(), MSSOTLTrafficLightLogic::getMode(), GUIBaseVehicle::getOptionalName(), MSDevice_ToC::getOutputFilename(), MSDevice_SSM::getOutputFilename(), MSSOTLTrafficLightLogic::getOutputSensorsLength(), libsumo::Route::getParameter(), libsumo::Polygon::getParameter(), libsumo::POI::getParameter(), libsumo::Person::getParameter(), libsumo::TrafficLight::getParameter(), libsumo::Edge::getParameter(), libsumo::Lane::getParameter(), libsumo::VehicleType::getParameter(), libsumo::Vehicle::getParameter(), libsumo::Simulation::getParameter(), MSSwarmTrafficLightLogic::getPheroMaxVal(), MSSwarmTrafficLightLogic::getPoliciesParam(), MSSwarmTrafficLightLogic::getReinforcementMode(), MSSOTLTrafficLightLogic::getSpeedThreshold(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchAreaNo(), MSTLLogicControl::WAUTSwitchProcedure_Stretch::getStretchBereichDef(), MSDevice::getStringParam(), MSSwarmTrafficLightLogic::getThetaInit(), MSSwarmTrafficLightLogic::getThetaMax(), MSSwarmTrafficLightLogic::getThetaMin(), MSSOTLTrafficLightLogic::getThreshold(), MSTriggeredRerouter::getWeight(), PushButtonLogic::init(), MSSOTLPhasePolicy::init(), SigmoidLogic::init(), MSSOTLTrafficLightLogic::init(), MSSwarmTrafficLightLogic::init(), GNEVehicleType::initRailVisualizationParameters(), MSVehicleType::initRailVisualizationParameters(), MSSOTLTrafficLightLogic::isDecayThresholdActivated(), MSSOTLTrafficLightLogic::isPushButtonPressed(), libsumo::Helper::moveToXYMap(), MSActuatedTrafficLightLogic::MSActuatedTrafficLightLogic(), MSDelayBasedTrafficLightLogic::MSDelayBasedTrafficLightLogic(), MSSOTLPolicy::MSSOTLPolicy(), MSSOTLPolicy5DFamilyStimulus::MSSOTLPolicy5DFamilyStimulus(), MSSwarmTrafficLightLogic::MSSwarmTrafficLightLogic(), GNEVehicleType::overwriteVType(), MSDevice_SSM::requestsTrajectories(), NBEdgeCont::splitAt(), MSDevice_SSM::useGeoCoords(), NWWriter_DlrNavteq::writeLinksUnsplitted(), and NWWriter_OpenDrive::writeRoadObjects().

◆ getParametersMap()

const std::map< std::string, std::string > & Parameterised::getParametersMap ( ) const
inherited

Returns the inner key/value map.

Definition at line 105 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NIImporter_SUMO::_loadNetwork(), NBEdge::addLane(), GUIParameterTableWindow::closeBuilding(), NLHandler::closeEdge(), NBTrafficLightDefinition::compute(), GNEVehicleType::getGenericParameters(), GNELane::getGenericParameters(), GNEPoly::getGenericParameters(), GNEStop::getGenericParameters(), GNEPOI::getGenericParameters(), GNEJunction::getGenericParameters(), GNERide::getGenericParameters(), GNEPersonTrip::getGenericParameters(), GNEWalk::getGenericParameters(), GNEEdge::getGenericParameters(), GNERoute::getGenericParameters(), GNEPerson::getGenericParameters(), GNEAdditional::getGenericParameters(), GNEVehicle::getGenericParameters(), GNEVehicleType::getGenericParametersStr(), GNELane::getGenericParametersStr(), GNEPoly::getGenericParametersStr(), GNEStop::getGenericParametersStr(), GNEPOI::getGenericParametersStr(), GNEJunction::getGenericParametersStr(), GNERide::getGenericParametersStr(), GNEPersonTrip::getGenericParametersStr(), GNEWalk::getGenericParametersStr(), GNEEdge::getGenericParametersStr(), GNERoute::getGenericParametersStr(), GNEPerson::getGenericParametersStr(), GNEAdditional::getGenericParametersStr(), GNEVehicle::getGenericParametersStr(), GUITrafficLightLogicWrapper::getParameterWindow(), GUIPolygon::getParameterWindow(), GUIJunctionWrapper::getParameterWindow(), GUIPointOfInterest::getParameterWindow(), GUILane::getParameterWindow(), GUIPerson::getTypeParameterWindow(), GUIContainer::getTypeParameterWindow(), GUIVehicle::getTypeParameterWindow(), GUIMEVehicle::getTypeParameterWindow(), NIImporter_OpenStreetMap::insertEdge(), NBLoadedSUMOTLDef::NBLoadedSUMOTLDef(), GUIParameterTableWindow::numParams(), GNEVehicleType::overwriteVType(), and TraCIServerAPI_TrafficLight::processGet().

◆ getPosition()

const Position& NBNode::getPosition ( ) const
inline

Definition at line 251 of file NBNode.h.

References myPosition.

Referenced by NIImporter_SUMO::_loadNetwork(), NIXMLNodesHandler::addNode(), NIXMLEdgesHandler::addSplit(), NIVissimEdge::buildNBEdge(), GNEJunction::commitGeometryMoving(), NBEdge::computeAngle(), NBEdge::computeEdgeShape(), NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeShapeComputer::computeNodeShapeSmall(), NBNodeCont::discardRailSignals(), NBNodeCont::discardTrafficLights(), NBHelpers::distance(), GNEJunction::drawGL(), GNEEdge::editEndpoint(), NBEdge::extendGeometryAtNode(), NBNodeCont::extract(), NBNodeCont::generateNodeClusters(), GNEJunction::getAttribute(), GNEJunction::getCenteringBoundary(), GNEJunction::getColorValue(), getEmptyDir(), NWWriter_DlrNavteq::getGraphLength(), GNEJunction::getPositionInView(), NBNodeShapeComputer::getSmoothCorner(), NBEdge::hasDefaultGeometryEndpointAtNode(), NBEdge::hasDefaultGeometryEndpoints(), NBEdge::init(), NBNodeCont::insert(), NBNodeCont::joinNodeCluster(), GNEViewNet::mergeJunctions(), GNEJunction::moveGeometry(), GNEJunction::moveJunctionGeometry(), NBContHelper::relative_outgoing_edge_sorter::operator()(), NBContHelper::relative_incoming_edge_sorter::operator()(), NBNodeCont::pruneClusterFringe(), NIImporter_OpenStreetMap::reconstructLayerElevation(), GNENet::registerJunction(), NIVissimEdge::remapOneOfNodes(), GNENet::replaceJunctionByGeometry(), NIImporter_DlrNavteq::EdgesHandler::report(), NIImporter_DlrNavteq::TrafficlightsHandler::report(), GNEEdge::resetEndpoint(), NBNodeCont::retrieve(), GNEEdge::setAttribute(), GNEJunction::setAttribute(), NBEdge::shiftPositionAtNode(), NBNodeCont::shortestEdge(), NBEdgeCont::splitAt(), NBEdge::splitGeometry(), NBEdge::startShapeAt(), GNEEdge::straightenElevation(), GNEEdge::updateJunctionPosition(), NWWriter_SUMO::writeJunction(), NWWriter_XML::writeNodes(), NWWriter_DlrNavteq::writeNodesUnsplitted(), and NWWriter_DlrNavteq::writeTrafficSignals().

◆ getPossiblySplittedIncoming()

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

get possibly splitted incoming edge

Definition at line 1581 of file NBNode.cpp.

References NBEdge::getID(), and myIncomingEdges.

Referenced by NIVissimDisturbance::getConnection().

◆ getPossiblySplittedOutgoing()

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

get possibly splitted outgoing edge

Definition at line 1594 of file NBNode.cpp.

References NBEdge::getID(), and myOutgoingEdges.

Referenced by NIVissimDisturbance::getConnection().

◆ getProhibitions()

const NBConnectionProhibits& NBNode::getProhibitions ( )
inline

get prohibitions (BLocked connections)

Definition at line 639 of file NBNode.h.

References myBlockedConnections.

◆ getRadius()

double NBNode::getRadius ( ) const
inline

Returns the turning radius of this node.

Definition at line 281 of file NBNode.h.

References myRadius.

Referenced by NBNodeShapeComputer::computeNodeShapeDefault(), GNEJunction::getAttribute(), NWWriter_SUMO::writeJunction(), and NWWriter_XML::writeNodes().

◆ getResponse()

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

Definition at line 981 of file NBNode.cpp.

References NBRequest::getResponse(), and myRequest.

Referenced by GNEProhibitionFrame::buildProhibition().

◆ getRightOfWay()

RightOfWay NBNode::getRightOfWay ( ) const
inline

Returns hint on how to compute right of way.

Definition at line 291 of file NBNode.h.

References myRightOfWay.

Referenced by GNEJunction::getAttribute(), NWWriter_SUMO::writeJunction(), and NWWriter_XML::writeNodes().

◆ getShape()

◆ getType()

◆ getWalkingAreaCustomShapes()

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

Definition at line 682 of file NBNode.h.

References myWalkingAreaCustomShapes.

◆ getWalkingAreas()

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

return this junctions pedestrian walking areas

Definition at line 678 of file NBNode.h.

References myWalkingAreas.

Referenced by NWWriter_SUMO::writeInternalEdges(), and NWWriter_SUMO::writeNetwork().

◆ guessCrossings()

int NBNode::guessCrossings ( )

◆ hasCustomShape()

bool NBNode::hasCustomShape ( ) const
inline

return whether the shape was set by the user

Definition at line 530 of file NBNode.h.

References myHaveCustomPoly.

Referenced by GNEJunction::invalidateShape(), NWWriter_SUMO::writeJunction(), and NWWriter_XML::writeNodes().

◆ 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 1534 of file NBNode.cpp.

References myIncomingEdges.

Referenced by NBNodeShapeComputer::computeNodeShapeDefault(), NBNodeCont::generateNodeClusters(), NIImporter_OpenStreetMap::getNeighboringNodes(), NIImporter_VISUM::parse_Lanes(), NIImporter_VISUM::parse_LanesConnections(), and NIImporter_VISUM::parse_TurnsToSignalGroups().

◆ 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 1540 of file NBNode.cpp.

References myOutgoingEdges.

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

◆ includes()

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

returns whether sub is a subset of super

Definition at line 2987 of file NBNode.cpp.

Referenced by buildWalkingAreas().

◆ invalidateIncomingConnections()

void NBNode::invalidateIncomingConnections ( )

invalidate incoming connections

Definition at line 1665 of file NBNode.cpp.

References myIncomingEdges.

Referenced by NBRailwayTopologyAnalyzer::addBidiEdge(), NIVissimDistrictConnection::dict_BuildDistricts(), and GNEJunction::setAttribute().

◆ invalidateOutgoingConnections()

void NBNode::invalidateOutgoingConnections ( )

invalidate outgoing connections

Definition at line 1673 of file NBNode.cpp.

References myOutgoingEdges.

Referenced by NIVissimDistrictConnection::dict_BuildDistricts().

◆ invalidateTLS()

◆ isBentPriority()

bool NBNode::isBentPriority ( ) const
inline

return whether a priority road turns at this node

Definition at line 763 of file NBNode.h.

References myIsBentPriority.

Referenced by NBRequest::setBlocking().

◆ isConstantWidthTransition()

bool NBNode::isConstantWidthTransition ( ) const

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

Definition at line 778 of file NBNode.cpp.

References myIncomingEdges, and myOutgoingEdges.

Referenced by displaceShapeAtWidthChange(), NBNodeShapeComputer::getDefaultRadius(), NBRequest::mergeConflict(), and NWWriter_SUMO::writeInternalEdges().

◆ isDistrict()

bool NBNode::isDistrict ( ) const

check if node is a district

Definition at line 2203 of file NBNode.cpp.

References myType, and NODETYPE_DISTRICT.

Referenced by computeLogic(), and isNearDistrict().

◆ 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 1794 of file NBNode.cpp.

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

Referenced by NBEdge::computeEdge2Edges().

◆ isLongEnough()

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

check if is long enough

Definition at line 1353 of file NBNode.cpp.

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

Referenced by computeLanes2Lanes().

◆ isNearDistrict()

bool NBNode::isNearDistrict ( ) const

@chech if node is near district

Definition at line 2172 of file NBNode.cpp.

References NBEdge::getFromNode(), getIncomingEdges(), getOutgoingEdges(), NBEdge::getToNode(), and isDistrict().

Referenced by computeLogic(), and NBNodeCont::guessTLs().

◆ isSimpleContinuation()

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

◆ isTLControlled()

◆ isTrafficLight()

◆ knowsParameter()

◆ markBentPriority()

void NBNode::markBentPriority ( bool  isBent)
inline

mark whether a priority road turns at this node

Definition at line 758 of file NBNode.h.

References myIsBentPriority.

Referenced by NBEdgePriorityComputer::setPriorityJunctionPriorities().

◆ mirrorX()

void NBNode::mirrorX ( )

mirror coordinates along the x-axis

Definition at line 340 of file NBNode.cpp.

References PositionVector::mirrorX(), Position::mul(), myCrossings, myPoly, myPosition, myWalkingAreaCustomShapes, and myWalkingAreas.

Referenced by GNEJunction::mirrorXLeftHand().

◆ 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 1681 of file NBNode.cpp.

References NBRequest::mustBrake(), and myRequest.

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

◆ 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 1695 of file NBNode.cpp.

References NBRequest::mustBrakeForCrossing().

Referenced by NBOwnTLDef::patchStateForCrossings().

◆ needsCont()

◆ numCrossingsFromSumoNet()

int NBNode::numCrossingsFromSumoNet ( ) const
inline

get num of crossings from sumo net

Definition at line 667 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 3160 of file NBNode.cpp.

References NBRequest::getSizes(), myIncomingEdges, and myRequest.

Referenced by computeLogic(), and NWWriter_OpenDrive::writeNetwork().

◆ operator=()

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

invalidated assignment operator

◆ reinit()

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

◆ remapRemoved()

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

◆ removeCrossing()

void NBNode::removeCrossing ( const EdgeVector edges)

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

Definition at line 3101 of file NBNode.cpp.

References myCrossings.

Referenced by GNEChange_Crossing::redo(), and GNEChange_Crossing::undo().

◆ removeDoubleEdges()

void NBNode::removeDoubleEdges ( )

remove duble edges

Definition at line 1496 of file NBNode.cpp.

References myAllEdges, myIncomingEdges, and myOutgoingEdges.

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

◆ removeEdge()

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

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

Definition at line 1607 of file NBNode.cpp.

References myAllEdges, myIncomingEdges, myOutgoingEdges, and myTrafficLights.

Referenced by NBEdgeCont::extract(), NBEdgeCont::insert(), NBEdge::reinit(), NBEdge::reinitNodes(), NBEdgeCont::removeUnwishedEdges(), and NBEdge::splitGeometry().

◆ removeJoinedTrafficLights()

void NBNode::removeJoinedTrafficLights ( )
private

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

Definition at line 894 of file NBNode.cpp.

References myTrafficLights.

Referenced by computeLogic().

◆ 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 416 of file NBNode.cpp.

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

◆ removeTrafficLight()

◆ removeTrafficLights()

void NBNode::removeTrafficLights ( )

Removes all references to traffic lights that control this tls.

Definition at line 376 of file NBNode.cpp.

References myTrafficLights, and removeTrafficLight().

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

◆ replaceIncoming() [1/2]

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

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

Definition at line 1442 of file NBNode.cpp.

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

◆ replaceIncoming() [2/2]

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

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

Definition at line 1428 of file NBNode.cpp.

References myAllEdges, myIncomingEdges, and replaceInConnectionProhibitions().

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

◆ replaceInConnectionProhibitions()

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

replace incoming connections prohibitions

Definition at line 1461 of file NBNode.cpp.

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

Referenced by replaceIncoming(), and replaceOutgoing().

◆ replaceOutgoing() [1/2]

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

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

Definition at line 1410 of file NBNode.cpp.

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

◆ replaceOutgoing() [2/2]

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

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

Definition at line 1392 of file NBNode.cpp.

References myAllEdges, myIncomingEdges, myOutgoingEdges, replaceInConnectionProhibitions(), and NBEdge::replaceInConnections().

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

◆ 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 330 of file NBNode.cpp.

References Position::add(), PositionVector::add(), myPoly, myPosition, and myWalkingAreaCustomShapes.

◆ rightOnRedConflict()

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

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

Definition at line 3278 of file NBNode.cpp.

References myTrafficLights, myType, and NODETYPE_TRAFFIC_LIGHT_RIGHT_ON_RED.

Referenced by NBRequest::getResponseString().

◆ rightTurnConflict()

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

◆ setCrossingTLIndices()

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

Definition at line 3144 of file NBNode.cpp.

References getCrossings().

Referenced by NBTrafficLightLogicCont::setTLControllingInformation().

◆ setCustomShape()

void NBNode::setCustomShape ( const PositionVector shape)

set the junction shape

Definition at line 2149 of file NBNode.cpp.

References myAllEdges, myHaveCustomPoly, and myPoly.

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

◆ setFringeType()

void NBNode::setFringeType ( FringeType  fringeType)
inline

set method for computing right-of-way

Definition at line 525 of file NBNode.h.

References myFringeType.

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

◆ setID()

void Named::setID ( const std::string &  newID)
inlineinherited

◆ setKeepClear()

void NBNode::setKeepClear ( bool  keepClear)
inline

set the keepClear flag

Definition at line 515 of file NBNode.h.

References myKeepClear.

Referenced by NIXMLNodesHandler::processNodeType(), and GNEJunction::setAttribute().

◆ setParameter()

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

Sets a parameter.

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

Definition at line 45 of file Parameterised.cpp.

References Parameterised::myMap.

Referenced by NLHandler::addDistrict(), SUMORouteHandler::addParam(), ShapeHandler::addPOI(), NBEdge::append(), NIImporter_OpenStreetMap::insertNodeChecking(), NBNodeCont::joinNodeCluster(), NBEdge::Lane::Lane(), NIImporter_OpenDrive::loadNetwork(), NIXMLTrafficLightsHandler::myStartElement(), MSStateHandler::myStartElement(), ShapeHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NIImporter_MATSim::EdgesHandler::myStartElement(), GNEAdditionalHandler::parseGenericParameter(), GNEVehicleType::setAttribute(), GNEConnection::setGenericParametersStr(), GNEVehicleType::setGenericParametersStr(), GNELane::setGenericParametersStr(), GNEPoly::setGenericParametersStr(), GNEStop::setGenericParametersStr(), GNEPOI::setGenericParametersStr(), GNEJunction::setGenericParametersStr(), GNERide::setGenericParametersStr(), GNEPersonTrip::setGenericParametersStr(), GNEWalk::setGenericParametersStr(), GNEEdge::setGenericParametersStr(), GNERoute::setGenericParametersStr(), GNEPerson::setGenericParametersStr(), GNEAdditional::setGenericParametersStr(), GNEVehicle::setGenericParametersStr(), NIImporter_OpenDrive::setLaneAttributes(), libsumo::Route::setParameter(), libsumo::Polygon::setParameter(), libsumo::TrafficLight::setParameter(), libsumo::POI::setParameter(), libsumo::Edge::setParameter(), and libsumo::Lane::setParameter().

◆ 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 510 of file NBNode.h.

References myRadius.

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

◆ setRightOfWay()

void NBNode::setRightOfWay ( RightOfWay  rightOfWay)
inline

set method for computing right-of-way

Definition at line 520 of file NBNode.h.

References myRightOfWay.

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

◆ setRoundabout()

void NBNode::setRoundabout ( )

update the type of this node as a roundabout

Definition at line 3081 of file NBNode.cpp.

References myType, NODETYPE_PRIORITY, and NODETYPE_RIGHT_BEFORE_LEFT.

Referenced by NBEdgeCont::markRoundabouts().

◆ 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 408 of file NBNode.cpp.

References myTrafficLights.

Referenced by NBEdge::addLane(), NBEdge::addRestrictedLane(), and NBEdge::restoreRestrictedLane().

◆ sortEdges()

void NBNode::sortEdges ( bool  useNodeShape)

sort all edge containers for this node

Definition at line 3291 of file NBNode.cpp.

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

◆ tlsContConflict()

bool NBNode::tlsContConflict ( 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 884 of file NBNode.cpp.

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

Referenced by NBRequest::getResponseString().

◆ 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 1748 of file NBNode.cpp.

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

Referenced by NBRequest::getFoesString().

◆ typeWasGuessed()

bool NBNode::typeWasGuessed ( ) const
inline

return whether a priority road turns at this node

Definition at line 768 of file NBNode.h.

References myTypeWasGuessed.

Referenced by NBEdgeCont::guessRoundabouts().

◆ 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 Parameterised::myMap.

Referenced by GNEVehicleType::setAttribute().

◆ updateParameter()

void Parameterised::updateParameter ( const std::map< std::string, std::string > &  mapArg)
inherited

◆ writeLogic()

bool NBNode::writeLogic ( OutputDevice into) const

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

Definition at line 961 of file NBNode.cpp.

References myRequest, and NBRequest::writeLogic().

Referenced by NWWriter_SUMO::writeJunction().

◆ writeParams()

Friends And Related Function Documentation

◆ GNEJunction

friend class GNEJunction
friend

Definition at line 70 of file NBNode.h.

◆ NBEdgePriorityComputer

friend class NBEdgePriorityComputer
friend

Definition at line 73 of file NBNode.h.

◆ NBNodeCont

friend class NBNodeCont
friend

Definition at line 69 of file NBNode.h.

◆ NBNodesEdgesSorter

friend class NBNodesEdgesSorter
friend

Definition at line 71 of file NBNode.h.

◆ NBNodeShapeComputer

friend class NBNodeShapeComputer
friend

Definition at line 74 of file NBNode.h.

◆ NBNodeTypeComputer

friend class NBNodeTypeComputer
friend

Definition at line 72 of file NBNode.h.

Field Documentation

◆ AVOID_INTERSECTING_LEFT_TURNS

const int NBNode::AVOID_INTERSECTING_LEFT_TURNS
static

Definition at line 218 of file NBNode.h.

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

◆ 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 215 of file NBNode.h.

Referenced by bezierControlPoints().

◆ BACKWARD

◆ FORWARD

◆ FOUR_CONTROL_POINTS

const int NBNode::FOUR_CONTROL_POINTS
static

Definition at line 217 of file NBNode.h.

Referenced by bezierControlPoints(), and buildWalkingAreas().

◆ myAllEdges

◆ myBlockedConnections

NBConnectionProhibits NBNode::myBlockedConnections
private

The container for connection block dependencies.

Definition at line 838 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 871 of file NBNode.h.

Referenced by addCrossing(), and numCrossingsFromSumoNet().

◆ myDiscardAllCrossings

bool NBNode::myDiscardAllCrossings
private

whether to discard all pedestrian crossings

Definition at line 868 of file NBNode.h.

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

◆ myDisplacementError

double NBNode::myDisplacementError
private

geometry error after computation of internal lane shapes

Definition at line 874 of file NBNode.h.

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

◆ myDistrict

NBDistrict* NBNode::myDistrict
private

The district the node is the centre of.

Definition at line 841 of file NBNode.h.

Referenced by replaceIncoming(), and replaceOutgoing().

◆ myFringeType

FringeType NBNode::myFringeType
private

fringe type of this node

Definition at line 865 of file NBNode.h.

Referenced by getFringeType(), and setFringeType().

◆ myHaveCustomPoly

bool NBNode::myHaveCustomPoly
private

whether this nodes shape was set by the user

Definition at line 847 of file NBNode.h.

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

◆ myID

◆ myIncomingEdges

◆ myIsBentPriority

bool NBNode::myIsBentPriority
private

Definition at line 879 of file NBNode.h.

Referenced by isBentPriority(), and markBentPriority().

◆ myKeepClear

bool NBNode::myKeepClear
private

whether the junction area must be kept clear

Definition at line 859 of file NBNode.h.

Referenced by getKeepClear(), and setKeepClear().

◆ myMap

◆ myOutgoingEdges

◆ myPoly

PositionVector NBNode::myPoly
private

the (outer) shape of the junction

Definition at line 844 of file NBNode.h.

Referenced by computeNodeShape(), getCenter(), getShape(), GNEJunction::invalidateShape(), mirrorX(), reshiftPosition(), and setCustomShape().

◆ myPosition

Position NBNode::myPosition
private

The position the node lies at.

Definition at line 814 of file NBNode.h.

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

◆ myRadius

double NBNode::myRadius
private

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

Definition at line 856 of file NBNode.h.

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

◆ myRequest

NBRequest* NBNode::myRequest
private

◆ myRightOfWay

RightOfWay NBNode::myRightOfWay
private

how to compute right of way for this node

Definition at line 862 of file NBNode.h.

Referenced by getRightOfWay(), and setRightOfWay().

◆ myTrafficLights

◆ myType

◆ myTypeWasGuessed

bool NBNode::myTypeWasGuessed
private

whether the node type was guessed rather than loaded

Definition at line 882 of file NBNode.h.

Referenced by NBNodeTypeComputer::computeNodeTypes(), and typeWasGuessed().

◆ myWalkingAreaCustomShapes

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

Vector of custom walking areas shapes.

Definition at line 832 of file NBNode.h.

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

◆ myWalkingAreas

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

Vector of walking areas.

Definition at line 829 of file NBNode.h.

Referenced by buildCrossingsAndWalkingAreas(), buildWalkingAreas(), discardWalkingareas(), getWalkingAreas(), and mirrorX().

◆ SCURVE_IGNORE

const int NBNode::SCURVE_IGNORE
static

Definition at line 219 of file NBNode.h.

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

◆ UNSPECIFIED_RADIUS

const double NBNode::UNSPECIFIED_RADIUS = -1
static

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