Eclipse SUMO - Simulation of Urban MObility
NIVissimConnection Class Reference

#include <NIVissimConnection.h>

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

Public Member Functions

void addDisturbance (int disturbance)
 
int buildEdgeConnections (NBEdgeCont &ec)
 
void buildGeom ()
 
bool clustered () const
 
void computeBounding ()
 
bool crosses (const AbstractPoly &poly, double offset=0) const
 
bool crossesEdge (NIVissimAbstractEdge *c) const
 
Position crossesEdgeAtPoint (NIVissimAbstractEdge *c) const
 
const BoundarygetBoundary () const
 
const BoundarygetBoundingBox () const
 
const std::vector< int > & getDisturbances () const
 
int getFromEdgeID () const
 
Position getFromGeomPosition () const
 
const std::vector< int > & getFromLanes () const
 
double getFromPosition () const
 
const PositionVectorgetGeometry () const
 
Position getGeomPosition (double pos) const
 
int getID () const
 
int getToEdgeID () const
 
Position getToGeomPosition () const
 
const std::vector< int > & getToLanes () const
 
double getToPosition () const
 
bool hasNodeCluster () const
 
void inCluster (int id)
 
 NIVissimConnection (int id, const std::string &name, const NIVissimExtendedEdgePoint &from_def, const NIVissimExtendedEdgePoint &to_def, const PositionVector &geom, const std::vector< int > &assignedVehicles, const NIVissimClosedLanesVector &clv)
 
bool overlapsWith (const AbstractPoly &p, double offset=0.0) const
 
void recheckLanes (const NBEdge *const fromEdge, const NBEdge *const toEdge)
 Resets lane numbers if all lanes shall be used. More...
 
void setNodeCluster (int nodeid)
 
void splitAssigning ()
 
virtual ~NIVissimConnection ()
 

Static Public Member Functions

static void buildNodeClusters ()
 
static void clearDict ()
 
static void closeLoading ()
 
static void dict_assignToEdges ()
 
static void dict_buildNBEdgeConnections (NBEdgeCont &ec)
 
static NIVissimConnectiondictionary (int id)
 
static bool dictionary (int id, NIVissimAbstractEdge *e)
 
static bool dictionary (int id, NIVissimConnection *o)
 
static std::vector< int > getForEdge (int edgeid, bool omitNodeAssigned=true)
 
static int getMaxID ()
 
static std::vector< int > getWithin (const AbstractPoly &p, double offset=0.0)
 
static std::vector< int > getWithin (const AbstractPoly &poly)
 
static void splitAndAssignToNodes ()
 

Protected Types

typedef std::set< NIVissimBoundedClusterObject * > ContType
 

Protected Attributes

BoundarymyBoundary
 
int myClusterID
 
std::vector< int > myDisturbances
 
PositionVector myGeom
 
int myID
 
int myNode
 

Private Types

typedef std::map< int, NIVissimConnection * > DictType
 

Private Attributes

std::vector< int > myAssignedVehicles
 
NIVissimClosedLanesVector myClosedLanes
 
NIVissimExtendedEdgePoint myFromDef
 
std::string myName
 
NIVissimExtendedEdgePoint myToDef
 

Static Private Attributes

static DictType myDict
 
static int myMaxID
 

Detailed Description

Definition at line 43 of file NIVissimConnection.h.

Member Typedef Documentation

◆ ContType

Definition at line 50 of file NIVissimBoundedClusterObject.h.

◆ DictType

typedef std::map<int, NIVissimConnection*> NIVissimConnection::DictType
private

Definition at line 106 of file NIVissimConnection.h.

Constructor & Destructor Documentation

◆ NIVissimConnection()

NIVissimConnection::NIVissimConnection ( int  id,
const std::string &  name,
const NIVissimExtendedEdgePoint from_def,
const NIVissimExtendedEdgePoint to_def,
const PositionVector geom,
const std::vector< int > &  assignedVehicles,
const NIVissimClosedLanesVector clv 
)

Definition at line 57 of file NIVissimConnection.cpp.

◆ ~NIVissimConnection()

NIVissimConnection::~NIVissimConnection ( )
virtual

Definition at line 67 of file NIVissimConnection.cpp.

References myClosedLanes.

Member Function Documentation

◆ addDisturbance()

void NIVissimAbstractEdge::addDisturbance ( int  disturbance)
inherited

Definition at line 166 of file NIVissimAbstractEdge.cpp.

References NIVissimAbstractEdge::myDisturbances.

◆ buildEdgeConnections()

◆ buildGeom()

void NIVissimConnection::buildGeom ( )
virtual

◆ buildNodeClusters()

