SUMO - Simulation of Urban MObility
|
#include <NIVissimConnection.h>
Public Types | |
enum | Direction { NIVC_DIR_RIGHT, NIVC_DIR_LEFT, NIVC_DIR_ALL } |
Public Member Functions | |
void | addDisturbance (int disturbance) |
unsigned int | buildEdgeConnections (NBEdgeCont &ec) |
void | buildGeom () |
bool | clustered () const |
void | computeBounding () |
bool | crosses (const AbstractPoly &poly, SUMOReal offset=0) const |
SUMOReal | crossesAtPoint (const Position &p1, const Position &p2) const |
bool | crossesEdge (NIVissimAbstractEdge *c) const |
Position | crossesEdgeAtPoint (NIVissimAbstractEdge *c) const |
const Boundary & | getBoundary () const |
const Boundary & | getBoundingBox () const |
const std::vector< int > & | getDisturbances () const |
int | getFromEdgeID () const |
Position | getFromGeomPosition () const |
const std::vector< int > & | getFromLanes () const |
SUMOReal | getFromPosition () const |
const PositionVector & | getGeometry () const |
Position | getGeomPosition (SUMOReal pos) const |
int | getID () const |
int | getToEdgeID () const |
Position | getToGeomPosition () const |
const std::vector< int > & | getToLanes () const |
SUMOReal | 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, Direction direction, SUMOReal dxnothalt, SUMOReal dxeinordnen, SUMOReal zuschlag1, SUMOReal zuschlag2, SUMOReal seglength, const std::vector< int > &assignedVehicles, const NIVissimClosedLanesVector &clv) | |
bool | overlapsWith (const AbstractPoly &p, SUMOReal offset=0.0) const |
void | recheckLanes (const NBEdge *const fromEdge, const NBEdge *const toEdge) |
Resets lane numbers if all lanes shall be used. | |
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 bool | dictionary (int id, NIVissimAbstractEdge *e) |
static bool | dictionary (int id, const std::string &name, const NIVissimExtendedEdgePoint &from_def, const NIVissimExtendedEdgePoint &to_def, const PositionVector &geom, Direction direction, SUMOReal dxnothalt, SUMOReal dxeinordnen, SUMOReal zuschlag1, SUMOReal zuschlag2, SUMOReal seglength, const std::vector< int > &assignedVehicles, const NIVissimClosedLanesVector &clv) |
static bool | dictionary (int id, NIVissimConnection *o) |
static NIVissimConnection * | dictionary (int id) |
static std::vector< int > | getForEdge (int edgeid, bool omitNodeAssigned=true) |
static int | getMaxID () |
static std::vector< int > | getWithin (const AbstractPoly &p, SUMOReal offset=0.0) |
static std::vector< int > | getWithin (const AbstractPoly &poly) |
static void | splitAndAssignToNodes () |
Protected Types | |
typedef std::set < NIVissimBoundedClusterObject * > | ContType |
Protected Attributes | |
Boundary * | myBoundary |
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 |
Direction | myDirection |
SUMOReal | myDXEinordnen |
SUMOReal | myDXNothalt |
NIVissimExtendedEdgePoint | myFromDef |
std::string | myName |
NIVissimExtendedEdgePoint | myToDef |
SUMOReal | myZuschlag1 |
SUMOReal | myZuschlag2 |
Static Private Attributes | |
static DictType | myDict |
static int | myMaxID |
Definition at line 53 of file NIVissimConnection.h.
|
protectedinherited |
Definition at line 60 of file NIVissimBoundedClusterObject.h.
|
private |
Reimplemented from NIVissimAbstractEdge.
Definition at line 129 of file NIVissimConnection.h.
Definition at line 57 of file NIVissimConnection.h.
NIVissimConnection::NIVissimConnection | ( | int | id, |
const std::string & | name, | ||
const NIVissimExtendedEdgePoint & | from_def, | ||
const NIVissimExtendedEdgePoint & | to_def, | ||
const PositionVector & | geom, | ||
Direction | direction, | ||
SUMOReal | dxnothalt, | ||
SUMOReal | dxeinordnen, | ||
SUMOReal | zuschlag1, | ||
SUMOReal | zuschlag2, | ||
SUMOReal | seglength, | ||
const std::vector< int > & | assignedVehicles, | ||
const NIVissimClosedLanesVector & | clv | ||
) |
Definition at line 70 of file NIVissimConnection.cpp.
Referenced by dictionary().
|
virtual |
Definition at line 85 of file NIVissimConnection.cpp.
References myClosedLanes.
|
inherited |
Definition at line 195 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myDisturbances.
unsigned int NIVissimConnection::buildEdgeConnections | ( | NBEdgeCont & | ec | ) |
Definition at line 253 of file NIVissimConnection.cpp.
References NBEdge::addLane2LaneConnection(), dictionary(), NIVissimEdge::getBestIncoming(), NIVissimEdge::getBestOutgoing(), getFromEdgeID(), getFromLanes(), NIVissimAbstractEdge::getID(), Named::getID(), NBEdge::getNumLanes(), getToEdgeID(), getToLanes(), NBEdge::L2L_VALIDATED, recheckLanes(), NBEdgeCont::retrievePossiblySplitted(), toString(), NIVissimEdge::wasWithinAJunction(), and WRITE_WARNING.
|
virtual |
Implements NIVissimAbstractEdge.
Definition at line 243 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getGeomPosition(), myFromDef, NIVissimAbstractEdge::myGeom, myToDef, PositionVector::push_back(), and PositionVector::size().
|
static |
Definition at line 142 of file NIVissimConnection.cpp.
References NIVissimBoundedClusterObject::clustered(), dictionary(), getWithin(), NIVissimBoundedClusterObject::myBoundary, myDict, Boundary::xmax(), and Boundary::xmin().
|
staticinherited |
Definition at line 180 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myDict.
Referenced by NIImporter_Vissim::~NIImporter_Vissim().
|
staticinherited |
Definition at line 74 of file NIVissimBoundedClusterObject.cpp.
References NIVissimBoundedClusterObject::myDict.
Referenced by NIImporter_Vissim::postLoadBuild().
|
inherited |
Definition at line 68 of file NIVissimBoundedClusterObject.cpp.
References NIVissimBoundedClusterObject::myClusterID.
Referenced by buildNodeClusters().
|
virtual |
Implements NIVissimBoundedClusterObject.
Definition at line 172 of file NIVissimConnection.cpp.
References Boundary::add(), NIVissimExtendedEdgePoint::getGeomPosition(), NIVissimBoundedClusterObject::myBoundary, myFromDef, and myToDef.
|
inherited |
Definition at line 54 of file NIVissimBoundedClusterObject.cpp.
References NIVissimBoundedClusterObject::myBoundary, Boundary::overlapsWith(), Boundary::xmax(), and Boundary::xmin().
|
inherited |
Definition at line 138 of file NIVissimAbstractEdge.cpp.
References PositionVector::getBegin(), PositionVector::getEnd(), GeomHelper::intersection_position2D(), NIVissimAbstractEdge::myGeom, and GeomHelper::nearest_position_on_line_to_point2D().
|
inherited |
Definition at line 126 of file NIVissimAbstractEdge.cpp.
References PositionVector::intersects(), and NIVissimAbstractEdge::myGeom.
Referenced by NIVissimNodeCluster::buildNBNode().
|
inherited |
Definition at line 132 of file NIVissimAbstractEdge.cpp.
References PositionVector::intersectsAtPoint(), and NIVissimAbstractEdge::myGeom.
Referenced by NIVissimDisturbance::addToNode(), and NIVissimNodeCluster::buildNBNode().
|
static |
Definition at line 348 of file NIVissimConnection.cpp.
References dictionary(), getFromEdgeID(), getToEdgeID(), and myDict.
Referenced by NIImporter_Vissim::postLoadBuild().
|
static |
Definition at line 309 of file NIVissimConnection.cpp.
References myDict, and WRITE_WARNING.
Referenced by NIImporter_Vissim::postLoadBuild().
|
staticinherited |
Definition at line 72 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myDict.
Referenced by NIVissimDisturbance::computeBounding(), NIVissimExtendedEdgePoint::getGeomPosition(), and NIVissimAbstractEdge::NIVissimAbstractEdge().
|
static |
Definition at line 94 of file NIVissimConnection.cpp.
References myMaxID, and NIVissimConnection().
Referenced by buildEdgeConnections(), buildNodeClusters(), dict_assignToEdges(), NIVissimConnectionCluster::getDisturbanceParticipators(), NIVissimConnectionCluster::getIncomingContinuation(), NIVissimConnectionCluster::getIncomingContinuationGeometry(), NIVissimConnectionCluster::getOutgoingContinuation(), NIVissimConnectionCluster::getOutgoingContinuationGeometry(), NIVissimConnectionCluster::getPositionForEdge(), NIVissimConnectionCluster::isWeakDistrictConnRealisation(), NIVissimConnectionCluster::liesOnSameEdgesEnd(), NIVissimConnectionCluster::NIVissimConnectionCluster(), NIVissimSingleTypeParser_VWunschentscheidungsdefinition::parse(), NIVissimSingleTypeParser_Verbindungsdefinition::parse(), NIVissimConnectionCluster::recheckEdges(), and NIVissimConnectionCluster::recomputeBoundary().
|
static |
Definition at line 120 of file NIVissimConnection.cpp.
References myDict.
|
static |
Reimplemented from NIVissimAbstractEdge.
Definition at line 132 of file NIVissimConnection.cpp.
References myDict.
|
inherited |
Definition at line 82 of file NIVissimBoundedClusterObject.cpp.
References NIVissimBoundedClusterObject::myBoundary.
Referenced by NIVissimConnectionCluster::liesOnSameEdgesEnd().
const Boundary & NIVissimConnection::getBoundingBox | ( | ) | const |
Definition at line 341 of file NIVissimConnection.cpp.
References NIVissimBoundedClusterObject::myBoundary, Boundary::xmax(), and Boundary::xmin().
Referenced by NIVissimConnectionCluster::NodeSubCluster::add().
|
inherited |
Definition at line 201 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myDisturbances.
Referenced by NIVissimConnectionCluster::getDisturbanceParticipators().
|
static |
Definition at line 182 of file NIVissimConnection.cpp.
References myDict.
int NIVissimConnection::getFromEdgeID | ( | ) | const |
Definition at line 199 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getEdgeID(), and myFromDef.
Referenced by NIVissimTL::NIVissimTLSignal::addTo(), NIVissimDisturbance::addToNode(), buildEdgeConnections(), dict_assignToEdges(), NIVissimEdge::dict_checkEdges2Join(), NIVissimEdge::getBestIncoming(), NIVissimDisturbance::getConnection(), NIVissimEdge::getConnectionTo(), NIVissimConnectionCluster::getIncomingContinuation(), NIVissimConnectionCluster::getIncomingContinuationGeometry(), NIVissimConnectionCluster::getPositionForEdge(), NIVissimNodeCluster::getToNode(), NIVissimConnectionCluster::liesOnSameEdgesEnd(), NIVissimConnectionCluster::NIVissimConnectionCluster(), NIVissimEdge::connection_position_sorter::operator()(), and NIVissimConnectionCluster::recheckEdges().
Position NIVissimConnection::getFromGeomPosition | ( | ) | const |
Definition at line 223 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getGeomPosition(), and myFromDef.
Referenced by NIVissimNodeCluster::buildNBNode(), NIVissimConnectionCluster::recheckEdges(), NIVissimConnectionCluster::recomputeBoundary(), and NIVissimNodeDef_Edges::searchAndSetConnections().
const std::vector< int > & NIVissimConnection::getFromLanes | ( | ) | const |
Definition at line 322 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getLanes(), and myFromDef.
Referenced by buildEdgeConnections(), and NIVissimEdge::getOutgoingConnected().
SUMOReal NIVissimConnection::getFromPosition | ( | ) | const |
Definition at line 211 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getPosition(), and myFromDef.
Referenced by NIVissimEdge::dict_checkEdges2Join(), NIVissimConnectionCluster::getPositionForEdge(), and NIVissimEdge::connection_position_sorter::operator()().
|
inherited |
Definition at line 189 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myGeom.
Referenced by NIVissimEdge::dict_checkEdges2Join(), NIVissimConnectionCluster::getIncomingContinuation(), NIVissimConnectionCluster::getIncomingContinuationGeometry(), NIVissimConnectionCluster::getOutgoingContinuation(), NIVissimConnectionCluster::getOutgoingContinuationGeometry(), NIVissimConnectionCluster::isWeakDistrictConnRealisation(), NIVissimConnectionCluster::liesOnSameEdgesEnd(), NIVissimConnectionCluster::same_direction_sorter::operator()(), and NIVissimConnectionCluster::recomputeBoundary().
Definition at line 94 of file NIVissimAbstractEdge.cpp.
References GeomHelper::extrapolate_second(), PositionVector::length(), NIVissimAbstractEdge::myGeom, PositionVector::pop_back(), PositionVector::positionAtLengthPosition(), PositionVector::push_back(), and SUMOReal.
Referenced by NIVissimDistrictConnection::geomPosition().
|
inherited |
Definition at line 175 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myID.
Referenced by NIVissimDisturbance::addToNode(), buildEdgeConnections(), NIVissimEdge::dict_checkEdges2Join(), NIVissimEdge::getConnectionTo(), NIVissimConnectionCluster::getIncomingContinuation(), NIVissimConnectionCluster::getIncomingContinuationGeometry(), NIVissimConnectionCluster::getOutgoingContinuation(), NIVissimConnectionCluster::getOutgoingContinuationGeometry(), and NIVissimConnectionCluster::removeConnections().
|
static |
Definition at line 358 of file NIVissimConnection.cpp.
References myMaxID.
int NIVissimConnection::getToEdgeID | ( | ) | const |
Definition at line 205 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getEdgeID(), and myToDef.
Referenced by NIVissimTL::NIVissimTLSignal::addTo(), NIVissimDisturbance::addToNode(), buildEdgeConnections(), NIVissimEdge::checkUnconnectedLaneSpeeds(), dict_assignToEdges(), NIVissimEdge::getBestOutgoing(), NIVissimDisturbance::getConnection(), NIVissimEdge::getConnectionTo(), NIVissimNodeCluster::getFromNode(), NIVissimEdge::getOutgoingConnected(), NIVissimConnectionCluster::getOutgoingContinuation(), NIVissimConnectionCluster::getOutgoingContinuationGeometry(), NIVissimConnectionCluster::getPositionForEdge(), NIVissimConnectionCluster::liesOnSameEdgesEnd(), NIVissimConnectionCluster::NIVissimConnectionCluster(), NIVissimSingleTypeParser_VWunschentscheidungsdefinition::parse(), NIVissimEdge::propagateOwn(), NIVissimEdge::propagateSpeed(), NIVissimConnectionCluster::recheckEdges(), and NIVissimEdge::setDistrictSpeed().
Position NIVissimConnection::getToGeomPosition | ( | ) | const |
Definition at line 230 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getGeomPosition(), and myToDef.
Referenced by NIVissimNodeCluster::buildNBNode(), NIVissimConnectionCluster::recheckEdges(), NIVissimConnectionCluster::recomputeBoundary(), and NIVissimNodeDef_Edges::searchAndSetConnections().
const std::vector< int > & NIVissimConnection::getToLanes | ( | ) | const |
Definition at line 328 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getLanes(), and myToDef.
Referenced by buildEdgeConnections(), NIVissimEdge::checkUnconnectedLaneSpeeds(), NIVissimSingleTypeParser_VWunschentscheidungsdefinition::parse(), NIVissimEdge::propagateOwn(), NIVissimEdge::propagateSpeed(), and NIVissimEdge::setDistrictSpeed().
SUMOReal NIVissimConnection::getToPosition | ( | ) | const |
Definition at line 217 of file NIVissimConnection.cpp.
References NIVissimExtendedEdgePoint::getPosition(), and myToDef.
Referenced by NIVissimConnectionCluster::getPositionForEdge(), and NIVissimEdge::connection_position_sorter::operator()().
|
staticinherited |
Definition at line 150 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myDict, NIVissimAbstractEdge::myID, and NIVissimAbstractEdge::overlapsWith().
Referenced by NIVissimNodeDef_Poly::searchAndSetConnections().
|
static |
Definition at line 160 of file NIVissimConnection.cpp.
References myDict.
Referenced by buildNodeClusters().
|
inherited |
Definition at line 169 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myNode.
|
inherited |
Definition at line 62 of file NIVissimBoundedClusterObject.cpp.
References NIVissimBoundedClusterObject::myClusterID.
|
inherited |
Definition at line 163 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myGeom, and PositionVector::overlapsWith().
Referenced by NIVissimAbstractEdge::getWithin().
Resets lane numbers if all lanes shall be used.
Calls "NIVissimExtendedEdgePoint::recheckLanes" for both used edges.
[in] | The | built from-edge |
[in] | The | built to-edge |
Definition at line 334 of file NIVissimConnection.cpp.
References myFromDef, myToDef, and NIVissimExtendedEdgePoint::recheckLanes().
Referenced by buildEdgeConnections().
|
virtual |
Implements NIVissimAbstractEdge.
Definition at line 236 of file NIVissimConnection.cpp.
References NIVissimAbstractEdge::myNode.
Referenced by NIVissimNodeDef_Edges::searchAndSetConnections(), and NIVissimNodeDef_Poly::searchAndSetConnections().
|
staticinherited |
Definition at line 111 of file NIVissimAbstractEdge.cpp.
References NIVissimAbstractEdge::myDict, and NIVissimAbstractEdge::splitAssigning().
|
inherited |
Definition at line 119 of file NIVissimAbstractEdge.cpp.
Referenced by NIVissimAbstractEdge::splitAndAssignToNodes().
|
private |
Definition at line 126 of file NIVissimConnection.h.
|
protectedinherited |
Definition at line 62 of file NIVissimBoundedClusterObject.h.
Referenced by buildNodeClusters(), NIVissimDisturbance::computeBounding(), computeBounding(), NIVissimBoundedClusterObject::crosses(), NIVissimBoundedClusterObject::getBoundary(), getBoundingBox(), and NIVissimBoundedClusterObject::~NIVissimBoundedClusterObject().
|
private |
Definition at line 127 of file NIVissimConnection.h.
Referenced by ~NIVissimConnection().
|
protectedinherited |
Definition at line 63 of file NIVissimBoundedClusterObject.h.
Referenced by NIVissimBoundedClusterObject::clustered(), and NIVissimBoundedClusterObject::inCluster().
|
staticprivate |
Reimplemented from NIVissimAbstractEdge.
Definition at line 130 of file NIVissimConnection.h.
Referenced by buildNodeClusters(), dict_assignToEdges(), dict_buildNBEdgeConnections(), dictionary(), getForEdge(), and getWithin().
|
private |
Definition at line 123 of file NIVissimConnection.h.
|
protectedinherited |
Definition at line 77 of file NIVissimAbstractEdge.h.
Referenced by NIVissimAbstractEdge::addDisturbance(), and NIVissimAbstractEdge::getDisturbances().
|
private |
Definition at line 124 of file NIVissimConnection.h.
|
private |
Definition at line 124 of file NIVissimConnection.h.
|
private |
Definition at line 122 of file NIVissimConnection.h.
Referenced by buildGeom(), computeBounding(), getFromEdgeID(), getFromGeomPosition(), getFromLanes(), getFromPosition(), and recheckLanes().
|
protectedinherited |
Definition at line 76 of file NIVissimAbstractEdge.h.
Referenced by buildGeom(), NIVissimEdge::buildNBEdge(), NIVissimAbstractEdge::crossesAtPoint(), NIVissimAbstractEdge::crossesEdge(), NIVissimAbstractEdge::crossesEdgeAtPoint(), NIVissimEdge::getBegin2D(), NIVissimEdge::getEnd2D(), NIVissimEdge::getFromNode(), NIVissimAbstractEdge::getGeometry(), NIVissimAbstractEdge::getGeomPosition(), NIVissimEdge::getLength(), NIVissimEdge::getToNode(), NIVissimAbstractEdge::NIVissimAbstractEdge(), NIVissimAbstractEdge::overlapsWith(), and NIVissimEdge::resolveSameNode().
|
protectedinherited |
Definition at line 75 of file NIVissimAbstractEdge.h.
Referenced by NIVissimEdge::buildNBEdge(), NIVissimEdge::getFromNode(), NIVissimAbstractEdge::getID(), NIVissimEdge::getToNode(), NIVissimAbstractEdge::getWithin(), NIVissimEdge::NIVissimEdge(), NIVissimEdge::resolveSameNode(), and NIVissimEdge::setDistrictSpeed().
|
staticprivate |
Definition at line 131 of file NIVissimConnection.h.
Referenced by dictionary(), and getMaxID().
|
private |
Definition at line 121 of file NIVissimConnection.h.
|
protectedinherited |
Definition at line 78 of file NIVissimAbstractEdge.h.
Referenced by NIVissimAbstractEdge::hasNodeCluster(), NIVissimEdge::setNodeCluster(), and setNodeCluster().
|
private |
Definition at line 122 of file NIVissimConnection.h.
Referenced by buildGeom(), computeBounding(), getToEdgeID(), getToGeomPosition(), getToLanes(), getToPosition(), and recheckLanes().
|
private |
Definition at line 125 of file NIVissimConnection.h.
|
private |
Definition at line 125 of file NIVissimConnection.h.