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 /****************************************************************************/
16 // -------------------
17 /****************************************************************************/
18 #ifndef NIVissimNodeCluster_h
19 #define NIVissimNodeCluster_h
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #include <config.h>
26 
27 #include <map>
28 #include <utils/geom/Position.h>
29 
30 
31 // ===========================================================================
32 // class declarations
33 // ===========================================================================
34 class NBNode;
35 class NBNodeCont;
36 class NBEdgeCont;
37 class NBDistrictCont;
38 
39 
40 // ===========================================================================
41 // class definitions
42 // ===========================================================================
47 public:
48  NIVissimNodeCluster(int id, int nodeid, int tlid,
49  const std::vector<int>& connectors,
50  const std::vector<int>& disturbances,
51  bool amEdgeSplitOnly);
53  int getID() const {
54  return myID;
55  }
56  void buildNBNode(NBNodeCont& nc);
57  bool recheckEdgeChanges();
58  NBNode* getNBNode() const;
59  Position getPos() const;
60  std::string getNodeName() const;
61 
62 
63 public:
64  static bool dictionary(int id, NIVissimNodeCluster* o);
65  static int dictionary(int nodeid, int tlid, const std::vector<int>& connectors,
66  const std::vector<int>& disturbances, bool amEdgeSplitOnly);
67  static NIVissimNodeCluster* dictionary(int id);
68  static int contSize();
69  static void assignToEdges();
70  static void buildNBNodes(NBNodeCont& nc);
71  static void dict_recheckEdgeChanges();
72  static int getFromNode(int edgeid);
73  static int getToNode(int edgeid);
74  static void _debugOut(std::ostream& into);
75  static void dict_addDisturbances(NBDistrictCont& dc,
76  NBNodeCont& nc, NBEdgeCont& ec);
77  static void clearDict();
78  static void setCurrentVirtID(int id);
79 
80 
81 private:
82 
83  int myID;
84  int myNodeID;
85  int myTLID;
86  std::vector<int> myConnectors;
87  std::vector<int> myDisturbances;
89  typedef std::map<int, NIVissimNodeCluster*> DictType;
90  static DictType myDict;
91  static int myCurrentID;
94 
95 };
96 
97 
98 #endif
99 
100 /****************************************************************************/
101 
NIVissimNodeCluster::getToNode
static int getToNode(int edgeid)
Definition: NIVissimNodeCluster.cpp:219
NIVissimNodeCluster::myTLID
int myTLID
Definition: NIVissimNodeCluster.h:85
NBEdgeCont
Storage for edges, including some functionality operating on multiple edges.
Definition: NBEdgeCont.h:61
NIVissimNodeCluster::buildNBNodes
static void buildNBNodes(NBNodeCont &nc)
Definition: NIVissimNodeCluster.cpp:182
NIVissimNodeCluster::clearDict
static void clearDict()
Definition: NIVissimNodeCluster.cpp:286
NIVissimNodeCluster::myPosition
Position myPosition
Definition: NIVissimNodeCluster.h:88
NIVissimNodeCluster::myNBNode
NBNode * myNBNode
Definition: NIVissimNodeCluster.h:92
NIVissimNodeCluster::assignToEdges
static void assignToEdges()
NBDistrictCont
A container for districts.
Definition: NBDistrictCont.h:53
NIVissimNodeCluster::dictionary
static bool dictionary(int id, NIVissimNodeCluster *o)
Definition: NIVissimNodeCluster.cpp:66
NIVissimNodeCluster::dict_recheckEdgeChanges
static void dict_recheckEdgeChanges()
Definition: NIVissimNodeCluster.cpp:191
NBNodeCont
Container for nodes during the netbuilding process.
Definition: NBNodeCont.h:60
NIVissimNodeCluster::myNodeID
int myNodeID
Definition: NIVissimNodeCluster.h:84
NIVissimNodeCluster::_debugOut
static void _debugOut(std::ostream &into)
Definition: NIVissimNodeCluster.cpp:242
NIVissimNodeCluster::myDict
static DictType myDict
Definition: NIVissimNodeCluster.h:90
NIVissimNodeCluster::getNodeName
std::string getNodeName() const
Definition: NIVissimNodeCluster.cpp:112
NIVissimNodeCluster::myID
int myID
Definition: NIVissimNodeCluster.h:83
NIVissimNodeCluster::getID
int getID() const
Definition: NIVissimNodeCluster.h:53
NIVissimNodeCluster::NIVissimNodeCluster
NIVissimNodeCluster(int id, int nodeid, int tlid, const std::vector< int > &connectors, const std::vector< int > &disturbances, bool amEdgeSplitOnly)
Definition: NIVissimNodeCluster.cpp:51
NIVissimNodeCluster::recheckEdgeChanges
bool recheckEdgeChanges()
Position
A point in 2D or 3D with translation and scaling methods.
Definition: Position.h:39
NIVissimNodeCluster::buildNBNode
void buildNBNode(NBNodeCont &nc)
Definition: NIVissimNodeCluster.cpp:122
NIVissimNodeCluster::getPos
Position getPos() const
Definition: NIVissimNodeCluster.cpp:265
Position.h
NIVissimNodeCluster::myCurrentID
static int myCurrentID
Definition: NIVissimNodeCluster.h:91
NIVissimNodeCluster::getNBNode
NBNode * getNBNode() const
Definition: NIVissimNodeCluster.cpp:259
NIVissimNodeCluster::myConnectors
std::vector< int > myConnectors
Definition: NIVissimNodeCluster.h:86
NIVissimNodeCluster::myDisturbances
std::vector< int > myDisturbances
Definition: NIVissimNodeCluster.h:87
config.h
NIVissimNodeCluster::dict_addDisturbances
static void dict_addDisturbances(NBDistrictCont &dc, NBNodeCont &nc, NBEdgeCont &ec)
Definition: NIVissimNodeCluster.cpp:271
NIVissimNodeCluster::setCurrentVirtID
static void setCurrentVirtID(int id)
Definition: NIVissimNodeCluster.cpp:295
NIVissimNodeCluster::myAmEdgeSplit
bool myAmEdgeSplit
Definition: NIVissimNodeCluster.h:93
NIVissimNodeCluster::DictType
std::map< int, NIVissimNodeCluster * > DictType
Definition: NIVissimNodeCluster.h:89
NBNode
Represents a single node (junction) during network building.
Definition: NBNode.h:68
NIVissimNodeCluster::~NIVissimNodeCluster
~NIVissimNodeCluster()
Definition: NIVissimNodeCluster.cpp:60
NIVissimNodeCluster::contSize
static int contSize()
Definition: NIVissimNodeCluster.cpp:105
NIVissimNodeCluster
Definition: NIVissimNodeCluster.h:46
NIVissimNodeCluster::getFromNode
static int getFromNode(int edgeid)
Definition: NIVissimNodeCluster.cpp:197