SceneConditions

Camera-reported information about ambient light conditions in the scene.

class SceneConditions

A description of the ambient conditions detected by the camera.

Public Functions

SceneConditions()

Default constructor.

explicit SceneConditions(const std::string &fileName)

Construct SceneConditions by loading from file.

std::string serialize() const

Serialize to a string.

See also fromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using save.

template<typename ...Args>
inline explicit SceneConditions(Args&&... args)

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 SceneConditions then invoking set(args).

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

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

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

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

template<typename ...Args>
inline SceneConditions copyWith(Args&&... args) const

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

Creates a copy of this SceneConditions 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 SceneConditions. These types can be provided:

inline const AmbientLight &ambientLight() const

Get AmbientLight.

inline AmbientLight &ambientLight()

Get AmbientLight.

inline SceneConditions &set(const AmbientLight &value)

Set AmbientLight.

inline SceneConditions &set(const AmbientLight::FlickerClassification &value)

Set AmbientLight::FlickerClassification.

inline SceneConditions &set(const AmbientLight::FlickerFrequency &value)

Set AmbientLight::FlickerFrequency.

template<typename F>
inline 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>
inline void forEach(const F &f)

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

bool operator==(const SceneConditions &other) const

Equality operator.

bool operator!=(const SceneConditions &other) const

Inequality operator.

std::string toString() const

Get the value as string.

void save(const std::string &fileName) const

Save to the given file.

void load(const std::string &fileName)

Load from the given file.

Public Static Functions

static SceneConditions fromSerialized(const std::string &value)

Construct a new SceneConditions instance from a previously serialized string.

See also serialize.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {""}

The full path for this value.

static constexpr const char *name = {"SceneConditions"}

The name of this value.

static constexpr const char * description  {R"description(A description of the ambient conditions detected by the camera.)description"}

The description for this value.

Friends

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

Operator to send the value as string to a stream.

class AmbientLight

The ambient light detected by the camera.

Public Functions

AmbientLight()

Default constructor.

template<typename ...Args>
inline explicit AmbientLight(Args&&... args)

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 AmbientLight then invoking set(args).

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

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

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

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

template<typename ...Args>
inline AmbientLight copyWith(Args&&... args) const

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

Creates a copy of this AmbientLight 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 AmbientLight. These types can be provided:

inline const FlickerClassification &flickerClassification() const

Get FlickerClassification.

inline FlickerClassification &flickerClassification()

Get FlickerClassification.

inline AmbientLight &set(const FlickerClassification &value)

Set FlickerClassification.

inline const FlickerFrequency &flickerFrequency() const

Get FlickerFrequency.

inline FlickerFrequency &flickerFrequency()

Get FlickerFrequency.

inline AmbientLight &set(const FlickerFrequency &value)

Set FlickerFrequency.

template<typename F>
inline 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>
inline void forEach(const F &f)

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

bool operator==(const AmbientLight &other) const

Equality operator.

bool operator!=(const AmbientLight &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"AmbientLight"}

The full path for this value.

static constexpr const char *name = {"AmbientLight"}

The name of this value.

static constexpr const char * description  { R"description(The ambient light detected by the camera.)description" }

The description for this value.

Friends

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

Operator to send the value as string to a stream.

class FlickerClassification

A classification of the detected ambient light flicker, if any.

The values grid50hz and grid60hz indicate that ambient light matching a 50 Hz or 60 Hz power grid was detected in the scene. In those cases it is recommended to use Ambient Light Adaptation for better point cloud quality. The value unknownFlicker indicates that some significant time-varying ambient light was detected, but it was not possible to determine the frequency. otherFlicker indicates that ambient light of a particular frequency was detected but it did not match the characteristics of a standard power grid.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator noFlicker
enumerator unknownFlicker
enumerator grid50hz
enumerator grid60hz
enumerator otherFlicker

Public Functions

FlickerClassification() = default

Default constructor.

inline explicit constexpr FlickerClassification(ValueType value)

Constructor.

ValueType value() const

Get the value.

std::string toString() const

Get the value as string.

inline bool operator==(const FlickerClassification &other) const

Comparison operator.

inline bool operator!=(const FlickerClassification &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of FlickerClassification.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"AmbientLight/FlickerClassification"}

The full path for this value.