◆ clearDict()

void NIVissimAbstractEdge::clearDict ( )
staticinherited

Definition at line 151 of file NIVissimAbstractEdge.cpp.

References NIVissimAbstractEdge::myDict.

Referenced by NIImporter_Vissim::~NIImporter_Vissim().

Here is the caller graph for this function:

◆ closeLoading()

void NIVissimBoundedClusterObject::closeLoading ( )
staticinherited

Definition at line 61 of file NIVissimBoundedClusterObject.cpp.

References NIVissimBoundedClusterObject::myDict.

Referenced by NIImporter_Vissim::postLoadBuild().

Here is the caller graph for this function:

◆ clustered()

bool NIVissimBoundedClusterObject::clustered ( ) const
inherited

Definition at line 55 of file NIVissimBoundedClusterObject.cpp.

References NIVissimBoundedClusterObject::myClusterID.

Referenced by buildNodeClusters().

Here is the caller graph for this function:

◆ computeBounding()

void NIVissimConnection::computeBounding ( )
virtual

◆ crosses()

bool NIVissimBoundedClusterObject::crosses ( const AbstractPoly poly,
double  offset = 0 
) const
inherited

◆ crossesEdge()

bool NIVissimAbstractEdge::crossesEdge ( NIVissimAbstractEdge c) const
inherited

Definition at line 109 of file NIVissimAbstractEdge.cpp.

References PositionVector::intersects(), and NIVissimAbstractEdge::myGeom.

Referenced by NIVissimNodeCluster::buildNBNode().

Here is the caller graph for this function:

◆ crossesEdgeAtPoint()

Position NIVissimAbstractEdge::crossesEdgeAtPoint ( NIVissimAbstractEdge c) const
inherited

Definition at line 115 of file NIVissimAbstractEdge.cpp.

References PositionVector::intersectionPosition2D(), and NIVissimAbstractEdge::myGeom.

Referenced by NIVissimDisturbance::addToNode(), and NIVissimNodeCluster::buildNBNode().

Here is the caller graph for this function:

◆ dict_assignToEdges()

void NIVissimConnection::dict_assignToEdges ( )
static

Definition at line 304 of file NIVissimConnection.cpp.

References NIVissimEdge::dictionary(), getFromEdgeID(), getToEdgeID(), and myDict.

Referenced by NIImporter_Vissim::postLoadBuild().

Here is the caller graph for this function:

◆ dict_buildNBEdgeConnections()

void NIVissimConnection::dict_buildNBEdgeConnections ( NBEdgeCont ec)
static

Definition at line 265 of file NIVissimConnection.cpp.

References myDict, and WRITE_WARNING.

Referenced by NIImporter_Vissim::postLoadBuild().

Here is the caller graph for this function:

◆ dictionary() [1/3]

NIVissimConnection * NIVissimConnection::dictionary ( int  id)
static

Definition at line 88 of file NIVissimConnection.cpp.

References myDict.

◆ dictionary() [2/3]

bool NIVissimAbstractEdge::dictionary ( int  id,
NIVissimAbstractEdge e 
)
staticinherited

Definition at line 57 of file NIVissimAbstractEdge.cpp.

References NIVissimAbstractEdge::myDict.

Referenced by NIVissimNodeCluster::buildNBNode(), NIVissimDisturbance::computeBounding(), NIVissimDisturbance::dict_SetDisturbances(), NIVissimExtendedEdgePoint::getGeomPosition(), NIVissimTL::NIVissimTLSignal::getPosition(), and NIVissimAbstractEdge::NIVissimAbstractEdge().

Here is the caller graph for this function:

◆ dictionary() [3/3]

bool NIVissimConnection::dictionary ( int  id,
NIVissimConnection o 
)
static

Definition at line 76 of file NIVissimConnection.cpp.

References myDict.

