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 /****************************************************************************/
16 // -------------------
17 /****************************************************************************/
18 #ifndef NIVissimNodeDef_h
19 #define NIVissimNodeDef_h
20 
21 
22 // ===========================================================================
23 // included modules
24 // ===========================================================================
25 #include <config.h>
26 
27 #include <string>
28 #include <map>
29 #include <utils/geom/Boundary.h>
31 #include "NIVissimNodeCluster.h"
32 
33 
35 public:
36  NIVissimNodeDef(int id, const std::string& name);
37  virtual ~NIVissimNodeDef();
38  int buildNodeCluster();
39 // virtual void computeBounding() = 0;
40 // bool partialWithin(const AbstractPoly &p, double off=0.0) const;
41 // virtual void searchAndSetConnections() = 0;
42  virtual double getEdgePosition(int edgeid) const = 0;
43 
44 public:
45  static bool dictionary(int id, NIVissimNodeDef* o);
46  static NIVissimNodeDef* dictionary(int id);
47 // static std::vector<int> getWithin(const AbstractPoly &p, double off=0.0);
48 // static void buildNodeClusters();
49 // static void dict_assignConnectionsToNodes();
50  static int dictSize();
51  static void clearDict();
52  static int getMaxID();
53 protected:
54  int myID;
55  std::string myName;
56 
57 private:
58  typedef std::map<int, NIVissimNodeDef*> DictType;
59  static DictType myDict;
60  static int myMaxID;
61 };
62 
63 
64 #endif
65 
66 /****************************************************************************/
67 
Boundary.h
NIVissimNodeDef::dictionary
static bool dictionary(int id, NIVissimNodeDef *o)
Definition: NIVissimNodeDef.cpp:52
NIVissimNodeDef::dictSize
static int dictSize()
Definition: NIVissimNodeDef.cpp:119
NIVissimExtendedEdgePointVector.h
NIVissimNodeDef::myName
std::string myName
Definition: NIVissimNodeDef.h:55
NIVissimNodeDef::myDict
static DictType myDict
Definition: NIVissimNodeDef.h:59
NIVissimNodeDef::buildNodeCluster
int buildNodeCluster()
NIVissimNodeDef::getEdgePosition
virtual double getEdgePosition(int edgeid) const =0
NIVissimNodeDef::myMaxID
static int myMaxID
Definition: NIVissimNodeDef.h:60
NIVissimNodeDef::NIVissimNodeDef
NIVissimNodeDef(int id, const std::string &name)
Definition: NIVissimNodeDef.cpp:44
NIVissimNodeDef::~NIVissimNodeDef
virtual ~NIVissimNodeDef()
Definition: NIVissimNodeDef.cpp:48
NIVissimNodeDef
Definition: NIVissimNodeDef.h:34
NIVissimNodeCluster.h
NIVissimNodeDef::clearDict
static void clearDict()
Definition: NIVissimNodeDef.cpp:126
NIVissimNodeDef::getMaxID
static int getMaxID()
Definition: NIVissimNodeDef.cpp:135
config.h
NIVissimNodeDef::DictType
std::map< int, NIVissimNodeDef * > DictType
Definition: NIVissimNodeDef.h:58
NIVissimNodeDef::myID
int myID
Definition: NIVissimNodeDef.h:54