SUMO - Simulation of Urban MObility
NIVissimConnectionCluster Class Reference

#include <NIVissimConnectionCluster.h>

Collaboration diagram for NIVissimConnectionCluster:
Collaboration graph

Data Structures

class  NodeSubCluster
 
class  same_direction_sorter
 

Public Member Functions

bool around (const Position &p, SUMOReal offset=0) const
 
const std::vector< int > & getConnections () const
 
NIVissimConnectiongetIncomingContinuation (NIVissimEdge *e) const
 
PositionVector getIncomingContinuationGeometry (NIVissimEdge *e) const
 
NBNodegetNBNode () const
 
NIVissimConnectiongetOutgoingContinuation (NIVissimEdge *e) const
 
PositionVector getOutgoingContinuationGeometry (NIVissimEdge *e) const
 
SUMOReal getPositionForEdge (int edgeid) const
 
bool hasNodeCluster () const
 
 NIVissimConnectionCluster (const std::vector< int > &connections, int nodeCluster, int edgeid)
 Constructor Build the boundary; The boundary includes both incoming and outgoing nodes. More...
 
 NIVissimConnectionCluster (const std::vector< int > &connections, const Boundary &boundary, int nodeCluster, const std::vector< int > &edges)
 
bool overlapsWith (NIVissimConnectionCluster *c, SUMOReal offset=0) const
 Returns the information whether the given cluster overlaps the current. More...
 
 ~NIVissimConnectionCluster ()
 Destructor. More...
 

Static Public Member Functions

static void _debugOut (std::ostream &into)
 
static void buildNodeClusters ()
 
static void clearDict ()
 
static int dictSize ()
 
static int getNextFreeNodeID ()
 
static void joinByDisturbances (SUMOReal offset)
 
static void joinBySameEdges (SUMOReal offset)
 Tries to joind clusters participating within a node This is done by joining clusters which overlap. More...
 

Private Types

typedef std::vector< NIVissimConnectionCluster * > ContType
 

Private Member Functions

void add (NIVissimConnectionCluster *c)
 Adds the second cluster. More...
 
std::vector< int > extendByToTreatAsSame (const std::vector< int > &iv1, const std::vector< int > &iv2) const
 
std::vector< int > getDisturbanceParticipators ()
 
bool isWeakDistrictConnRealisation (NIVissimConnectionCluster *c2)
 
bool joinable (NIVissimConnectionCluster *c2, SUMOReal offset)
 
bool liesOnSameEdgesEnd (NIVissimConnectionCluster *cc2)
 
void recheckEdges ()
 
void recomputeBoundary ()
 
void removeConnections (const NodeSubCluster &c)
 

Private Attributes

int myBlaID
 
Boundary myBoundary
 The boundary of the cluster. More...
 
std::vector< int > myConnections
 List of connection-ids which participate within this cluster. More...
 
std::vector< int > myEdges
 
std::vector< int > myIncomingEdges
 
int myNodeCluster
 The node the cluster is assigned to. More...
 
std::vector< int > myNodes
 
std::vector< int > myOutgoingEdges
 
std::vector< int > myTLs
 

Static Private Attributes

static ContType myClusters
 
static int myFirstFreeID = 100000
 
static int myStaticBlaID = 0
 

Friends

class NIVissimEdge
 

Detailed Description

This class holds a list of connections either all outgoing or all incoming within an edge, which do lies close together. This shall be the connections which belong to a single node. It still are not all of the node's connections, as other edges may participate to this node, too.

Definition at line 60 of file NIVissimConnectionCluster.h.

Member Typedef Documentation

§ ContType

Definition at line 195 of file NIVissimConnectionCluster.h.

Constructor & Destructor Documentation

§ NIVissimConnectionCluster() [1/2]

NIVissimConnectionCluster::NIVissimConnectionCluster ( const std::vector< int > &  connections,
int  nodeCluster,
int  edgeid 
)

§ NIVissimConnectionCluster() [2/2]

NIVissimConnectionCluster::NIVissimConnectionCluster ( const std::vector< int > &  connections,
const Boundary boundary,
int  nodeCluster,
const std::vector< int > &  edges 
)

§ ~NIVissimConnectionCluster()

NIVissimConnectionCluster::~NIVissimConnectionCluster ( )

Destructor.

Definition at line 171 of file NIVissimConnectionCluster.cpp.

Member Function Documentation

§ _debugOut()

void NIVissimConnectionCluster::_debugOut ( std::ostream &  into)
static

Definition at line 528 of file NIVissimConnectionCluster.cpp.

References myClusters.

Referenced by getConnections().

§ add()

§ around()

bool NIVissimConnectionCluster::around ( const Position p,
SUMOReal  offset = 0 
) const

§ buildNodeClusters()

void NIVissimConnectionCluster::buildNodeClusters ( )
static

§ clearDict()

void NIVissimConnectionCluster::clearDict ( )
static

§ dictSize()

int NIVissimConnectionCluster::dictSize ( )
static

Definition at line 551 of file NIVissimConnectionCluster.cpp.

References myClusters.

Referenced by getConnections().

§ extendByToTreatAsSame()

std::vector< int > NIVissimConnectionCluster::extendByToTreatAsSame ( const std::vector< int > &  iv1,
const std::vector< int > &  iv2 
) const
private

§ getConnections()

§ getDisturbanceParticipators()

§ getIncomingContinuation()

§ getIncomingContinuationGeometry()

§ getNBNode()

NBNode * NIVissimConnectionCluster::getNBNode ( ) const

§ getNextFreeNodeID()

int NIVissimConnectionCluster::getNextFreeNodeID ( )
static

§ getOutgoingContinuation()

§ getOutgoingContinuationGeometry()

§ getPositionForEdge()

§ hasNodeCluster()

bool NIVissimConnectionCluster::hasNodeCluster ( ) const

Definition at line 545 of file NIVissimConnectionCluster.cpp.

References myNodeCluster.

Referenced by joinable().

§ isWeakDistrictConnRealisation()

§ joinable()

§ joinByDisturbances()

static void NIVissimConnectionCluster::joinByDisturbances ( SUMOReal  offset)
static

Referenced by getConnections().

§ joinBySameEdges()

void NIVissimConnectionCluster::joinBySameEdges ( SUMOReal  offset)
static

Tries to joind clusters participating within a node This is done by joining clusters which overlap.

Definition at line 221 of file NIVissimConnectionCluster.cpp.

References myClusters.

Referenced by getConnections(), and NIImporter_Vissim::postLoadBuild().

§ liesOnSameEdgesEnd()

§ overlapsWith()

bool NIVissimConnectionCluster::overlapsWith ( NIVissimConnectionCluster c,
SUMOReal  offset = 0 
) const

Returns the information whether the given cluster overlaps the current.

Definition at line 182 of file NIVissimConnectionCluster.cpp.

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

Referenced by joinable().

§ recheckEdges()

§ recomputeBoundary()

§ removeConnections()

Friends And Related Function Documentation

§ NIVissimEdge

friend class NIVissimEdge
friend

Definition at line 84 of file NIVissimConnectionCluster.h.

Field Documentation

§ myBlaID

int NIVissimConnectionCluster::myBlaID
private

Definition at line 199 of file NIVissimConnectionCluster.h.

§ myBoundary

Boundary NIVissimConnectionCluster::myBoundary
private

The boundary of the cluster.

Definition at line 180 of file NIVissimConnectionCluster.h.

Referenced by add(), around(), getPositionForEdge(), NIVissimConnectionCluster(), overlapsWith(), recheckEdges(), and recomputeBoundary().

§ myClusters

NIVissimConnectionCluster::ContType NIVissimConnectionCluster::myClusters
staticprivate

§ myConnections

§ myEdges

std::vector<int> NIVissimConnectionCluster::myEdges
private

§ myFirstFreeID

int NIVissimConnectionCluster::myFirstFreeID = 100000
staticprivate

Definition at line 197 of file NIVissimConnectionCluster.h.

Referenced by clearDict(), and getNextFreeNodeID().

§ myIncomingEdges

std::vector<int> NIVissimConnectionCluster::myIncomingEdges
private

§ myNodeCluster

int NIVissimConnectionCluster::myNodeCluster
private

The node the cluster is assigned to.

Definition at line 183 of file NIVissimConnectionCluster.h.

Referenced by add(), getNBNode(), getPositionForEdge(), and hasNodeCluster().

§ myNodes

std::vector<int> NIVissimConnectionCluster::myNodes
private

Definition at line 188 of file NIVissimConnectionCluster.h.

§ myOutgoingEdges

std::vector<int> NIVissimConnectionCluster::myOutgoingEdges
private

§ myStaticBlaID

int NIVissimConnectionCluster::myStaticBlaID = 0
staticprivate

Definition at line 198 of file NIVissimConnectionCluster.h.

§ myTLs

std::vector<int> NIVissimConnectionCluster::myTLs
private

Definition at line 190 of file NIVissimConnectionCluster.h.


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