39NamedRTree* LaneArea::myTree(
nullptr);
45std::vector<std::string>
46LaneArea::getIDList() {
47 std::vector<std::string> ids;
54LaneArea::getIDCount() {
55 std::vector<std::string> ids;
62 return getDetector(detID)->getCurrentJamLengthInVehicles();
68 return getDetector(detID)->getCurrentJamLengthInMeters();
78std::vector<std::string>
111 return getDetector(detID)->getCurrentVehicleNumber();
117 return getDetector(detID)->getCurrentHaltingNumber();
133 return getDetector(detID)->getIntervalMeanTimeLoss();
138 return getDetector(detID)->getIntervalMaxJamLengthInMeters();
143 return getDetector(detID)->getIntervalVehicleNumber();
148 return getDetector(detID)->getLastIntervalOccupancy();
153 return getDetector(detID)->getLastIntervalMeanSpeed();
158 return getDetector(detID)->getLastIntervalMeanTimeLoss();
163 return getDetector(detID)->getLastIntervalMaxJamLengthInMeters();
168 return getDetector(detID)->getLastIntervalVehicleNumber();
173LaneArea::getParameter(
const std::string& detID,
const std::string& param) {
174 return getDetector(detID)->getParameter(param,
"");
182LaneArea::setParameter(
const std::string& detID,
const std::string& name,
const std::string&
value) {
183 getDetector(detID)->setParameter(name,
value);
194 throw TraCIException(
"Lane area detector '" +
id +
"' is not known");
204 for (
const std::string&
id : getIDList()) {
208 const float cmin[2] = {(float) b.xmin(), (float) b.ymin()};
209 const float cmax[2] = {(float) b.xmax(), (float) b.ymax()};
228 shape.push_back(det->
getLanes().back()->getShape().positionAtOffset(det->
getEndPos()));
232std::shared_ptr<VariableWrapper>
248 return wrapper->wrapStringList(objID, variable, getIDList());
250 return wrapper->wrapInt(objID, variable, getIDCount());
266 return wrapper->wrapDouble(objID, variable,
getPosition(objID));
268 return wrapper->wrapString(objID, variable,
getLaneID(objID));
270 return wrapper->wrapDouble(objID, variable,
getLength(objID));
293 return wrapper->wrapString(objID, variable, getParameter(objID, paramData->
readString()));
296 return wrapper->wrapStringPair(objID, variable, getParameterWithKey(objID, paramData->
readString()));
const std::string invalid_return< std::string >::value
@ SUMO_TAG_LANE_AREA_DETECTOR
alternative tag for e2 detector
#define LIBSUMO_SUBSCRIPTION_IMPLEMENTATION(CLASS, DOM)
#define LIBSUMO_GET_PARAMETER_WITH_KEY_IMPLEMENTATION(CLASS)
A class that stores a 2D geometrical boundary.
static double getLastIntervalMeanTimeLoss(const std::string &detID)
static std::shared_ptr< VariableWrapper > makeWrapper()
LIBSUMO_ID_PARAMETER_API static LIBSUMO_SUBSCRIPTION_API NamedRTree * getTree()
Returns a tree filled with inductive loop instances.
static SubscriptionResults mySubscriptionResults
static double getIntervalMeanTimeLoss(const std::string &detID)
static ContextSubscriptionResults myContextSubscriptionResults
static double getLastStepOccupancy(const std::string &detID)
static bool handleVariable(const std::string &objID, const int variable, VariableWrapper *wrapper, tcpip::Storage *paramData)
static double getLastIntervalMeanSpeed(const std::string &detID)
static double getLength(const std::string &detID)
static int getLastStepVehicleNumber(const std::string &detID)
static int getLastIntervalVehicleNumber(const std::string &detID)
static double getLastIntervalOccupancy(const std::string &detID)
static void storeShape(const std::string &id, PositionVector &shape)
Saves the shape of the requested object in the given container.
static double getJamLengthMeters(const std::string &detID)
static std::vector< std::string > getLastStepVehicleIDs(const std::string &detID)
static int getLastStepHaltingNumber(const std::string &detID)
static NamedRTree * myTree
static int getJamLengthVehicle(const std::string &detID)
static double getIntervalMeanSpeed(const std::string &detID)
static std::string getLaneID(const std::string &detID)
static double getPosition(const std::string &detID)
static double getLastStepMeanSpeed(const std::string &detID)
static void overrideVehicleNumber(const std::string &detID, int vehNum)
static double getLastIntervalMaxJamLengthInMeters(const std::string &detID)
static int getIntervalVehicleNumber(const std::string &detID)
static MSE2Collector * getDetector(const std::string &detID)
static double getIntervalMaxJamLengthInMeters(const std::string &detID)
static double getIntervalOccupancy(const std::string &detID)
C++ TraCI client API implementation.
const NamedObjectCont< MSDetectorFileOutput * > & getTypedDetectors(SumoXMLTag type) const
Returns the list of detectors of the given type.
An areal detector corresponding to a sequence of consecutive lanes.
std::vector< MSLane * > getLanes()
Returns a vector containing pointers to the lanes covered by the detector ordered from its first to i...
double getStartPos() const
Returns the begin position of the detector.
double getEndPos() const
Returns the end position of the detector.
double getLength() const
Returns the length of the detector.
MSDetectorControl & getDetectorControl()
Returns the detector control.
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
T get(const std::string &id) const
Retrieves an item.
void insertIDs(std::vector< std::string > &into) const
int size() const
Returns the number of stored items within the container.
A RT-tree for efficient storing of SUMO's Named objects.
Boundary getBoxBoundary() const
Returns a boundary enclosing this list of lines.
virtual std::string readString()
virtual int readUnsignedByte()
TRACI_CONST int LAST_STEP_VEHICLE_ID_LIST
TRACI_CONST int VAR_INTERVAL_TIMELOSS
TRACI_CONST int VAR_INTERVAL_NUMBER
TRACI_CONST int LAST_STEP_VEHICLE_NUMBER
TRACI_CONST int TRACI_ID_LIST
TRACI_CONST int VAR_LAST_INTERVAL_NUMBER
TRACI_CONST int VAR_LAST_INTERVAL_MAX_JAM_LENGTH_METERS
std::map< std::string, libsumo::SubscriptionResults > ContextSubscriptionResults
TRACI_CONST int VAR_INTERVAL_MAX_JAM_LENGTH_METERS
TRACI_CONST int VAR_POSITION
TRACI_CONST int LAST_STEP_MEAN_SPEED
TRACI_CONST int VAR_LAST_INTERVAL_OCCUPANCY
std::map< std::string, libsumo::TraCIResults > SubscriptionResults
{object->{variable->value}}
TRACI_CONST int JAM_LENGTH_METERS
TRACI_CONST int LAST_STEP_VEHICLE_HALTING_NUMBER
TRACI_CONST int VAR_LAST_INTERVAL_TIMELOSS
TRACI_CONST int VAR_LENGTH
TRACI_CONST int VAR_PARAMETER
TRACI_CONST int VAR_LANE_ID
TRACI_CONST int LAST_STEP_OCCUPANCY
TRACI_CONST int VAR_PARAMETER_WITH_KEY
TRACI_CONST int VAR_INTERVAL_SPEED
TRACI_CONST int VAR_LAST_INTERVAL_SPEED
TRACI_CONST int VAR_INTERVAL_OCCUPANCY
TRACI_CONST int JAM_LENGTH_VEHICLE