cesium-native 0.62.0
Loading...
Searching...
No Matches
CesiumGltf::PropertyView< ElementType, true > Class Template Reference

Represents a normalized metadata property in EXT_structural_metadata. More...

#include <CesiumGltf/PropertyView.h>

Inheritance diagram for CesiumGltf::PropertyView< ElementType, true >:
CesiumGltf::PropertyAttributePropertyView< ElementType, true > CesiumGltf::PropertyTablePropertyView< ElementType, true > CesiumGltf::PropertyTexturePropertyView< ElementType, true >

Public Member Functions

 PropertyView ()
 Constructs an empty property instance.
 
 PropertyView (const ClassProperty &classProperty)
 Constructs a property instance from a class definition only.
 
PropertyViewStatusType status () const noexcept
 Constructs an empty property instance. false>status
 
const std::optional< std::string > & name () const noexcept
 Constructs an empty property instance. false>name
 
const std::optional< std::string > & semantic () const noexcept
 Constructs an empty property instance. false>semantic
 
const std::optional< std::string > & description () const noexcept
 Constructs an empty property instance. false>description
 
int64_t arrayCount () const noexcept
 Constructs an empty property instance. false>arrayCount
 
bool normalized () const noexcept
 Constructs an empty property instance. false>normalized
 
std::optional< NormalizedType > offset () const noexcept
 Constructs an empty property instance. false>offset
 
std::optional< NormalizedType > scale () const noexcept
 Constructs an empty property instance. false>scale
 
std::optional< NormalizedType > max () const noexcept
 Constructs an empty property instance. false>max
 
std::optional< NormalizedType > min () const noexcept
 Constructs an empty property instance. false>min
 
bool required () const noexcept
 Constructs an empty property instance. false>required
 
std::optional< ElementType > noData () const noexcept
 Constructs an empty property instance. false>noData
 
std::optional< NormalizedType > defaultValue () const noexcept
 Constructs an empty property instance. false>defaultValue
 
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)
 Constructs a property instance from a property table property and its class definition.
 
 PropertyView (const ClassProperty &classProperty, const PropertyTextureProperty &property)
 Constructs a property instance from a property texture property and its class definition.
 
 PropertyView (const ClassProperty &classProperty, const PropertyAttributeProperty &property)
 Constructs a property instance from a property attribute property and its class definition.
 

Protected Attributes

PropertyViewStatusType _status
 Indicates the status of a property view.
 

Detailed Description

template<typename ElementType>
class CesiumGltf::PropertyView< ElementType, true >

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

Template Parameters
ElementTypeThe C++ type of the values in this property. Must have an integer component type.

Definition at line 809 of file PropertyView.h.

Constructor & Destructor Documentation

◆ PropertyView() [1/6]

template<typename ElementType>
CesiumGltf::PropertyView< ElementType, true >::PropertyView ( )
inline

Constructs an empty property instance.

Definition at line 817 of file PropertyView.h.

◆ PropertyView() [2/6]

template<typename ElementType>
CesiumGltf::PropertyView< ElementType, true >::PropertyView ( const ClassProperty & classProperty)
inline

Constructs a property instance from a class definition only.

Definition at line 834 of file PropertyView.h.

◆ PropertyView() [3/6]

template<typename ElementType>
CesiumGltf::PropertyView< ElementType, true >::PropertyView ( PropertyViewStatusType status)
inlineprotected

Constructs an invalid instance for an erroneous property.

Parameters
statusThe value of PropertyViewStatus indicating the error with the property.

Definition at line 892 of file PropertyView.h.

◆ PropertyView() [4/6]

template<typename ElementType>
CesiumGltf::PropertyView< ElementType, true >::PropertyView ( const ClassProperty & classProperty,
const PropertyTableProperty & property )
inlineprotected

Constructs a property instance from a property table property and its class definition.

Definition at line 910 of file PropertyView.h.

◆ PropertyView() [5/6]

template<typename ElementType>
CesiumGltf::PropertyView< ElementType, true >::PropertyView ( const ClassProperty & classProperty,
const PropertyTextureProperty & property )
inlineprotected

Constructs a property instance from a property texture property and its class definition.

Definition at line 926 of file PropertyView.h.

◆ PropertyView() [6/6]

