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

Represents a normalized array 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.
 
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< PropertyArrayView< NormalizedType > > offset () const noexcept
 Constructs an empty property instance. false>offset
 
std::optional< PropertyArrayView< NormalizedType > > scale () const noexcept
 Constructs an empty property instance. false>scale
 
std::optional< PropertyArrayView< NormalizedType > > max () const noexcept
 Constructs an empty property instance. false>max
 
std::optional< PropertyArrayView< NormalizedType > > min () const noexcept
 Constructs an empty property instance. false>min
 
bool required () const noexcept
 Constructs an empty property instance. false>required
 
std::optional< PropertyArrayView< ElementType > > noData () const noexcept
 Constructs an empty property instance. false>noData
 
std::optional< PropertyArrayView< 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.
 

Protected Attributes

PropertyViewStatusType _status
 Indicates the status of a property view.
 

Detailed Description

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

Represents a normalized array 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 elements in the array values for this property. Must have an integer component type.

Definition at line 1947 of file PropertyView.h.

Constructor & Destructor Documentation

◆ PropertyView() [1/5]

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

Constructs an empty property instance.

Definition at line 1955 of file PropertyView.h.

◆ PropertyView() [2/5]

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

Constructs a property instance from a class definition only.

Definition at line 1973 of file PropertyView.h.

◆ PropertyView() [3/5]

template<typename ElementType>
CesiumGltf::PropertyView< PropertyArrayView< 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 2034 of file PropertyView.h.

◆ PropertyView() [4/5]

template<typename ElementType>
CesiumGltf::PropertyView< PropertyArrayView< 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 2053 of file PropertyView.h.

◆ PropertyView() [5/5]

template<typename ElementType>
CesiumGltf::PropertyView< PropertyArrayView< 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 2069 of file PropertyView.h.

Member Function Documentation

◆ arrayCount()

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

Constructs an empty property instance. false>arrayCount

false>arrayCount

Definition at line 2109 of file PropertyView.h.

◆ defaultValue()

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

Constructs an empty property instance. false>defaultValue

false>defaultValue

Definition at line 2165 of file PropertyView.h.

◆ description()

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

Constructs an empty property instance. false>description

false>description

Definition at line 2102 of file PropertyView.h.

◆ max()

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

Constructs an empty property instance. false>max

false>max

Definition at line 2135 of file PropertyView.h.

◆ min()

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

Constructs an empty property instance. false>min

false>min

Definition at line 2143 of file PropertyView.h.

◆ name()

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

Constructs an empty property instance. false>name

false>name

Definition at line 2090 of file PropertyView.h.

◆ noData()

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

Constructs an empty property instance. false>noData

false>noData

Definition at line 2156 of file PropertyView.h.

◆ normalized()

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

Constructs an empty property instance. false>normalized

false>normalized

Definition at line 2114 of file PropertyView.h.

◆ offset()

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

Constructs an empty property instance. false>offset

false>offset

Definition at line 2119 of file PropertyView.h.

◆ propertyType()

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

Returns the PropertyType of the property this view is accessing.

Definition at line 2175 of file PropertyView.h.

◆ required()

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

Constructs an empty property instance. false>required

false>required

Definition at line 2151 of file PropertyView.h.

◆ scale()

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

Constructs an empty property instance. false>scale

false>scale

Definition at line 2127 of file PropertyView.h.

◆ semantic()

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

Constructs an empty property instance. false>semantic

false>semantic

Definition at line 2095 of file PropertyView.h.

◆ status()

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

Constructs an empty property instance. false>status

false>status

Definition at line 2085 of file PropertyView.h.

Member Data Documentation

◆ _status

template<typename ElementType>
PropertyViewStatusType CesiumGltf::PropertyView< PropertyArrayView< 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 2179 of file PropertyView.h.


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