static constexpr const char *name = {"FlickerClassification"}

The name of this value.

static constexpr const char * description  {R"description(A classification of the detected ambient light flicker, if any.The values `grid50hz` and `grid60hz` indicate that ambientlight matching a 50 Hz or 60 Hz power grid was detected in thescene. In those cases it is recommended to use Ambient LightAdaptation for better point cloud quality. Thevalue `unknownFlicker` indicates that some significant time-varyingambient light was detected, but it was not possible todetermine the frequency. `otherFlicker` indicates that ambientlight of a particular frequency was detected but it did notmatch the characteristics of a standard power grid.)description"}

The description for this value.

static const FlickerClassification noFlicker

noFlicker

static const FlickerClassification unknownFlicker

unknownFlicker

static const FlickerClassification grid50hz

grid50hz

static const FlickerClassification grid60hz

grid60hz

static const FlickerClassification otherFlicker

otherFlicker

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const FlickerClassification::ValueType &value)

Operator to serialize ValueType to a stream.

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

Operator to serialize the value to a stream.

class FlickerFrequency

This field contains the actual frequency unless the classification is noFlicker or unknownFlicker.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

FlickerFrequency() = default

Default constructor.

inline explicit constexpr FlickerFrequency(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const FlickerFrequency &other) const

Comparison operator.

inline bool operator!=(const FlickerFrequency &other) const

Comparison operator.

inline bool operator<(const FlickerFrequency &other) const

Comparison operator.

inline bool operator>(const FlickerFrequency &other) const

Comparison operator.

inline bool operator<=(const FlickerFrequency &other) const

Comparison operator.

inline bool operator>=(const FlickerFrequency &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for FlickerFrequency.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"AmbientLight/FlickerFrequency"}

The full path for this value.

static constexpr const char *name = {"FlickerFrequency"}

The name of this value.

static constexpr const char * description  {R"description(This field contains the actual frequency unless theclassification is `noFlicker` or `unknownFlicker`.)description"}

The description for this value.

Friends

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

Operator to serialize the value to a stream.

struct SceneConditions

A description of the ambient conditions detected by the camera.

Public Functions

System::String ^ Serialize ()

Serialize to a string.

See also FromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using Save.

void Save (System::String ^ fileName)

Save to the given file.

void Load (System::String ^ fileName)

Load from the given file.

inline SceneConditions()

Constructor.

SceneConditions ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

SceneConditions ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Public Static Attributes

static SceneConditions(System::String ^ fileName) SceneConditions FromSerialized )(System::String ^ value)

Construct SceneConditions by loading from file.

Construct a new SceneConditions instance from a previously serialized string

See also Serialize.

struct AmbientLightGroup

The ambient light detected by the camera.

Public Types

enum class FlickerClassificationOption : std::underlying_type<Zivid::SceneConditions::AmbientLight::FlickerClassification::ValueType>::type

A classification of the detected ambient light flicker, if any.

The values grid50hz and grid60hz indicate that ambient light matching a 50 Hz or 60 Hz power grid was detected in the scene. In those cases it is recommended to use Ambient Light Adaptation for better point cloud quality. The value unknownFlicker indicates that some significant time-varying ambient light was detected, but it was not possible to determine the frequency. otherFlicker indicates that ambient light of a particular frequency was detected but it did not match the characteristics of a standard power grid.

Values:

enumerator NoFlicker
enumerator UnknownFlicker
enumerator Grid50hz
enumerator Grid60hz
enumerator OtherFlicker

Public Functions

inline AmbientLightGroup()

Constructor.

AmbientLightGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

AmbientLightGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

FlickerClassificationOption FlickerClassification

A classification of the detected ambient light flicker, if any.

The values grid50hz and grid60hz indicate that ambient light matching a 50 Hz or 60 Hz power grid was detected in the scene. In those cases it is recommended to use Ambient Light Adaptation for better point cloud quality. The value unknownFlicker indicates that some significant time-varying ambient light was detected, but it was not possible to determine the frequency. otherFlicker indicates that ambient light of a particular frequency was detected but it did not match the characteristics of a standard power grid.

System::Nullable<double> FlickerFrequency

This field contains the actual frequency unless the classification is noFlicker or unknownFlicker.

See zivid.SceneConditions in zivid-python.