Eclipse SUMO - Simulation of Urban MObility
NIVissimNodeCluster.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
15 // -------------------
16 /****************************************************************************/
17 #ifndef NIVissimNodeCluster_h
18 #define NIVissimNodeCluster_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <map>
27 #include <utils/geom/Position.h>
28 
29 
30 // ===========================================================================
31 // class declarations
32 // ===========================================================================
33 class NBNode;
34 class NBNodeCont;
35 class NBEdgeCont;
36 class NBDistrictCont;
37 
38 
39 // ===========================================================================
40 // class definitions
41 // ===========================================================================
46 public:
47  NIVissimNodeCluster(int id, int nodeid, int tlid,
48  const std::vector<int>& connectors,
49  const std::vector<int>& disturbances,
50  bool amEdgeSplitOnly);
52  int getID() const {
53  return myID;
54  }
55  void buildNBNode(NBNodeCont& nc);
57  NBNode* getNBNode() const;
58  Position getPos() const;
59  std::string getNodeName() const;
60 
61 
62 public:
63  static bool dictionary(int id, NIVissimNodeCluster* o);
64  static int dictionary(int nodeid, int tlid, const std::vector<int>& connectors,
65  const std::vector<int>& disturbances, bool amEdgeSplitOnly);
66  static NIVissimNodeCluster* dictionary(int id);
67  static int contSize();
68  static void assignToEdges();
69  static void buildNBNodes(NBNodeCont& nc);
70  static void dict_recheckEdgeChanges();
71  static int getFromNode(int edgeid);
72  static int getToNode(int edgeid);
73  static void _debugOut(std::ostream& into);
74  static void dict_addDisturbances(NBDistrictCont& dc,
75  NBNodeCont& nc, NBEdgeCont& ec);
76  static void clearDict();
77  static void setCurrentVirtID(int id);
78 
79 
80 private:
81 
82  int myID;
83  int myNodeID;
84  int myTLID;
85  std::vector<int> myConnectors;
86  std::vector<int> myDisturbances;
88  typedef std::map<int, NIVissimNodeCluster*> DictType;
89  static DictType myDict;
90  static int myCurrentID;
93 
94 };
95 
96 
97 #endif
98 
99 /****************************************************************************/
100 
NIVissimNodeCluster::getToNode
static int getToNode(int edgeid)
Definition: NIVissimNodeCluster.cpp:218
NIVissimNodeCluster::myTLID
int myTLID
Definition: NIVissimNodeCluster.h:84
NBEdgeCont
Storage for edges, including some functionality operating on multiple edges.
Definition: NBEdgeCont.h:60
NIVissimNodeCluster::buildNBNodes
static void buildNBNodes(NBNodeCont &nc)
Definition: NIVissimNodeCluster.cpp:181
NIVissimNodeCluster::clearDict
static void clearDict()
Definition: NIVissimNodeCluster.cpp:285
NIVissimNodeCluster::myPosition
Position myPosition
Definition: NIVissimNodeCluster.h:87
NIVissimNodeCluster::myNBNode
NBNode * myNBNode
Definition: NIVissimNodeCluster.h:91
NIVissimNodeCluster::assignToEdges
static void assignToEdges()
NBDistrictCont
A container for districts.
Definition: NBDistrictCont.h:52
NIVissimNodeCluster::dictionary
static bool dictionary(int id, NIVissimNodeCluster *o)
Definition: NIVissimNodeCluster.cpp:65
NIVissimNodeCluster::dict_recheckEdgeChanges
static void dict_recheckEdgeChanges()
Definition: NIVissimNodeCluster.cpp:190
NBNodeCont
Container for nodes during the netbuilding process.
Definition: NBNodeCont.h:59
NIVissimNodeCluster::myNodeID
int myNodeID
Definition: NIVissimNodeCluster.h:83
NIVissimNodeCluster::_debugOut
static void _debugOut(std::ostream &into)
Definition: NIVissimNodeCluster.cpp:241
NIVissimNodeCluster::myDict
static DictType myDict
Definition: NIVissimNodeCluster.h:89
NIVissimNodeCluster::getNodeName
std::string getNodeName() const
Definition: NIVissimNodeCluster.cpp:111
NIVissimNodeCluster::myID
int myID
Definition: NIVissimNodeCluster.h:82
NIVissimNodeCluster::getID
int getID() const
Definition: NIVissimNodeCluster.h:52
NIVissimNodeCluster::NIVissimNodeCluster
NIVissimNodeCluster(int id, int nodeid, int tlid, const std::vector< int > &connectors, const std::vector< int > &disturbances, bool amEdgeSplitOnly)
Definition: NIVissimNodeCluster.cpp:50
NIVissimNodeCluster::recheckEdgeChanges
bool recheckEdgeChanges()
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:38
NIVissimNodeCluster::buildNBNode
void buildNBNode(NBNodeCont &nc)
Definition: NIVissimNodeCluster.cpp:121
NIVissimNodeCluster::getPos
Position getPos() const
Definition: NIVissimNodeCluster.cpp:264
Position.h
NIVissimNodeCluster::myCurrentID
static int myCurrentID
Definition: NIVissimNodeCluster.h:90
NIVissimNodeCluster::getNBNode
NBNode * getNBNode() const
Definition: NIVissimNodeCluster.cpp:258
NIVissimNodeCluster::myConnectors
std::vector< int > myConnectors
Definition: NIVissimNodeCluster.h:85
NIVissimNodeCluster::myDisturbances
std::vector< int > myDisturbances
Definition: NIVissimNodeCluster.h:86
config.h
NIVissimNodeCluster::dict_addDisturbances
static void dict_addDisturbances(NBDistrictCont &dc, NBNodeCont &nc, NBEdgeCont &ec)
Definition: NIVissimNodeCluster.cpp:270
NIVissimNodeCluster::setCurrentVirtID
static void setCurrentVirtID(int id)
Definition: NIVissimNodeCluster.cpp:294
NIVissimNodeCluster::myAmEdgeSplit
bool myAmEdgeSplit
Definition: NIVissimNodeCluster.h:92
NIVissimNodeCluster::DictType
std::map< int, NIVissimNodeCluster * > DictType
Definition: NIVissimNodeCluster.h:88
NBNode
Represents a single node (junction) during network building.
Definition: NBNode.h:67
NIVissimNodeCluster::~NIVissimNodeCluster
~NIVissimNodeCluster()
Definition: NIVissimNodeCluster.cpp:59
NIVissimNodeCluster::contSize
static int contSize()
Definition: NIVissimNodeCluster.cpp:104
NIVissimNodeCluster
Definition: NIVissimNodeCluster.h:45
NIVissimNodeCluster::getFromNode
static int getFromNode(int edgeid)
Definition: NIVissimNodeCluster.cpp:196