Referenced by NIVissimTL::NIVissimTLSignal::addTo(), NIVissimDisturbance::addToNode(), NIVissimEdge::buildConnectionClusters(), NIVissimNodeCluster::buildNBNode(), NIVissimEdge::getBestIncoming(), NIVissimEdge::getBestOutgoing(), NIVissimDisturbance::getConnection(), NIVissimEdge::getConnectionTo(), NIVissimConnectionCluster::getDisturbanceParticipators(), NIVissimNodeCluster::getFromNode(), NIVissimConnectionCluster::getIncomingContinuation(), NIVissimConnectionCluster::getIncomingContinuationGeometry(), NIVissimEdge::getOutgoingConnected(), NIVissimConnectionCluster::getOutgoingContinuation(), NIVissimConnectionCluster::getOutgoingContinuationGeometry(), NIVissimConnectionCluster::getPositionForEdge(), NIVissimNodeCluster::getToNode(), NIVissimConnectionCluster::isWeakDistrictConnRealisation(), NIVissimConnectionCluster::liesOnSameEdgesEnd(), NIImporter_Vissim::NIVissimXMLHandler_Streckendefinition::myEndElement(), NIVissimConnectionCluster::NIVissimConnectionCluster(), NIVissimEdge::connection_position_sorter::operator()(), NIVissimSingleTypeParser_Verbindungsdefinition::parse(), NIVissimSingleTypeParser_VWunschentscheidungsdefinition::parse(), NIVissimConnectionCluster::recheckEdges(), NIVissimConnectionCluster::recomputeBoundary(), and NIVissimConflictArea::setPriorityRegulation().

Here is the caller graph for this function:

◆ getBoundary()

const Boundary & NIVissimBoundedClusterObject::getBoundary ( ) const
inherited

Definition at line 69 of file NIVissimBoundedClusterObject.cpp.

References NIVissimBoundedClusterObject::myBoundary.

Referenced by NIVissimConnectionCluster::liesOnSameEdgesEnd().

Here is the caller graph for this function:

◆ getBoundingBox()

const Boundary & NIVissimConnection::getBoundingBox ( ) const

Definition at line 297 of file NIVissimConnection.cpp.

References NIVissimBoundedClusterObject::myBoundary, Boundary::xmax(), and Boundary::xmin().

Referenced by NIVissimConnectionCluster::NodeSubCluster::add().

Here is the caller graph for this function:

◆ getDisturbances()

const std::vector< int > & NIVissimAbstractEdge::getDisturbances ( ) const
inherited

Definition at line 172 of file NIVissimAbstractEdge.cpp.

References NIVissimAbstractEdge::myDisturbances.

Referenced by NIVissimConnectionCluster::getDisturbanceParticipators().

Here is the caller graph for this function:

◆ getForEdge()

std::vector< int > NIVissimConnection::getForEdge ( int  edgeid,
bool  omitNodeAssigned = true 
)
static

Definition at line 138 of file NIVissimConnection.cpp.

References myDict.

◆ getFromEdgeID()

◆ getFromGeomPosition()

Position NIVissimConnection::getFromGeomPosition ( ) const

Definition at line 179 of file NIVissimConnection.cpp.

References NIVissimExtendedEdgePoint::getGeomPosition(), and myFromDef.

Referenced by NIVissimNodeCluster::buildNBNode(), NIVissimConnectionCluster::recheckEdges(), and NIVissimConnectionCluster::recomputeBoundary().

Here is the caller graph for this function:

◆ getFromLanes()

const std::vector< int > & NIVissimConnection::getFromLanes ( ) const

Definition at line 278 of file NIVissimConnection.cpp.

References NIVissimExtendedEdgePoint::getLanes(), and myFromDef.

Referenced by buildEdgeConnections(), and NIVissimEdge::getOutgoingConnected().

Here is the caller graph for this function:

◆ getFromPosition()

double NIVissimConnection::getFromPosition ( ) const

Definition at line 167 of file NIVissimConnection.cpp.

References NIVissimExtendedEdgePoint::getPosition(), and myFromDef.

Referenced by NIVissimEdge::dict_checkEdges2Join(), NIVissimConnectionCluster::getPositionForEdge(), and NIVissimEdge::connection_position_sorter::operator()().

Here is the caller graph for this function:

◆ getGeometry()

◆ getGeomPosition()

Position NIVissimAbstractEdge::getGeomPosition ( double  pos) const
inherited

Definition at line 79 of file NIVissimAbstractEdge.cpp.

References PositionVector::extrapolate(), PositionVector::length(), NIVissimAbstractEdge::myGeom, and PositionVector::positionAtOffset().

Referenced by NIVissimDistrictConnection::geomPosition().

Here is the caller graph for this function:

◆ getID()

◆ getMaxID()

int NIVissimConnection::getMaxID ( )
static

Definition at line 314 of file NIVissimConnection.cpp.

References myMaxID.

◆ getToEdgeID()

◆ getToGeomPosition()

Position NIVissimConnection::getToGeomPosition ( ) const

Definition at line 186 of file NIVissimConnection.cpp.

References NIVissimExtendedEdgePoint::getGeomPosition(), and myToDef.

Referenced by NIVissimNodeCluster::buildNBNode(), NIVissimConnectionCluster::recheckEdges(), and NIVissimConnectionCluster::recomputeBoundary().

Here is the caller graph for this function:

◆ getToLanes()

