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-2018 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_Edges_h
18 #define NIVissimNodeDef_Edges_h
19 
20 
21 // ===========================================================================
22 // included modules
23 // ===========================================================================
24 #include <config.h>
25 
26 
27 #include <string>
28 #include <map>
31 #include "NIVissimNodeDef.h"
32 
34  public NIVissimNodeDef {
35 public:
36  NIVissimNodeDef_Edges(int id, const std::string& name,
38  virtual ~NIVissimNodeDef_Edges();
39  static bool dictionary(int id, const std::string& name,
41 // virtual void computeBounding();
42 // virtual void searchAndSetConnections();
43  virtual double getEdgePosition(int edgeid) const;
44 
48  class id_matches {
49  public:
50  explicit id_matches(int id) : myEdgeID(id) { }
52  return e->getID() == myEdgeID;
53  }
54  private:
55  int myEdgeID;
56  };
57 
59  public:
62  return e->getEdgeID() == myEdge->getID() &&
63  myEdge->positionLiesWithin(e->getPosition());
64  }
65  private:
67  };
68 
69 protected:
71 };
72 
73 
74 #endif
75 
76 /****************************************************************************/
77 
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