31 #include "../../config.h" 46 #pragma warning(disable: 4355) 49 : edge(*this), gui(*this), inductionloop(*this),
50 junction(*this), lane(*this), lanearea(*this), multientryexit(*this),
51 person(*this), poi(*this), polygon(*this), route(*this),
52 simulation(*this), trafficlights(*this),
53 vehicle(*this), vehicletype(*this),
82 std::string acknowledgement;
130 int length = 1 + 1 + 1 + 4 + (int) objID.length();
132 length += (int)add->
size();
173 const std::vector<int>& vars)
const {
179 int varNo = (int) vars.
size();
181 outMsg.
writeInt(5 + 1 + 4 + 4 + 4 + (
int) objID.length() + 1 + varNo);
191 for (
int i = 0; i < varNo; ++i) {
201 int domain,
double range,
const std::vector<int>& vars)
const {
207 int varNo = (int) vars.
size();
209 outMsg.
writeInt(5 + 1 + 4 + 4 + 4 + (
int) objID.length() + 1 + 8 + 1 + varNo);
222 for (
int i = 0; i < varNo; ++i) {
230 TraCIAPI::send_commandMoveToXY(
const std::string& vehicleID,
const std::string& edgeID,
const int lane,
const double x,
const double y,
const double angle,
const int keepRoute)
const {
261 if (command != cmdId && !ignoreCommandId) {
266 }
catch (std::invalid_argument&) {
269 switch (resultType) {
275 if (acknowledgement != 0) {
276 (*acknowledgement) =
".. Command acknowledged (" +
toString(command) +
"), [description: " + msg +
"]";
282 if ((cmdStart + cmdLength) != (
int) inMsg.
position()) {
296 if (!ignoreCommandId && cmdId != (command + 0x10)) {
299 if (expectedType >= 0) {
304 if (valueDataType != expectedType) {
398 for (
int i = 0; i < size; ++i) {
431 std::vector<std::string>
437 std::vector<std::string> r;
438 for (
int i = 0; i < size; ++i) {
460 while (variableCount > 0) {
498 for (
int i = 0; i < n; ++i) {
510 into[objectID][variableID] = v;
521 const std::string objectID = inMsg.
readString();
528 const std::string contextID = inMsg.
readString();
531 int numObjects = inMsg.
readInt();
533 while (numObjects > 0) {
549 while (numSubs > 0) {
564 for (
int i = 0; i < (int)args.size(); ++i) {
565 numChars += (int)args[i].size();
581 std::vector<std::string>
678 std::vector<std::string>
732 std::vector<std::string>
827 std::vector<std::string>
852 std::vector<std::string>
872 std::vector<TraCIVehicleData>
877 std::vector<TraCIVehicleData> result;
882 for (
int i = 0; i < n; ++i) {
900 result.push_back(vd);
911 std::vector<std::string>
927 std::vector<std::string>
947 std::vector<std::string>
952 std::vector<std::string>
1042 std::vector<std::string>
1052 content.
writeInt((
int)allowedClasses.size());
1053 for (
int i = 0; i < (int)allowedClasses.size(); ++i) {
1065 content.
writeInt((
int)disallowedClasses.size());
1066 for (
int i = 0; i < (int)disallowedClasses.size(); ++i) {
1098 std::vector<std::string>
1109 std::vector<std::string>
1124 std::vector<std::string>
1139 std::vector<std::string>
1231 std::vector<std::string>
1266 content.
writeInt((
int)shape.size());
1267 for (
int i = 0; i < (int)shape.size(); ++i) {
1302 int f = fill ? 1 : 0;
1308 for (
int i = 0; i < (int)shape.size(); ++i) {
1332 std::vector<std::string>
1337 std::vector<std::string>
1370 std::vector<std::string>
1380 std::vector<std::string>
1390 std::vector<std::string>
1400 std::vector<std::string>
1410 std::vector<std::string>
1432 myParent.send_commandSubscribeObjectVariable(domID, objID, beginTime, endTime, vars);
1434 myParent.check_resultState(inMsg, domID);
1435 if (vars.size() > 0) {
1436 myParent.check_commandGetResult(inMsg, domID);
1437 myParent.readVariableSubscription(inMsg);
1444 myParent.send_commandSubscribeObjectContext(domID, objID, beginTime, endTime, domain, range, vars);
1446 myParent.check_resultState(inMsg, domID);
1447 myParent.check_commandGetResult(inMsg, domID);
1448 myParent.readContextSubscription(inMsg);
1453 return myParent.mySubscribedValues;
1459 if (myParent.mySubscribedValues.find(objID) != myParent.mySubscribedValues.end()) {
1460 return myParent.mySubscribedValues[objID];
1469 return myParent.mySubscribedContextValues;
1475 if (myParent.mySubscribedContextValues.find(objID) != myParent.mySubscribedContextValues.end()) {
1476 return myParent.mySubscribedContextValues[objID];
1486 std::vector<std::string>
1496 std::vector<TraCILogic>
1501 std::vector<TraCILogic> ret;
1506 int logicNo = inMsg.
readInt();
1507 for (
int i = 0; i < logicNo; ++i) {
1515 int phaseIndex = inMsg.
readInt();
1517 int phaseNumber = inMsg.
readInt();
1518 std::vector<TraCIPhase> phases;
1519 for (
int j = 0; j < phaseNumber; ++j) {
1521 int duration = inMsg.
readInt();
1523 int duration1 = inMsg.
readInt();
1525 int duration2 = inMsg.
readInt();
1528 phases.push_back(
TraCIPhase(duration, duration1, duration2, phase));
1530 ret.push_back(
TraCILogic(subID, type, std::map<std::string, double>(), phaseIndex, phases));
1535 std::vector<std::string>
1540 std::vector<TraCILink>
1545 std::vector<TraCILink> ret;
1551 for (
int i = 0; i < linkNo; ++i) {
1555 for (
int i1 = 0; i1 < no; ++i1) {
1561 ret.push_back(
TraCILink(from, via, to));
1618 content.
writeInt(
int(1000 * phaseDuration));
1639 for (
int i = 0; i < (int) logic.
phases.size(); ++i) {
1661 std::vector<std::string>
1951 std::vector<std::string>
2011 std::vector<std::string>
2094 std::vector<std::string>
2109 std::vector<TraCIAPI::VehicleScope::NextTLSData>
2114 std::vector<NextTLSData> result;
2118 const int n = inMsg.
readInt();
2119 for (
int i = 0; i < n; ++i) {
2133 result.push_back(d);
2141 const std::string& routeID,
2142 const std::string& typeID,
2144 const std::string& departLane,
2145 const std::string& departPos,
2146 const std::string& departSpeed,
2147 const std::string& arrivalLane,
2148 const std::string& arrivalPos,
2149 const std::string& arrivalSpeed,
2150 const std::string& fromTaz,
2151 const std::string& toTaz,
2152 const std::string& line,
2154 int personNumber)
const {
2156 if (depart ==
"-1") {
2157 depart =
toString(myParent.simulation.getCurrentTime() / 1000.0);
2237 myParent.send_commandMoveToXY(vehicleID, edgeID, lane, x, y, angle, keepRoute);
2305 for (
int i = 0; i < (int)via.size(); ++i) {
2340 std::vector<std::string>
2399 std::vector<std::string>
2410 while (getRemainingStages(personID) > 1) {
2411 removeStage(personID, 1);
2413 removeStage(personID, 0);
std::vector< std::string > getIDList() const
#define LAST_STEP_MEAN_SPEED
std::vector< std::string > getIDList() const
char state
The current state of the tls.
double getNOxEmission(const std::string &laneID) const
std::string getRouteID(const std::string &vehicleID) const
void setAccel(const std::string &typeID, double accel) const
std::vector< TraCILogic > getCompleteRedYellowGreenDefinition(const std::string &tlsID) const
std::vector< std::string > getIDList() const
double getFuelConsumption(const std::string &vehicleID) const
void send_commandSetValue(int domID, int varID, const std::string &objID, tcpip::Storage &content) const
Sends a SetVariable request.
void remove(const std::string &vehicleID, char reason=REMOVE_VAPORIZED) const
void setMinGapLat(const std::string &typeID, double minGapLat) const
int getNextSwitch(const std::string &tlsID) const
void trackVehicle(const std::string &viewID, const std::string &vehID) const
std::vector< NextTLSData > getNextTLS(const std::string &vehID) const
void screenshot(const std::string &viewID, const std::string &filename) const
#define VAR_EMISSIONCLASS
void setEffort(const std::string &edgeID, double effort, SUMOTime begin=0, SUMOTime end=SUMOTime_MAX) const
void setWidth(const std::string &typeID, double width) const
void appendDrivingStage(const std::string &personID, const std::string &toEdge, const std::string &lines, const std::string &stopID="")
std::vector< std::string > getLastStepVehicleIDs(const std::string &laneID) const
int getDepartedNumber() const
tcpip::Socket * mySocket
The socket.
void add(const std::string &poiID, double x, double y, const TraCIColor &c, const std::string &type, int layer) const
void close()
ends the simulation and closes the connection
std::vector< std::string > getIDList() const
void check_resultState(tcpip::Storage &inMsg, int command, bool ignoreCommandId=false, std::string *acknowledgement=0) const
Validates the result state of a command.
void connect(const std::string &host, int port)
Connects to the specified SUMO server.
void setType(const std::string &poiID, const std::string &setType) const
#define CMD_GET_TL_VARIABLE
void setLength(const std::string &personID, double length) const
double length
Length of the vehicle.
void changeTarget(const std::string &vehicleID, const std::string &edgeID) const
void adaptTraveltime(const std::string &edgeID, double time, double begin=0, double end=SUMOTime_MAX/1000.0) const
#define CMD_GET_VEHICLE_VARIABLE
#define VAR_CURRENT_TRAVELTIME
void setZoom(const std::string &viewID, double zoom) const
int getLaneIndex(const std::string &vehicleID) const
SUMOTime getCurrentTime() const
void setVia(const std::string &vehicleID, const std::vector< std::string > &via) const
double getCOEmission(const std::string &vehicleID) const
double getSpeedFactor(const std::string &typeID) const
bool receiveExact(Storage &)
Receive a complete TraCI message from Socket::socket_.
#define CMD_GET_INDUCTIONLOOP_VARIABLE
std::map< int, TraCIValue > TraCIValues
{object->{variable->value}}
std::vector< std::string > getLastStepVehicleIDs(const std::string &detID) const
double leaveTime
Leave-time of the vehicle in [s].
void setSpeedFactor(const std::string &typeID, double factor) const
double getNoiseEmission(const std::string &vehicleID) const
#define LAST_STEP_VEHICLE_DATA
double getCO2Emission(const std::string &edgeID) const
std::string getVehicleClass(const std::string &typeID) const
TraCIColor getColor(const std::string &vehicleID) const
double getNoiseEmission(const std::string &edgeID) const
double getWaitingTime(const std::string &vehicleID) const
std::string getType(const std::string &poiID) const
int getMinExpectedNumber() const
double getNOxEmission(const std::string &vehicleID) const
std::string getTypeID(const std::string &vehicleID) const
int getArrivedNumber() const
void send_commandGetVariable(int domID, int varID, const std::string &objID, tcpip::Storage *add=0) const
Sends a GetVariable request.
void setLength(const std::string &typeID, double length) const
double getLastStepOccupancy(const std::string &edgeID) const
double getTimeSinceDetection(const std::string &loopID) const
#define CMD_GET_LANEAREA_VARIABLE
LaneScope lane
Scope for interaction with lanes.
#define CMD_GET_PERSON_VARIABLE
virtual double readDouble()
void setPhaseDuration(const std::string &tlsID, int phaseDuration) const
double getPMxEmission(const std::string &laneID) const
double getMaxSpeedLat(const std::string &typeID) const
double getPMxEmission(const std::string &edgeID) const
void setColor(const std::string &polygonID, const TraCIColor &c) const
void setMaxSpeedLat(const std::string &typeID, double speed) const
double getMaxSpeed(const std::string &vehicleID) const
void setLine(const std::string &vehicleID, const std::string &line) const
#define VAR_LOADED_VEHICLES_IDS
void setOffset(const std::string &viewID, double x, double y) const
int getLastStepVehicleNumber(const std::string &laneID) const
std::vector< std::string > getDisallowed(const std::string &laneID) const
std::string getRoadID(const std::string &vehicleID) const
void appendWaitingStage(const std::string &personID, double duration, const std::string &description="waiting", const std::string &stopID="")
std::vector< std::string > getStartingTeleportIDList() const
void setImperfection(const std::string &typeID, double imperfection) const
std::string getEdgeID(const std::string &laneID) const
void load(const std::vector< std::string > &args)
Let sumo load a simulation using the given command line like options.
void setAllowed(const std::string &laneID, const std::vector< std::string > &allowedClasses) const
double getSpeed(const std::string &personID) const
std::vector< std::string > getIDList() const
void setPhase(const std::string &tlsID, int index) const
SubscribedContextValues mySubscribedContextValues
#define VAR_TELEPORT_STARTING_VEHICLES_IDS
void closeSocket()
Closes the connection.
std::string getEmissionClass(const std::string &typeID) const
#define CMD_GET_POLYGON_VARIABLE
void simulationStep(SUMOTime time=0)
Advances by one step (or up to the given time)
std::string getNextEdge(const std::string &personID) const
std::vector< std::string > getIDList() const
std::string getLaneID(const std::string &loopID) const
virtual void writeUnsignedByte(int)
std::string getRedYellowGreenState(const std::string &tlsID) const
void setTau(const std::string &typeID, double tau) const
#define CMD_SET_EDGE_VARIABLE
#define CMD_SET_GUI_VARIABLE
void readVariableSubscription(tcpip::Storage &inMsg)
std::string getType(const std::string &polygonID) const
std::map< std::string, SubscribedValues > SubscribedContextValues
int getPhase(const std::string &tlsID) const
#define VAR_LOADED_VEHICLES_NUMBER
#define VAR_SPEED_DEVIATION
#define VAR_NOISEEMISSION
#define VAR_FUELCONSUMPTION
std::string getLine(const std::string &vehicleID) const
#define CMD_GET_ROUTE_VARIABLE
void setShape(const std::string &polygonID, const TraCIPositionVector &shape) const
void removeStage(const std::string &personID, int nextStageIndex) const
int getLastStepVehicleNumber(const std::string &detID) const
virtual void writeInt(int)
int getLastStepHaltingNumber(const std::string &laneID) const
void add(const std::string &polygonID, const TraCIPositionVector &shape, const TraCIColor &c, bool fill, const std::string &type, int layer) const
std::vector< std::string > getEdges(const std::string &vehicleID) const
std::vector< std::string > getEdges(const std::string &routeID) const
TraCIPosition getPosition(const std::string &vehicleID) const
virtual int readUnsignedByte()
#define TL_PHASE_DURATION
TraCIPosition getPosition(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void connect()
Connects to host_:port_.
double getLastStepOccupancy(const std::string &laneID) const
std::vector< TraCIVehicleData > getVehicleData(const std::string &loopID) const
#define RESPONSE_SUBSCRIBE_INDUCTIONLOOP_VARIABLE
#define TL_CURRENT_PROGRAM
double getMaxSpeed(const std::string &typeID) const
#define CMD_SET_TL_VARIABLE
TraCIColor getColor(const std::string &typeID) const
double getImperfection(const std::string &typeID) const
int getLastStepHaltingNumber(const std::string &detID) const
void setVehicleClass(const std::string &typeID, const std::string &clazz) const
void remove(const std::string &polygonID, int layer=0) const
#define CMD_GET_VEHICLETYPE_VARIABLE
const SubscribedValues & getSubscriptionResults() const
void setColor(const std::string &vehicleID, const TraCIColor &c) const
double getLastStepMeanSpeed(const std::string &loopID) const
double getElectricityConsumption(const std::string &edgeID) const
double getTau(const std::string &typeID) const
SubscribedValues mySubscribedValues
std::vector< std::string > getEndingTeleportIDList() const
void moveToXY(const std::string &vehicleID, const std::string &edgeID, const int lane, const double x, const double y, const double angle, const int keepRoute) const
void setEmissionClass(const std::string &typeID, const std::string &clazz) const
#define VAR_DEPARTED_VEHICLES_NUMBER
int getEndingTeleportNumber() const
#define LAST_STEP_TIME_SINCE_DETECTION
#define CMD_SET_ROUTE_VARIABLE
std::vector< std::string > getDepartedIDList() const
double getLength(const std::string &laneID) const
std::string id
The id of the vehicle.
#define VAR_MIN_EXPECTED_VEHICLES
TraCIPosition getPosition(const std::string &personID) const
std::string getShapeClass(const std::string &vehicleID) const
#define VAR_VIEW_BOUNDARY
std::string getTypeID(const std::string &personID) const
#define VAR_TRACK_VEHICLE
std::vector< std::string > getIDList() const
double getLastStepHaltingNumber(const std::string &edgeID) const
std::vector< std::string > getIDList() const
void setHeight(const std::string &personID, double height) const
std::vector< std::string > getVia(const std::string &vehicleID) const
std::map< std::string, TraCIValues > SubscribedValues
int getStartingTeleportNumber() const
void setBoundary(const std::string &viewID, double xmin, double ymin, double xmax, double ymax) const
double getCO2Emission(const std::string &vehicleID) const
#define TL_COMPLETE_PROGRAM_RYG
std::vector< std::string > getLastStepVehicleIDs(const std::string &edgeID) const
double getHCEmission(const std::string &vehicleID) const
#define VAR_NET_BOUNDING_BOX
double getMinGap(const std::string &typeID) const
#define CMD_GET_POI_VARIABLE
double getLastStepMeanSpeed(const std::string &edgeID) const
std::vector< std::string > getArrivedIDList() const
double getHCEmission(const std::string &edgeID) const
double getMaxSpeed(const std::string &laneID) const
double getFloat(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void send_commandSubscribeObjectVariable(int domID, const std::string &objID, SUMOTime beginTime, SUMOTime endTime, const std::vector< int > &vars) const
Sends a SubscribeVariable request.
#define TL_COMPLETE_DEFINITION_RYG
#define VAR_TELEPORT_STARTING_VEHICLES_NUMBER
#define CMD_SET_VEHICLETYPE_VARIABLE
virtual void writeByte(int)
double getCOEmission(const std::string &laneID) const
TraCIColor getColor(const std::string &polygonID) const
double getWidth(const std::string &laneID) const
void send_commandSimulationStep(SUMOTime time) const
Sends a SimulationStep command.
double getLastStepMeanSpeed(const std::string &laneID) const
double getLateralLanePosition(const std::string &vehicleID) const
void send_commandMoveToXY(const std::string &vehicleID, const std::string &edgeID, const int lane, const double x, const double y, const double angle, const int keepRoute) const
virtual void writeStringList(const std::vector< std::string > &s)
double getAngle(const std::string &vehicleID) const
void setLateralAlignment(const std::string &typeID, const std::string &latAlignment) const
#define VAR_TELEPORT_ENDING_VEHICLES_IDS
#define CMD_GET_LANE_VARIABLE
int getInt(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
TraCIPosition getPosition(const std::string &junctionID) const
void setRedYellowGreenState(const std::string &tlsID, const std::string &state) const
#define CMD_SET_VEHICLE_VARIABLE
void setColor(const std::string &personID, const TraCIColor &c) const
double getFuelConsumption(const std::string &laneID) const
void add(const std::string &personID, const std::string &edgeID, double pos, double depart=DEPARTFLAG_NOW, const std::string typeID="DEFAULT_PEDTYPE")
double getWaitingTime(const std::string &personID) const
std::string getRoadID(const std::string &personID) const
std::vector< std::string > getAllowed(const std::string &laneID) const
#define CMD_GET_SIM_VARIABLE
virtual std::string readString()
#define CMD_GET_EDGE_VARIABLE
int getByte(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
virtual unsigned int position() const
static std::string toString(const T &t, std::streamsize accuracy=PRECISION)
#define CMD_GET_GUI_VARIABLE
std::string getEmissionClass(const std::string &vehicleID) const
#define VAR_DEPARTED_VEHICLES_IDS
#define CMD_SET_POI_VARIABLE
int getUnsignedByte(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
double getDouble(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void add(const std::string &routeID, const std::vector< std::string > &edges) const
double getSpeed(const std::string &vehicleID) const
double getPosition(const std::string &loopID) const
void setMaxSpeed(const std::string &typeID, double speed) const
std::string getProgram(const std::string &tlsID) const
void setWidth(const std::string &personID, double width) const
void setSpeed(const std::string &personID, double speed) const
#define CMD_GET_JUNCTION_VARIABLE
void setColor(const std::string &poiID, const TraCIColor &c) const
void setDecel(const std::string &typeID, double decel) const
virtual void writeStorage(tcpip::Storage &store)
double getCO2Emission(const std::string &laneID) const
#define TL_CONTROLLED_LINKS
double getElectricityConsumption(const std::string &vehicleID) const
std::vector< std::string > getLastStepVehicleIDs(const std::string &loopID) const
void readContextSubscription(tcpip::Storage &inMsg)
TraCIPositionVector getPolygon(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void setShapeClass(const std::string &vehicleID, const std::string &clazz) const
std::string getVehicle(const std::string &personID) const
StorageType::size_type size() const
std::vector< TraCILink > getControlledLinks(const std::string &tlsID) const
void readVariables(tcpip::Storage &inMsg, const std::string &objectID, int variableCount, SubscribedValues &into)
std::vector< std::string > getStringVector(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void setSpeed(const std::string &vehicleID, double speed) const
const SubscribedContextValues & getContextSubscriptionResults() const
double getEffort(const std::string &edgeID, SUMOTime time) const
void setLength(const std::string &laneID, double length) const
#define TL_RED_YELLOW_GREEN_STATE
int getRemainingStages(const std::string &personID) const
void setProgram(const std::string &tlsID, const std::string &programID) const
double getSlope(const std::string &vehicleID) const
#define LAST_STEP_VEHICLE_NUMBER
void remove(const std::string &poiID, int layer=0) const
#define VAR_EDGE_TRAVELTIME
#define VAR_ARRIVED_VEHICLES_NUMBER
std::vector< TraCIPhase > phases
void setSpeedDeviation(const std::string &typeID, double deviation) const
#define CMD_SET_POLYGON_VARIABLE
double getTraveltime(const std::string &laneID) const
virtual void writeString(const std::string &s)
#define RTYPE_NOTIMPLEMENTED
void setMinGap(const std::string &typeID, double minGap) const
void setMaxSpeed(const std::string &vehicleID, double speed) const
std::vector< std::string > stringList
#define VAR_LANEPOSITION_LAT
void setPosition(const std::string &poiID, double x, double y) const
#define LAST_STEP_VEHICLE_ID_LIST
void setDisallowed(const std::string &laneID, const std::vector< std::string > &disallowedClasses) const
double getLastStepMeanLength(const std::string &loopID) const
SUMOTime getSUMOTime(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
std::vector< std::string > getIDList() const
std::string typeID
Type of the vehicle in.
double getHeight(const std::string &typeID) const
void processGET(tcpip::Storage &inMsg, int command, int expectedType, bool ignoreCommandId=false) const
std::vector< std::string > getControlledLanes(const std::string &tlsID) const
TraCIColor getColor(const std::string &poiID) const
double getPMxEmission(const std::string &vehicleID) const
int getLinkNumber(const std::string &laneID) const
void sendExact(const Storage &)
virtual float readFloat()
#define CMD_SET_LANE_VARIABLE
#define VAR_ELECTRICITYCONSUMPTION
std::vector< std::string > getLoadedIDList() const
std::string id
The id of the next tls.
TraCIBoundary getBoundary(const std::string &viewID=DEFAULT_VIEW) const
#define CMD_GET_MULTIENTRYEXIT_VARIABLE
TraCIBoundary getNetBoundary() const
void setCompleteRedYellowGreenDefinition(const std::string &tlsID, const TraCILogic &logic) const
void send_commandClose() const
Sends a Close command.
void setType(const std::string &polygonID, const std::string &setType) const
int check_commandGetResult(tcpip::Storage &inMsg, int command, int expectedType=-1, bool ignoreCommandId=false) const
Validates the result state of a command.
void setMaxSpeed(const std::string &edgeID, double speed) const
std::vector< std::string > getIDList() const
int getSpeedMode(const std::string &vehicleID) const
void setSchema(const std::string &viewID, const std::string &schemeName) const
std::vector< std::string > getIDList() const
virtual void writeDouble(double)
double getTraveltime(const std::string &edgeID) const
TraCIBoundary getBoundingBox(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
#define VAR_TELEPORT_ENDING_VEHICLES_NUMBER
void setMinGap(const std::string &personID, double minGap) const
void subscribe(int domID, const std::string &objID, SUMOTime beginTime, SUMOTime endTime, const std::vector< int > &vars) const
void subscribeContext(int domID, const std::string &objID, SUMOTime beginTime, SUMOTime endTime, int domain, double range, const std::vector< int > &vars) const
std::string getLateralAlignment(const std::string &typeID) const
double getLastStepOccupancy(const std::string &loopID) const
void appendWalkingStage(const std::string &personID, const std::vector< std::string > &edges, double arrivalPos, double duration=-1, double speed=-1, const std::string &stopID="")
std::string getShapeClass(const std::string &typeID) const
TraCIColor getColor(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
std::vector< std::string > getIDList() const
TraCIPositionVector getShape(const std::string &laneID) const
double getSpeedDeviation(const std::string &typeID) const
void setEmissionClass(const std::string &vehicleID, const std::string &clazz) const
double getLastStepMeanSpeed(const std::string &detID) const
void setHeight(const std::string &typeID, double height) const
void setShapeClass(const std::string &typeID, const std::string &shapeClass) const
#define LAST_STEP_OCCUPANCY
std::string getLaneID(const std::string &vehicleID) const
double getFuelConsumption(const std::string &edgeID) const
#define TL_CONTROLLED_LANES
std::string getString(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
double getElectricityConsumption(const std::string &laneID) const
int getLastStepVehicleNumber(const std::string &loopID) const
double dist
The distance to the tls.
SUMOTime getDeltaT() const
double getDecel(const std::string &typeID) const
#define CMD_SET_PERSON_VARIABLE
#define RESPONSE_SUBSCRIBE_PERSON_VARIABLE
int getStage(const std::string &personID, int nextStageIndex=0) const
double getLanePosition(const std::string &vehicleID) const
void removeStages(const std::string &personID) const
TraCIPositionVector getShape(const std::string &polygonID) const
double getAccel(const std::string &typeID) const
void add(const std::string &vehicleID, const std::string &routeID, const std::string &typeID="DEFAULT_VEHTYPE", std::string depart="-1", 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=0, int personNumber=0) const
double getAdaptedTraveltime(const std::string &edgeID, double time) const
int tlIndex
The tls index of the controlled link.
int getRouteIndex(const std::string &vehicleID) const
double getNOxEmission(const std::string &edgeID) const
double entryTime
Entry-time of the vehicle in [s].
int getLoadedNumber() const
double getZoom(const std::string &viewID=DEFAULT_VIEW) const
void setType(const std::string &personID, const std::string &typeID) const
double getHCEmission(const std::string &laneID) const
void moveTo(const std::string &vehicleID, const std::string &laneID, double position) const
#define VAR_STAGES_REMAINING
void send_commandSubscribeObjectContext(int domID, const std::string &objID, SUMOTime beginTime, SUMOTime endTime, int domain, double range, const std::vector< int > &vars) const
Sends a SubscribeContext request.
std::vector< std::string > getEdges(const std::string &personID, int nextStageIndex=0) const
#define VAR_ARRIVED_VEHICLES_IDS
void setMaxSpeed(const std::string &laneID, double speed) const
double getLength(const std::string &typeID) const
double getLastStepLength(const std::string &laneID) const
double getWidth(const std::string &typeID) const
int getLastStepVehicleNumber(const std::string &edgeID) const
double getMinGapLat(const std::string &typeID) const
#define LAST_STEP_VEHICLE_HALTING_NUMBER
void setColor(const std::string &typeID, const TraCIColor &c) const
TraCIPosition getPosition(const std::string &poiID) const
std::vector< std::string > getIDList() const
std::vector< std::string > getIDList() const
double getCOEmission(const std::string &edgeID) const
double getNoiseEmission(const std::string &laneID) const
std::string getSchema(const std::string &viewID=DEFAULT_VIEW) const
double getLastStepLength(const std::string &edgeID) const
TraCIPosition getOffset(const std::string &viewID=DEFAULT_VIEW) const
void slowDown(const std::string &vehicleID, double speed, int duration) const