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 59 of file NIVissimConnectionCluster.h.


Member Typedef Documentation

Definition at line 197 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 122 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 168 of file NIVissimConnectionCluster.cpp.


Member Function Documentation

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

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

References myClusters, and myFirstFreeID.

Referenced by NIImporter_Vissim::~NIImporter_Vissim().

size_t NIVissimConnectionCluster::dictSize ( ) [static]

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

References myConnections.

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

Definition at line 564 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 218 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 179 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 532 of file NIVissimConnectionCluster.cpp.

References myClusters.


Friends And Related Function Documentation

friend class NIVissimEdge [friend]

Definition at line 83 of file NIVissimConnectionCluster.h.


Field Documentation

Definition at line 201 of file NIVissimConnectionCluster.h.

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

Definition at line 199 of file NIVissimConnectionCluster.h.

Referenced by clearDict(), and getNextFreeNodeID().

The node the cluster is assigned to.

Definition at line 185 of file NIVissimConnectionCluster.h.

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

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

Definition at line 200 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