SUMO - Simulation of Urban MObility

NIVissimConnectionCluster Class Reference

#include <NIVissimConnectionCluster.h>

Data Structures

class  NodeSubCluster
class  same_direction_sorter

Public Member Functions

bool around (const Position &p, SUMOReal offset=0) const
const IntVector & getConnections () const
NIVissimConnection * getIncomingContinuation (NIVissimEdge *e) const
PositionVector getIncomingContinuationGeometry (NIVissimEdge *e) const
NBNode * getNBNode () const
NIVissimConnection * getOutgoingContinuation (NIVissimEdge *e) const
PositionVector getOutgoingContinuationGeometry (NIVissimEdge *e) const
SUMOReal getPositionForEdge (int edgeid) const
bool hasNodeCluster () const
 NIVissimConnectionCluster (const IntVector &connections, int nodeCluster, int edgeid)
 Constructor Build the boundary; The boundary includes both incoming and outgoing nodes.
 NIVissimConnectionCluster (const IntVector &connections, const Boundary &boundary, int nodeCluster, const IntVector &edges)
bool overlapsWith (NIVissimConnectionCluster *c, SUMOReal offset=0) const
 Returns the information whether the given cluster overlaps the current.
 ~NIVissimConnectionCluster ()
 Destructor.

Static Public Member Functions

static void _debugOut (std::ostream &into)
static void buildNodeClusters ()
static void clearDict ()
static size_t 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.
static void searchForConnection (int id)

Private Types

typedef std::vector
< NIVissimConnectionCluster * > 
ContType

Private Member Functions

void add (NIVissimConnectionCluster *c)
 Adds the second cluster.
IntVector extendByToTreatAsSame (const IntVector &iv1, const IntVector &iv2) const
IntVector 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.
IntVector myConnections
 List of connection-ids which participate within this cluster.
IntVector myEdges
IntVector myIncomingEdges
int myNodeCluster
 The node the cluster is assigned to.
IntVector myNodes
IntVector myOutgoingEdges
IntVector 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 61 of file NIVissimConnectionCluster.h.


Member Typedef Documentation

Definition at line 199 of file NIVissimConnectionCluster.h.


Constructor & Destructor Documentation

NIVissimConnectionCluster::NIVissimConnectionCluster ( const IntVector &  connections,
int  nodeCluster,
int  edgeid 
)

Constructor Build the boundary; The boundary includes both incoming and outgoing nodes.

Definition at line 125 of file NIVissimConnectionCluster.cpp.

References NIVissimConnection::dictionary(), NIVissimConnection::getFromEdgeID(), NIVissimConnection::getToEdgeID(), myClusters, myEdges, myIncomingEdges, myOutgoingEdges, and recomputeBoundary().

NIVissimConnectionCluster::NIVissimConnectionCluster ( const IntVector &  connections,
const Boundary &  boundary,
int  nodeCluster,
const IntVector &  edges 
)
NIVissimConnectionCluster::~NIVissimConnectionCluster ( )

Destructor.

Definition at line 171 of file NIVissimConnectionCluster.cpp.


Member Function Documentation

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

Definition at line 550 of file NIVissimConnectionCluster.cpp.

References myClusters.

bool NIVissimConnectionCluster::around ( const Position &  p,
SUMOReal  offset = 0 
) const
void NIVissimConnectionCluster::buildNodeClusters ( ) [static]
void NIVissimConnectionCluster::clearDict ( ) [static]

Definition at line 722 of file NIVissimConnectionCluster.cpp.

References myClusters, and myFirstFreeID.

Referenced by NIImporter_Vissim::~NIImporter_Vissim().

size_t NIVissimConnectionCluster::dictSize ( ) [static]

Definition at line 573 of file NIVissimConnectionCluster.cpp.

References myClusters.

IntVector NIVissimConnectionCluster::extendByToTreatAsSame ( const IntVector &  iv1,
const IntVector &  iv2 
) const [private]
const IntVector& NIVissimConnectionCluster::getConnections ( ) const [inline]

Definition at line 87 of file NIVissimConnectionCluster.h.

References myConnections.

NBNode * NIVissimConnectionCluster::getNBNode ( ) const
int NIVissimConnectionCluster::getNextFreeNodeID ( ) [static]
bool NIVissimConnectionCluster::hasNodeCluster ( ) const

Definition at line 567 of file NIVissimConnectionCluster.cpp.

References myNodeCluster.

Referenced by joinable().

bool NIVissimConnectionCluster::joinable ( NIVissimConnectionCluster *  c2,
SUMOReal  offset 
) [private]
static void NIVissimConnectionCluster::joinByDisturbances ( SUMOReal  offset) [static]
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 MsgHandler::getMessageInstance(), myClusters, MsgHandler::progressMsg(), and toString().

Referenced by NIImporter_Vissim::postLoadBuild().

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().

void NIVissimConnectionCluster::removeConnections ( const NodeSubCluster &  c) [private]
void NIVissimConnectionCluster::searchForConnection ( int  id) [static]

Definition at line 535 of file NIVissimConnectionCluster.cpp.

References myClusters.


Friends And Related Function Documentation

friend class NIVissimEdge [friend]

Definition at line 85 of file NIVissimConnectionCluster.h.


Field Documentation

Definition at line 203 of file NIVissimConnectionCluster.h.

int NIVissimConnectionCluster::myFirstFreeID = 100000 [static, private]

Definition at line 201 of file NIVissimConnectionCluster.h.

Referenced by clearDict(), and getNextFreeNodeID().

The node the cluster is assigned to.

Definition at line 187 of file NIVissimConnectionCluster.h.

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

int NIVissimConnectionCluster::myStaticBlaID = 0 [static, private]

Definition at line 202 of file NIVissimConnectionCluster.h.


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines