|
cesium-native 0.62.0
|
Represents a non-normalized metadata property in EXT_structural_metadata. More...
#include <CesiumGltf/PropertyView.h>
Public Member Functions | |
| PropertyView () | |
| Constructs an empty property instance. | |
| PropertyView (const ClassProperty &classProperty) | |
| Constructs a property instance from a class definition only. | |
| PropertyView (const ClassProperty &classProperty, const CesiumGltf::Enum *pEnumDefinition) | |
| Constructs a property instance from a class definition and enum definition. | |
| PropertyViewStatusType | status () const noexcept |
| Gets the status of this property view, indicating whether an error occurred. | |
| const std::optional< std::string > & | name () const noexcept |
| Gets the name of the property being viewed. Returns std::nullopt if no name was specified. | |
| const std::optional< std::string > & | semantic () const noexcept |
| Gets the semantic of the property being viewed. The semantic is an identifier that describes how this property should be interpreted, and cannot be used by other properties in the class. Returns std::nullopt if no semantic was specified. | |
| const std::optional< std::string > & | description () const noexcept |
| Gets the description of the property being viewed. Returns std::nullopt if no description was specified. | |
| int64_t | arrayCount () const noexcept |
| Get the element count of the fixed-length arrays in this property. Only applicable when the property is an array type. | |
| bool | normalized () const noexcept |
| Whether this property has a normalized integer type. | |
| std::optional< ElementType > | offset () const noexcept |
| Gets the offset to apply to property values. Only applicable to SCALAR, VECN, and MATN types when the component type is FLOAT32 or FLOAT64, or when the property is normalized. | |
| std::optional< ElementType > | scale () const noexcept |
| Gets the scale to apply to property values. Only applicable to SCALAR, VECN, and MATN types when the component type is FLOAT32 or FLOAT64, or when the property is normalized. | |
| std::optional< ElementType > | max () const noexcept |
| Gets the maximum allowed value for the property. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied. | |
| std::optional< ElementType > | min () const noexcept |
| Gets the minimum allowed value for the property. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied. | |
| bool | required () const noexcept |
| Whether the property must be present in every entity conforming to the class. If not required, instances of the property may include "no data" values, or the entire property may be omitted. | |
| std::optional< ElementType > | noData () const noexcept |
| Gets the "no data" value, i.e., the value representing missing data in the property wherever it appears. Also known as a sentinel value. This is given as the plain property value, without the transforms from the normalized, offset, and scale properties. | |
| std::optional< ElementType > | defaultValue () const noexcept |
| Gets the default value to use when encountering a "no data" value or an omitted property. The value is given in its final form, taking the effect of normalized, offset, and scale properties into account. | |
| PropertyType | propertyType () const noexcept |
| Returns the PropertyType of the property this view is accessing. | |
Protected Member Functions | |
| PropertyView (PropertyViewStatusType status) | |
| Constructs an invalid instance for an erroneous property. | |
| PropertyView (const ClassProperty &classProperty, const PropertyTableProperty &property, const CesiumGltf::Enum *pEnumDefinition=nullptr) | |
| Constructs a property instance from a property table property and its class definition, with an optional associated enum definition. | |
| PropertyView (const ClassProperty &classProperty, const PropertyTextureProperty &property, const CesiumGltf::Enum *pEnumDefinition=nullptr) | |
| Constructs a property instance from a property texture property, class definition, and an optional associated enum definition. | |
| PropertyView (const ClassProperty &classProperty, const PropertyAttributeProperty &property, const CesiumGltf::Enum *pEnumDefinition=nullptr) | |
| Constructs a property instance from a property attribute property and its class definition, along with an optional enum definition. | |
Protected Attributes | |
| PropertyViewStatusType | _status |
| Indicates the status of a property view. | |
Represents a non-normalized metadata property in EXT_structural_metadata.
Whether they belong to property tables, property textures, or property attributes, properties have their own sub-properties affecting the actual property values. Although they are typically defined via class property, they may be overridden by individual instances of the property themselves. The constructor is responsible for resolving those differences.
| ElementType | The C++ type of the values in this property |
Definition at line 362 of file PropertyView.h.
|
inline |
Constructs an empty property instance.
Definition at line 367 of file PropertyView.h.
|
inline |
Constructs a property instance from a class definition only.
Definition at line 384 of file PropertyView.h.
|
inline |
Constructs a property instance from a class definition and enum definition.
Definition at line 391 of file PropertyView.h.
|
inlineprotected |
Constructs an invalid instance for an erroneous property.
| status | The value of PropertyViewStatus indicating the error with the property. |
Definition at line 469 of file PropertyView.h.
|
inlineprotected |
Constructs a property instance from a property table property and its class definition, with an optional associated enum definition.
Definition at line 487 of file PropertyView.h.
|
inlineprotected |
Constructs a property instance from a property texture property, class definition, and an optional associated enum definition.
Definition at line 506 of file PropertyView.h.
|
inlineprotected |
Constructs a property instance from a property attribute property and its class definition, along with an optional enum definition.
Definition at line 524 of file PropertyView.h.
|
inlinenoexcept |
Get the element count of the fixed-length arrays in this property. Only applicable when the property is an array type.
Definition at line 578 of file PropertyView.h.
|
inlinenoexcept |
Gets the default value to use when encountering a "no data" value or an omitted property. The value is given in its final form, taking the effect of normalized, offset, and scale properties into account.
Definition at line 651 of file PropertyView.h.
|
inlinenoexcept |
Gets the description of the property being viewed. Returns std::nullopt if no description was specified.
Definition at line 568 of file PropertyView.h.
|
inlinenoexcept |
Gets the maximum allowed value for the property. Only applicable to SCALAR, VECN, and MATN types. This is the maximum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.
Definition at line 612 of file PropertyView.h.
|
inlinenoexcept |
Gets the minimum allowed value for the property. Only applicable to SCALAR, VECN, and MATN types. This is the minimum of all property values, after the transforms based on the normalized, offset, and scale properties have been applied.
Definition at line 623 of file PropertyView.h.
|
inlinenoexcept |
Gets the name of the property being viewed. Returns std::nullopt if no name was specified.
Definition at line 552 of file PropertyView.h.
|
inlinenoexcept |
Gets the "no data" value, i.e., the value representing missing data in the property wherever it appears. Also known as a sentinel value. This is given as the plain property value, without the transforms from the normalized, offset, and scale properties.
Definition at line 641 of file PropertyView.h.
|
inlinenoexcept |
Whether this property has a normalized integer type.
Definition at line 583 of file PropertyView.h.
|
inlinenoexcept |
Gets the offset to apply to property values. Only applicable to SCALAR, VECN, and MATN types when the component type is FLOAT32 or FLOAT64, or when the property is normalized.
Definition at line 592 of file PropertyView.h.
|
inlinenoexcept |
Returns the PropertyType of the property this view is accessing.
Definition at line 659 of file PropertyView.h.
|
inlinenoexcept |
Whether the property must be present in every entity conforming to the class. If not required, instances of the property may include "no data" values, or the entire property may be omitted.
Definition at line 630 of file PropertyView.h.
|
inlinenoexcept |
Gets the scale to apply to property values. Only applicable to SCALAR, VECN, and MATN types when the component type is FLOAT32 or FLOAT64, or when the property is normalized.
Definition at line 601 of file PropertyView.h.
|
inlinenoexcept |
Gets the semantic of the property being viewed. The semantic is an identifier that describes how this property should be interpreted, and cannot be used by other properties in the class. Returns std::nullopt if no semantic was specified.
Definition at line 560 of file PropertyView.h.
|
inlinenoexcept |
Gets the status of this property view, indicating whether an error occurred.
Definition at line 546 of file PropertyView.h.
|
protected |
Indicates the status of a property view.
The PropertyView constructor always completes successfully. However, there may be fundamental errors with the property definition. In such cases, this enumeration provides the reason.
This is defined with a class of static consts as opposed to an enum, so that derived property view classes can extend the statuses with their own specific errors.
Definition at line 663 of file PropertyView.h.