Zivid C++ API 2.17.1+7516d437-1
Zivid::Settings2D::Sampling::Interval Class Reference

Sampling interval controls the interval between successive sensor operations (e.g., structured light pattern projection and image exposure), aligned to external frequencies (e.g., 50 Hz, 60 Hz grid) or to other devices (e.g., barcode scanners at 100 Hz). The requested interval is a target: the sensor operations will happen at this rate if the it can fit the chosen exposure time plus some processing overhead. Otherwise, the sampling interval is rounded up to the nearest suitable integer multiple (e.g., n * 10 ms for 100 Hz and n * 8.33 ms for 120 Hz). More...

#include <Zivid/Settings2D.h>

Classes

class  Duration
 Duration between successive sensor operations, in microseconds. The effective interval might be rounded up to the nearest suitable integer multiple and will never be shorter than exposure time plus some processing overhead. More...
class  Enabled
 Enable or disable sampling interval. More...

Public Types

using Descendants

Public Member Functions

 Interval ()
 Default constructor.
template<typename... Args>
 Interval (Args &&...args)
 Constructor taking variadic number of arguments.
template<typename... Args>
void set (Args &&...args)
 Set multiple arguments.
template<typename... Args>
Interval copyWith (Args &&...args) const
 Returns a copy of this object with the given argument(s) set to the new value(s)
const Durationduration () const
 Get Duration.
Durationduration ()
 Get Duration.
Intervalset (const Duration &value)
 Set Duration.
const EnabledisEnabled () const
 Get Enabled.
EnabledisEnabled ()
 Get Enabled.
Intervalset (const Enabled &value)
 Set Enabled.
template<typename T, typename std::enable_if< std::is_same< T, Settings2D::Sampling::Interval::Duration >::value, int >::type = 0>
const Settings2D::Sampling::Interval::Durationget () const
template<typename T, typename std::enable_if< std::is_same< T, Settings2D::Sampling::Interval::Enabled >::value, int >::type = 0>
const Settings2D::Sampling::Interval::Enabledget () const
template<size_t i, typename std::enable_if< i==0, int >::type = 0>
const Settings2D::Sampling::Interval::Durationget () const
template<size_t i, typename std::enable_if< i==1, int >::type = 0>
const Settings2D::Sampling::Interval::Enabledget () const
template<typename F>
void forEach (const F &f) const
 Run the given function on each direct member with the value of the member as parameter.
template<typename F>
void forEach (const F &f)
 Run the given function on each direct member with the value of the member as parameter.
bool operator== (const Interval &other) const
 Equality operator.
bool operator!= (const Interval &other) const
 Inequality operator.
std::string toString () const
 Get the value as string.

Static Public Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
 The type of this node.
static constexpr const char * path { "Sampling/Interval" }
 The full path for this value.
static constexpr const char * name { "Interval" }
 The name of this value.
static constexpr const char * description
 The description for this value.

Friends

struct DataModel::Detail::Befriend< Interval >
std::ostream & operator<< (std::ostream &stream, const Interval &value)
 Operator to send the value as string to a stream.

Detailed Description

Sampling interval controls the interval between successive sensor operations (e.g., structured light pattern projection and image exposure), aligned to external frequencies (e.g., 50 Hz, 60 Hz grid) or to other devices (e.g., barcode scanners at 100 Hz). The requested interval is a target: the sensor operations will happen at this rate if the it can fit the chosen exposure time plus some processing overhead. Otherwise, the sampling interval is rounded up to the nearest suitable integer multiple (e.g., n * 10 ms for 100 Hz and n * 8.33 ms for 120 Hz).

Member Typedef Documentation

◆ Descendants

Initial value:
std::tuple<Settings2D::Sampling::Interval::Duration, Settings2D::Sampling::Interval::Enabled>

Constructor & Destructor Documentation

◆ Interval() [1/2]

Zivid::Settings2D::Sampling::Interval::Interval ( )

Default constructor.

◆ Interval() [2/2]

template<typename... Args>
Zivid::Settings2D::Sampling::Interval::Interval ( Args &&... args)
inlineexplicit

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Interval then invoking set(args).

The provided arguments must be descendants of Interval. These types can be provided:

Member Function Documentation

◆ copyWith()

template<typename... Args>
Interval Zivid::Settings2D::Sampling::Interval::copyWith ( Args &&... args) const
inline

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Interval object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Interval. These types can be provided:

