SUMO - Simulation of Urban MObility
NIVissimNodeDef_Edges.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-2017 German Aerospace Center (DLR) and others.
4 /****************************************************************************/
5 //
6 // This program and the accompanying materials
7 // are made available under the terms of the Eclipse Public License v2.0
8 // which accompanies this distribution, and is available at
9 // http://www.eclipse.org/legal/epl-v20.html
10 //
11 /****************************************************************************/
17 // -------------------
18 /****************************************************************************/
19 #ifndef NIVissimNodeDef_Edges_h
20 #define NIVissimNodeDef_Edges_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #ifdef _MSC_VER
27 #include <windows_config.h>
28 #else
29 #include <config.h>
30 #endif
31 
32 
33 #include <string>
34 #include <map>
37 #include "NIVissimNodeDef.h"
38 
40  public NIVissimNodeDef {
41 public:
42  NIVissimNodeDef_Edges(int id, const std::string& name,
44  virtual ~NIVissimNodeDef_Edges();
45  static bool dictionary(int id, const std::string& name,
47 // virtual void computeBounding();
48 // virtual void searchAndSetConnections();
49  virtual double getEdgePosition(int edgeid) const;
50 
54  class id_matches {
55  public:
56  explicit id_matches(int id) : myEdgeID(id) { }
58  return e->getID() == myEdgeID;
59  }
60  private:
61  int myEdgeID;
62  };
63 
65  public:
68  return e->getEdgeID() == myEdge->getID() &&
69  myEdge->positionLiesWithin(e->getPosition());
70  }
71  private:
73  };
74 
75 protected:
77 };
78 
79 
80 #endif
81 
82 /****************************************************************************/
83 
virtual double getEdgePosition(int edgeid) const
bool operator()(NIVissimExtendedEdgePoint *e)
bool operator()(NIVissimNodeParticipatingEdge *e)
static bool dictionary(int id, const std::string &name, const NIVissimNodeParticipatingEdgeVector &edges)
lying_within_match(NIVissimNodeParticipatingEdge *e)
NIVissimNodeParticipatingEdge * myEdge
std::vector< NIVissimNodeParticipatingEdge * > NIVissimNodeParticipatingEdgeVector
NIVissimNodeDef_Edges(int id, const std::string &name, const NIVissimNodeParticipatingEdgeVector &edges)
NIVissimNodeParticipatingEdgeVector myEdges