70 if (dataFields.size() != 1)
72 printf(
"Size of dataFields: %d\n", (
int)dataFields.size());
73 throw InvalidConditionException(
"Wrong number of datafields for condition equals ");
76 const Variant& value = dataFields.begin()->second;
101 return value.getDouble() ==
getParameter(0).getDouble();
106 return value.getString().compare(
getParameter(0).getString()) == 0;
#define ARMARXCORE_IMPORT_EXPORT
ConditionCheck * clone() override
Clones the current check.
bool evaluate(const StringVariantMap &dataFields) override
Evaluate the condition based on the current data field values.
A ConditionCheck implements a check on the sensor data stream of a Sensor-Actor Unit.
static ParameterTypeList createParameterTypeList(int numberTypes,...)
void setNumberParameters(int numberParameters)
Sets the number of paramaters required for this check.
const Variant & getParameter(int index)
Retrieve parameters of check.
ConditionCheck()
Creates and initializes a ConditionCheck instance.
void addSupportedType(VariantTypeId dataFieldType=0, ParameterTypeList parameterTypes=ParameterTypeList())
Add a supported type for elementary condition check marks pairs of (dataFieldType,...
The Variant class is described here: Variants.
const VariantTypeId String
const VariantTypeId Double
const VariantTypeId Float
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::map< std::string, Variant > StringVariantMap