SUMO - Simulation of Urban MObility
TraCI_Person.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2012-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 // C++ TraCI client API implementation
18 /****************************************************************************/
19 #ifndef TraCI_Person_h
20 #define TraCI_Person_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 #include <vector>
33 #include <traci-server/TraCIDefs.h>
36 
37 // ===========================================================================
38 // class declarations
39 // ===========================================================================
40 class MSRoute;
41 
42 // ===========================================================================
43 // class definitions
44 // ===========================================================================
49 class TraCI_Person {
50  // processSet calls private member getSingularVType(), which should not be exposed to the public API.
52 
53 public:
54  static std::vector<std::string> getIDList();
55  static int getIDCount();
56  static double getSpeed(const std::string& personID);
57  static TraCIPosition getPosition(const std::string& personID);
58  static std::string getRoadID(const std::string& personID);
59  static std::string getTypeID(const std::string& personID);
60  static double getWaitingTime(const std::string& personID);
61  static std::string getNextEdge(const std::string& personID);
62  static std::string getVehicle(const std::string& personID);
63  static int getRemainingStages(const std::string& personID);
64  static int getStage(const std::string& personID, int nextStageIndex = 0);
65  static std::vector<std::string> getEdges(const std::string& personID, int nextStageIndex = 0);
66  static std::string getParameter(const std::string& routeID, const std::string& param);
67  static double getAngle(const std::string& personID);
68  static double getLanePosition(const std::string& personID);
69  static TraCIColor getColor(const std::string& personID);
70 
71  static void removeStages(const std::string& personID);
72  static void add(const std::string& personID, const std::string& edgeID, double pos, double depart = DEPARTFLAG_NOW, const std::string typeID = "DEFAULT_PEDTYPE");
73  static void appendWaitingStage(const std::string& personID, double duration, const std::string& description = "waiting", const std::string& stopID = "");
74  static void appendWalkingStage(const std::string& personID, const std::vector<std::string>& edgeIDs, double arrivalPos, double duration = -1, double speed = -1, const std::string& stopID = "");
75  static void appendDrivingStage(const std::string& personID, const std::string& toEdge, const std::string& lines, const std::string& stopID = "");
76  static void removeStage(const std::string& personID, int nextStageIndex);
77  static void rerouteTraveltime(const std::string& personID);
78  static void setParameter(const std::string& personID, const std::string& key, const std::string& value);
79  static void setSpeed(const std::string& personID, double speed);
80  static void setType(const std::string& personID, const std::string& typeID);
81  static void setLength(const std::string& personID, double length);
82  static void setWidth(const std::string& personID, double width);
83  static void setHeight(const std::string& personID, double height);
84  static void setMinGap(const std::string& personID, double minGap);
85  static void setColor(const std::string& personID, const TraCIColor& c);
86 
87 private:
89  TraCI_Person();
90 
92  TraCI_Person(const TraCI_Person& src);
93 
95  TraCI_Person& operator=(const TraCI_Person& src);
96 
97  static MSTransportable* getPerson(const std::string& id);
98 
99  // This does not only return the person's vType, but makes it singular.
100  static std::string getSingularVType(const std::string& personID);
101 };
102 
103 
104 #endif
105 
106 /****************************************************************************/
107 
#define DEPARTFLAG_NOW
static TraCIPosition getPosition(const std::string &personID)
static void setLength(const std::string &personID, double length)
static double getLanePosition(const std::string &personID)
static void setHeight(const std::string &personID, double height)
static int getStage(const std::string &personID, int nextStageIndex=0)
static std::vector< std::string > getIDList()
static MSTransportable * getPerson(const std::string &id)
TraCI_Person()
invalidated standard constructor
static int getIDCount()
static std::string getParameter(const std::string &routeID, const std::string &param)
static std::string getNextEdge(const std::string &personID)
static double getWaitingTime(const std::string &personID)
static void setWidth(const std::string &personID, double width)
static std::string getRoadID(const std::string &personID)
static void appendWaitingStage(const std::string &personID, double duration, const std::string &description="waiting", const std::string &stopID="")
static std::vector< std::string > getEdges(const std::string &personID, int nextStageIndex=0)
static std::string getSingularVType(const std::string &personID)
static void appendDrivingStage(const std::string &personID, const std::string &toEdge, const std::string &lines, const std::string &stopID="")
static std::string getTypeID(const std::string &personID)
static void setParameter(const std::string &personID, const std::string &key, const std::string &value)
static bool processSet(TraCIServer &server, tcpip::Storage &inputStorage, tcpip::Storage &outputStorage)
Processes a set value command (Command 0xce: Change Person State)
static void removeStages(const std::string &personID)
A 3D-position.
Definition: TraCIDefs.h:70
static std::string getVehicle(const std::string &personID)
static void setSpeed(const std::string &personID, double speed)
static double getAngle(const std::string &personID)
TraCI server used to control sumo by a remote TraCI client.
Definition: TraCIServer.h:69
static void rerouteTraveltime(const std::string &personID)
static void setMinGap(const std::string &personID, double minGap)
static int getRemainingStages(const std::string &personID)
static TraCIColor getColor(const std::string &personID)
static double getSpeed(const std::string &personID)
static void setColor(const std::string &personID, const TraCIColor &c)
static void add(const std::string &personID, const std::string &edgeID, double pos, double depart=DEPARTFLAG_NOW, const std::string typeID="DEFAULT_PEDTYPE")
A color.
Definition: TraCIDefs.h:77
static void removeStage(const std::string &personID, int nextStageIndex)
TraCI_Person & operator=(const TraCI_Person &src)
invalidated assignment operator
static void setType(const std::string &personID, const std::string &typeID)
static void appendWalkingStage(const std::string &personID, const std::vector< std::string > &edgeIDs, double arrivalPos, double duration=-1, double speed=-1, const std::string &stopID="")