51 if (dataFields.size() != 1)
53 throw InvalidConditionException(
54 "Wrong number of datafields for condition magnitude larger: expected 1 actual: " +
58 const Variant& value = dataFields.begin()->second;
105 if (dataFields.size() != 1)
108 throw InvalidConditionException(
"Wrong number of datafields for condition equals ");
111 const Variant& value = dataFields.begin()->second;
157 if (dataFields.size() != 1)
160 throw InvalidConditionException(
"Wrong number of datafields for condition InRange ");
163 const Variant& value = dataFields.begin()->second;
ConditionCheckMagnitudeInRange()
ConditionCheck * clone() override
Clones the current check.
bool evaluate(const StringVariantMap &dataFields) override
Evaluate the condition based on the current data field values.
ConditionCheck * clone() override
Clones the current check.
ConditionCheckMagnitudeLarger()
bool evaluate(const StringVariantMap &dataFields) override
Evaluate the condition based on the current data field values.
ConditionCheck * clone() override
Clones the current check.
ConditionCheckMagnitudeSmaller()
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.
void addSupportedType(VariantTypeId dataFieldType=0, ParameterTypeList parameterTypes=ParameterTypeList())
Add a supported type for elementary condition check marks pairs of (dataFieldType,...
FramedDirection is a 3 dimensional direction vector with a reference frame.
direction vector (NOT a position vector) with an attached robotstate proxy for frame changes.
The Variant class is described here: Variants.
float getFloat(const Ice::Current &c=Ice::emptyCurrent) const override
Return the Variant's value as float.
#define ARMARX_WARNING_S
The logging level for unexpected behaviour, but not a serious problem.
const VariantTypeId FramedDirection
const VariantTypeId LinkedDirection
const VariantTypeId Vector3
const VariantTypeId Float
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceInternal::Handle< FramedDirection > FramedDirectionPtr
std::map< std::string, Variant > StringVariantMap
Eigen::Vector3f toEigen(const pcl::PointXYZ &pt)
IceInternal::Handle< LinkedDirection > LinkedDirectionPtr
std::string ValueToString(const T &value)
double norm(const Point &a)