Eclipse SUMO - Simulation of Urban MObility
NIVissimNodeDef.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2002-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 NIVissimNodeDef_h
18 #define NIVissimNodeDef_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 #include <string>
27 #include <map>
28 #include <utils/geom/Boundary.h>
30 #include "NIVissimNodeCluster.h"
31 
32 
34 public:
35  NIVissimNodeDef(int id, const std::string& name);
36  virtual ~NIVissimNodeDef();
37  int buildNodeCluster();
38 // virtual void computeBounding() = 0;
39 // bool partialWithin(const AbstractPoly &p, double off=0.0) const;
40 // virtual void searchAndSetConnections() = 0;
41  virtual double getEdgePosition(int edgeid) const = 0;
42 
43 public:
44  static bool dictionary(int id, NIVissimNodeDef* o);
45  static NIVissimNodeDef* dictionary(int id);
46 // static std::vector<int> getWithin(const AbstractPoly &p, double off=0.0);
47 // static void buildNodeClusters();
48 // static void dict_assignConnectionsToNodes();
49  static int dictSize();
50  static void clearDict();
51  static int getMaxID();
52 protected:
53  int myID;
54  std::string myName;
55 
56 private:
57  typedef std::map<int, NIVissimNodeDef*> DictType;
58  static DictType myDict;
59  static int myMaxID;
60 };
61 
62 
63 #endif
64 
65 /****************************************************************************/
66 
Boundary.h
NIVissimNodeDef::dictionary
static bool dictionary(int id, NIVissimNodeDef *o)
Definition: NIVissimNodeDef.cpp:51
NIVissimNodeDef::dictSize
static int dictSize()
Definition: NIVissimNodeDef.cpp:118
NIVissimExtendedEdgePointVector.h
NIVissimNodeDef::myName
std::string myName
Definition: NIVissimNodeDef.h:54
NIVissimNodeDef::myDict
static DictType myDict
Definition: NIVissimNodeDef.h:58
NIVissimNodeDef::buildNodeCluster
int buildNodeCluster()
NIVissimNodeDef::getEdgePosition
virtual double getEdgePosition(int edgeid) const =0
NIVissimNodeDef::myMaxID
static int myMaxID
Definition: NIVissimNodeDef.h:59
NIVissimNodeDef::NIVissimNodeDef
NIVissimNodeDef(int id, const std::string &name)
Definition: NIVissimNodeDef.cpp:43
NIVissimNodeDef::~NIVissimNodeDef
virtual ~NIVissimNodeDef()
Definition: NIVissimNodeDef.cpp:47
NIVissimNodeDef
Definition: NIVissimNodeDef.h:33
NIVissimNodeCluster.h
NIVissimNodeDef::clearDict
static void clearDict()
Definition: NIVissimNodeDef.cpp:125
NIVissimNodeDef::getMaxID
static int getMaxID()
Definition: NIVissimNodeDef.cpp:134
config.h
NIVissimNodeDef::DictType
std::map< int, NIVissimNodeDef * > DictType
Definition: NIVissimNodeDef.h:57
NIVissimNodeDef::myID
int myID
Definition: NIVissimNodeDef.h:53