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 
static void clearDict()
virtual ~NIVissimNodeDef()
static int myMaxID
static int getMaxID()
std::string myName
static bool dictionary(int id, NIVissimNodeDef *o)
virtual double getEdgePosition(int edgeid) const =0
std::map< int, NIVissimNodeDef * > DictType
static DictType myDict
static int dictSize()
int buildNodeCluster()
NIVissimNodeDef(int id, const std::string &name)