template<typename ElementType>
CesiumGltf::PropertyView< ElementType, true >::PropertyView ( const ClassProperty & classProperty,
const PropertyAttributeProperty & property )
inlineprotected

Constructs a property instance from a property attribute property and its class definition.

Definition at line 942 of file PropertyView.h.

Member Function Documentation

◆ arrayCount()

template<typename ElementType>
int64_t CesiumGltf::PropertyView< ElementType, true >::arrayCount ( ) const
inlinenoexcept

Constructs an empty property instance. false>arrayCount

false>arrayCount

Definition at line 982 of file PropertyView.h.

◆ defaultValue()

template<typename ElementType>
std::optional< NormalizedType > CesiumGltf::PropertyView< ElementType, true >::defaultValue ( ) const
inlinenoexcept

Constructs an empty property instance. false>defaultValue

false>defaultValue

Definition at line 1022 of file PropertyView.h.

◆ description()

template<typename ElementType>
const std::optional< std::string > & CesiumGltf::PropertyView< ElementType, true >::description ( ) const
inlinenoexcept

Constructs an empty property instance. false>description

false>description

Definition at line 975 of file PropertyView.h.

◆ max()

template<typename ElementType>
std::optional< NormalizedType > CesiumGltf::PropertyView< ElementType, true >::max ( ) const
inlinenoexcept

Constructs an empty property instance. false>max

false>max

Definition at line 1002 of file PropertyView.h.

◆ min()

template<typename ElementType>
std::optional< NormalizedType > CesiumGltf::PropertyView< ElementType, true >::min ( ) const
inlinenoexcept

Constructs an empty property instance. false>min

false>min

Definition at line 1007 of file PropertyView.h.

◆ name()

template<typename ElementType>
const std::optional< std::string > & CesiumGltf::PropertyView< ElementType, true >::name ( ) const
inlinenoexcept

Constructs an empty property instance. false>name

false>name

Definition at line 963 of file PropertyView.h.

◆ noData()

template<typename ElementType>
std::optional< ElementType > CesiumGltf::PropertyView< ElementType, true >::noData ( ) const
inlinenoexcept

Constructs an empty property instance. false>noData

false>noData

Definition at line 1017 of file PropertyView.h.

◆ normalized()

template<typename ElementType>
bool CesiumGltf::PropertyView< ElementType, true >::normalized ( ) const
inlinenoexcept

Constructs an empty property instance. false>normalized

false>normalized

Definition at line 987 of file PropertyView.h.

◆ offset()

template<typename ElementType>
std::optional< NormalizedType > CesiumGltf::PropertyView< ElementType, true >::offset ( ) const
inlinenoexcept

Constructs an empty property instance. false>offset

false>offset

Definition at line 992 of file PropertyView.h.

◆ propertyType()

template<typename ElementType>
PropertyType CesiumGltf::PropertyView< ElementType, true >::propertyType ( ) const
inlinenoexcept

Returns the PropertyType of the property this view is accessing.

Definition at line 1030 of file PropertyView.h.

◆ required()

template<typename ElementType>
bool CesiumGltf::PropertyView< ElementType, true >::required ( ) const
inlinenoexcept

Constructs an empty property instance. false>required

false>required

Definition at line 1012 of file PropertyView.h.

◆ scale()

template<typename ElementType>
std::optional< NormalizedType > CesiumGltf::PropertyView< ElementType, true >::scale ( ) const
inlinenoexcept

Constructs an empty property instance. false>scale

false>scale

Definition at line 997 of file PropertyView.h.

◆ semantic()

template<typename ElementType>
const std::optional< std::string > & CesiumGltf::PropertyView< ElementType, true >::semantic ( ) const
inlinenoexcept

Constructs an empty property instance. false>semantic

false>semantic

Definition at line 968 of file PropertyView.h.

◆ status()

template<typename ElementType>
PropertyViewStatusType CesiumGltf::PropertyView< ElementType, true >::status ( ) const
inlinenoexcept

Constructs an empty property instance. false>status

false>status

Definition at line 958 of file PropertyView.h.

Member Data Documentation

◆ _status

template<typename ElementType>
PropertyViewStatusType CesiumGltf::PropertyView< ElementType, true >::_status
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 1034 of file PropertyView.h.


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