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.

../../_images/paramMeta.png

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.

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

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

Public Functions

explicit ParamMeta(ito::ByteArray category = ito::ByteArray())

constructor used by derived classes to indicate their real type

ParamMeta &operator=(const ParamMeta &rhs)

destructor

virtual ~ParamMeta()

returns runtime type information value

inline MetaRtti getType() const

returns category name of this parameter (default: empty ByteArray)

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).

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

Public Static Functions

static CharMeta *all(ito::ByteArray category = ito::ByteArray())

returns minimum value

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).

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

Public Static Functions

static IntMeta *all(ito::ByteArray category = ito::ByteArray())

returns minimum value

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).

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

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

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 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.

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

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.

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

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.

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 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

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.

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 contraints:

  1. Wildcard expressions: Pass one wildcard expression to the meta information. The string parameter is then checked against this wildcard expression, e.g. image_??.jpg.

  2. Regular expression: The same than Wildcard, however the string is a regular expression.

  3. 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).

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.

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 contraints 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.

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

virtual bool operator==(const ParamMeta &other) const

assignment operator

StringListMeta &operator=(const StringListMeta &rhs)

< assignment operator

8.8.5.6. Class IntervalMeta, Class RangeMeta

An interval meta can decorate an Integer-Array parameter whith 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.

Subclassed by ito::RangeMeta

Public Functions

IntervalMeta(const IntervalMeta &cpy)

copy constructor

assignment operator

IntervalMeta &operator=(const IntervalMeta &rhs)

< assignment operator

virtual bool operator==(const ParamMeta &other) const

returns minimum size of interval or range

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

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.

Public Functions

RangeMeta(const RangeMeta &cpy)

copy constructor

assignment operator

RangeMeta &operator=(const RangeMeta &rhs)

< assignment operator

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 contraints of the horizontal and vertical axes of the rectangle.

Public Functions

RectMeta(const RectMeta &cpy)

copy constructor

assignment operator

RectMeta &operator=(const RectMeta &rhs)

< assignment operator

void setHeightRangeMeta(const ito::RangeMeta &heightMeta)

returns unit

inline ito::ByteArray getUnit() const

sets unit string of this parameter

void setUnit(const ito::ByteArray &unit)

< sets unit string of this parameter

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).

Public Functions

DoubleIntervalMeta(const DoubleIntervalMeta &cpy)

copy constructor

virtual bool operator==(const ParamMeta &other) const

assignment operator

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

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)

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.

DObjMeta(const DObjMeta &cpy)

copy constructor

assignment operator

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

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).

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::Plugincopy constructor

See also

ito::Plugin

HWMeta(const HWMeta &cpy)

< copy constructor

virtual bool operator==(const ParamMeta &other) const

assignment operator

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