bool TraCIServerAPI_VehicleType::getVariable(const int variable, const MSVehicleType& v, tcpip::Storage& tempMsg) { switch (variable) { case VAR_LENGTH: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getLength()); break; case VAR_MINGAP: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getMinGap()); break; case VAR_MAXSPEED: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getMaxSpeed()); break; case VAR_ACCEL: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getCarFollowModel().getMaxAccel()); break; case VAR_DECEL: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getCarFollowModel().getMaxDecel()); break; case VAR_IMPERFECTION: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getCarFollowModel().getImperfection()); break; case VAR_TAU: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getCarFollowModel().getHeadwayTime()); break; case VAR_SPEED_FACTOR: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getSpeedFactor()); break; case VAR_SPEED_DEVIATION: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getSpeedDeviation()); break; case VAR_VEHICLECLASS: tempMsg.writeUnsignedByte(TYPE_STRING); tempMsg.writeString(toString(v.getVehicleClass())); break; case VAR_EMISSIONCLASS: tempMsg.writeUnsignedByte(TYPE_STRING); tempMsg.writeString(getVehicleEmissionTypeName(v.getEmissionClass())); break; case VAR_SHAPECLASS: tempMsg.writeUnsignedByte(TYPE_STRING); tempMsg.writeString(getVehicleShapeName(v.getGuiShape())); break; case VAR_WIDTH: tempMsg.writeUnsignedByte(TYPE_DOUBLE); tempMsg.writeDouble(v.getGuiWidth()); break; case VAR_COLOR: tempMsg.writeUnsignedByte(TYPE_COLOR); tempMsg.writeUnsignedByte(static_cast<int>(v.getColor().red() * 255. + 0.5)); tempMsg.writeUnsignedByte(static_cast<int>(v.getColor().green() * 255. + 0.5)); tempMsg.writeUnsignedByte(static_cast<int>(v.getColor().blue() * 255. + 0.5)); tempMsg.writeUnsignedByte(255); break; default: break; } return true; }