cesium-native 0.50.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 1503 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 1508 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 1526 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 1533 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 1610 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 1629 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 1648 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 1691 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 1766 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 1684 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 1725 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 1737 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 1672 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 1754 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 1696 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 1701 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 1780 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 1749 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 1713 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 1677 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 1667 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 1784 of file PropertyView.h.


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