const std::vector< int > & NIVissimConnection::getToLanes ( ) const

Definition at line 284 of file NIVissimConnection.cpp.

References NIVissimExtendedEdgePoint::getLanes(), and myToDef.

Referenced by buildEdgeConnections(), NIVissimEdge::checkUnconnectedLaneSpeeds(), NIVissimSingleTypeParser_VWunschentscheidungsdefinition::parse(), NIVissimEdge::propagateOwn(), NIVissimEdge::propagateSpeed(), and NIVissimEdge::setDistrictSpeed().

Here is the caller graph for this function:

◆ getToPosition()

double NIVissimConnection::getToPosition ( ) const

Definition at line 173 of file NIVissimConnection.cpp.

References NIVissimExtendedEdgePoint::getPosition(), and myToDef.

Referenced by NIVissimConnectionCluster::getPositionForEdge(), and NIVissimEdge::connection_position_sorter::operator()().

Here is the caller graph for this function:

◆ getWithin() [1/2]

std::vector< int > NIVissimAbstractEdge::getWithin ( const AbstractPoly p,
double  offset = 0.0 
)
staticinherited

◆ getWithin() [2/2]

std::vector< int > NIVissimConnection::getWithin ( const AbstractPoly poly)
static

Definition at line 116 of file NIVissimConnection.cpp.

References myDict.

Referenced by buildNodeClusters().

Here is the caller graph for this function:

◆ hasNodeCluster()

bool NIVissimAbstractEdge::hasNodeCluster ( ) const
inherited

Definition at line 140 of file NIVissimAbstractEdge.cpp.

References NIVissimAbstractEdge::myNode.

◆ inCluster()

void NIVissimBoundedClusterObject::inCluster ( int  id)
inherited

◆ overlapsWith()

bool NIVissimAbstractEdge::overlapsWith ( const AbstractPoly p,
double  offset = 0.0 
) const
inherited

Definition at line 134 of file NIVissimAbstractEdge.cpp.

References NIVissimAbstractEdge::myGeom, and PositionVector::overlapsWith().

Referenced by NIVissimAbstractEdge::getWithin().

Here is the caller graph for this function:

◆ recheckLanes()

void NIVissimConnection::recheckLanes ( const NBEdge *const  fromEdge,
const NBEdge *const  toEdge 
)

Resets lane numbers if all lanes shall be used.

Calls "NIVissimExtendedEdgePoint::recheckLanes" for both used edges.

Parameters
[in]Thebuilt from-edge
[in]Thebuilt to-edge

Definition at line 290 of file NIVissimConnection.cpp.

References myFromDef, myToDef, and NIVissimExtendedEdgePoint::recheckLanes().

Referenced by buildEdgeConnections().

Here is the caller graph for this function:

◆ setNodeCluster()

void NIVissimConnection::setNodeCluster ( int  nodeid)
virtual

Implements NIVissimAbstractEdge.

Definition at line 192 of file NIVissimConnection.cpp.

References NIVissimAbstractEdge::myNode.

◆ splitAndAssignToNodes()

void NIVissimAbstractEdge::splitAndAssignToNodes ( )
staticinherited

◆ splitAssigning()

void NIVissimAbstractEdge::splitAssigning ( )
inherited

Definition at line 102 of file NIVissimAbstractEdge.cpp.

Referenced by NIVissimAbstractEdge::splitAndAssignToNodes().

Here is the caller graph for this function:

Field Documentation

◆ myAssignedVehicles

std::vector<int> NIVissimConnection::myAssignedVehicles
private

Definition at line 103 of file NIVissimConnection.h.

◆ myBoundary

◆ myClosedLanes

NIVissimClosedLanesVector NIVissimConnection::myClosedLanes
private

Definition at line 104 of file NIVissimConnection.h.

Referenced by ~NIVissimConnection().

◆ myClusterID

int NIVissimBoundedClusterObject::myClusterID
protectedinherited

◆ myDict

NIVissimConnection::DictType NIVissimConnection::myDict
staticprivate

◆ myDisturbances

std::vector<int> NIVissimAbstractEdge::myDisturbances
protectedinherited

◆ myFromDef

◆ myGeom

◆ myID

◆ myMaxID

int NIVissimConnection::myMaxID
staticprivate

Definition at line 108 of file NIVissimConnection.h.

Referenced by getMaxID().

◆ myName

std::string NIVissimConnection::myName
private

Definition at line 101 of file NIVissimConnection.h.

◆ myNode

int NIVissimAbstractEdge::myNode
protectedinherited

◆ myToDef

NIVissimExtendedEdgePoint NIVissimConnection::myToDef
private

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