Eclipse SUMO - Simulation of Urban MObility
NIVissimConnectionCluster Class Reference

#include <NIVissimConnectionCluster.h>

Collaboration diagram for NIVissimConnectionCluster:

Data Structures

class  NodeSubCluster
 
class  same_direction_sorter
 

Public Member Functions

bool around (const Position &p, double 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
 
double getPositionForEdge (int edgeid) const
 
bool hasNodeCluster () const
 
 NIVissimConnectionCluster (const std::vector< int > &connections, const Boundary &boundary, int nodeCluster, const std::vector< int > &edges)
 
 NIVissimConnectionCluster (const std::vector< int > &connections, int nodeCluster, int edgeid)
 Constructor Build the boundary; The boundary includes both incoming and outgoing nodes. More...
 
bool overlapsWith (NIVissimConnectionCluster *c, double 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 (double offset)
 
static void joinBySameEdges (double 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, double 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 53 of file NIVissimConnectionCluster.h.

Member Typedef Documentation

◆ ContType

Definition at line 188 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 160 of file NIVissimConnectionCluster.cpp.

Member Function Documentation

◆ _debugOut()

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

Definition at line 517 of file NIVissimConnectionCluster.cpp.

References myClusters.

◆ add()

◆ around()

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

◆ buildNodeClusters()

void NIVissimConnectionCluster::buildNodeClusters ( )
static

◆ clearDict()

void NIVissimConnectionCluster::clearDict ( )
static

Definition at line 689 of file NIVissimConnectionCluster.cpp.

References myClusters, and myFirstFreeID.

Referenced by NIImporter_Vissim::~NIImporter_Vissim().

◆ dictSize()

int NIVissimConnectionCluster::dictSize ( )
static

Definition at line 540 of file NIVissimConnectionCluster.cpp.

References myClusters.

◆ extendByToTreatAsSame()

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

◆ getConnections()

const std::vector<int>& NIVissimConnectionCluster::getConnections ( ) const
inline

Definition at line 79 of file NIVissimConnectionCluster.h.

References myConnections.

◆ getDisturbanceParticipators()

std::vector< int > NIVissimConnectionCluster::getDisturbanceParticipators ( )
private

◆ getIncomingContinuation()

◆ getIncomingContinuationGeometry()

◆ getNBNode()

NBNode * NIVissimConnectionCluster::getNBNode ( ) const

◆ getNextFreeNodeID()

int NIVissimConnectionCluster::getNextFreeNodeID ( )
static

◆ getOutgoingContinuation()

◆ getOutgoingContinuationGeometry()

◆ getPositionForEdge()

◆ hasNodeCluster()

bool NIVissimConnectionCluster::hasNodeCluster ( ) const

Definition at line 534 of file NIVissimConnectionCluster.cpp.

References myNodeCluster.

Referenced by joinable().

◆ isWeakDistrictConnRealisation()

◆ joinable()

bool NIVissimConnectionCluster::joinable ( NIVissimConnectionCluster c2,
double  offset 
)
private

◆ joinByDisturbances()

static void NIVissimConnectionCluster::joinByDisturbances ( double  offset)
static

◆ joinBySameEdges()

void NIVissimConnectionCluster::joinBySameEdges ( double  offset)
static

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

Definition at line 210 of file NIVissimConnectionCluster.cpp.

References myClusters.

Referenced by NIImporter_Vissim::postLoadBuild().

◆ liesOnSameEdgesEnd()

◆ overlapsWith()

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

Returns the information whether the given cluster overlaps the current.

Definition at line 171 of file NIVissimConnectionCluster.cpp.

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

Referenced by joinable().

◆ recheckEdges()

◆ recomputeBoundary()

◆ removeConnections()

void NIVissimConnectionCluster::removeConnections ( const NodeSubCluster c)
private

Friends And Related Function Documentation

◆ NIVissimEdge

friend class NIVissimEdge
friend

Definition at line 77 of file NIVissimConnectionCluster.h.

Field Documentation

◆ myBlaID

int NIVissimConnectionCluster::myBlaID
private

Definition at line 192 of file NIVissimConnectionCluster.h.

◆ myBoundary

◆ myClusters

NIVissimConnectionCluster::ContType NIVissimConnectionCluster::myClusters
staticprivate

◆ myConnections

◆ myEdges

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

◆ myFirstFreeID

int NIVissimConnectionCluster::myFirstFreeID = 100000
staticprivate

Definition at line 190 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 176 of file NIVissimConnectionCluster.h.

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

◆ myNodes

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

Definition at line 181 of file NIVissimConnectionCluster.h.

◆ myOutgoingEdges

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

◆ myStaticBlaID

int NIVissimConnectionCluster::myStaticBlaID = 0
staticprivate

Definition at line 191 of file NIVissimConnectionCluster.h.

◆ myTLs

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

Definition at line 183 of file NIVissimConnectionCluster.h.


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