41 class VariableWrapper;
58 static std::vector<std::string>
getIDList();
60 static double getSpeed(
const std::string& vehicleID);
65 static double getAngle(
const std::string& vehicleID);
66 static double getSlope(
const std::string& vehicleID);
67 static std::string
getRoadID(
const std::string& vehicleID);
68 static std::string
getLaneID(
const std::string& vehicleID);
70 static std::string
getTypeID(
const std::string& vehicleID);
71 static std::string
getRouteID(
const std::string& vehicleID);
84 static std::vector<std::string>
getPersonIDList(
const std::string& vehicleID);
85 static std::pair<std::string, double>
getLeader(
const std::string& vehicleID,
double dist = 0.);
88 static double getAdaptedTraveltime(
const std::string& vehicleID,
double time,
const std::string& edgeID);
89 static double getEffort(
const std::string& vehicleID,
double time,
const std::string& edgeID);
91 static std::vector<std::string>
getRoute(
const std::string& vehicleID);
92 static int getSignals(
const std::string& vehicleID);
93 static std::vector<TraCIBestLanesData>
getBestLanes(
const std::string& vehicleID);
94 static std::vector<TraCINextTLSData>
getNextTLS(
const std::string& vehicleID);
95 static std::vector<TraCINextStopData>
getNextStops(
const std::string& vehicleID);
97 static double getDistance(
const std::string& vehicleID);
98 static double getDrivingDistance(
const std::string& vehicleID,
const std::string& edgeID,
double position,
int laneIndex = 0);
104 static std::string
getLine(
const std::string& vehicleID);
105 static std::vector<std::string>
getVia(
const std::string& vehicleID);
106 static std::pair<int, int>
getLaneChangeState(
const std::string& vehicleID,
int direction);
108 static std::string
getParameter(
const std::string& vehicleID,
const std::string& key);
117 static void setStop(
const std::string& vehicleID,
118 const std::string& edgeID,
127 const std::string& parkingAreaID);
129 static void resume(
const std::string& vehicleID);
131 static void add(
const std::string& vehicleID,
132 const std::string& routeID,
133 const std::string& typeID =
"DEFAULT_VEHTYPE",
134 const std::string& depart =
"now",
135 const std::string& departLane =
"first",
136 const std::string& departPos =
"base",
137 const std::string& departSpeed =
"0",
138 const std::string& arrivalLane =
"current",
139 const std::string& arrivalPos =
"max",
140 const std::string& arrivalSpeed =
"current",
141 const std::string& fromTaz =
"",
142 const std::string& toTaz =
"",
143 const std::string& line =
"",
144 int personCapacity = 4,
145 int personNumber = 0);
147 static void changeTarget(
const std::string& vehicleID,
const std::string& edgeID);
148 static void changeLane(
const std::string& vehicleID,
int laneIndex,
double duration);
149 static void changeLaneRelative(
const std::string& vehicleID,
int laneChange,
double duration);
150 static void changeSublane(
const std::string& vehicleID,
double latDist);
152 static void slowDown(
const std::string& vehicleID,
double speed,
double duration);
153 static void openGap(
const std::string& vehicleID,
double newTimeHeadway,
double newSpaceHeadway,
double duration,
double changeRate,
double maxDecel);
155 static void setSpeed(
const std::string& vehicleID,
double speed);
156 static void setSpeedMode(
const std::string& vehicleID,
int speedMode);
158 static void setRoutingMode(
const std::string& vehicleID,
int routingMode);
159 static void setType(
const std::string& vehicleID,
const std::string& typeID);
160 static void setRouteID(
const std::string& vehicleID,
const std::string& routeID);
161 static void setRoute(
const std::string& vehicleID,
const std::vector<std::string>& edgeIDs);
164 double time =
INVALID_DOUBLE_VALUE,
double begSeconds = 0,
double endSeconds = std::numeric_limits<double>::max());
165 static void setEffort(
const std::string& vehicleID,
const std::string& edgeID,
166 double effort =
INVALID_DOUBLE_VALUE,
double begSeconds = 0,
double endSeconds = std::numeric_limits<double>::max());
169 static void setSignals(
const std::string& vehicleID,
int signals);
170 static void moveTo(
const std::string& vehicleID,
const std::string& laneID,
double position);
171 static void moveToXY(
const std::string& vehicleID,
const std::string& edgeID,
const int laneIndex,
const double x,
const double y,
double angle =
INVALID_DOUBLE_VALUE,
const int keepRoute = 1);
172 static void remove(
const std::string& vehicleID,
char reason =
REMOVE_VAPORIZED);
173 static void setLine(
const std::string& vehicleID,
const std::string& line);
174 static void setVia(
const std::string& vehicleID,
const std::vector<std::string>& via);
175 static void setParameter(
const std::string& vehicleID,
const std::string& key,
const std::string& value);
188 static std::shared_ptr<VariableWrapper>
makeWrapper();
198 static bool isOnInit(
const std::string& vehicleID);
static std::string getLaneID(const std::string &vehicleID)
static std::vector< TraCIBestLanesData > getBestLanes(const std::string &vehicleID)
std::map< std::string, TraCIResults > SubscriptionResults
{object->{variable->value}}
static void setStop(const std::string &vehicleID, const std::string &edgeID, double pos=1., int laneIndex=0, double duration=INVALID_DOUBLE_VALUE, int flags=STOP_DEFAULT, double startPos=INVALID_DOUBLE_VALUE, double until=INVALID_DOUBLE_VALUE)
static void setEffort(const std::string &vehicleID, const std::string &edgeID, double effort=INVALID_DOUBLE_VALUE, double begSeconds=0, double endSeconds=std::numeric_limits< double >::max())
Representation of a vehicle in the micro simulation.
#define LIBSUMO_SUBSCRIPTION_API
static void setLine(const std::string &vehicleID, const std::string &line)
static void updateBestLanes(const std::string &vehicleID)
static double getSpeedWithoutTraCI(const std::string &vehicleID)
static std::string getRoadID(const std::string &vehicleID)
static void setRoute(const std::string &vehicleID, const std::vector< std::string > &edgeIDs)
static int getPersonNumber(const std::string &vehicleID)
static double getAcceleration(const std::string &vehicleID)
static void deactivateGapControl(const std::string &vehicleID)
static void setParameter(const std::string &vehicleID, const std::string &key, const std::string &value)
static double getSlope(const std::string &vehicleID)
static std::string getTypeID(const std::string &vehicleID)
static void setRoutingMode(const std::string &vehicleID, int routingMode)
static double getCOEmission(const std::string &vehicleID)
static void setSpeedMode(const std::string &vehicleID, int speedMode)
static std::vector< std::string > getVia(const std::string &vehicleID)
static void rerouteParkingArea(const std::string &vehicleID, const std::string &parkingAreaID)
std::map< std::string, SubscriptionResults > ContextSubscriptionResults
static TraCIPosition getPosition3D(const std::string &vehicleID)
static void setRouteID(const std::string &vehicleID, const std::string &routeID)
static double getAngle(const std::string &vehicleID)
static std::shared_ptr< VariableWrapper > makeWrapper()
static ContextSubscriptionResults myContextSubscriptionResults
static std::string getLine(const std::string &vehicleID)
static double getDistance(const std::string &vehicleID)
static double getNoiseEmission(const std::string &vehicleID)
The car-following model and parameter.
static std::pair< int, int > getLaneChangeState(const std::string &vehicleID, int direction)
static double getNOxEmission(const std::string &vehicleID)
static void rerouteTraveltime(const std::string &vehicleID)
static double getEffort(const std::string &vehicleID, double time, const std::string &edgeID)
LIBSUMO_VEHICLE_TYPE_SETTER static LIBSUMO_SUBSCRIPTION_API void storeShape(const std::string &id, PositionVector &shape)
Saves the shape of the requested object in the given container.
static std::vector< std::string > getPersonIDList(const std::string &vehicleID)
static double getWaitingTime(const std::string &vehicleID)
static double getLastActionTime(const std::string &vehicleID)
static SubscriptionResults mySubscriptionResults
static double getCO2Emission(const std::string &vehicleID)
static const MSVehicleType & getVehicleType(const std::string &vehicleID)
static void resume(const std::string &vehicleID)
#define INVALID_DOUBLE_VALUE
static std::vector< TraCINextTLSData > getNextTLS(const std::string &vehicleID)
static int getSpeedMode(const std::string &vehicleID)
static int getRouteIndex(const std::string &vehicleID)
#define LIBSUMO_VEHICLE_TYPE_GETTER
Representation of a vehicle.
static void setLaneChangeMode(const std::string &vehicleID, int laneChangeMode)
static void setVia(const std::string &vehicleID, const std::vector< std::string > &via)
static double getLateralLanePosition(const std::string &vehicleID)
static double getHCEmission(const std::string &vehicleID)
static bool isOnInit(const std::string &vehicleID)
static void add(const std::string &vehicleID, const std::string &routeID, const std::string &typeID="DEFAULT_VEHTYPE", const std::string &depart="now", const std::string &departLane="first", const std::string &departPos="base", const std::string &departSpeed="0", const std::string &arrivalLane="current", const std::string &arrivalPos="max", const std::string &arrivalSpeed="current", const std::string &fromTaz="", const std::string &toTaz="", const std::string &line="", int personCapacity=4, int personNumber=0)
static double getFuelConsumption(const std::string &vehicleID)
C++ TraCI client API implementation.
static double getLanePosition(const std::string &vehicleID)
static std::vector< std::string > getRoute(const std::string &vehicleID)
static void moveTo(const std::string &vehicleID, const std::string &laneID, double position)
static void changeLane(const std::string &vehicleID, int laneIndex, double duration)
static std::vector< std::string > getIDList()
static double getAccumulatedWaitingTime(const std::string &vehicleID)
static bool handleVariable(const std::string &objID, const int variable, VariableWrapper *wrapper)
static void setSpeed(const std::string &vehicleID, double speed)
static std::string getRouteID(const std::string &vehicleID)
static TraCIPosition getPosition(const std::string &vehicleID, const bool includeZ=false)
static int getLaneChangeMode(const std::string &vehicleID)
static double getAdaptedTraveltime(const std::string &vehicleID, double time, const std::string &edgeID)
static std::string getParameter(const std::string &vehicleID, const std::string &key)
static int getLaneIndex(const std::string &vehicleID)
static void changeTarget(const std::string &vehicleID, const std::string &edgeID)
static double getAllowedSpeed(const std::string &vehicleID)
static double getPMxEmission(const std::string &vehicleID)
static void setSignals(const std::string &vehicleID, int signals)
static bool isRouteValid(const std::string &vehicleID)
static void moveToXY(const std::string &vehicleID, const std::string &edgeID, const int laneIndex, const double x, const double y, double angle=INVALID_DOUBLE_VALUE, const int keepRoute=1)
static double getDrivingDistance2D(const std::string &vehicleID, double x, double y)
static std::pair< std::string, double > getLeader(const std::string &vehicleID, double dist=0.)
static int getRoutingMode(const std::string &vehicleID)
static void slowDown(const std::string &vehicleID, double speed, double duration)
static void setAdaptedTraveltime(const std::string &vehicleID, const std::string &edgeID, double time=INVALID_DOUBLE_VALUE, double begSeconds=0, double endSeconds=std::numeric_limits< double >::max())
static void changeLaneRelative(const std::string &vehicleID, int laneChange, double duration)
Vehicle()=delete
invalidated standard constructor
static MSVehicle * getVehicle(const std::string &id)
static double getElectricityConsumption(const std::string &vehicleID)
static void setType(const std::string &vehicleID, const std::string &typeID)
static double getDrivingDistance(const std::string &vehicleID, const std::string &edgeID, double position, int laneIndex=0)
static int getSignals(const std::string &vehicleID)
static void changeSublane(const std::string &vehicleID, double latDist)
static double getSpeed(const std::string &vehicleID)
static int getStopState(const std::string &vehicleID)
static bool isVisible(const SUMOVehicle *veh)
static std::vector< TraCINextStopData > getNextStops(const std::string &vehicleID)
static void openGap(const std::string &vehicleID, double newTimeHeadway, double newSpaceHeadway, double duration, double changeRate, double maxDecel)
#define LIBSUMO_VEHICLE_TYPE_SETTER
static void rerouteEffort(const std::string &vehicleID)