27 #define LIBSUMO_VEHICLE_TYPE_GETTER \
28 static double getLength(const std::string& typeID); \
29 static double getMaxSpeed(const std::string& typeID); \
30 static double getActionStepLength(const std::string& typeID); \
31 static double getSpeedFactor(const std::string& typeID); \
32 static double getSpeedDeviation(const std::string& typeID); \
33 static double getAccel(const std::string& typeID); \
34 static double getDecel(const std::string& typeID); \
35 static double getEmergencyDecel(const std::string& typeID); \
36 static double getApparentDecel(const std::string& typeID); \
37 static double getImperfection(const std::string& typeID); \
38 static double getTau(const std::string& typeID); \
39 static std::string getVehicleClass(const std::string& typeID); \
40 static std::string getEmissionClass(const std::string& typeID); \
41 static std::string getShapeClass(const std::string& typeID); \
42 static double getMinGap(const std::string& typeID); \
43 static double getWidth(const std::string& typeID); \
44 static double getHeight(const std::string& typeID); \
45 static libsumo::TraCIColor getColor(const std::string& typeID); \
46 static double getMinGapLat(const std::string& typeID); \
47 static double getMaxSpeedLat(const std::string& typeID); \
48 static std::string getLateralAlignment(const std::string& typeID); \
49 static int getPersonCapacity(const std::string& typeID);
51 #define LIBSUMO_VEHICLE_TYPE_SETTER \
52 static void setLength(const std::string& typeID, double length); \
53 static void setMaxSpeed(const std::string& typeID, double speed); \
54 static void setVehicleClass(const std::string& typeID, const std::string& clazz); \
55 static void setSpeedFactor(const std::string& typeID, double factor); \
56 static void setEmissionClass(const std::string& typeID, const std::string& clazz); \
57 static void setShapeClass(const std::string& typeID, const std::string& shapeClass); \
58 static void setWidth(const std::string& typeID, double width); \
59 static void setHeight(const std::string& typeID, double height); \
60 static void setMinGap(const std::string& typeID, double minGap); \
61 static void setAccel(const std::string& typeID, double accel); \
62 static void setDecel(const std::string& typeID, double decel); \
63 static void setEmergencyDecel(const std::string& typeID, double decel); \
64 static void setApparentDecel(const std::string& typeID, double decel); \
65 static void setImperfection(const std::string& typeID, double imperfection); \
66 static void setTau(const std::string& typeID, double tau); \
67 static void setColor(const std::string& typeID, const libsumo::TraCIColor& color); \
68 static void setMinGapLat(const std::string& typeID, double minGapLat); \
69 static void setMaxSpeedLat(const std::string& typeID, double speed); \
70 static void setLateralAlignment(const std::string& typeID, const std::string& latAlignment); \
71 static void setActionStepLength(const std::string& typeID, double actionStepLength, bool resetActionOffset=true);
79 class VariableWrapper;
98 static void copy(
const std::string& origTypeID,
const std::string& newTypeID);
107 static std::shared_ptr<VariableWrapper>
makeWrapper();
109 static bool handleVariable(
const std::string& objID,
const int variable, VariableWrapper* wrapper);
111 static bool handleVariableWithID(
const std::string& objID,
const std::string& typeID,
const int variable, VariableWrapper* wrapper);
#define LIBSUMO_ID_PARAMETER_API
#define LIBSUMO_SUBSCRIPTION_API
#define LIBSUMO_VEHICLE_TYPE_GETTER
#define LIBSUMO_VEHICLE_TYPE_SETTER
VehicleType()=delete
invalidated standard constructor
static void setSpeedDeviation(const std::string &typeID, double deviation)
static bool handleVariableWithID(const std::string &objID, const std::string &typeID, const int variable, VariableWrapper *wrapper)
static std::shared_ptr< VariableWrapper > makeWrapper()
static LIBSUMO_SUBSCRIPTION_API MSVehicleType * getVType(std::string id)
static SubscriptionResults mySubscriptionResults
static bool handleVariable(const std::string &objID, const int variable, VariableWrapper *wrapper)
LIBSUMO_VEHICLE_TYPE_GETTER LIBSUMO_ID_PARAMETER_API static LIBSUMO_VEHICLE_TYPE_SETTER void copy(const std::string &origTypeID, const std::string &newTypeID)
static ContextSubscriptionResults myContextSubscriptionResults
The car-following model and parameter.
std::map< std::string, TraCIResults > SubscriptionResults
{object->{variable->value}}
std::map< std::string, SubscriptionResults > ContextSubscriptionResults