◆ duration() [1/2]

Duration & Zivid::Settings2D::Sampling::Interval::duration ( )
inline

Get Duration.

◆ duration() [2/2]

const Duration & Zivid::Settings2D::Sampling::Interval::duration ( ) const
inline

Get Duration.

◆ forEach() [1/2]

template<typename F>
void Zivid::Settings2D::Sampling::Interval::forEach ( const F & f)
inline

Run the given function on each direct member with the value of the member as parameter.

◆ forEach() [2/2]

template<typename F>
void Zivid::Settings2D::Sampling::Interval::forEach ( const F & f) const
inline

Run the given function on each direct member with the value of the member as parameter.

◆ get() [1/4]

template<typename T, typename std::enable_if< std::is_same< T, Settings2D::Sampling::Interval::Duration >::value, int >::type = 0>
const Settings2D::Sampling::Interval::Duration & Zivid::Settings2D::Sampling::Interval::get ( ) const
inline

◆ get() [2/4]

template<typename T, typename std::enable_if< std::is_same< T, Settings2D::Sampling::Interval::Enabled >::value, int >::type = 0>
const Settings2D::Sampling::Interval::Enabled & Zivid::Settings2D::Sampling::Interval::get ( ) const
inline

◆ get() [3/4]

template<size_t i, typename std::enable_if< i==0, int >::type = 0>
const Settings2D::Sampling::Interval::Duration & Zivid::Settings2D::Sampling::Interval::get ( ) const
inline

◆ get() [4/4]

template<size_t i, typename std::enable_if< i==1, int >::type = 0>
const Settings2D::Sampling::Interval::Enabled & Zivid::Settings2D::Sampling::Interval::get ( ) const
inline

◆ isEnabled() [1/2]

Enabled & Zivid::Settings2D::Sampling::Interval::isEnabled ( )
inline

Get Enabled.

◆ isEnabled() [2/2]

const Enabled & Zivid::Settings2D::Sampling::Interval::isEnabled ( ) const
inline

Get Enabled.

◆ operator!=()

bool Zivid::Settings2D::Sampling::Interval::operator!= ( const Interval & other) const

Inequality operator.

◆ operator==()

bool Zivid::Settings2D::Sampling::Interval::operator== ( const Interval & other) const

Equality operator.

◆ set() [1/3]

template<typename... Args>
void Zivid::Settings2D::Sampling::Interval::set ( Args &&... args)
inline

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Interval. These types can be provided:

◆ set() [2/3]

Interval & Zivid::Settings2D::Sampling::Interval::set ( const Duration & value)
inline

Set Duration.

◆ set() [3/3]

Interval & Zivid::Settings2D::Sampling::Interval::set ( const Enabled & value)
inline

Set Enabled.

◆ toString()

std::string Zivid::Settings2D::Sampling::Interval::toString ( ) const

Get the value as string.

◆ DataModel::Detail::Befriend< Interval >

friend struct DataModel::Detail::Befriend< Interval >
friend

◆ operator<<

std::ostream & operator<< ( std::ostream & stream,
const Interval & value )
friend

Operator to send the value as string to a stream.

Member Data Documentation

◆ description

const char* Zivid::Settings2D::Sampling::Interval::description
staticconstexpr
Initial value:
{
R"description(Sampling interval controls the interval between successive sensor operations (e.g.,
structured light pattern projection and image exposure), aligned to external
frequencies (e.g., 50 Hz, 60 Hz grid) or to other devices (e.g., barcode scanners
at 100 Hz). The requested interval is a target: the sensor operations will happen
at this rate if the it can fit the chosen exposure time plus some processing overhead.
Otherwise, the sampling interval is rounded up to the nearest suitable integer multiple
(e.g., n * 10 ms for 100 Hz and n * 8.33 ms for 120 Hz).
)description"
}

The description for this value.

◆ name

const char* Zivid::Settings2D::Sampling::Interval::name { "Interval" }
staticconstexpr

The name of this value.

◆ nodeType

DataModel::NodeType Zivid::Settings2D::Sampling::Interval::nodeType = DataModel::NodeType::group
staticconstexpr

The type of this node.

◆ path

const char* Zivid::Settings2D::Sampling::Interval::path { "Sampling/Interval" }
staticconstexpr

The full path for this value.


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