8.8.5. Parameters - Meta Information#
Every parameter of type ito::Param can contain meta information that describe some boundary values, value ranges, allowed values… of the parameter. Once a parameter has its valid meta information, itom is able to check given input values with respect to the meta information as well as adapt any auto-created input masks to simplify the input with respect to the given constraints.
Most possible types of class ito::Param have their respective meta information structure.
The base class of all kind of meta information classes is the class ito::ParamMeta. Any object of class ito::Param can contain a pointer to an instance of this base class. If you know the type of parameter (e.g. char, string or int), you can safely cast this ito::ParamMeta base instance to the right meta information class that fits to the type. The type can also be requested at runtime by the RTTI type information in ParamMeta.
8.8.5.1. Class ParamMeta#
The class ParamMeta is the base class for all meta information classes. Parameters of class ito::Param may contain pointers of that class, which then must be cast to the final implementation.
-
class ParamMeta#
Base class for all meta-information classes.
Parameters of type ito::Param can have a pointer to this class. Consider this base class to be abstract, such that it is only allowed to pass the right implementation (derived from this class) that fits to the type of the parameter. The runtime type information value m_type indicates the real type of this pointer, such that a direct cast can be executed.
See also
ito::CharMeta, ito::IntMeta, ito::DoubleMeta, ito::StringMeta, ito::HWMeta, ito::DObjMeta, ito::CharArrayMeta, ito::IntArrayMeta, ito::DoubleArrayMeta, ito::StringListMeta
Subclassed by ito::CharMeta, ito::DObjMeta, ito::DoubleMeta, ito::HWMeta, ito::IntMeta, ito::RectMeta, ito::StringMeta
Public Types
-
enum MetaRtti#
Runtime type information.
MetaRtti is used to cast param meta objects, without having to enable runtime type information of the compiler.
Values:
-
enumerator rttiUnknown#
unknown parameter
-
enumerator rttiCharMeta#
meta for a char parameter
-
enumerator rttiIntMeta#
meta for an integer parameter
-
enumerator rttiDoubleMeta#
meta for a double parameter
-
enumerator rttiStringMeta#
meta for a string parameter
-
enumerator rttiHWMeta#
meta for a hardware plugin parameter
-
enumerator rttiDObjMeta#
meta for a data object parameter
-
enumerator rttiIntArrayMeta#
meta for an integer array parameter
-
enumerator rttiDoubleArrayMeta#
meta for a double array parameter
-
enumerator rttiCharArrayMeta#
meta for a char array parameter
-
enumerator rttiIntervalMeta#
meta for an integer array with two values that represent an interval [value1, value2] parameter
-
enumerator rttiDoubleIntervalMeta#
meta for a double array with two values that represent an interval [value1, value2] parameter (size of the interval is value2-value1)
-
enumerator rttiRangeMeta#
meta for an integer array with two values that represent a range [value1, value2] parameter (size of a range is 1+value2-value1)
-
enumerator rttiRectMeta#
meta for an integer array with four values that consists of two ranges (vertical and horizontal, e.g. for ROIs of cameras)
-
enumerator rttiStringListMeta#
meta for a string list
-
enumerator rttiUnknown#
-
enum tRepresentation#
The representation of number types indicates the type of widget that is suited best to display and change the value.
Not all representations can be applied to all types of number values, e.g. IPV4 can not be used for char-types. e.g. - Char, CharArray: Linear, Boolean, Logarithmic, PureNumber
IntegerArray, Range, Interval: Linear, Boolean, Logarithmic, PureNumber
Integer: Linear, Boolean, Logarithmic, PureNumber, HexNumber, IPV4Address, MACAddress
Double, DoubleArray: Linear, Boolean, Logarithmic, PureNumber
Values:
-
enumerator Linear#
Slider with linear behavior.
-
enumerator Logarithmic#
Slider with logarithmic behaviour.
-
enumerator Boolean#
Check box.
-
enumerator PureNumber#
Decimal number in an edit control.
-
enumerator HexNumber#
Hex number in an edit control.
-
enumerator IPV4Address#
IP-Address.
-
enumerator MACAddress#
MAC-Address.
-
enumerator UnknownRepresentation#
-
enum MetaRtti#
8.8.5.2. Class CharMeta, IntMeta and DoubleMeta#
The classes CharMeta, IntMeta and DoubleMeta provide meta information for parameters of single numeric types.
-
class CharMeta : public ito::ParamMeta#
meta-information for Param of type Char.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::Char. If set, the given char number can be limited with respect to given minimum and maximum values as well as an optional step size (default: 1).
See also
Subclassed by ito::CharArrayMeta
Public Functions
-
explicit CharMeta(char minVal, char maxVal, char stepSize = 1, ito::ByteArray category = ito::ByteArray())#
< constructor with minimum and maximum value as well as optional step size (default: 1)
-
virtual bool operator==(const ParamMeta &other) const#
returns a new instance of CharMeta, where the min and max are set to the full range available for char. The caller has to take care of memory.
-
inline char getMin() const#
returns maximum value
-
inline char getMax() const#
returns step size
-
inline char getStepSize() const#
returns unit
-
inline ito::ByteArray getUnit() const#
sets unit string of this parameter
-
void setUnit(const ito::ByteArray &unit)#
returns display representation
< sets unit string of this parameter
-
inline ParamMeta::tRepresentation getRepresentation() const#
sets display representation
-
void setMin(char val)#
sets the minimum value
- Parameters:
val – is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
-
void setMax(char val)#
sets the maximum value
- Parameters:
val – is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
-
void setStepSize(char val)#
sets the step size
- Parameters:
val – is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize…,maxVal] are allowed
-
explicit CharMeta(char minVal, char maxVal, char stepSize = 1, ito::ByteArray category = ito::ByteArray())#
-
class IntMeta : public ito::ParamMeta#
Meta-information for Param of type Int.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::Int. If set, the given integer number can be limited with respect to given minimum and maximum values as well as an optional step size (default: 1).
See also
Subclassed by ito::IntArrayMeta, ito::IntervalMeta
Public Functions
-
explicit IntMeta(int32 minVal, int32 maxVal, int32 stepSize = 1, ito::ByteArray category = ito::ByteArray())#
< constructor with minimum and maximum value as well as optional step size (default: 1)
-
virtual bool operator==(const ParamMeta &other) const#
returns a new instance of IntMeta, where the min and max are set to the full range available for integers. The caller has to take care of memory.
-
inline int32 getMin() const#
returns maximum value
-
inline int32 getMax() const#
returns step size
-
inline int32 getStepSize() const#
returns unit
-
inline ito::ByteArray getUnit() const#
sets unit string of this parameter
-
void setUnit(const ito::ByteArray &unit)#
returns display representation
< sets unit string of this parameter
-
inline ParamMeta::tRepresentation getRepresentation() const#
sets display representation
-
void setMin(int32 val)#
sets the minimum value
- Parameters:
val – is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
-
void setMax(int32 val)#
sets the maximum value
- Parameters:
val – is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
-
void setStepSize(int32 val)#
sets the step size
- Parameters:
val – is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize…,maxVal] are allowed
-
explicit IntMeta(int32 minVal, int32 maxVal, int32 stepSize = 1, ito::ByteArray category = ito::ByteArray())#
-
class DoubleMeta : public ito::ParamMeta#
Meta-information for ito::Param of type Double.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::Double. If set, the given double number can be limited with respect to given minimum and maximum values as well as an optional step size (default: 0.0 -> no step size).
See also
Subclassed by ito::DoubleArrayMeta, ito::DoubleIntervalMeta
Public Types
-
enum tDisplayNotation#
Display notation style if the related parameters is displayed in any widget.
Values:
-
enumerator Automatic#
double number is automatically rendered in any GUI element (default)
-
enumerator Fixed#
if possible, the double number should be shown as fixed number, e.g. 1000.00
-
enumerator Scientific#
if possible, the double number should be rendered in a scientific notation, e.g. 1.0E3
-
enumerator Automatic#
Public Functions
-
explicit DoubleMeta(float64 minVal, float64 maxVal, float64 stepSize = 0.0, ito::ByteArray category = ito::ByteArray())#
constructor with minimum and maximum value
-
virtual bool operator==(const ParamMeta &other) const#
returns a new instance of DoubleMeta, where the min and max are set to the full range available for double. The caller has to take care of memory.
-
inline float64 getMin() const#
returns maximum value
-
inline float64 getMax() const#
returns step size
-
inline float64 getStepSize() const#
returns unit
-
inline ito::ByteArray getUnit() const#
sets unit string of this parameter
-
void setUnit(const ito::ByteArray &unit)#
returns display precision
< sets unit string of this parameter
-
inline int getDisplayPrecision() const#
sets display precision
-
void setDisplayPrecision(int displayPrecision)#
returns display notation
< sets display precision
-
inline DoubleMeta::tDisplayNotation getDisplayNotation() const#
sets display notation
-
void setDisplayNotation(DoubleMeta::tDisplayNotation displayNotation)#
returns display representation
< sets display notation
-
inline ParamMeta::tRepresentation getRepresentation() const#
sets display representation
-
void setMin(float64 val)#
sets the minimum value
- Parameters:
val – is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
-
void setMax(float64 val)#
sets the maximum value
- Parameters:
val – is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
-
void setStepSize(float64 val)#
sets the step size
- Parameters:
val – is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize…,maxVal] are allowed
Public Static Functions
-
static DoubleMeta *all(ito::ByteArray category = ito::ByteArray())#
returns minimum value
-
enum tDisplayNotation#
Currently, there is no meta object for Complex parameter types.
8.8.5.3. Class CharArrayMeta, IntArrayMeta and DoubleArrayMeta#
The classes CharArrayMeta, IntArrayMeta and DoubleArrayMeta provide meta information for array-based parameters of numeric types. These classes are derived from CharArray, IntArray or DoubleArray, such that the minimum and maximum value as well as the step size for each single value is given by the features of their base class. Additionally, it is possible to set a min, max and stepSize constraint concerning the number of elements of the arrays.
-
class CharArrayMeta : public ito::CharMeta, public ito::ListMeta#
Meta-information for Param of type CharArrayMeta.
Meta-information for Param of type IntArrayMeta.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::CharArray. Since this meta information class is derived from ito::CharMeta, it is possible to restrict each value to the single value constraints of ito::CharMeta. Furthermore, this class allows restricting the minimum and maximum length of the array as well as the optional step size of the array’s length.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::IntArray. Since this meta information class is derived from ito::IntMeta, it is possible to restrict each value to the single value constraints of ito::IntMeta. Furthermore, this class allows restricting the minimum and maximum length of the array as well as the optional step size of the array’s length.
See also
See also
ito::Param, ito::ParamMeta, ito::IntArray
Public Functions
-
CharArrayMeta(const CharArrayMeta &cpy)#
copy constructor
assignment operator
-
CharArrayMeta &operator=(const CharArrayMeta &rhs)#
< assignment operator
-
CharArrayMeta(const CharArrayMeta &cpy)#
-
class IntArrayMeta : public ito::IntMeta, public ito::ListMeta#
Public Functions
-
IntArrayMeta(const IntArrayMeta &cpy)#
copy constructor
assignment operator
-
IntArrayMeta &operator=(const IntArrayMeta &rhs)#
< assignment operator
-
IntArrayMeta(const IntArrayMeta &cpy)#
-
class DoubleArrayMeta : public ito::DoubleMeta, public ito::ListMeta#
Meta-information for Param of type DoubleArrayMeta.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::DoubleArray. Since this meta information class is derived from ito::DoubleArray, it is possible to restrict each value to the single value constraints of ito::DoubleArray. Furthermore, this class allows restricting the minimum and maximum length of the array as well as the optional step size of the array’s length.
See also
Public Functions
-
DoubleArrayMeta(const DoubleArrayMeta &cpy)#
copy constructor
assignment operator
-
DoubleArrayMeta &operator=(const DoubleArrayMeta &rhs)#
< assignment operator
-
virtual bool operator==(const ParamMeta &other) const#
returns a new instance of DoubleMeta, where the min and max are set to the full range available for double. The caller has to take care of memory.
-
DoubleArrayMeta(const DoubleArrayMeta &cpy)#
8.8.5.4. Class StringMeta#
This meta information object can be assigned to String parameters. By this, it is possible to choose between a certain type of string constraints:
Wildcard expressions: Pass one wildcard expression to the meta information. The string parameter is then checked against this wildcard expression, e.g. image_??.jpg.
Regular expression: The same than Wildcard, however the string is a regular expression.
Fixed: You can pass one or multiple strings. The given string parameter will then be checked to exactly match one of the strings in this StringMeta.
If such a string parameter is input by a dialog in itom, the appearance of the input field depends one the types. Usually it is a default text box, which might have some input restrictions if the type is Wildcard or Regular Expression. In the case of Fixed strings, a combobox appears with all possible strings.
-
class StringMeta : public ito::ParamMeta#
Meta-information for Param of type String.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::String. If set, it is possible to restrict the a given string to fit to a given list of strings. This list of strings might be interpreted in an exact way (tType::String), as wildcard expressions (tType::Wildcard) or as regular expressions (tType::RegExp).
See also
Subclassed by ito::StringListMeta
Public Functions
-
StringMeta(tType type, ito::ByteArray category = ito::ByteArray())#
constructor
Returns a meta information class for string-types.
See also
tType
- Parameters:
type – indicates how the string elements should be considered
-
StringMeta(tType type, const char *val, ito::ByteArray category = ito::ByteArray())#
constructor
Returns a meta information class for string-types.
See also
tType
- Parameters:
type – indicates how the string elements should be considered
val – adds a first string to the element list
-
StringMeta(tType type, const ito::ByteArray &val, ito::ByteArray category = ito::ByteArray())#
constructor
Returns a meta information class for string-types.
See also
tType
- Parameters:
type – indicates how the string elements should be considered
val – adds a first string to the element list
-
StringMeta(const StringMeta &cpy)#
copy constructor
-
virtual ~StringMeta()#
destructor
-
StringMeta &operator+=(const char *val)#
add another pattern string to the list of patterns.
-
tType getStringType() const#
returns the type how strings in list should be considered.
See also
tType
-
void setStringType(tType type)#
sets the type how strings in pattern list should be considered.
See also
tType
-
int getLen() const#
returns the number of string elements in meta information class.
-
const char *getString(int idx = 0) const#
returns string from list at index position or NULL, if index is out of range.
-
bool addItem(const char *val)#
adds another element to the list of patterns.
-
bool addItem(const ito::ByteArray &val)#
adds another element to the list of patterns.
-
void clearItems()#
clear all elements from the pattern list.
-
StringMeta(tType type, ito::ByteArray category = ito::ByteArray())#
8.8.5.5. Class StringListMeta#
A StringListMeta can decorate an ito::Param object of type StringList. It is derived from StringMeta and can further hold a minimum and maximum number of allowed values in the string list, as well as a certain step size of the number of elements.
-
class StringListMeta : public ito::StringMeta, public ito::ListMeta#
Meta-information for Param of type STringListMeta.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::StringListMeta. Since this meta information class is derived from ito::StringMeta, it is possible to restrict each value to the single value constraints of ito::StringMeta. Furthermore, this class allows restricting the minimum and maximum length of the list as well as the optional step size of the list’s length.
See also
Public Functions
-
explicit StringListMeta(tType type, size_t numMin, size_t numMax, size_t numStepSize = 1, ito::ByteArray category = ito::ByteArray())#
constructor
Returns a meta information class for string list types.
See also
tType
- Parameters:
type – indicates how the string elements should be considered
numMin – is the minimum number of values in the list
numMax – is the maximum number of values in the list
numStepSize – is the step size of the number of values in the list
-
explicit StringListMeta(tType type, const char *val, size_t numMin, size_t numMax, size_t numStepSize = 1, ito::ByteArray category = ito::ByteArray())#
constructor
Returns a meta information class for string list types.
See also
tType
- Parameters:
type – indicates how the string elements should be considered
val – adds a first string to the element list
numMin – is the minimum number of values in the list
numMax – is the maximum number of values in the list
numStepSize – is the step size of the number of values in the list
-
explicit StringListMeta(tType type, const ito::ByteArray &val, size_t numMin, size_t numMax, size_t numStepSize = 1, ito::ByteArray category = ito::ByteArray())#
constructor
Returns a meta information class for string list types.
See also
tType
- Parameters:
type – indicates how the string elements should be considered
val – adds a first string to the element list
numMin – is the minimum number of values in the list
numMax – is the maximum number of values in the list
numStepSize – is the step size of the number of values in the list
-
StringListMeta(const StringListMeta &cpy)#
copy constructor
-
virtual ~StringListMeta()#
destructor
-
StringListMeta &operator=(const StringListMeta &rhs)#
< assignment operator
-
explicit StringListMeta(tType type, size_t numMin, size_t numMax, size_t numStepSize = 1, ito::ByteArray category = ito::ByteArray())#
8.8.5.6. Class IntervalMeta, Class RangeMeta#
An interval meta can decorate an Integer-Array parameter with two values. It is derived from IntMeta, that describes the minimum and maximum value, as well as the step size, of both limits of the interval.
If the first value in the array is denoted as val0 and the 2nd one val1, they are checked to meet the following condition:
min <= val0 <= val1 <= max.
By IntervalMeta or RangeMeta you can further constraint the size of the interval or range. The size is defined by two different possible methods:
IntervalMeta: size = val1 - val0
RangeMeta: size = 1 + val1 - val0
For a RangeMeta object, both the first and 2nd value are part of the range, for intervals, the last value is not contained. RangeMeta is usually used for region of interests of cameras, usually using the class RectMeta, that consists of two RangeMeta for the horizontal and vertical direction.
-
class IntervalMeta : public ito::IntMeta#
Meta-information for Param of type IntArrayMeta that represent an interval [minimum, maximum).
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::IntArray. This meta information class indicates that the corresponding integer array parameter is interpreted as an interval, hence, only an array consisting of two values is accepted. The size of the interval is defined by the difference (value[1] - value[0]). You can restrict this size to a certain minimum and maximum value as well as indicating a specific step size (default: 1).
An example for an interval might be a certain interval of allowed radius values when optimizing a cylinder fit.
See also
ito::Param, ito::ParamMeta, ito::RangeMeta, ito::IntMeta, ito::IntervalMeta
Subclassed by ito::RangeMeta
Public Functions
-
IntervalMeta(const IntervalMeta &cpy)#
copy constructor
assignment operator
-
IntervalMeta &operator=(const IntervalMeta &rhs)#
< assignment operator
-
inline int getSizeMin() const#
returns maximum size of interval or range
-
inline int getSizeMax() const#
returns step size of size of interval or range
-
void setIntervalMin(int32 val)#
sets the minimum size of the interval (= max-min)
- Parameters:
val – is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
-
void setIntervalMax(int32 val)#
sets the maximum size of the interval (= max-min)
- Parameters:
val – is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
-
void setIntervalStep(int32 val)#
sets the step size of the size of the interval (= max-min)
- Parameters:
val – is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize…,maxVal] are allowed
-
IntervalMeta(const IntervalMeta &cpy)#
-
class RangeMeta : public ito::IntervalMeta#
Meta-information for Param of type IntArrayMeta that represent a range [minVal, maxVal].
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::IntArray. This meta information class indicates that the corresponding integer array parameter is interpreted as a range, hence, only an array consisting of two values is accepted. The size of the interval is defined by the difference (1 + value[1]
value[0]). You can restrict this size to a certain minimum and maximum value as well as indicating a specific step size (default: 1).
An example for a range might be a one dimension (vertical or horizontal) of a ROI (region of interest) of a camera, where the range determines the first and last pixel value inside of the ROI, such that the total size is the difference between both limits + 1.
The range object is defined by its first and last value, that are both inside of the range, hence the size of the range is (1+last-first). This is the difference to IntervalMeta, where the size of the interval is last-first only.
See also
ito::Param, ito::ParamMeta, ito::IntervalMeta, ito::IntArrayMeta
8.8.5.7. Class RectMeta#
The RectMeta can decorate an Integer-Array parameter with exactly four integer values, whose definition is x0, y0, width, height. To constraint both the limits as well as the size of both directions (horizontal, vertical), RectMeta contains two RangeMeta members.
-
class RectMeta : public ito::ParamMeta#
Meta-information for Param of type IntArrayMeta that represent a rectangle (left, top, width, height).
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::IntArray. This meta information class indicates that the corresponding integer array parameter is interpreted as a rectangle, hence, only an array consisting of four values is accepted. This meta information consists of two object of type ito::RangeMeta, describing the constraints of the horizontal and vertical axes of the rectangle.
See also
ito::Param, ito::ParamMeta, ito::RangeMeta, ito::IntArrayMeta
8.8.5.8. Class DoubleIntervalMeta#
This meta object decorates a Double-Array parameter with two values and is similar to IntervalMeta. If the sizeStepSize is equal to 0.0, the size of the interval can have any value between sizeMin and sizeMax.
-
class DoubleIntervalMeta : public ito::DoubleMeta#
Meta-information for Param of type DoubleIntervalMeta.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::DoubleArray. This meta information class indicates that the corresponding double array parameter is interpreted as an interval, hence, only an array consisting of two values is accepted. The size of the interval is defined by the difference (value[1] - value[0]). You can restrict this size to a certain minimum and maximum value as well as indicating a specific step size (default: 0.0 -> no step size).
See also
Public Functions
-
DoubleIntervalMeta(const DoubleIntervalMeta &cpy)#
copy constructor
-
DoubleIntervalMeta &operator=(const DoubleIntervalMeta &rhs)#
returns minimum size of range
< assignment operator
-
inline float64 getSizeMin() const#
returns maximum size of range
-
inline float64 getSizeMax() const#
returns step size of size of range
-
void setSizeMin(float64 val)#
sets the minimum size of the interval (= max-min)
- Parameters:
val – is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
-
void setSizeMax(float64 val)#
sets the maximum size of the interval (= max-min)
- Parameters:
val – is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
-
void setSizeStep(float64 val)#
sets the step size of the size of the interval (= max-min)
- Parameters:
val – is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize…,maxVal] are allowed
-
DoubleIntervalMeta(const DoubleIntervalMeta &cpy)#
8.8.5.9. Class DObjMeta#
This meta information class provides further information about allowed types and boundaries concerning the dimension of a data object.
-
class DObjMeta : public ito::ParamMeta#
Meta-information for Param of type DObjPtr.
(not used yet)
See also
Public Functions
-
explicit DObjMeta(int minDim = 0, int maxDim = (std::numeric_limits<int>::max)(), ito::ByteArray category = ito::ByteArray())#
< constructor. This default constructor has no data type restrictions. use appendAllowedDataType to add one of multiple allowed data types.
-
virtual bool operator==(const ParamMeta &other) const#
returns the number of allowed data types or 0 if no type restriction is given.
-
int getNumAllowedDataTypes() const#
returns the i-th allowed data type. i must be in range [0, getNumAllowedDataTypes).
-
ito::tDataType getAllowedDataType(int index) const#
returns true if the given dataType is allowed
-
bool isDataTypeAllowed(ito::tDataType dataType) const#
add a new data type to the list of allowed data types.
-
void appendAllowedDataType(ito::tDataType dataType)#
returns minimum allowed dimensions of data object
-
inline int getMinDim() const#
returns maximum number of dimensions of data object
-
inline int getMaxDim() const#
set the minimum allowed dimensions of data object
-
inline void setMinDim(int minDim)#
set the maximum number of dimensions of data object
-
explicit DObjMeta(int minDim = 0, int maxDim = (std::numeric_limits<int>::max)(), ito::ByteArray category = ito::ByteArray())#
8.8.5.10. Class HWMeta#
By that implementation of a meta information class you can provide information about references to other instantiated plugins. Every plugin is defined by a bitmask of enumeration ito::tPluginType (defined in addInActuator.h). You can either add a minimum bitmask, that is required, to the HWMeta-instance or you can define an exact name of a plugin, which must be met.
-
class HWMeta : public ito::ParamMeta#
Meta-information for Param of type HWPtr.
An object of this class can be used to parametrize a parameter whose type is ito::ParamBase::HWPtr, that is an instance of another hardware plugin. If set, it is possible to restrict the given hardware plugin to a specific type (e.g. dataIO, dataIO + grabber, actuator…) and/or to limit it to a specific name of the plugin (e.g. SerialIO).
See also
Public Functions
-
explicit HWMeta(uint32 minType, ito::ByteArray category = ito::ByteArray())#
constructor
creates HWMeta-information struct where you can pass a bitmask which consists of values of the enumeration ito::tPluginType. The plugin reference of the corresponding Param should then only accept plugins, where all bits are set, too.
See also
ito::Plugin, ito::tPluginType
-
explicit HWMeta(const ito::ByteArray &hwAddInName, ito::ByteArray category = ito::ByteArray())#
constructor
creates HWMeta-information struct where you can pass a specific name of a plugin, which only is allowed by the corresponding plugin-instance.
creates HWMeta-information struct where you can pass a specific name of a plugin, which only is allowed by the corresponding plugin-instance.
See also
ito::Plugin copy constructor
See also
ito::Plugin
-
HWMeta &operator=(const HWMeta &rhs)#
returns type-bitmask which is minimally required by plugin-reference. Default 0.
See also
ito::tPluginType
-
inline uint32 getMinType() const#
returns name of specific hardware plugin
-
explicit HWMeta(uint32 minType, ito::ByteArray category = ito::ByteArray())#