SUMO - Simulation of Urban MObility
ROMAEdge.h
Go to the documentation of this file.
1 /****************************************************************************/
11 // A basic edge for routing applications
12 /****************************************************************************/
13 // SUMO, Simulation of Urban MObility; see http://sumo.dlr.de/
14 // Copyright (C) 2001-2015 DLR (http://www.dlr.de/) and contributors
15 /****************************************************************************/
16 //
17 // This file is part of SUMO.
18 // SUMO is free software: you can redistribute it and/or modify
19 // it under the terms of the GNU General Public License as published by
20 // the Free Software Foundation, either version 3 of the License, or
21 // (at your option) any later version.
22 //
23 /****************************************************************************/
24 #ifndef ROMAEdge_h
25 #define ROMAEdge_h
26 
27 
28 // ===========================================================================
29 // included modules
30 // ===========================================================================
31 #ifdef _MSC_VER
32 #include <windows_config.h>
33 #else
34 #include <config.h>
35 #endif
36 
37 #include <string>
38 #include <map>
39 #include <vector>
40 #include <algorithm>
43 #include <router/ROEdge.h>
44 
45 
46 // ===========================================================================
47 // class declarations
48 // ===========================================================================
49 class ROLane;
50 class ROVehicle;
51 
52 
53 // ===========================================================================
54 // class definitions
55 // ===========================================================================
65 class ROMAEdge : public ROEdge {
66 public:
74  ROMAEdge(const std::string& id, RONode* from, RONode* to, unsigned int index, const int priority);
75 
76 
78  virtual ~ROMAEdge();
79 
87  virtual void addSuccessor(ROEdge* s, std::string dir = "");
88 
89  void setHelpFlow(const SUMOReal flow) {
90  myHelpFlow = flow;
91  }
92 
94  return myHelpFlow;
95  }
96 
97 private:
98  std::set<ROMAEdge*> myLeftTurns;
100 
101 private:
103  ROMAEdge(const ROMAEdge& src);
104 
106  ROMAEdge& operator=(const ROMAEdge& src);
107 
108 };
109 
110 
111 #endif
112 
113 /****************************************************************************/
void setHelpFlow(const SUMOReal flow)
Definition: ROMAEdge.h:89
A single lane the router may use.
Definition: ROLane.h:52
std::set< ROMAEdge * > myLeftTurns
Definition: ROMAEdge.h:98
SUMOReal getHelpFlow() const
Definition: ROMAEdge.h:93
virtual void addSuccessor(ROEdge *s, std::string dir="")
Adds information about a connected edge.
Definition: ROMAEdge.cpp:55
A vehicle as used by router.
Definition: ROVehicle.h:60
ROMAEdge(const std::string &id, RONode *from, RONode *to, unsigned int index, const int priority)
Constructor.
Definition: ROMAEdge.cpp:45
A basic edge for routing applications.
Definition: ROEdge.h:73
virtual ~ROMAEdge()
Destructor.
Definition: ROMAEdge.cpp:50
SUMOReal myHelpFlow
Definition: ROMAEdge.h:99
ROMAEdge & operator=(const ROMAEdge &src)
Invalidated assignment operator.
#define SUMOReal
Definition: config.h:218
Base class for nodes used by the router.
Definition: RONode.h:53
A basic edge for routing applications.
Definition: ROMAEdge.h:65