43 std::string warning =
"";
50 "Change Polygon State: unsupported variable " +
toHex(variable, 2) +
" specified", outputStorage);
61 libsumo::Polygon::setColor(
id,
StoHelp::readTypedColor(inputStorage,
"The color must be given using an according type."));
64 libsumo::Polygon::setShape(
id,
StoHelp::readTypedPolygon(inputStorage,
"The shape must be given using an according type."));
67 libsumo::Polygon::setFilled(
id,
StoHelp::readTypedInt(inputStorage,
"'fill' must be defined using an integer.") != 0);
70 libsumo::Polygon::setLineWidth(
id,
StoHelp::readTypedDouble(inputStorage,
"'lineWidth' must be defined using a double."));
73 const int parameterCount =
StoHelp::readCompound(inputStorage, -1,
"A compound object is needed for adding a new polygon.");
74 if (parameterCount != 5 && parameterCount != 6) {
79 const bool fill =
StoHelp::readBool(inputStorage,
"The third polygon parameter must be 'fill' encoded as ubyte.");
80 const int layer =
StoHelp::readTypedInt(inputStorage,
"The fourth polygon parameter must be the layer encoded as int.");
82 double lineWidth = 1.;
83 if (parameterCount == 6) {
84 lineWidth =
StoHelp::readTypedDouble(inputStorage,
"The sixth polygon parameter must be the lineWidth encoded as double.");
86 libsumo::Polygon::add(
id, tp, col, fill, type, layer, lineWidth);
93 int itemNo = inputStorage.
readInt();
97 const std::string trackedID =
StoHelp::readTypedString(inputStorage,
"The first parameter for adding polygon dynamics must be ID of the tracked object as a string ('' to disregard tracking).");
98 const std::vector<double> timeSpan =
StoHelp::readTypedDoubleList(inputStorage,
"The second parameter for adding polygon dynamics must be the timespan of the animation (length=0 to disregard animation).");
99 const std::vector<double> alphaSpan =
StoHelp::readTypedDoubleList(inputStorage,
"The third parameter for adding polygon dynamics must be the alphaSpanStr of the animation (length=0 to disregard alpha animation).");
100 const bool looped =
StoHelp::readBool(inputStorage,
"The fourth parameter for adding polygon dynamics must be boolean indicating whether the animation should be looped.");
101 const bool rotate =
StoHelp::readBool(inputStorage,
"The fifth parameter for adding polygon dynamics must be boolean indicating whether the tracking polygon should be rotated.");
102 libsumo::Polygon::addDynamics(
id, trackedID, timeSpan, alphaSpan, looped, rotate);
106 libsumo::Polygon::remove(
id,
StoHelp::readTypedInt(inputStorage,
"The layer must be given using an int."));
110 StoHelp::readCompound(inputStorage, 2,
"A compound object of size 2 is needed for setting a parameter.");
111 const std::string name =
StoHelp::readTypedString(inputStorage,
"The name of the parameter must be given as a string.");
112 const std::string value =
StoHelp::readTypedString(inputStorage,
"The value of the parameter must be given as a string.");
113 libsumo::Polygon::setParameter(
id, name, value);
std::string toHex(const T i, std::streamsize numDigits=0)
static bool processSet(TraCIServer &server, tcpip::Storage &inputStorage, tcpip::Storage &outputStorage)
Processes a set value command (Command 0xc8: Change Polygon State)
TraCI server used to control sumo by a remote TraCI client.
void writeStatusCmd(int commandId, int status, const std::string &description, tcpip::Storage &outputStorage)
Writes a status command to the given storage.
bool writeErrorStatusCmd(int commandId, const std::string &description, tcpip::Storage &outputStorage)
Writes a status command to the given storage with status = RTYPE_ERR.
static int readCompound(tcpip::Storage &ret, int expectedSize=-1, const std::string &error="")
static bool readBool(tcpip::Storage &ret, const std::string &error="")
static int readTypedInt(tcpip::Storage &ret, const std::string &error="")
static std::vector< double > readTypedDoubleList(tcpip::Storage &ret, const std::string &error="")
static std::string readTypedString(tcpip::Storage &ret, const std::string &error="")
static const libsumo::TraCIPositionVector readTypedPolygon(tcpip::Storage &ret, const std::string &error="")
static const libsumo::TraCIColor readTypedColor(tcpip::Storage &ret, const std::string &error="")
static double readTypedDouble(tcpip::Storage &ret, const std::string &error="")
An error which allows to continue.
virtual std::string readString()
virtual int readUnsignedByte()
TRACI_CONST int TYPE_COMPOUND
TRACI_CONST int VAR_MOVE_TO
TRACI_CONST int CMD_SET_POLYGON_VARIABLE
TRACI_CONST int VAR_COLOR
TRACI_CONST int VAR_WIDTH
TRACI_CONST int CMD_SET_VEHICLE_VARIABLE
TRACI_CONST int VAR_SHAPE
TRACI_CONST int VAR_PARAMETER
TRACI_CONST int VAR_ADD_DYNAMICS