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 instance of class ito::ParamMeta 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 savely cast this ito::ParamMeta base instance to the right meta information class that fits to the type.
The class ParamMeta is the base class for all meta information classes. Parameters of class Param may contain pointers of that class, which then must be cast to the final implementation.
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.
Public Type
Runtime type information.
MetaRtti is used to cast param meta objects, without having to enable runtime type information of the compiler.
Values:
unknown parameter
meta for a char parameter
meta for an integer parameter
meta for a double parameter
meta for a string parameter
meta for a hardware plugin parameter
meta for a data object parameter
meta for an integer array parameter
meta for a double array parameter
meta for a char array parameter
meta for an integer array with two values that represent an interval [value1, value2] parameter
meta for a double array with two values that represent an interval [value1, value2] parameter (size of the interval is value2-value1)
meta for an integer array with two values that represent a range [value1, value2] parameter (size of a range is 1+value2-value1)
meta for an integer array with four values that consists of two ranges (vertical and horizontal, e.g. for ROIs of cameras)
The classes CharMeta, IntMeta and DoubleMeta provide meta information for parameters of single numeric types.
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).
Public Functions
constructor with minimum and maximum value
constructor with minimum and maximum value as well as optional step size (default: 1)
returns minimum value
returns maximum value
returns step size
sets the minimum value
is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
sets the maximum value
is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
sets the step size
is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize...,maxVal] are allowed
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).
Public Functions
constructor with minimum and maximum value as well as optional step size (default: 1)
returns minimum value
returns maximum value
returns step size
sets the minimum value
is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
sets the maximum value
is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
sets the step size
is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize...,maxVal] are allowed
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).
Public Functions
constructor with minimum and maximum value
returns minimum value
returns maximum value
returns step size
sets the minimum value
is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
sets the maximum value
is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
sets the step size
is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize...,maxVal] are allowed
Public Static Functions
returns a new instance of DoubleMeta, where the min and max are set to the full range available for double.
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.
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 contraints 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 contraints 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.
Public Functions
returns minimum number of values
returns maximum number of values
returns step size of number of values
sets the minimum number of values
is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
sets the maximum number of values
is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
sets the step size of the number of values
is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize...,maxVal] are allowed
Public Functions
returns minimum number of values
returns maximum number of values
returns step size of number of values
sets the minimum number of values
is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
sets the maximum number of values
is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
sets the step size of the number of values
is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize...,maxVal] are allowed
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 contraints 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.
Public Functions
returns minimum number of values
returns maximum number of values
returns step size of number of values
sets the minimum number of values
is the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too
sets the maximum number of values
is the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too
sets the step size of the number of values
is the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize...,maxVal] are allowed
By this meta information you can give information about restrictions of strings to different strings. These strings can be interpreted as pure strings, as wildcard-expressions or regular expressions. The corresponding checks must be defined manually. If a string-parameter has an enumeration defined, where the strings are interpreted as strings, and if this parameter will automatically be parsed by any input mask in the GUI, the corresponding input text box becomes a drop-down menu with the given enumeration elements.
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).
Public Functions
constructor
Returns a meta information class for string-types.
indicates how the string elements should be considered
constructor
Returns a meta information class for string-types.
indicates how the string elements should be considered
adds a first string to the element list
copy constructor
destructor
returns the type how strings in list should be considered.
returns the number of string elements in meta information class.
returns string from list at index position or NULL, if index is out of range.
adds another element to the list of patterns.
add another pattern string to the list of patterns.
This meta information class provides further information about allowed types and boundaries concerning the dimension of a data object.
Meta-information for Param of type DObjPtr.
(not used yet)
Public Functions
returns maximum allowed dimensions of data object
returns minimum number of dimensions of data object
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.
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).
Public Functions
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.
constructor
creates HWMeta-information struct where you can pass a specific name of a plugin, which only is allowed by the corresponding plugin-instance.
returns type-bitmask which is minimally required by plugin-reference. Default 0.
returns name of specific hardware plugin