3#include "CesiumGltf/PropertyArrayView.h"
4#include "CesiumGltf/PropertyType.h"
82template <glm::length_t n,
typename T, glm::qualifier P>
92template <glm::length_t n,
typename T, glm::qualifier P>
209#pragma region Scalar Property Types
302#pragma region Vector Property Types
305template <
typename T, glm::qualifier P>
316template <
typename T, glm::qualifier P>
327template <
typename T, glm::qualifier P>
339#pragma region Matrix Property Types
342template <
typename T, glm::qualifier P>
353template <
typename T, glm::qualifier P>
364template <
typename T, glm::qualifier P>
419template <glm::length_t n,
typename T, glm::qualifier P>
423template <glm::length_t n,
typename T, glm::qualifier P>
477template <glm::length_t N,
typename T, glm::qualifier Q>
480 using type = glm::vec<N, double, Q>;
484template <glm::length_t N,
typename T, glm::qualifier Q>
487 using type = glm::mat<N, N, double, Q>;
540template <glm::length_t N,
typename T, glm::qualifier Q>
548template <glm::length_t N,
typename T, glm::qualifier Q>
600static std::optional<PropertyValueViewToCopy<T>>
601propertyValueViewToCopy(
const std::optional<T>& view) {
604 return std::make_optional<PropertyValueViewToCopy<T>>(
605 std::vector(view->begin(), view->end()));
624 if constexpr (IsMetadataNumericArray<T>::value) {
641 if constexpr (IsMetadataNumericArray<T>::value) {
A copy of an array element of a PropertyTableProperty or PropertyTextureProperty.
A view on an array element of a PropertyTableProperty or PropertyTextureProperty.
Classes for working with glTF models.
PropertyComponentType
The possible types of a property component.
@ Float32
A property component equivalent to a float.
@ Uint32
A property component equivalent to a uint32_t.
@ Uint16
A property component equivalent to a uint16_t.
@ Int16
A property component equivalent to an int16_t.
@ Uint8
A property component equivalent to a uint8_t.
@ Int8
A property component equivalent to an int8_t.
@ Int32
A property component equivalent to an int32_t.
@ Uint64
A property component equivalent to a uint32_t.
@ Float64
A property component equivalent to a double.
@ Int64
A property component equivalent to an int64_t.
std::conditional_t< IsMetadataNumericArray< T >::value, PropertyArrayView< typename MetadataArrayType< T >::type >, T > PropertyValueCopyToView
Transforms a property value type from a copy that owns the data it is viewing to a view into that dat...
std::conditional_t< IsMetadataNumericArray< T >::value, PropertyArrayCopy< typename MetadataArrayType< T >::type >, T > PropertyValueViewToCopy
Transforms a property value type from a view to an equivalent type that owns the data it is viewing....
PropertyType
The possible types of a property in a PropertyTableView.
@ Vec3
A vector with three components.
@ Scalar
A scalar property, i.e. an integer or floating point value.
@ Vec4
A vector with four components.
@ Vec2
A vector with two components.
Check if a C++ type can be normalized.
glm::mat< N, N, double, Q > type
The representation of a glm::mat<N, N, T, Q> as a double type.
glm::vec< N, double, Q > type
The representation of a glm::vec<N, T, Q> as a double type.
double type
The representation of an int16_t as a double type.
double type
The representation of an int32_t as a double type.
double type
The representation of an int64_t as a double type.
double type
The representation of an int8_t as a double type.
double type
The representation of a uint16_t as a double type.
double type
The representation of a uint32_t as a double type.
double type
The representation of a uint64_t as a double type.
double type
The representation of a uint8_t as a double type.
Convert an integer numeric type to the corresponding representation as a double type....
Convert a C++ type to PropertyType and PropertyComponentType.