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

Represents a non-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.
 
 PropertyView (const ClassProperty &classProperty, const CesiumGltf::Enum *pEnumDefinition)
 Constructs a property instance from a class definition and enum definition.
 
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< ElementType > > offset () const noexcept
 Constructs an empty property instance. false>offset
 
std::optional< PropertyArrayView< ElementType > > scale () const noexcept
 Constructs an empty property instance. false>scale
 
std::optional< PropertyArrayView< ElementType > > max () const noexcept
 Constructs an empty property instance. false>max
 
std::optional< PropertyArrayView< ElementType > > 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< ElementType > > defaultValue () const noexcept
 Constructs an empty property instance. false>defaultValue
 
PropertyType propertyType () const noexcept
 Returns the PropertyType of the property that 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, its class definition, and an optional enum definition.
 
 PropertyView (const ClassProperty &classProperty, const PropertyTextureProperty &property, const CesiumGltf::Enum *pEnumDefinition=nullptr)
 Constructs a property instance from a property texture property, its class definition, and an optional enum definition.
 

Protected Attributes

PropertyViewStatusType _status
 Indicates the status of a property view.
 

Detailed Description

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

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

Definition at line 1504 of file PropertyView.h.

Constructor & Destructor Documentation

◆ PropertyView() [1/6]

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

Constructs an empty property instance.

Definition at line 1509 of file PropertyView.h.

◆ PropertyView() [2/6]

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

Constructs a property instance from a class definition only.

Definition at line 1527 of file PropertyView.h.

◆ PropertyView() [3/6]

template<typename ElementType>
CesiumGltf::PropertyView< PropertyArrayView< ElementType >, false >::PropertyView ( const ClassProperty & classProperty,
const CesiumGltf::Enum * pEnumDefinition )
inline

Constructs a property instance from a class definition and enum definition.

Definition at line 1534 of file PropertyView.h.

◆ PropertyView() [4/6]

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

◆ PropertyView() [5/6]

template<typename ElementType>
CesiumGltf::PropertyView< PropertyArrayView< ElementType >, false >::PropertyView ( const ClassProperty & classProperty,
const PropertyTableProperty & property,
const CesiumGltf::Enum * pEnumDefinition = nullptr )
inlineprotected

Constructs a property instance from a property table property, its class definition, and an optional enum definition.

Definition at line 1632 of file PropertyView.h.

◆ PropertyView() [6/6]

template<typename ElementType>
CesiumGltf::PropertyView< PropertyArrayView< ElementType >, false >::PropertyView ( const ClassProperty & classProperty,
const PropertyTextureProperty & property,
const CesiumGltf::Enum * pEnumDefinition = nullptr )
inlineprotected

Constructs a property instance from a property texture property, its class definition, and an optional enum definition.

Definition at line 1651 of file PropertyView.h.

Member Function Documentation

◆ arrayCount()

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

Constructs an empty property instance. false>arrayCount

false>arrayCount

Definition at line 1694 of file PropertyView.h.

◆ defaultValue()

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

Constructs an empty property instance. false>defaultValue

false>defaultValue

Definition at line 1749 of file PropertyView.h.

◆ description()

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

Constructs an empty property instance. false>description

false>description

Definition at line 1687 of file PropertyView.h.

◆ max()

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

Constructs an empty property instance. false>max

false>max

Definition at line 1720 of file PropertyView.h.

◆ min()

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

Constructs an empty property instance. false>min

false>min

Definition at line 1728 of file PropertyView.h.

◆ name()

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

Constructs an empty property instance. false>name

false>name

Definition at line 1675 of file PropertyView.h.

◆ noData()

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

Constructs an empty property instance. false>noData

false>noData

Definition at line 1741 of file PropertyView.h.

◆ normalized()

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

Constructs an empty property instance. false>normalized

false>normalized

Definition at line 1699 of file PropertyView.h.

◆ offset()

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

Constructs an empty property instance. false>offset

false>offset

Definition at line 1704 of file PropertyView.h.

◆ propertyType()

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

Returns the PropertyType of the property that this view is accessing.

Definition at line 1759 of file PropertyView.h.

◆ required()

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

Constructs an empty property instance. false>required

false>required

Definition at line 1736 of file PropertyView.h.

◆ scale()

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

Constructs an empty property instance. false>scale

false>scale

Definition at line 1712 of file PropertyView.h.

◆ semantic()

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

Constructs an empty property instance. false>semantic

false>semantic

Definition at line 1680 of file PropertyView.h.

◆ status()

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

Constructs an empty property instance. false>status

false>status

Definition at line 1670 of file PropertyView.h.

Member Data Documentation

◆ _status

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


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