40 #define DEFAULT_VIEW "View #0" 71 void connect(
const std::string& host,
int port);
84 void load(
const std::vector<std::string>& args);
123 std::string
getParameter(
const std::string& objectID,
const std::string& key)
const;
126 void setParameter(
const std::string& objectID,
const std::string& key,
const std::string& value)
const;
128 void subscribe(
const std::string& objID,
const std::vector<int>& vars,
double beginTime,
double endTime)
const;
129 void subscribeContext(
const std::string& objID,
int domain,
double range,
const std::vector<int>& vars,
double beginTime,
double endTime)
const;
175 std::vector<std::string> getIDList()
const;
176 int getIDCount()
const;
177 double getAdaptedTraveltime(
const std::string& edgeID,
double time)
const;
178 double getEffort(
const std::string& edgeID,
double time)
const;
179 double getCO2Emission(
const std::string& edgeID)
const;
180 double getCOEmission(
const std::string& edgeID)
const;
181 double getHCEmission(
const std::string& edgeID)
const;
182 double getPMxEmission(
const std::string& edgeID)
const;
183 double getNOxEmission(
const std::string& edgeID)
const;
184 double getFuelConsumption(
const std::string& edgeID)
const;
185 double getNoiseEmission(
const std::string& edgeID)
const;
186 double getElectricityConsumption(
const std::string& edgeID)
const;
187 double getLastStepMeanSpeed(
const std::string& edgeID)
const;
188 double getLastStepOccupancy(
const std::string& edgeID)
const;
189 double getLastStepLength(
const std::string& edgeID)
const;
190 double getTraveltime(
const std::string& edgeID)
const;
191 int getLastStepVehicleNumber(
const std::string& edgeID)
const;
192 double getLastStepHaltingNumber(
const std::string& edgeID)
const;
193 std::vector<std::string> getLastStepVehicleIDs(
const std::string& edgeID)
const;
194 int getLaneNumber(
const std::string& edgeID)
const;
195 std::string getStreetName(
const std::string&
id)
const;
197 void adaptTraveltime(
const std::string& edgeID,
double time,
double beginSeconds = 0.,
double endSeconds = std::numeric_limits<double>::max())
const;
198 void setEffort(
const std::string& edgeID,
double effort,
double beginSeconds = 0.,
double endSeconds = std::numeric_limits<double>::max())
const;
199 void setMaxSpeed(
const std::string& edgeID,
double speed)
const;
222 std::vector<std::string> getIDList()
const;
223 double getZoom(
const std::string& viewID =
DEFAULT_VIEW)
const;
225 std::string getSchema(
const std::string& viewID =
DEFAULT_VIEW)
const;
227 void setZoom(
const std::string& viewID,
double zoom)
const;
228 void setOffset(
const std::string& viewID,
double x,
double y)
const;
229 void setSchema(
const std::string& viewID,
const std::string& schemeName)
const;
230 void setBoundary(
const std::string& viewID,
double xmin,
double ymin,
double xmax,
double ymax)
const;
231 void screenshot(
const std::string& viewID,
const std::string& filename,
const int width = -1,
const int height = -1)
const;
232 void trackVehicle(
const std::string& viewID,
const std::string& vehID)
const;
255 std::vector<std::string> getIDList()
const;
256 double getPosition(
const std::string& loopID)
const;
257 std::string getLaneID(
const std::string& loopID)
const;
258 int getLastStepVehicleNumber(
const std::string& loopID)
const;
259 double getLastStepMeanSpeed(
const std::string& loopID)
const;
260 std::vector<std::string> getLastStepVehicleIDs(
const std::string& loopID)
const;
261 double getLastStepOccupancy(
const std::string& loopID)
const;
262 double getLastStepMeanLength(
const std::string& loopID)
const;
263 double getTimeSinceDetection(
const std::string& loopID)
const;
264 std::vector<libsumo::TraCIVehicleData> getVehicleData(
const std::string& loopID)
const;
288 std::vector<std::string> getIDList()
const;
312 std::vector<std::string> getIDList()
const;
313 int getIDCount()
const;
314 double getLength(
const std::string& laneID)
const;
315 double getMaxSpeed(
const std::string& laneID)
const;
316 double getWidth(
const std::string& laneID)
const;
317 std::vector<std::string> getAllowed(
const std::string& laneID)
const;
318 std::vector<std::string> getDisallowed(
const std::string& laneID)
const;
319 int getLinkNumber(
const std::string& laneID)
const;
320 std::vector<libsumo::TraCIConnection> getLinks(
const std::string& laneID)
const;
322 std::string getEdgeID(
const std::string& laneID)
const;
323 double getCO2Emission(
const std::string& laneID)
const;
324 double getCOEmission(
const std::string& laneID)
const;
325 double getHCEmission(
const std::string& laneID)
const;
326 double getPMxEmission(
const std::string& laneID)
const;
327 double getNOxEmission(
const std::string& laneID)
const;
328 double getFuelConsumption(
const std::string& laneID)
const;
329 double getNoiseEmission(
const std::string& laneID)
const;
330 double getElectricityConsumption(
const std::string& laneID)
const;
331 double getLastStepMeanSpeed(
const std::string& laneID)
const;
332 double getLastStepOccupancy(
const std::string& laneID)
const;
333 double getLastStepLength(
const std::string& laneID)
const;
334 double getTraveltime(
const std::string& laneID)
const;
335 int getLastStepVehicleNumber(
const std::string& laneID)
const;
336 int getLastStepHaltingNumber(
const std::string& laneID)
const;
337 std::vector<std::string> getLastStepVehicleIDs(
const std::string& laneID)
const;
338 std::vector<std::string> getFoes(
const std::string& laneID,
const std::string& toLaneID)
const;
339 std::vector<std::string> getInternalFoes(
const std::string& laneID)
const;
341 void setAllowed(
const std::string& laneID,
const std::vector<std::string>& allowedClasses)
const;
342 void setDisallowed(
const std::string& laneID,
const std::vector<std::string>& disallowedClasses)
const;
343 void setMaxSpeed(
const std::string& laneID,
double speed)
const;
344 void setLength(
const std::string& laneID,
double length)
const;
364 std::vector<std::string> getIDList()
const;
384 std::vector<std::string> getIDList()
const;
385 int getLastStepVehicleNumber(
const std::string& detID)
const;
386 double getLastStepMeanSpeed(
const std::string& detID)
const;
387 std::vector<std::string> getLastStepVehicleIDs(
const std::string& detID)
const;
388 int getLastStepHaltingNumber(
const std::string& detID)
const;
411 std::vector<std::string> getIDList()
const;
412 int getIDCount()
const;
413 std::string getType(
const std::string& poiID)
const;
417 void setType(
const std::string& poiID,
const std::string& setType)
const;
418 void setPosition(
const std::string& poiID,
double x,
double y)
const;
420 void add(
const std::string& poiID,
double x,
double y,
const libsumo::TraCIColor& c,
const std::string& type,
int layer)
const;
421 void remove(
const std::string& poiID,
int layer = 0)
const;
444 std::vector<std::string> getIDList()
const;
445 int getIDCount()
const;
446 double getLineWidth(
const std::string& polygonID)
const;
447 std::string getType(
const std::string& polygonID)
const;
450 void setType(
const std::string& polygonID,
const std::string& setType)
const;
453 void setLineWidth(
const std::string& polygonID,
const double lineWidth)
const;
455 void remove(
const std::string& polygonID,
int layer = 0)
const;
478 std::vector<std::string> getIDList()
const;
479 std::vector<std::string> getEdges(
const std::string& routeID)
const;
481 void add(
const std::string& routeID,
const std::vector<std::string>& edges)
const;
502 int getCurrentTime()
const;
503 double getTime()
const;
504 int getLoadedNumber()
const;
505 std::vector<std::string> getLoadedIDList()
const;
506 int getDepartedNumber()
const;
507 std::vector<std::string> getDepartedIDList()
const;
508 int getArrivedNumber()
const;
509 std::vector<std::string> getArrivedIDList()
const;
510 int getStartingTeleportNumber()
const;
511 std::vector<std::string> getStartingTeleportIDList()
const;
512 int getEndingTeleportNumber()
const;
513 std::vector<std::string> getEndingTeleportIDList()
const;
514 double getDeltaT()
const;
516 int getMinExpectedNumber()
const;
517 double getDistance2D(
double x1,
double y1,
double x2,
double y2,
bool isGeo =
false,
bool isDriving =
false);
518 double getDistanceRoad(
const std::string& edgeID1,
double pos1,
const std::string& edgeID2,
double pos2,
bool isDriving =
false);
542 std::vector<std::string> getIDList()
const;
543 int getIDCount()
const;
544 std::string getRedYellowGreenState(
const std::string& tlsID)
const;
545 std::vector<libsumo::TraCILogic> getCompleteRedYellowGreenDefinition(
const std::string& tlsID)
const;
546 std::vector<std::string> getControlledLanes(
const std::string& tlsID)
const;
547 std::vector<std::vector<libsumo::TraCILink> > getControlledLinks(
const std::string& tlsID)
const;
548 std::string getProgram(
const std::string& tlsID)
const;
549 int getPhase(
const std::string& tlsID)
const;
550 double getPhaseDuration(
const std::string& tlsID)
const;
551 double getNextSwitch(
const std::string& tlsID)
const;
553 void setRedYellowGreenState(
const std::string& tlsID,
const std::string& state)
const;
554 void setPhase(
const std::string& tlsID,
int index)
const;
555 void setProgram(
const std::string& tlsID,
const std::string& programID)
const;
556 void setPhaseDuration(
const std::string& tlsID,
double phaseDuration)
const;
557 void setCompleteRedYellowGreenDefinition(
const std::string& tlsID,
const libsumo::TraCILogic& logic)
const;
580 std::vector<std::string> getIDList()
const;
581 double getLength(
const std::string& typeID)
const;
582 double getMaxSpeed(
const std::string& typeID)
const;
583 double getSpeedFactor(
const std::string& typeID)
const;
584 double getSpeedDeviation(
const std::string& typeID)
const;
585 double getAccel(
const std::string& typeID)
const;
586 double getDecel(
const std::string& typeID)
const;
587 double getEmergencyDecel(
const std::string& typeID)
const;
588 double getApparentDecel(
const std::string& typeID)
const;
589 double getImperfection(
const std::string& typeID)
const;
590 double getTau(
const std::string& typeID)
const;
591 std::string getVehicleClass(
const std::string& typeID)
const;
592 std::string getEmissionClass(
const std::string& typeID)
const;
593 std::string getShapeClass(
const std::string& typeID)
const;
594 double getMinGap(
const std::string& typeID)
const;
595 double getWidth(
const std::string& typeID)
const;
596 double getHeight(
const std::string& typeID)
const;
598 double getMinGapLat(
const std::string& typeID)
const;
599 double getMaxSpeedLat(
const std::string& typeID)
const;
600 std::string getLateralAlignment(
const std::string& typeID)
const;
602 void setLength(
const std::string& typeID,
double length)
const;
603 void setMaxSpeed(
const std::string& typeID,
double speed)
const;
604 void setVehicleClass(
const std::string& typeID,
const std::string& clazz)
const;
605 void setSpeedFactor(
const std::string& typeID,
double factor)
const;
606 void setSpeedDeviation(
const std::string& typeID,
double deviation)
const;
607 void setEmissionClass(
const std::string& typeID,
const std::string& clazz)
const;
608 void setShapeClass(
const std::string& typeID,
const std::string& shapeClass)
const;
609 void setWidth(
const std::string& typeID,
double width)
const;
610 void setHeight(
const std::string& typeID,
double height)
const;
611 void setMinGap(
const std::string& typeID,
double minGap)
const;
612 void setAccel(
const std::string& typeID,
double accel)
const;
613 void setDecel(
const std::string& typeID,
double decel)
const;
614 void setEmergencyDecel(
const std::string& typeID,
double decel)
const;
615 void setApparentDecel(
const std::string& typeID,
double decel)
const;
616 void setImperfection(
const std::string& typeID,
double imperfection)
const;
617 void setTau(
const std::string& typeID,
double tau)
const;
619 void setMinGapLat(
const std::string& typeID,
double minGapLat)
const;
620 void setMaxSpeedLat(
const std::string& typeID,
double speed)
const;
621 void setLateralAlignment(
const std::string& typeID,
const std::string& latAlignment)
const;
622 void copy(
const std::string& origTypeID,
const std::string& newTypeID)
const;
646 SIGNAL_BLINKER_RIGHT = 1,
647 SIGNAL_BLINKER_LEFT = 2,
648 SIGNAL_BLINKER_EMERGENCY = 4,
649 SIGNAL_BRAKELIGHT = 8,
650 SIGNAL_FRONTLIGHT = 16,
651 SIGNAL_FOGLIGHT = 32,
652 SIGNAL_HIGHBEAM = 64,
653 SIGNAL_BACKDRIVE = 128,
655 SIGNAL_DOOR_OPEN_LEFT = 512,
656 SIGNAL_DOOR_OPEN_RIGHT = 1024,
657 SIGNAL_EMERGENCY_BLUE = 2048,
658 SIGNAL_EMERGENCY_RED = 4096,
659 SIGNAL_EMERGENCY_YELLOW = 8192,
665 std::vector<std::string> getIDList()
const;
666 int getIDCount()
const;
667 double getSpeed(
const std::string& vehicleID)
const;
668 double getAcceleration(
const std::string& vehicleID)
const;
671 double getAngle(
const std::string& vehicleID)
const;
672 std::string getRoadID(
const std::string& vehicleID)
const;
673 std::string getLaneID(
const std::string& vehicleID)
const;
674 int getLaneIndex(
const std::string& vehicleID)
const;
675 std::string getTypeID(
const std::string& vehicleID)
const;
676 std::string getRouteID(
const std::string& vehicleID)
const;
677 int getRouteIndex(
const std::string& vehicleID)
const;
678 std::vector<std::string> getRoute(
const std::string& vehicleID)
const;
680 double getLanePosition(
const std::string& vehicleID)
const;
681 double getDistance(
const std::string& vehicleID)
const;
682 int getSignals(
const std::string& vehicleID)
const;
683 double getCO2Emission(
const std::string& vehicleID)
const;
684 double getCOEmission(
const std::string& vehicleID)
const;
685 double getHCEmission(
const std::string& vehicleID)
const;
686 double getPMxEmission(
const std::string& vehicleID)
const;
687 double getNOxEmission(
const std::string& vehicleID)
const;
688 double getFuelConsumption(
const std::string& vehicleID)
const;
689 double getNoiseEmission(
const std::string& vehicleID)
const;
690 double getElectricityConsumption(
const std::string& vehicleID)
const;
691 int getSpeedMode(
const std::string& vehicleID)
const;
692 int getStopState(
const std::string& vehicleID)
const;
693 double getWaitingTime(
const std::string& vehicleID)
const;
694 double getAccumulatedWaitingTime(
const std::string& vehicleID)
const;
695 double getSlope(
const std::string& vehicleID)
const;
696 double getAllowedSpeed(
const std::string& vehicleID)
const;
697 int getPersonNumber(
const std::string& vehicleID)
const;
698 std::vector<std::string> getPersonIDList(
const std::string& vehicleID)
const;
699 double getSpeedWithoutTraCI(
const std::string& vehicleID)
const;
700 bool isRouteValid(
const std::string& vehicleID)
const;
701 double getLateralLanePosition(
const std::string& vehicleID)
const;
702 double getSpeedFactor(
const std::string& vehicleID)
const;
703 std::string getLine(
const std::string& vehicleID)
const;
704 std::vector<std::string> getVia(
const std::string& vehicleID)
const;
705 std::vector<libsumo::TraCINextTLSData> getNextTLS(
const std::string& vehID)
const;
706 std::vector<libsumo::TraCIBestLanesData> getBestLanes(
const std::string& vehicleID)
const;
707 std::pair<std::string, double> getLeader(
const std::string& vehicleID,
double dist)
const;
708 int getRoutingMode(
const std::string& vehicleID)
const;
709 std::pair<int, int> getLaneChangeState(
const std::string& vehicleID,
int direction)
const;
714 double getLength(
const std::string& vehicleID)
const;
715 double getMaxSpeed(
const std::string& vehicleID)
const;
716 double getAccel(
const std::string& vehicleID)
const;
717 double getDecel(
const std::string& vehicleID)
const;
718 double getEmergencyDecel(
const std::string& vehicleID)
const;
719 double getApparentDecel(
const std::string& vehicleID)
const;
720 double getTau(
const std::string& vehicleID)
const;
721 double getImperfection(
const std::string& vehicleID)
const;
722 double getSpeedDeviation(
const std::string& vehicleID)
const;
723 double getMinGap(
const std::string& vehicleID)
const;
724 double getWidth(
const std::string& vehicleID)
const;
725 double getHeight(
const std::string& veihcleID)
const;
726 double getMaxSpeedLat(
const std::string& vehicleID)
const;
727 double getMinGapLat(
const std::string& vehicleID)
const;
728 std::string getVehicleClass(
const std::string& vehicleID)
const;
729 std::string getEmissionClass(
const std::string& vehicleID)
const;
730 std::string getShapeClass(
const std::string& vehicleID)
const;
731 std::string getLateralAlignment(
const std::string& vehicleID)
const;
736 void add(
const std::string& vehicleID,
737 const std::string& routeID,
738 const std::string& typeID =
"DEFAULT_VEHTYPE",
739 std::string depart =
"-1",
740 const std::string& departLane =
"first",
741 const std::string& departPos =
"base",
742 const std::string& departSpeed =
"0",
743 const std::string& arrivalLane =
"current",
744 const std::string& arrivalPos =
"max",
745 const std::string& arrivalSpeed =
"current",
746 const std::string& fromTaz =
"",
747 const std::string& toTaz =
"",
748 const std::string& line =
"",
749 int personCapacity = 0,
750 int personNumber = 0)
const;
752 void changeTarget(
const std::string& vehicleID,
const std::string& edgeID)
const;
753 void changeLane(
const std::string& vehicleID,
int laneIndex,
double duration)
const;
754 void changeLaneRelative(
const std::string& vehicleID,
int laneChange,
double duration)
const;
755 void changeSublane(
const std::string& vehicleID,
double latDist)
const;
756 void setRouteID(
const std::string& vehicleID,
const std::string& routeID)
const;
757 void setRoute(
const std::string& vehicleID,
const std::vector<std::string>&
edge)
const;
758 void rerouteTraveltime(
const std::string& vehicleID,
bool currentTravelTimes =
true)
const;
759 void moveTo(
const std::string& vehicleID,
const std::string& laneID,
double position)
const;
760 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;
761 void slowDown(
const std::string& vehicleID,
double speed,
double duration)
const;
762 void openGap(
const std::string& vehicleID,
double newTau,
double duration,
double changeRate,
double maxDecel)
const;
763 void setSpeed(
const std::string& vehicleID,
double speed)
const;
764 void setSpeedMode(
const std::string& vehicleID,
int mode)
const;
765 void setStop(
const std::string vehicleID,
const std::string edgeID,
const double endPos = 1.,
766 const int laneIndex = 0,
const double duration = std::numeric_limits<double>::max(),
767 const int flags = 0,
const double startPos = std::numeric_limits<int>::min(),
768 const double until = -1)
const;
769 void setType(
const std::string& vehicleID,
const std::string& typeID)
const;
770 void remove(
const std::string& vehicleID,
char reason =
REMOVE_VAPORIZED)
const;
772 void setLine(
const std::string& vehicleID,
const std::string& line)
const;
773 void setVia(
const std::string& vehicleID,
const std::vector<std::string>& via)
const;
774 void setSignals(
const std::string& vehicleID,
int signals)
const;
775 void setRoutingMode(
const std::string& vehicleID,
int routingMode)
const;
780 void setShapeClass(
const std::string& vehicleID,
const std::string& clazz)
const;
781 void setEmissionClass(
const std::string& vehicleID,
const std::string& clazz)
const;
782 void setSpeedFactor(
const std::string& vehicleID,
double factor)
const;
783 void setMaxSpeed(
const std::string& vehicleID,
double speed)
const;
803 std::vector<std::string> getIDList()
const;
804 int getIDCount()
const;
805 double getSpeed(
const std::string& personID)
const;
808 std::string getRoadID(
const std::string& personID)
const;
809 std::string getTypeID(
const std::string& personID)
const;
810 double getWaitingTime(
const std::string& personID)
const;
811 std::string getNextEdge(
const std::string& personID)
const;
812 std::string getVehicle(
const std::string& personID)
const;
813 int getRemainingStages(
const std::string& personID)
const;
814 int getStage(
const std::string& personID,
int nextStageIndex = 0)
const;
815 std::vector<std::string> getEdges(
const std::string& personID,
int nextStageIndex = 0)
const;
816 double getAngle(
const std::string& personID)
const;
817 double getLanePosition(
const std::string& personID)
const;
822 double getLength(
const std::string& personID)
const;
826 void removeStages(
const std::string& personID)
const;
827 void add(
const std::string& personID,
const std::string& edgeID,
double pos,
double depart =
DEPARTFLAG_NOW,
const std::string typeID =
"DEFAULT_PEDTYPE");
828 void appendWaitingStage(
const std::string& personID,
double duration,
const std::string& description =
"waiting",
const std::string& stopID =
"");
829 void appendWalkingStage(
const std::string& personID,
const std::vector<std::string>& edges,
double arrivalPos,
double duration = -1,
double speed = -1,
const std::string& stopID =
"");
830 void appendDrivingStage(
const std::string& personID,
const std::string& toEdge,
const std::string& lines,
const std::string& stopID =
"");
831 void removeStage(
const std::string& personID,
int nextStageIndex)
const;
832 void rerouteTraveltime(
const std::string& personID)
const;
833 void setSpeed(
const std::string& personID,
double speed)
const;
834 void setType(
const std::string& personID,
const std::string& typeID)
const;
835 void setLength(
const std::string& personID,
double length)
const;
836 void setWidth(
const std::string& personID,
double width)
const;
837 void setHeight(
const std::string& personID,
double height)
const;
838 void setMinGap(
const std::string& personID,
double minGap)
const;
940 int domain,
double range,
const std::vector<int>& vars)
const;
944 void send_commandMoveToXY(
const std::string& vehicleID,
const std::string& edgeID,
const int lane,
945 const double x,
const double y,
const double angle,
const int keepRoute)
const;
973 std::ostringstream oss;
974 oss.setf(std::ios::fixed , std::ios::floatfield);
975 oss << std::setprecision(accuracy);
EdgeScope edge
Scope for interaction with edges.
LaneScope(TraCIAPI &parent)
std::map< std::string, TraCIResults > SubscriptionResults
{object->{variable->value}}
std::string getParameter(const std::string &objectID, const std::string &key) const
retrieve generic paramter
void send_commandSetValue(int domID, int varID, const std::string &objID, tcpip::Storage &content) const
Sends a SetVariable request.
#define CMD_SUBSCRIBE_VEHICLE_CONTEXT
#define CMD_SUBSCRIBE_LANE_VARIABLE
libsumo::SubscriptionResults & getModifiableSubscriptionResults()
libsumo::SubscriptionResults & getModifiableContextSubscriptionResults(const std::string &objID)
#define CMD_SUBSCRIBE_LANEAREA_VARIABLE
tcpip::Socket * mySocket
The socket.
C++ TraCI client API implementation.
void close()
ends the simulation and closes the connection
Scope for interaction with edges.
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.
#define CMD_GET_TL_VARIABLE
#define CMD_SUBSCRIBE_JUNCTION_CONTEXT
MeMeScope(TraCIAPI &parent)
void setOrder(int order)
set priority (execution order) for the client
#define CMD_GET_VEHICLE_VARIABLE
#define CMD_SUBSCRIBE_SIM_CONTEXT
#define CMD_SUBSCRIBE_VEHICLETYPE_CONTEXT
void clearSubscriptionResults()
#define CMD_GET_INDUCTIONLOOP_VARIABLE
void setParameter(const std::string &objectID, const std::string &key, const std::string &value) const
set generic paramter
GUIScope(TraCIAPI &parent)
libsumo::TraCIPositionVector getPolygon(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
virtual ~TrafficLightScope()
TraCIScopeWrapper & operator=(const TraCIScopeWrapper &src)
invalidated assignment operator
JunctionScope junction
Scope for interaction with junctions.
#define CMD_SUBSCRIBE_INDUCTIONLOOP_VARIABLE
PersonScope(TraCIAPI &parent)
void send_commandGetVariable(int domID, int varID, const std::string &objID, tcpip::Storage *add=0) const
Sends a GetVariable request.
std::map< int, std::shared_ptr< TraCIResult > > TraCIResults
{variable->value}
#define CMD_GET_LANEAREA_VARIABLE
LaneScope lane
Scope for interaction with lanes.
#define CMD_GET_PERSON_VARIABLE
PersonScope person
Scope for interaction with persons.
void load(const std::vector< std::string > &args)
Let sumo load a simulation using the given command line like options.
Scope for interaction with vehicles.
TraCIScopeWrapper(TraCIAPI &parent, int cmdGetID, int cmdSetID, int subscribeID, int contextSubscribeID)
Constructor.
#define CMD_SUBSCRIBE_POLYGON_CONTEXT
void send_commandSetOrder(int order) const
Sends a SetOrder command.
Scope for interaction with traffic lights.
std::map< std::string, SubscriptionResults > ContextSubscriptionResults
void closeSocket()
Closes the connection.
#define CMD_GET_POLYGON_VARIABLE
#define CMD_SUBSCRIBE_JUNCTION_VARIABLE
Scope for interaction with lane area detectors.
#define CMD_SUBSCRIBE_ROUTE_CONTEXT
libsumo::TraCIColor getColor(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
Scope for interaction with the gui.
#define CMD_SET_EDGE_VARIABLE
#define CMD_SET_GUI_VARIABLE
TrafficLightScope trafficlights
Scope for interaction with traffic lights.
const libsumo::SubscriptionResults getAllSubscriptionResults() const
Scope for interaction with routes.
#define CMD_SUBSCRIBE_EDGE_VARIABLE
#define CMD_GET_ROUTE_VARIABLE
#define CMD_SUBSCRIBE_INDUCTIONLOOP_CONTEXT
InductionLoopScope inductionloop
Scope for interaction with inductive loops.
Scope for interaction with inductive loops.
#define CMD_SET_JUNCTION_VARIABLE
#define CMD_SUBSCRIBE_POI_VARIABLE
POIScope(TraCIAPI &parent)
std::map< int, TraCIScopeWrapper * > myDomains
#define CMD_SET_TL_VARIABLE
Scope for interaction with POIs.
#define CMD_SUBSCRIBE_LANE_CONTEXT
libsumo::TraCIPosition getPosition3D(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
#define CMD_SUBSCRIBE_SIM_VARIABLE
#define CMD_GET_VEHICLETYPE_VARIABLE
Scope for interaction with the simulation.
Scope for interaction with multi entry/-exit detectors.
const libsumo::SubscriptionResults getContextSubscriptionResults(const std::string &objID) const
void readVariables(tcpip::Storage &inMsg, const std::string &objectID, int variableCount, libsumo::SubscriptionResults &into)
#define CMD_SET_ROUTE_VARIABLE
InductionLoopScope(TraCIAPI &parent)
MeMeScope multientryexit
Scope for interaction with multi-entry/-exit detectors.
#define CMD_SUBSCRIBE_GUI_CONTEXT
Scope for interaction with vehicle types.
PolygonScope(TraCIAPI &parent)
#define CMD_GET_POI_VARIABLE
#define CMD_SUBSCRIBE_MULTIENTRYEXIT_VARIABLE
libsumo::ContextSubscriptionResults myContextSubscriptionResults
#define CMD_SUBSCRIBE_MULTIENTRYEXIT_CONTEXT
#define CMD_SET_VEHICLETYPE_VARIABLE
RouteScope route
Scope for interaction with routes.
virtual ~InductionLoopScope()
Scope for interaction with polygons.
void simulationStep(double time=0)
Advances by one step (or up to the given time)
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
void send_commandSubscribeObjectVariable(int domID, const std::string &objID, double beginTime, double endTime, const std::vector< int > &vars) const
Sends a SubscribeVariable request.
#define CMD_SUBSCRIBE_GUI_VARIABLE
#define CMD_GET_LANE_VARIABLE
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.
int getInt(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
#define CMD_SUBSCRIBE_LANEAREA_CONTEXT
libsumo::SubscriptionResults mySubscriptionResults
#define CMD_SET_VEHICLE_VARIABLE
void subscribe(const std::string &objID, const std::vector< int > &vars, double beginTime, double endTime) const
#define CMD_GET_SIM_VARIABLE
#define CMD_GET_EDGE_VARIABLE
int getByte(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
void subscribeContext(const std::string &objID, int domain, double range, const std::vector< int > &vars, double beginTime, double endTime) const
static std::string toString(const T &t, std::streamsize accuracy=PRECISION)
#define CMD_GET_GUI_VARIABLE
#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)
#define CMD_SUBSCRIBE_POLYGON_VARIABLE
Scope for interaction with vehicles.
#define CMD_SUBSCRIBE_TL_CONTEXT
#define CMD_SUBSCRIBE_EDGE_CONTEXT
#define CMD_GET_JUNCTION_VARIABLE
Scope for interaction with junctions.
#define CMD_SUBSCRIBE_PERSON_VARIABLE
TrafficLightScope(TraCIAPI &parent)
#define CMD_SET_SIM_VARIABLE
const libsumo::TraCIResults getSubscriptionResults(const std::string &objID) const
virtual ~SimulationScope()
std::vector< std::string > getStringVector(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
#define CMD_SUBSCRIBE_VEHICLETYPE_VARIABLE
EdgeScope(TraCIAPI &parent)
POIScope poi
Scope for interaction with POIs.
#define CMD_SET_POLYGON_VARIABLE
SimulationScope simulation
Scope for interaction with the simulation.
Scope for interaction with lanes.
RouteScope(TraCIAPI &parent)
VehicleScope vehicle
Scope for interaction with vehicles.
std::vector< TraCIPosition > TraCIPositionVector
#define CMD_SUBSCRIBE_VEHICLE_VARIABLE
#define CMD_SUBSCRIBE_PERSON_CONTEXT
void processGET(tcpip::Storage &inMsg, int command, int expectedType, bool ignoreCommandId=false) const
void readVariableSubscription(int cmdId, tcpip::Storage &inMsg)
#define CMD_SET_LANE_VARIABLE
PolygonScope polygon
Scope for interaction with polygons.
#define CMD_GET_MULTIENTRYEXIT_VARIABLE
virtual ~TraCIScopeWrapper()
Destructor.
VehicleTypeScope(TraCIAPI &parent)
void send_commandSimulationStep(double time) const
Sends a SimulationStep command.
void send_commandClose() const
Sends a Close command.
TraCIAPI & myParent
The parent TraCI client which offers the connection.
int check_commandGetResult(tcpip::Storage &inMsg, int command, int expectedType=-1, bool ignoreCommandId=false) const
Validates the result state of a command.
libsumo::TraCIPosition getPosition(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
GUIScope gui
Scope for interaction with the gui.
#define CMD_SUBSCRIBE_TL_VARIABLE
std::string getString(int cmd, int var, const std::string &id, tcpip::Storage *add=0)
VehicleScope(TraCIAPI &parent)
SimulationScope(TraCIAPI &parent)
An abstract interface for accessing type-dependent values.
#define CMD_SET_PERSON_VARIABLE
LaneAreaScope lanearea
Scope for interaction with lanes.
virtual ~VehicleTypeScope()
#define CMD_SUBSCRIBE_POI_CONTEXT
const libsumo::ContextSubscriptionResults getAllContextSubscriptionResults() const
LaneAreaScope(TraCIAPI &parent)
JunctionScope(TraCIAPI &parent)
void readContextSubscription(int cmdId, tcpip::Storage &inMsg)
#define CMD_SUBSCRIBE_ROUTE_VARIABLE
VehicleTypeScope vehicletype
Scope for interaction with vehicle types.