 |
Eclipse SUMO - Simulation of Urban MObility
|
Go to the documentation of this file.
36 #pragma warning(disable: 4503)
39 #pragma warning(disable: 4355)
42 : edge(*this), gui(*this), inductionloop(*this),
43 junction(*this), lane(*this), lanearea(*this), multientryexit(*this),
44 person(*this), poi(*this), polygon(*this), route(*this),
45 simulation(*this), trafficlights(*this),
46 vehicle(*this), vehicletype(*this),
105 std::string acknowledgement;
163 int length = 1 + 1 + 1 + 4 + (int) objID.length();
164 if (add !=
nullptr) {
165 length += (int)add->
size();
177 if (add !=
nullptr) {
187 int length = 1 + 1 + 1;
188 if (add !=
nullptr) {
189 length += (int)add->
size();
200 if (add !=
nullptr) {
208 const std::vector<int>& vars)
const {
214 int varNo = (int) vars.
size();
216 outMsg.
writeInt(5 + 1 + 8 + 8 + 4 + (
int) objID.length() + 1 + varNo);
226 for (
int i = 0; i < varNo; ++i) {
236 int domain,
double range,
const std::vector<int>& vars)
const {
242 int varNo = (int) vars.
size();
244 outMsg.
writeInt(5 + 1 + 8 + 8 + 4 + (
int) objID.length() + 1 + 8 + 1 + varNo);
257 for (
int i = 0; i < varNo; ++i) {
277 if (command != cmdId && !ignoreCommandId) {
282 }
catch (std::invalid_argument&) {
285 switch (resultType) {
291 if (acknowledgement !=
nullptr) {
292 (*acknowledgement) =
".. Command acknowledged (" +
toString(command) +
"), [description: " + msg +
"]";
298 if ((cmdStart + cmdLength) != (
int) inMsg.
position()) {
312 if (!ignoreCommandId && cmdId != (command + 0x10)) {
315 if (expectedType >= 0) {
320 if (valueDataType != expectedType) {
403 for (
int i = 0; i < size; ++i) {
451 std::vector<std::string>
453 std::vector<std::string> r;
457 for (
int i = 0; i < size; ++i) {
530 while (variableCount > 0) {
539 into[objectID][variableID] = std::make_shared<libsumo::TraCIDouble>(inMsg.
readDouble());
542 into[objectID][variableID] = std::make_shared<libsumo::TraCIString>(inMsg.
readString());
545 auto p = std::make_shared<libsumo::TraCIPosition>();
549 into[objectID][variableID] = p;
553 auto p = std::make_shared<libsumo::TraCIPosition>();
557 into[objectID][variableID] = p;
561 auto c = std::make_shared<libsumo::TraCIColor>();
566 into[objectID][variableID] = c;
570 into[objectID][variableID] = std::make_shared<libsumo::TraCIInt>(inMsg.
readInt());
573 auto sl = std::make_shared<libsumo::TraCIStringList>();
575 for (
int i = 0; i < n; ++i) {
578 into[objectID][variableID] = sl;
598 const std::string objectID = inMsg.
readString();
606 const std::string contextID = inMsg.
readString();
609 int numObjects = inMsg.
readInt();
611 while (numObjects > 0) {
613 readVariables(inMsg, objectID, variableCount,
myDomains[cmdId]->getModifiableContextSubscriptionResults(contextID));
626 it.second->clearSubscriptionResults();
629 while (numSubs > 0) {
644 for (
int i = 0; i < (int)args.size(); ++i) {
645 numChars += (int)args[i].size();
649 content.
writeInt(1 + 4 + 1 + 1 + 4 + numChars + 4 * (
int)args.size());
662 std::vector<std::string>
759 std::vector<std::string>
781 if (endSeconds != std::numeric_limits<double>::max()) {
801 if (endSeconds != std::numeric_limits<double>::max()) {
829 std::vector<std::string>
924 std::vector<std::string>
949 std::vector<std::string>
970 std::vector<libsumo::TraCIVehicleData>
972 std::vector<libsumo::TraCIVehicleData> result;
975 myParent.myInput.readInt();
977 myParent.myInput.readUnsignedByte();
978 const int n = myParent.myInput.readInt();
979 for (
int i = 0; i < n; ++i) {
982 myParent.myInput.readUnsignedByte();
983 vd.
id = myParent.myInput.readString();
985 myParent.myInput.readUnsignedByte();
986 vd.
length = myParent.myInput.readDouble();
988 myParent.myInput.readUnsignedByte();
989 vd.
entryTime = myParent.myInput.readDouble();
991 myParent.myInput.readUnsignedByte();
992 vd.
leaveTime = myParent.myInput.readDouble();
994 myParent.myInput.readUnsignedByte();
995 vd.
typeID = myParent.myInput.readString();
997 result.push_back(vd);
1007 std::vector<std::string>
1032 std::vector<std::string>
1057 std::vector<std::string>
1062 std::vector<std::string>
1072 std::vector<libsumo::TraCIConnection>
1074 std::vector<libsumo::TraCIConnection> ret;
1077 myParent.myInput.readUnsignedByte();
1078 myParent.myInput.readInt();
1080 int linkNo = myParent.myInput.readInt();
1081 for (
int i = 0; i < linkNo; ++i) {
1083 myParent.myInput.readUnsignedByte();
1084 std::string approachedLane = myParent.myInput.readString();
1086 myParent.myInput.readUnsignedByte();
1087 std::string approachedLaneInternal = myParent.myInput.readString();
1089 myParent.myInput.readUnsignedByte();
1090 bool hasPrio = myParent.myInput.readUnsignedByte() != 0;
1092 myParent.myInput.readUnsignedByte();
1093 bool isOpen = myParent.myInput.readUnsignedByte() != 0;
1095 myParent.myInput.readUnsignedByte();
1096 bool hasFoe = myParent.myInput.readUnsignedByte() != 0;
1098 myParent.myInput.readUnsignedByte();
1099 std::string state = myParent.myInput.readString();
1101 myParent.myInput.readUnsignedByte();
1102 std::string direction = myParent.myInput.readString();
1104 myParent.myInput.readUnsignedByte();
1105 double length = myParent.myInput.readDouble();
1111 approachedLaneInternal,
1202 std::vector<std::string>
1208 std::vector<std::string>
1210 std::vector<std::string> r;
1216 const int size = myParent.myInput.readInt();
1217 for (
int i = 0; i < size; ++i) {
1218 r.push_back(myParent.myInput.readString());
1224 std::vector<std::string>
1226 return getFoes(laneID,
"");
1234 content.
writeInt((
int)allowedClasses.size());
1235 for (
int i = 0; i < (int)allowedClasses.size(); ++i) {
1246 content.
writeInt((
int)disallowedClasses.size());
1247 for (
int i = 0; i < (int)disallowedClasses.size(); ++i) {
1276 std::vector<std::string>
1287 std::vector<std::string>
1302 std::vector<std::string>
1317 std::vector<std::string>
1480 std::vector<std::string>
1533 if (shape.size() < 256) {
1537 content.
writeInt((
int)shape.size());
1573 int f = fill ? 1 : 0;
1579 for (
int i = 0; i < (int)shape.size(); ++i) {
1600 std::vector<std::string>
1605 std::vector<std::string>
1639 std::vector<std::string>
1649 std::vector<std::string>
1659 std::vector<std::string>
1669 std::vector<std::string>
1679 std::vector<std::string>
1705 std::vector<std::string>
1726 result.
x = myParent.myInput.readDouble();
1727 result.
y = myParent.myInput.readDouble();
1748 result.
x = myParent.myInput.readDouble();
1749 result.
y = myParent.myInput.readDouble();
1750 result.
z = myParent.myInput.readDouble();
1771 result.
edgeID = myParent.myInput.readString();
1772 result.
pos = myParent.myInput.readDouble();
1773 result.
laneIndex = myParent.myInput.readUnsignedByte();
1793 result.
x = myParent.myInput.readDouble();
1794 result.
y = myParent.myInput.readDouble();
1814 return myParent.myInput.readDouble();
1836 return myParent.myInput.readDouble();
1873 std::vector<std::string>
1888 std::vector<libsumo::TraCILogic>
1890 std::vector<libsumo::TraCILogic> ret;
1893 const int logicNo = myParent.myInput.readInt();
1894 for (
int i = 0; i < logicNo; ++i) {
1895 myParent.myInput.readUnsignedByte();
1896 myParent.myInput.readInt();
1897 myParent.myInput.readUnsignedByte();
1898 const std::string programID = myParent.myInput.readString();
1899 myParent.myInput.readUnsignedByte();
1900 const int type = myParent.myInput.readInt();
1901 myParent.myInput.readUnsignedByte();
1902 const int phaseIndex = myParent.myInput.readInt();
1903 myParent.myInput.readUnsignedByte();
1904 const int phaseNumber = myParent.myInput.readInt();
1906 for (
int j = 0; j < phaseNumber; j++) {
1907 myParent.myInput.readUnsignedByte();
1908 myParent.myInput.readInt();
1909 myParent.myInput.readUnsignedByte();
1910 const double duration = myParent.myInput.readDouble();
1911 myParent.myInput.readUnsignedByte();
1912 const std::string state = myParent.myInput.readString();
1913 myParent.myInput.readUnsignedByte();
1914 const double minDur = myParent.myInput.readDouble();
1915 myParent.myInput.readUnsignedByte();
1916 const double maxDur = myParent.myInput.readDouble();
1917 myParent.myInput.readUnsignedByte();
1918 const int numNext = myParent.myInput.readInt();
1919 std::vector<int> next;
1920 for (
int k = 0; k < numNext; k++) {
1921 myParent.myInput.readUnsignedByte();
1922 next.push_back(myParent.myInput.readInt());
1924 myParent.myInput.readUnsignedByte();
1925 const std::string name = myParent.myInput.readString();
1928 myParent.myInput.readUnsignedByte();
1929 const int paramNumber = myParent.myInput.readInt();
1930 for (
int j = 0; j < paramNumber; j++) {
1931 myParent.myInput.readUnsignedByte();
1932 const std::vector<std::string> par = myParent.myInput.readStringList();
1935 ret.emplace_back(logic);
1941 std::vector<std::string>
1946 std::vector<std::vector<libsumo::TraCILink> >
1948 std::vector<std::vector<libsumo::TraCILink> > result;
1952 myParent.myInput.readUnsignedByte();
1953 myParent.myInput.readInt();
1955 int linkNo = myParent.myInput.readInt();
1956 for (
int i = 0; i < linkNo; ++i) {
1957 myParent.myInput.readUnsignedByte();
1958 int no = myParent.myInput.readInt();
1959 std::vector<libsumo::TraCILink> ret;
1960 for (
int i1 = 0; i1 < no; ++i1) {
1961 myParent.myInput.readUnsignedByte();
1962 myParent.myInput.readInt();
1963 std::string from = myParent.myInput.readString();
1964 std::string to = myParent.myInput.readString();
1965 std::string via = myParent.myInput.readString();
1968 result.emplace_back(ret);
2080 for (
int n : p.
next) {
2103 std::vector<std::string>
2413 std::vector<std::string>
2489 std::vector<std::string>
2581 std::vector<std::string>
2596 std::vector<libsumo::TraCINextTLSData>
2598 std::vector<libsumo::TraCINextTLSData> result;
2601 myParent.myInput.readInt();
2603 myParent.myInput.readUnsignedByte();
2604 const int n = myParent.myInput.readInt();
2605 for (
int i = 0; i < n; ++i) {
2607 myParent.myInput.readUnsignedByte();
2608 d.
id = myParent.myInput.readString();
2610 myParent.myInput.readUnsignedByte();
2611 d.
tlIndex = myParent.myInput.readInt();
2613 myParent.myInput.readUnsignedByte();
2614 d.
dist = myParent.myInput.readDouble();
2616 myParent.myInput.readUnsignedByte();
2617 d.
state = (char)myParent.myInput.readByte();
2619 result.push_back(d);
2625 std::vector<libsumo::TraCIBestLanesData>
2627 std::vector<libsumo::TraCIBestLanesData> result;
2630 myParent.myInput.readInt();
2631 myParent.myInput.readUnsignedByte();
2633 const int n = myParent.myInput.readInt();
2634 for (
int i = 0; i < n; ++i) {
2636 myParent.myInput.readUnsignedByte();
2637 info.
laneID = myParent.myInput.readString();
2639 myParent.myInput.readUnsignedByte();
2640 info.
length = myParent.myInput.readDouble();
2642 myParent.myInput.readUnsignedByte();
2643 info.
occupation = myParent.myInput.readDouble();
2645 myParent.myInput.readUnsignedByte();
2648 myParent.myInput.readUnsignedByte();
2651 myParent.myInput.readUnsignedByte();
2652 const int m = myParent.myInput.readInt();
2653 for (
int i = 0; i < m; ++i) {
2657 result.push_back(info);
2664 std::pair<std::string, double>
2671 myParent.myInput.readInt();
2672 myParent.myInput.readUnsignedByte();
2673 const std::string leaderID = myParent.myInput.readString();
2674 myParent.myInput.readUnsignedByte();
2675 const double gap = myParent.myInput.readDouble();
2676 return std::make_pair(leaderID, gap);
2689 myParent.myInput.readInt();
2690 myParent.myInput.readUnsignedByte();
2691 const int stateWithoutTraCI = myParent.myInput.readInt();
2692 myParent.myInput.readUnsignedByte();
2693 const int state = myParent.myInput.readInt();
2694 return std::make_pair(stateWithoutTraCI, state);
2785 std::vector<std::string>
2817 const std::string& routeID,
2818 const std::string& typeID,
2820 const std::string& departLane,
2821 const std::string& departPos,
2822 const std::string& departSpeed,
2823 const std::string& arrivalLane,
2824 const std::string& arrivalPos,
2825 const std::string& arrivalSpeed,
2826 const std::string& fromTaz,
2827 const std::string& toTaz,
2828 const std::string& line,
2830 int personNumber)
const {
2832 if (depart ==
"-1") {
2833 depart =
toString(myParent.simulation.getCurrentTime() / 1000.0);
2950 content.
writeInt((
int)edges.size());
2951 for (
int i = 0; i < (int)edges.size(); ++i) {
2961 if (currentTravelTimes) {
2963 std::vector<std::string> edges = myParent.edge.getIDList();
2964 for (std::vector<std::string>::iterator it = edges.begin(); it != edges.end(); ++it) {
2965 myParent.edge.adaptTraveltime(*it, myParent.edge.getTraveltime(*it));
3067 const double duration,
const int flags,
const double startPos,
const double until)
const {
3142 for (
int i = 0; i < (int)via.size(); ++i) {
3188 bool noOpposite,
double downstreamDist,
double upstreamDist)
const {
3191 addSubscriptionFilterNoOpposite();
3193 if (downstreamDist >= 0) {
3194 addSubscriptionFilterDownstreamDistance(downstreamDist);
3196 if (upstreamDist >= 0) {
3197 addSubscriptionFilterUpstreamDistance(upstreamDist);
3220 addSubscriptionFilterLeadFollow(std::vector<int>({0}));
3221 if (downstreamDist >= 0) {
3222 addSubscriptionFilterDownstreamDistance(downstreamDist);
3224 if (upstreamDist >= 0) {
3225 addSubscriptionFilterUpstreamDistance(upstreamDist);
3231 if (abs(direction) != 1) {
3232 std::cerr <<
"Ignoring lane change subscription filter with non-neighboring lane offset direction " << direction <<
"\n";
3235 addSubscriptionFilterLeadFollow(std::vector<int>({0, direction}));
3237 addSubscriptionFilterNoOpposite();
3239 if (downstreamDist >= 0) {
3240 addSubscriptionFilterDownstreamDistance(downstreamDist);
3242 if (upstreamDist >= 0) {
3243 addSubscriptionFilterUpstreamDistance(upstreamDist);
3256 if (downstreamDist >= 0) {
3257 addSubscriptionFilterDownstreamDistance(downstreamDist);
3259 if (upstreamDist >= 0) {
3260 addSubscriptionFilterUpstreamDistance(upstreamDist);
3312 for (
int i : vals) {
3324 std::vector<std::string>
3413 std::vector<std::string>
3424 while (getRemainingStages(personID) > 1) {
3425 removeStage(personID, 1);
3427 removeStage(personID, 0);
3648 myParent.processSet(myCmdSetID);
3654 myParent.send_commandSubscribeObjectVariable(mySubscribeID, objID, beginTime, endTime, vars);
3656 myParent.check_resultState(inMsg, mySubscribeID);
3657 if (vars.size() > 0) {
3658 myParent.check_commandGetResult(inMsg, mySubscribeID);
3659 myParent.readVariableSubscription(mySubscribeID + 0x10, inMsg);
3666 myParent.send_commandSubscribeObjectContext(myContextSubscribeID, objID, beginTime, endTime, domain, range, vars);
3668 myParent.check_resultState(inMsg, myContextSubscribeID);
3669 myParent.check_commandGetResult(inMsg, myContextSubscribeID);
3670 myParent.readContextSubscription(myContextSubscribeID + 0x60, inMsg);
3676 return mySubscriptionResults;
3682 if (mySubscriptionResults.find(objID) != mySubscriptionResults.end()) {
3683 return mySubscriptionResults.find(objID)->second;
3692 return myContextSubscriptionResults;
3698 if (myContextSubscriptionResults.find(objID) != myContextSubscriptionResults.end()) {
3699 return myContextSubscriptionResults.find(objID)->second;
3708 mySubscriptionResults.clear();
3709 myContextSubscriptionResults.clear();
3715 return mySubscriptionResults;
3721 return myContextSubscriptionResults[objID];
double getCO2Emission(const std::string &edgeID) const
TRACI_CONST int CMD_GET_TL_VARIABLE
std::pair< std::string, double > getLeader(const std::string &vehicleID, double dist) const
void setLength(const std::string &personID, double length) const
std::string getProgram(const std::string &tlsID) const
TRACI_CONST int VAR_LANE_ID
double getHeight(const std::string &poiID) const
TRACI_CONST int FILTER_TYPE_VCLASS
double getAllowedSpeed(const std::string &vehicleID) const
TRACI_CONST int VAR_VIEW_SCHEMA
void addSubscriptionFilterNoOpposite() const
double getFuelConsumption(const std::string &edgeID) const
TRACI_CONST int TL_PHASE_INDEX
TRACI_CONST int VAR_SPEEDSETMODE
TRACI_CONST int VAR_HEIGHT
int getArrivedNumber() const
void add(const std::string &poiID, double x, double y, const libsumo::TraCIColor &c, const std::string &type, int layer, const std::string &imgFile, double width, double height, double angle) const
virtual double readDouble()
double getHeight(const std::string &typeID) const
TRACI_CONST int LAST_STEP_VEHICLE_HALTING_NUMBER
std::vector< std::string > getIDList() const
libsumo::TraCIPosition getPosition(const std::string &vehicleID) const
TRACI_CONST int CMD_GET_POLYGON_VARIABLE
std::vector< std::string > getRoute(const std::string &vehicleID) const
double getSpeedWithoutTraCI(const std::string &vehicleID) const
void changeLane(const std::string &vehicleID, int laneIndex, double duration) const
void changeLaneRelative(const std::string &vehicleID, int laneChange, double duration) const
TRACI_CONST int VAR_LOADED_VEHICLES_NUMBER
void setType(const std::string &personID, const std::string &typeID) const
void changeTarget(const std::string &vehicleID, const std::string &edgeID) const
TRACI_CONST int CMD_SET_GUI_VARIABLE
TRACI_CONST int STAGE_WAITING
double getLastStepMeanSpeed(const std::string &detID) const
void setMaxSpeed(const std::string &vehicleID, double speed) const
int getPersonNumber(const std::string &vehicleID) const
std::string getSchema(const std::string &viewID=DEFAULT_VIEW) const
std::string getRoadID(const std::string &vehicleID) const
TRACI_CONST int TYPE_COLOR
TRACI_CONST int VAR_ROUTE_INDEX
libsumo::TraCIPosition getPosition3D(const std::string &vehicleID) 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
TRACI_CONST int TL_CURRENT_PHASE
void addSubscriptionFilterCFManeuver(double downstreamDist=-1, double upstreamDist=-1) const
double getNOxEmission(const std::string &laneID) const
double getMinGapLat(const std::string &typeID) const
double getAngle(const std::string &personID) const
double getMaxSpeedLat(const std::string &typeID) const
LaneScope lane
Scope for interaction with lanes.
double getNOxEmission(const std::string &edgeID) const
std::vector< std::string > getIDList() const
std::vector< std::string > getInternalFoes(const std::string &laneID) const
void readContextSubscription(int cmdId, tcpip::Storage &inMsg)
TRACI_CONST int TL_CONTROLLED_LINKS
void close()
ends the simulation and closes the connection
double getHCEmission(const std::string &laneID) const
TRACI_CONST int VAR_EMISSIONCLASS
TRACI_CONST double INVALID_DOUBLE_VALUE
TRACI_CONST int VAR_POSITION
bool processSet(int command)
std::vector< std::string > getFoes(const std::string &laneID, const std::string &toLaneID) const
double getTau(const std::string &typeID) const
TRACI_CONST int VAR_FUELCONSUMPTION
double getLastStepLength(const std::string &laneID) const
libsumo::TraCIPosition getPosition(const std::string &poiID) const
std::vector< std::string > getIDList() const
TRACI_CONST int VAR_MINGAP
TRACI_CONST int POSITION_3D
std::string getType(const std::string &poiID) const
void moveTo(const std::string &vehicleID, const std::string &laneID, double position) const
TRACI_CONST int TL_PROGRAM
TRACI_CONST int VAR_STAGES_REMAINING
TRACI_CONST int VAR_TELEPORT_ENDING_VEHICLES_NUMBER
double getNoiseEmission(const std::string &edgeID) const
TRACI_CONST int VAR_SPEED_WITHOUT_TRACI
TRACI_CONST int VAR_ROAD_ID
std::map< int, std::shared_ptr< TraCIResult > > TraCIResults
{variable->value}
libsumo::TraCIPosition getPosition(const std::string &personID) const
void setSpeedFactor(const std::string &vehicleID, double factor) const
TRACI_CONST int VAR_MAXSPEED
const libsumo::SubscriptionResults getContextSubscriptionResults(const std::string &objID) const
void setRoutingMode(const std::string &vehicleID, int routingMode) const
TRACI_CONST int CMD_CLOSE
int getLastStepVehicleNumber(const std::string &detID) const
virtual void writeUnsignedByte(int)
double getLength(const std::string &vehicleID) const
JunctionScope junction
Scope for interaction with junctions.
void setAngle(const std::string &poiID, double angle) const
TRACI_CONST int TL_COMPLETE_PROGRAM_RYG
void send_commandSetOrder(int order) const
Sends a SetOrder command.
double getMinGap(const std::string &vehicleID) const
void setPhase(const std::string &tlsID, int index) const
void addSubscriptionFilterStringList(int filterType, const std::vector< std::string > &vals) const
TRACI_CONST int VAR_TELEPORT_STARTING_VEHICLES_NUMBER
TRACI_CONST int VAR_COLOR
TRACI_CONST int TL_NEXT_SWITCH
std::string getVehicle(const std::string &personID) const
void setShapeClass(const std::string &typeID, const std::string &shapeClass) const
TRACI_CONST int VAR_SIGNALS
void add(const std::string &polygonID, const libsumo::TraCIPositionVector &shape, const libsumo::TraCIColor &c, bool fill, const std::string &type, int layer) const
TRACI_CONST int CMD_GET_PERSON_VARIABLE
virtual std::vector< std::string > readStringList()
double getSpeedDeviation(const std::string &typeID) const
void setImageFile(const std::string &poiID, const std::string &imageFile) const
TRACI_CONST int CMD_SET_POI_VARIABLE
int bestLaneOffset
The offset of this lane from the best lane.
libsumo::TraCIPositionVector getPolygon(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
TRACI_CONST int TL_PHASE_DURATION
TRACI_CONST int RESPONSE_SUBSCRIBE_GUI_VARIABLE
double getDistanceRoad(const std::string &edgeID1, double pos1, const std::string &edgeID2, double pos2, bool isDriving=false)
void setSpeedMode(const std::string &vehicleID, int mode) const
std::string getRedYellowGreenState(const std::string &tlsID) const
void subscribe(const std::string &objID, const std::vector< int > &vars, double beginTime, double endTime) const
PersonScope person
Scope for interaction with persons.
TRACI_CONST int VAR_WAITING_TIME
TRACI_CONST int VAR_BUS_STOP_WAITING
TRACI_CONST int VAR_WIDTH
std::vector< std::string > getIDList() const
TRACI_CONST int CMD_SET_POLYGON_VARIABLE
void setMinGap(const std::string &typeID, double minGap) const
std::vector< libsumo::TraCIConnection > getLinks(const std::string &laneID) const
void connect()
Connects to host_:port_.
TRACI_CONST int VAR_ALLOWED_SPEED
void addSubscriptionFilterTurn(double downstreamDist=-1, double upstreamDist=-1) const
void setAllowed(const std::string &laneID, const std::vector< std::string > &allowedClasses) const
TRACI_CONST int CMD_GET_LANEAREA_VARIABLE
void setOrder(int order)
set priority (execution order) for the client
TRACI_CONST int LANE_DISALLOWED
std::vector< std::string > getLastStepVehicleIDs(const std::string &laneID) const
double getNoiseEmission(const std::string &vehicleID) const
int getDepartedNumber() const
void setOffset(const std::string &viewID, double x, double y) const
double getSlope(const std::string &vehicleID) const
TRACI_CONST int VAR_PERSON_NUMBER
TRACI_CONST int RESPONSE_SUBSCRIBE_EDGE_VARIABLE
libsumo::TraCIPositionVector getNetBoundary() const
int getMinExpectedNumber() const
TRACI_CONST int CMD_CHANGETARGET
TRACI_CONST int CMD_SET_SIM_VARIABLE
double leaveTime
Leave-time of the vehicle in [s].
TRACI_CONST int VAR_COEMISSION
TRACI_CONST int VAR_VEHICLECLASS
void remove(const std::string &vehicleID, char reason=libsumo::REMOVE_VAPORIZED) const
void setPhaseName(const std::string &tlsID, const std::string &name) const
int getLastStepHaltingNumber(const std::string &detID) const
std::map< std::string, SubscriptionResults > ContextSubscriptionResults
std::vector< std::string > getIDList() const
double getLanePosition(const std::string &vehicleID) const
TRACI_CONST int VAR_PARAMETER
std::vector< std::vector< libsumo::TraCILink > > getControlledLinks(const std::string &tlsID) const
std::string getLateralAlignment(const std::string &vehicleID) const
TRACI_CONST int VAR_ACCEL
std::vector< std::string > getIDList() const
TRACI_CONST int TYPE_BYTE
double getWaitingTime(const std::string &personID) const
int tlIndex
The tls index of the controlled link.
void setSignals(const std::string &vehicleID, int signals) const
TRACI_CONST int VAR_TIME_STEP
void setWidth(const std::string &poiID, double width) const
double getElectricityConsumption(const std::string &edgeID) const
TRACI_CONST int VAR_EDGE_TRAVELTIME
libsumo::TraCIStage getStage(const std::string &personID, int nextStageIndex=0) const
std::map< int, TraCIScopeWrapper * > myDomains
TRACI_CONST int LAST_STEP_VEHICLE_ID_LIST
TRACI_CONST int APPEND_STAGE
TRACI_CONST int INVALID_INT_VALUE
std::string intended
id of the intended vehicle for public transport ride
TRACI_CONST int VAR_MOVE_TO
void createFilterCommand(int cmdID, int varID, tcpip::Storage *add=nullptr) const
TRACI_CONST int FILTER_TYPE_FIELD_OF_VISION
void setVehicleClass(const std::string &typeID, const std::string &clazz) const
double getMaxSpeed(const std::string &typeID) const
const libsumo::ContextSubscriptionResults getAllContextSubscriptionResults() const
int getRouteIndex(const std::string &vehicleID) const
TRACI_CONST int VAR_VEHICLE
TRACI_CONST int VAR_NOISEEMISSION
void addSubscriptionFilterVType(const std::vector< std::string > &vTypes) const
TRACI_CONST int VAR_LEADER
void rerouteTraveltime(const std::string &vehicleID, bool currentTravelTimes=true) const
TRACI_CONST int CMD_GET_LANE_VARIABLE
mirrors MSInductLoop::VehicleData
double getLength(const std::string &laneID) const
double getMaxSpeed(const std::string &vehicleID) const
void setLine(const std::string &vehicleID, const std::string &line) const
libsumo::TraCIPositionVector getShape(const std::string &laneID) const
TRACI_CONST int RESPONSE_SUBSCRIBE_ROUTE_VARIABLE
std::vector< std::string > getStartingTeleportIDList() const
TRACI_CONST int VAR_ROUTE_ID
int getLastStepHaltingNumber(const std::string &laneID) const
std::vector< std::string > getBusStopWaitingIDList(const std::string &stopID) const
double getCO2Emission(const std::string &vehicleID) const
double dist
The distance to the tls.
libsumo::TraCIStage getTraCIStage(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void setEmissionClass(const std::string &vehicleID, const std::string &clazz) const
libsumo::TraCIColor getColor(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
std::string getEdgeID(const std::string &laneID) const
void setWidth(const std::string &personID, double width) const
int getStartingTeleportNumber() const
void rerouteTraveltime(const std::string &personID) const
TRACI_CONST int CMD_GET_VEHICLE_VARIABLE
TRACI_CONST int CMD_SET_VEHICLE_VARIABLE
TRACI_CONST int CMD_GET_VEHICLETYPE_VARIABLE
TRACI_CONST int FIND_ROUTE
TRACI_CONST int VAR_BUS_STOP_WAITING_IDS
double getLastStepMeanSpeed(const std::string &loopID) const
std::vector< std::string > getLastStepVehicleIDs(const std::string &edgeID) const
TRACI_CONST int CMD_ADD_SUBSCRIPTION_FILTER
double arrivalPos
position on the lane when ending the stage
std::vector< std::string > getIDList() const
TRACI_CONST int RESPONSE_SUBSCRIBE_VEHICLE_VARIABLE
void addSubscriptionFilterFloat(int filterType, double val) const
void setRedYellowGreenState(const std::string &tlsID, const std::string &state) const
TRACI_CONST int LAST_STEP_VEHICLE_DATA
void createCommand(int cmdID, int varID, const std::string &objID, tcpip::Storage *add=nullptr) const
Sends a GetVariable / SetVariable request if mySocket is connected. Otherwise writes to myOutput only...
double getLastStepOccupancy(const std::string &edgeID) const
bool allowsContinuation
Whether this lane allows continuing the route.
TRACI_CONST int FILTER_TYPE_UPSTREAM_DIST
virtual void writeByte(int)
void setHeight(const std::string &poiID, double height) const
std::vector< std::string > getLastStepVehicleIDs(const std::string &detID) const
void addSubscriptionFilterLCManeuver(int direction, bool noOpposite=false, double downstreamDist=-1, double upstreamDist=-1) const
double getImperfection(const std::string &vehicleID) const
void screenshot(const std::string &viewID, const std::string &filename, const int width=-1, const int height=-1) const
void appendDrivingStage(const std::string &personID, const std::string &toEdge, const std::string &lines, const std::string &stopID="")
TRACI_CONST int VAR_BEST_LANES
double getNOxEmission(const std::string &vehicleID) const
double getPMxEmission(const std::string &laneID) const
void setSpeedDeviation(const std::string &typeID, double deviation) const
TRACI_CONST int FILTER_TYPE_LEAD_FOLLOW
TRACI_CONST int VAR_NOXEMISSION
libsumo::TraCIPosition getOffset(const std::string &viewID=DEFAULT_VIEW) const
TRACI_CONST int VAR_CURRENT_TRAVELTIME
TRACI_CONST int FILTER_TYPE_NOOPPOSITE
std::string getParameter(const std::string &objectID, const std::string &key) const
retrieve generic paramter
double getPMxEmission(const std::string &edgeID) const
double getLateralSpeed(const std::string &vehicleID) const
void load(const std::vector< std::string > &args)
Let sumo load a simulation using the given command line like options.
TRACI_CONST int CMD_SETORDER
void addSubscriptionFilterLeadFollow(const std::vector< int > &lanes) const
double getHeight(const std::string &veihcleID) const
int getEndingTeleportNumber() const
void remove(const std::string &polygonID, int layer=0) const
TRACI_CONST int VAR_MINGAP_LAT
std::string getStreetName(const std::string &id) const
int getStopState(const std::string &vehicleID) const
std::vector< std::string > getDisallowed(const std::string &laneID) const
TRACI_CONST int VAR_STOPSTATE
void setHeight(const std::string &personID, double height) const
int getLastStepVehicleNumber(const std::string &laneID) const
TRACI_CONST int VAR_SHAPE
void closeSocket()
Closes the connection.
char state
The current state of the tls.
double travelTime
duration of the stage in seconds
virtual int readUnsignedByte()
virtual void writeInt(int)
double occupation
The traffic density along length.
void addSubscriptionFilterUpstreamDistance(double dist) const
TRACI_CONST int VAR_LATALIGNMENT
TRACI_CONST int VAR_ACCUMULATED_WAITING_TIME
TRACI_CONST int FILTER_TYPE_TURN
void simulationStep(double time=0)
Advances by one step (or up to the given time)
TRACI_CONST int TYPE_DOUBLE
void setColor(const std::string &vehicleID, const libsumo::TraCIColor &c) const
TRACI_CONST int TYPE_POLYGON
virtual unsigned int position() const
TRACI_CONST int RESPONSE_SUBSCRIBE_POI_VARIABLE
TRACI_CONST int RESPONSE_SUBSCRIBE_PERSON_VARIABLE
void send_commandSubscribeObjectVariable(int domID, const std::string &objID, double beginTime, double endTime, const std::vector< int > &vars) const
Sends a SubscribeVariable request.
void setColor(const std::string &typeID, const libsumo::TraCIColor &c) const
TRACI_CONST int CMD_GET_POI_VARIABLE
virtual std::string readString()
TRACI_CONST int VAR_NET_BOUNDING_BOX
double getLastStepOccupancy(const std::string &laneID) const
libsumo::TraCIPosition convert2D(const std::string &edgeID, double pos, int laneIndex=0, bool toGeo=false) const
void setType(const std::string &vehicleID, const std::string &typeID) const
void addSubscriptionFilterFieldOfVision(double angle) const
TrafficLightScope trafficlights
Scope for interaction with traffic lights.
TRACI_CONST int VAR_VIEW_ZOOM
double getNextSwitch(const std::string &tlsID) const
int getInt(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
TRACI_CONST int VAR_ROUTE_VALID
std::string description
arbitrary description string
TRACI_CONST int VAR_ANGLE
void setSchema(const std::string &viewID, const std::string &schemeName) const
TRACI_CONST int FILTER_TYPE_VTYPE
TRACI_CONST int POSITION_LON_LAT
TRACI_CONST int TYPE_INTEGER
void addSubscriptionFilterDownstreamDistance(double dist) const
void addSubscriptionFilterLanes(const std::vector< int > &lanes, bool noOpposite=false, double downstreamDist=-1, double upstreamDist=-1) const
double getHCEmission(const std::string &edgeID) const
std::string typeID
Type of the vehicle in.
std::string getImageFile(const std::string &poiID) const
double length
The length than can be driven from that lane without lane change.
void readVariables(tcpip::Storage &inMsg, const std::string &objectID, int variableCount, libsumo::SubscriptionResults &into)
TRACI_CONST int VAR_DEPARTED_VEHICLES_IDS
TRACI_CONST int CMD_SET_VEHICLETYPE_VARIABLE
double getElectricityConsumption(const std::string &vehicleID) const
TRACI_CONST int VAR_NEXT_EDGE
virtual void writeStorage(tcpip::Storage &store)
int getLaneIndex(const std::string &vehicleID) const
static std::string toString(const T &t, std::streamsize accuracy=PRECISION)
double getWidth(const std::string &typeID) const
TRACI_CONST int RESPONSE_SUBSCRIBE_LANEAREA_VARIABLE
TRACI_CONST int RESPONSE_SUBSCRIBE_VEHICLETYPE_VARIABLE
std::vector< libsumo::TraCIVehicleData > getVehicleData(const std::string &loopID) const
std::vector< std::string > getEndingTeleportIDList() const
double getLanePosition(const std::string &personID) const
virtual void writeStringList(const std::vector< std::string > &s)
std::string line
The line or the id of the vehicle type.
TRACI_CONST int VAR_DELTA_T
void writeMessage(const std::string msg)
TRACI_CONST int TL_CONTROLLED_LANES
void setMaxSpeed(const std::string &typeID, double speed) const
TRACI_CONST int VAR_SLOPE
TRACI_CONST int STAGE_WALKING
libsumo::TraCIPosition convert3D(const std::string &edgeID, double pos, int laneIndex=0, bool toGeo=false) const
TRACI_CONST int CMD_SET_LANE_VARIABLE
TRACI_CONST int RTYPE_ERR
TRACI_CONST int VAR_PMXEMISSION
void setParameter(const std::string &objectID, const std::string &key, const std::string &value) const
set generic paramter
libsumo::TraCIPosition getPosition(const std::string &junctionID) const
libsumo::TraCIPositionVector getBoundary(const std::string &viewID=DEFAULT_VIEW) const
std::vector< std::string > getVia(const std::string &vehicleID) const
TRACI_CONST int CMD_CHANGESUBLANE
void setLength(const std::string &typeID, double length) const
std::vector< std::string > getIDList() const
double getFuelConsumption(const std::string &laneID) const
double getLastStepHaltingNumber(const std::string &edgeID) const
std::string getEmissionClass(const std::string &vehicleID) const
std::string getLateralAlignment(const std::string &typeID) const
TRACI_CONST int VAR_TELEPORT_ENDING_VEHICLES_IDS
TRACI_CONST int VAR_TELEPORT_STARTING_VEHICLES_IDS
int getPersonCapacity(const std::string &typeID) const
void setMinGap(const std::string &personID, double minGap) const
libsumo::TraCIPosition getPosition3D(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
double getSpeed(const std::string &vehicleID) const
libsumo::TraCIColor getColor(const std::string &typeID) const
void send_commandSubscribeObjectContext(int domID, const std::string &objID, double beginTime, double endTime, int domain, double range, const std::vector< int > &vars) const
Sends a SubscribeContext request.
TRACI_CONST int CMD_SET_TL_VARIABLE
TRACI_CONST int CMD_SET_PERSON_VARIABLE
std::string getType(const std::string &polygonID) const
TRACI_CONST int CMD_GET_SIM_VARIABLE
std::vector< std::string > getStringVector(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void setMinGapLat(const std::string &typeID, double minGapLat) const
int getPhase(const std::string &tlsID) const
void setWidth(const std::string &typeID, double width) const
RouteScope route
Scope for interaction with routes.
void setZoom(const std::string &viewID, double zoom) const
void setEmissionClass(const std::string &typeID, const std::string &clazz) const
void setType(const std::string &poiID, const std::string &setType) const
double getLastStepMeanSpeed(const std::string &edgeID) const
void setHeight(const std::string &typeID, double height) 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="")
double getHCEmission(const std::string &vehicleID) const
TRACI_CONST int TRACI_ID_LIST
double getTraveltime(const std::string &laneID) const
TRACI_CONST int CMD_CHANGELANE
TraCIAPI & myParent
The parent TraCI client which offers the connection.
int getLastStepVehicleNumber(const std::string &loopID) const
double getPosition(const std::string &loopID) const
TRACI_CONST int VAR_ARRIVED_VEHICLES_NUMBER
double getMaxSpeed(const std::string &laneID) const
std::string id
The id of the vehicle.
double getAccel(const std::string &vehicleID) const
libsumo::TraCIPositionVector getShape(const std::string &junctionID) const
double getMinGap(const std::string &typeID) const
void setDecel(const std::string &typeID, double decel) const
MeMeScope multientryexit
Scope for interaction with multi-entry/-exit detectors.
std::vector< libsumo::TraCILogic > getCompleteRedYellowGreenDefinition(const std::string &tlsID) const
std::string laneID
The id of the lane.
std::vector< std::string > getEdges(const std::string &routeID) const
double getTimeSinceDetection(const std::string &loopID) const
TRACI_CONST int POSITION_ROADMAP
std::vector< std::string > getLastStepVehicleIDs(const std::string &loopID) const
void setVia(const std::string &vehicleID, const std::vector< std::string > &via) const
double getCOEmission(const std::string &vehicleID) const
double getWidth(const std::string &vehicleID) const
double getCOEmission(const std::string &laneID) const
TRACI_CONST int DISTANCE_REQUEST
int getSignals(const std::string &vehicleID) const
double getLastStepMeanSpeed(const std::string &laneID) const
SimulationScope simulation
Scope for interaction with the simulation.
void setShapeClass(const std::string &vehicleID, const std::string &clazz) const
double getDecel(const std::string &typeID) const
std::vector< std::string > getDepartedIDList() const
TRACI_CONST int VAR_SPEED_FACTOR
TRACI_CONST int RESPONSE_SUBSCRIBE_JUNCTION_VARIABLE
TRACI_CONST int VAR_SPEED_DEVIATION
double getSpeedFactor(const std::string &vehicleID) const
double getAngle(const std::string &vehicleID) const
std::vector< libsumo::TraCIBestLanesData > getBestLanes(const std::string &vehicleID) const
TRACI_CONST int CMD_SLOWDOWN
double depart
intended depart time for public transport ride or INVALID_DOUBLE_VALUE
double getPhaseDuration(const std::string &tlsID) const
TRACI_CONST int VAR_LENGTH
std::string getNextEdge(const std::string &personID) const
double getLateralLanePosition(const std::string &vehicleID) const
int getUnsignedByte(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void slowDown(const std::string &vehicleID, double speed, double duration) const
void setStop(const std::string vehicleID, const std::string edgeID, const double endPos=1., const int laneIndex=0, const double duration=std::numeric_limits< double >::max(), const int flags=0, const double startPos=std::numeric_limits< int >::min(), const double until=-1) const
int getCurrentTime() const
libsumo::TraCIColor getColor(const std::string &polygonID) const
libsumo::TraCIColor getColor(const std::string &personID) const
TRACI_CONST int CMD_MESSAGE
TRACI_CONST int RESPONSE_SUBSCRIBE_MULTIENTRYEXIT_VARIABLE
void setLineWidth(const std::string &polygonID, const double lineWidth) const
void trackVehicle(const std::string &viewID, const std::string &vehID) const
TRACI_CONST int VAR_DISTANCE
TRACI_CONST int VAR_EMERGENCY_DECEL
TRACI_CONST int RESPONSE_SUBSCRIBE_LANE_VARIABLE
double getWaitingTime(const std::string &vehicleID) const
void adaptTraveltime(const std::string &edgeID, double time, double beginSeconds=0., double endSeconds=std::numeric_limits< double >::max()) const
std::vector< std::string > getControlledLanes(const std::string &tlsID) const
tcpip::Storage myOutput
The reusable output storage.
TRACI_CONST int LANE_EDGE_ID
TRACI_CONST int TYPE_STRINGLIST
void setColor(const std::string &poiID, const libsumo::TraCIColor &c) const
std::string getVehicleClass(const std::string &typeID) const
void addSubscriptionFilterByteList(int filterType, const std::vector< int > &vals) const
std::string getPhaseName(const std::string &tlsID) const
TRACI_CONST int VAR_EDGES
TRACI_CONST int TL_CURRENT_PROGRAM
void removeStage(const std::string &personID, int nextStageIndex) const
std::vector< std::string > getArrivedIDList() const
libsumo::TraCIRoadPosition convertRoad(double x, double y, bool isGeo=false, const std::string &vClass="ignoring") const
double length
Length of the vehicle.
TRACI_CONST int RESPONSE_SUBSCRIBE_TL_VARIABLE
void changeSublane(const std::string &vehicleID, double latDist) const
void setColor(const std::string &polygonID, const libsumo::TraCIColor &c) const
virtual void writeString(const std::string &s)
std::string getShapeClass(const std::string &vehicleID) const
std::string id
The id of the next tls.
void remove(const std::string &poiID, int layer=0) const
double getWidth(const std::string &laneID) const
std::string getRouteID(const std::string &vehicleID) const
std::vector< TraCIPhase > phases
void setSpeedFactor(const std::string &typeID, double factor) const
TRACI_CONST int CMD_GET_GUI_VARIABLE
bool processGet(int command, int expectedType, bool ignoreCommandId=false)
TRACI_CONST int VAR_SHAPECLASS
TRACI_CONST int VAR_CO2EMISSION
int check_commandGetResult(tcpip::Storage &inMsg, int command, int expectedType=-1, bool ignoreCommandId=false) const
Validates the result state of a command.
std::string getLine(const std::string &vehicleID) const
double getDistance(const std::string &vehicleID) const
std::vector< std::string > getIDList() const
int getByte(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
libsumo::TraCIColor getColor(const std::string &poiID) const
TRACI_CONST int CMD_GET_MULTIENTRYEXIT_VARIABLE
TRACI_CONST int VAR_LANEPOSITION_LAT
TRACI_CONST int RESPONSE_SUBSCRIBE_SIM_VARIABLE
std::string getRoadID(const std::string &personID) const
TRACI_CONST int LANE_LINK_NUMBER
int type
The type of stage (walking, driving, ...)
double getImperfection(const std::string &typeID) const
TRACI_CONST int FILTER_TYPE_DOWNSTREAM_DIST
double getDistance2D(double x1, double y1, double x2, double y2, bool isGeo=false, bool isDriving=false)
double getDouble(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
VehicleScope vehicle
Scope for interaction with vehicles.
void setLength(const std::string &laneID, double length) const
TRACI_CONST int LAST_STEP_PERSON_ID_LIST
TRACI_CONST int LANE_ALLOWED
void setEffort(const std::string &edgeID, double effort, double beginSeconds=0., double endSeconds=std::numeric_limits< double >::max()) const
libsumo::SubscriptionResults & getModifiableContextSubscriptionResults(const std::string &objID)
TRACI_CONST int POSITION_2D
void setMaxSpeedLat(const std::string &typeID, double speed) const
TRACI_CONST int RESPONSE_SUBSCRIBE_POLYGON_VARIABLE
std::vector< std::string > getIDList() const
TRACI_CONST int CMD_OPENGAP
double getApparentDecel(const std::string &typeID) const
std::vector< std::string > getAllowed(const std::string &laneID) const
double getAccumulatedWaitingTime(const std::string &vehicleID) const
TRACI_CONST int CMD_GET_INDUCTIONLOOP_VARIABLE
TRACI_CONST int LAST_STEP_MEAN_SPEED
double getLastStepOccupancy(const std::string &loopID) const
void setSpeed(const std::string &vehicleID, double speed) const
void setAccel(const std::string &typeID, double accel) const
TRACI_CONST int TYPE_STRING
void copy(const std::string &origTypeID, const std::string &newTypeID) const
TRACI_CONST int VAR_EDGE_EFFORT
std::vector< std::string > edges
The sequence of edges to travel.
TRACI_CONST int VAR_NEXT_TLS
std::pair< int, int > getLaneChangeState(const std::string &vehicleID, int direction) const
TRACI_CONST int VAR_SPEED_LAT
void clearSubscriptionResults()
void setCompleteRedYellowGreenDefinition(const std::string &tlsID, const libsumo::TraCILogic &logic) const
int getLaneNumber(const std::string &edgeID) const
bool isRouteValid(const std::string &vehicleID) const
void addSubscriptionFilterEmpty(int filterType) const
TRACI_CONST int TL_RED_YELLOW_GREEN_STATE
TRACI_CONST int VAR_TRACK_VEHICLE
double getAdaptedTraveltime(const std::string &edgeID, double time) const
PolygonScope polygon
Scope for interaction with polygons.
TRACI_CONST int VAR_LANEPOSITION
TRACI_CONST int VAR_POSITION3D
TRACI_CONST int VAR_ACCELERATION
TRACI_CONST int VAR_DEPARTED_VEHICLES_NUMBER
std::string getEmissionClass(const std::string &typeID) const
int getLoadedNumber() const
LaneAreaScope lanearea
Scope for interaction with lanes.
TRACI_CONST int POSITION_CONVERSION
std::string getLaneID(const std::string &loopID) const
void setDisallowed(const std::string &laneID, const std::vector< std::string > &disallowedClasses) const
void send_commandSimulationStep(double time) const
Sends a SimulationStep command.
void setImperfection(const std::string &typeID, double imperfection) const
double getSpeedDeviation(const std::string &vehicleID) const
std::string getShapeClass(const std::string &typeID) const
void setPhaseDuration(const std::string &tlsID, double phaseDuration) const
TRACI_CONST int CMD_SET_EDGE_VARIABLE
TRACI_CONST int POSITION_LON_LAT_ALT
double getCO2Emission(const std::string &laneID) const
void send_commandClose() const
Sends a Close command.
TRACI_CONST int VAR_DECEL
void setPosition(const std::string &poiID, double x, double y) const
std::string getLaneID(const std::string &vehicleID) const
void setRouteID(const std::string &vehicleID, const std::string &routeID) const
TRACI_CONST int FILTER_TYPE_LANES
TRACI_CONST int TYPE_UBYTE
libsumo::TraCIPosition getPosition(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
libsumo::TraCIPositionVector getShape(const std::string &polygonID) const
POIScope poi
Scope for interaction with POIs.
double getLength(const std::string &personID) const
void setTau(const std::string &typeID, double tau) const
double getTau(const std::string &vehicleID) const
libsumo::SubscriptionResults & getModifiableSubscriptionResults()
StorageType::size_type size() const
int getPersonCapacity(const std::string &vehicleID) const
int getLastStepVehicleNumber(const std::string &edgeID) const
void setShape(const std::string &polygonID, const libsumo::TraCIPositionVector &shape) const
TRACI_CONST int VAR_ELECTRICITYCONSUMPTION
TRACI_CONST int REQUEST_AIRDIST
TRACI_CONST int MOVE_TO_XY
TRACI_CONST int VAR_VIEW_OFFSET
double getZoom(const std::string &viewID=DEFAULT_VIEW) const
double getSpeedFactor(const std::string &typeID) const
TRACI_CONST int VAR_LOADED_VEHICLES_IDS
TRACI_CONST int STAGE_DRIVING
void setRoute(const std::string &vehicleID, const std::vector< std::string > &edge) const
double getMaxSpeedLat(const std::string &vehicleID) const
double getAcceleration(const std::string &vehicleID) const
std::map< std::string, std::string > subParameter
An edgeId, position and laneIndex.
std::vector< std::string > getLoadedIDList() const
void removeStages(const std::string &personID) const
TRACI_CONST int VAR_HCEMISSION
void setLateralAlignment(const std::string &typeID, const std::string &latAlignment) const
void setColor(const std::string &personID, const libsumo::TraCIColor &c) const
std::string getVehicleClass(const std::string &vehicleID) const
double getLastStepLength(const std::string &edgeID) 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
TRACI_CONST int VAR_IMPERFECTION
GUIScope gui
Scope for interaction with the gui.
int getSpeedMode(const std::string &vehicleID) const
TRACI_CONST int VAR_ARRIVED_VEHICLES_IDS
void add(const std::string &routeID, const std::vector< std::string > &edges) const
void setEmergencyDecel(const std::string &typeID, double decel) const
std::vector< std::string > getIDList() const
TRACI_CONST int VAR_SPEED
void setMaxSpeed(const std::string &edgeID, double speed) const
TRACI_CONST int LAST_STEP_VEHICLE_NUMBER
void setType(const std::string &polygonID, const std::string &setType) const
virtual void writeDouble(double)
std::vector< TraCIPosition > TraCIPositionVector
libsumo::TraCIStage findRoute(const std::string &fromEdge, const std::string &toEdge, const std::string &vType="", double pos=-1., int routingMode=0) const
TRACI_CONST int VAR_APPARENT_DECEL
TRACI_CONST int LANE_LINKS
std::vector< std::string > continuationLanes
The sequence of lanes that best allows continuing the route without lane change.
libsumo::TraCIPosition convertGeo(double x, double y, bool fromGeo=false) const
void readVariableSubscription(int cmdId, tcpip::Storage &inMsg)
double departPos
position on the lane when starting the stage
double getTraveltime(const std::string &edgeID) const
TRACI_CONST int VAR_VIEW_BOUNDARY
std::string getTypeID(const std::string &vehicleID) const
TRACI_CONST int VAR_MAXSPEED_LAT
double getMinGapLat(const std::string &vehicleID) const
std::vector< std::string > getIDList() const
double getLength(const std::string &typeID) const
TRACI_CONST int REQUEST_DRIVINGDIST
const libsumo::TraCIResults getSubscriptionResults(const std::string &objID) const
std::string vType
The vehicle type when using a private car or bike.
TRACI_CONST int VAR_PERSON_CAPACITY
double getEmergencyDecel(const std::string &typeID) const
TRACI_CONST int LAST_STEP_OCCUPANCY
std::string destStop
The id of the destination stop.
int getLinkNumber(const std::string &laneID) const
TRACI_CONST int LAST_STEP_TIME_SINCE_DETECTION
TRACI_CONST int VAR_IMAGEFILE
TRACI_CONST int CMD_SET_ROUTE_VARIABLE
void sendExact(const Storage &)
void appendWaitingStage(const std::string &personID, double duration, const std::string &description="waiting", const std::string &stopID="")
TRACI_CONST int RESPONSE_SUBSCRIBE_INDUCTIONLOOP_VARIABLE
std::vector< std::string > getIDList() const
double getElectricityConsumption(const std::string &laneID) const
TRACI_CONST int TL_COMPLETE_DEFINITION_RYG
double getCOEmission(const std::string &edgeID) const
double getPMxEmission(const std::string &vehicleID) const
double getSlope(const std::string &personID) const
double getLastStepMeanLength(const std::string &loopID) const
double getLineWidth(const std::string &polygonID) const
void setApparentDecel(const std::string &typeID, double decel) const
int getBusStopWaiting(const std::string &stopID) const
TRACI_CONST int CMD_GET_EDGE_VARIABLE
std::vector< std::string > getPersonIDList(const std::string &vehicleID) const
void setSpeed(const std::string &personID, double speed) const
double getWidth(const std::string &poiID) const
std::vector< std::string > getIDList() const
TRACI_CONST int VAR_LANE_INDEX
void add(const std::string &personID, const std::string &edgeID, double pos, double depart=libsumo::DEPARTFLAG_NOW, const std::string typeID="DEFAULT_PEDTYPE")
const libsumo::SubscriptionResults getAllSubscriptionResults() const
TRACI_CONST int REMOVE_STAGE
tcpip::Storage myInput
The reusable input storage.
int getServedPersonCount(const std::string &tlsID, int index) const
void setProgram(const std::string &tlsID, const std::string &programID) const
double getNoiseEmission(const std::string &laneID) const
TRACI_CONST int VAR_SCREENSHOT
tcpip::Socket * mySocket
The socket.
void subscribeContext(const std::string &objID, int domain, double range, const std::vector< int > &vars, double beginTime, double endTime) const
TRACI_CONST int RTYPE_NOTIMPLEMENTED
std::vector< libsumo::TraCINextTLSData > getNextTLS(const std::string &vehID) 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 appendStage(const std::string &personID, const libsumo::TraCIStage &stage)
double getFuelConsumption(const std::string &vehicleID) const
TRACI_CONST int VAR_MIN_EXPECTED_VEHICLES
int getRemainingStages(const std::string &personID) const
TRACI_CONST int LAST_STEP_LENGTH
std::map< std::string, TraCIResults > SubscriptionResults
{object->{variable->value}}
std::string getTypeID(const std::string &personID) const
TRACI_CONST int VAR_STAGE
libsumo::TraCIPosition getPosition3D(const std::string &personID) const
double getAccel(const std::string &typeID) const
double getSpeed(const std::string &personID) const
double getEffort(const std::string &edgeID, double time) const
TRACI_CONST int CMD_REROUTE_TRAVELTIME
TRACI_CONST int VAR_ROUTING_MODE
bool receiveExact(Storage &)
Receive a complete TraCI message from Socket::socket_.
void addSubscriptionFilterVClass(const std::vector< std::string > &vClasses) const
TRACI_CONST int CMD_SIMSTEP
double entryTime
Entry-time of the vehicle in [s].
void openGap(const std::string &vehicleID, double newTau, double duration, double changeRate, double maxDecel) const
VehicleTypeScope vehicletype
Scope for interaction with vehicle types.
std::string getString(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
EdgeScope edge
Scope for interaction with edges.
TRACI_CONST int CMD_GET_JUNCTION_VARIABLE
double getDecel(const std::string &vehicleID) const
int getRoutingMode(const std::string &vehicleID) const
void setBoundary(const std::string &viewID, double xmin, double ymin, double xmax, double ymax) const
double getAngle(const std::string &poiID) const
void setMaxSpeed(const std::string &laneID, double speed) const
TRACI_CONST int CMD_GET_ROUTE_VARIABLE
TRACI_CONST int TYPE_COMPOUND
TRACI_CONST int VAR_ROUTE
libsumo::TraCIColor getColor(const std::string &vehicleID) const
std::vector< std::string > getEdges(const std::string &personID, int nextStageIndex=0) const