itom
Loading...
Searching...
No Matches
ito::IntervalMeta Class Reference

Meta-information for Param of type IntArrayMeta that represent an interval [minimum, maximum). More...

#include <paramMeta.h>

Inheritance diagram for ito::IntervalMeta:
ito::IntMeta ito::ParamMeta ito::RangeMeta

Public Member Functions

 IntervalMeta (int32 minVal, int32 maxVal, int32 stepSize=1, ito::ByteArray category=ito::ByteArray())
 
 IntervalMeta (int32 minVal, int32 maxVal, int32 stepSize, int32 sizeMin, int32 sizeMax, int32 intervalStep=1, ito::ByteArray category=ito::ByteArray())
 
 IntervalMeta (const IntervalMeta &cpy)
 copy constructor
 
IntervalMetaoperator= (const IntervalMeta &rhs)
 < assignment operator
 
virtual bool operator== (const ParamMeta &other) const
 returns minimum size of interval or range
 
int getSizeMin () const
 returns maximum size of interval or range
 
int getSizeMax () const
 returns step size of size of interval or range
 
int getSizeStepSize () const
 
bool isIntervalNotRange () const
 
void setIntervalMin (int32 val)
 sets the minimum size of the interval (= max-min)
 
void setIntervalMax (int32 val)
 sets the maximum size of the interval (= max-min)
 
void setIntervalStep (int32 val)
 sets the step size of the size of the interval (= max-min)
 
- Public Member Functions inherited from ito::IntMeta
 IntMeta (int32 minVal, int32 maxVal, int32 stepSize=1, ito::ByteArray category=ito::ByteArray())
 
 IntMeta (const IntMeta &copy)
 
IntMetaoperator= (const IntMeta &rhs)
 
int32 getMin () const
 returns maximum value
 
int32 getMax () const
 returns step size
 
int32 getStepSize () const
 returns unit
 
ito::ByteArray getUnit () const
 sets unit string of this parameter
 
void setUnit (const ito::ByteArray &unit)
 returns display representation
 
ParamMeta::tRepresentation getRepresentation () const
 sets display representation
 
void setRepresentation (ParamMeta::tRepresentation behaviour)
 
void setMin (int32 val)
 sets the minimum value
 
void setMax (int32 val)
 sets the maximum value
 
void setStepSize (int32 val)
 sets the step size
 
- Public Member Functions inherited from ito::ParamMeta
 ParamMeta (ito::ByteArray category=ito::ByteArray())
 constructor used by derived classes to indicate their real type
 
 ParamMeta (MetaRtti type, ito::ByteArray category=ito::ByteArray())
 
 ParamMeta (const ParamMeta &copy)
 
ParamMetaoperator= (const ParamMeta &rhs)
 destructor
 
virtual ~ParamMeta ()
 returns runtime type information value
 
MetaRtti getType () const
 returns category name of this parameter (default: empty ByteArray)
 
ito::ByteArray getCategory () const
 
void setCategory (const ito::ByteArray &category)
 
bool operator!= (const ParamMeta &other) const
 

Protected Attributes

int32 m_sizeMin
 
int32 m_sizeMax
 
int32 m_sizeStep
 
bool m_isIntervalNotRange
 
- Protected Attributes inherited from ito::ParamMeta
MetaRtti m_type
 
ito::ByteArray m_category
 optional category name of this parameter
 

Additional Inherited Members

- Public Types inherited from ito::ParamMeta
enum  MetaRtti {
  rttiUnknown = 0 , rttiCharMeta = 1 , rttiIntMeta = 2 , rttiDoubleMeta = 3 ,
  rttiStringMeta = 4 , rttiHWMeta = 5 , rttiDObjMeta = 6 , rttiIntArrayMeta = 7 ,
  rttiDoubleArrayMeta = 8 , rttiCharArrayMeta = 9 , rttiIntervalMeta = 10 , rttiDoubleIntervalMeta = 11 ,
  rttiRangeMeta = 12 , rttiRectMeta = 13 , rttiStringListMeta = 14
}
 Runtime type information. More...
 
enum  tRepresentation {
  Linear = 0x0001 , Logarithmic = 0x0002 , Boolean = 0x0004 , PureNumber = 0x0008 ,
  HexNumber = 0x0010 , IPV4Address = 0x0020 , MACAddress = 0x0040 , UnknownRepresentation = 0x0080
}
 The representation of number types indicates the type of widget that is suited best to display and change the value. More...
 
- Static Public Member Functions inherited from ito::IntMeta
static IntMetaall (ito::ByteArray category=ito::ByteArray())
 returns minimum value
 

Detailed Description

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

Constructor & Destructor Documentation

◆ IntervalMeta()

ito::IntervalMeta::IntervalMeta ( const IntervalMeta & cpy)

copy constructor

assignment operator

Member Function Documentation

◆ operator==()

bool ito::IntervalMeta::operator== ( const ParamMeta & other) const
virtual

returns minimum size of interval or range

Reimplemented from ito::IntMeta.

◆ setIntervalMax()

void ito::IntervalMeta::setIntervalMax ( int32 val)

sets the maximum size of the interval (= max-min)

Parameters
valis the new maximum value, if this is smaller than the current minimum value, the minimum value is changed to val, too

◆ setIntervalMin()

void ito::IntervalMeta::setIntervalMin ( int32 val)

sets the minimum size of the interval (= max-min)

Parameters
valis the new minimum value, if this is bigger than the current maximum value, the maximum value is changed to val, too

◆ setIntervalStep()

void ito::IntervalMeta::setIntervalStep ( int32 val)

sets the step size of the size of the interval (= max-min)

Parameters
valis the new step size, hence only discrete values [minVal, minVal+stepSize, minVal+2*stepSize...,maxVal] are allowed

Member Data Documentation

◆ m_isIntervalNotRange

bool ito::IntervalMeta::m_isIntervalNotRange
protected

this flag describes if this object is an interval where its interval/range is (end-begin) or a range with (1+end-begin)


The documentation for this class was generated from the following files: