cesium-native
0.41.0
|
A class property. More...
#include <CesiumGltf/ClassProperty.h>
Classes | |
struct | ComponentType |
Known values for The datatype of the element's components. Only applicable to SCALAR , VECN , and MATN types. More... | |
struct | Type |
Known values for The element type. More... | |
Public Attributes | |
std::optional< std::string > | name |
The name of the property, e.g. for display purposes. | |
std::optional< std::string > | description |
The description of the property. | |
std::string | type = Type::SCALAR |
The element type. More... | |
std::optional< std::string > | componentType |
The datatype of the element's components. Only applicable to SCALAR , VECN , and MATN types. More... | |
std::optional< std::string > | enumType |
Enum ID as declared in the enums dictionary. Required when type is ENUM . | |
bool | array = false |
Whether the property is an array. When count is defined the property is a fixed-length array. Otherwise the property is a variable-length array. | |
std::optional< int64_t > | count |
The number of array elements. May only be defined when array is true. | |
bool | normalized = false |
Specifies whether integer values are normalized. Only applicable to SCALAR , VECN , and MATN types with integer component types. For unsigned integer component types, values are normalized between [0.0, 1.0] . For signed integer component types, values are normalized between [-1.0, 1.0] . For all other component types, this property must be false. | |
std::optional< CesiumUtility::JsonValue > | offset |
An offset to apply to property values. Only applicable to SCALAR , VECN , and MATN types when the component type is FLOAT32 or FLOAT64 , or when the property is normalized . | |
std::optional< CesiumUtility::JsonValue > | scale |
A scale to apply to property values. Only applicable to SCALAR , VECN , and MATN types when the component type is FLOAT32 or FLOAT64 , or when the property is normalized . | |
std::optional< CesiumUtility::JsonValue > | max |
Maximum allowed value for the property. Only applicable to SCALAR , VECN , and MATN types. This is the maximum of all property values, after the transforms based on the normalized , offset , and scale properties have been applied. | |
std::optional< CesiumUtility::JsonValue > | min |
Minimum allowed value for the property. Only applicable to SCALAR , VECN , and MATN types. This is the minimum of all property values, after the transforms based on the normalized , offset , and scale properties have been applied. | |
bool | required = false |
If required, the property must be present in every entity conforming to the class. If not required, individual entities may include noData values, or the entire property may be omitted. As a result, noData has no effect on a required property. Client implementations may use required properties to make performance optimizations. | |
std::optional< CesiumUtility::JsonValue > | noData |
A noData value represents missing data — also known as a sentinel value — wherever it appears. BOOLEAN properties may not specify noData values. This is given as the plain property value, without the transforms from the normalized , offset , and scale properties. Must not be defined if required is true. | |
std::optional< CesiumUtility::JsonValue > | defaultProperty |
A default value to use when encountering a noData value or an omitted property. The value is given in its final form, taking the effect of normalized , offset , and scale properties into account. Must not be defined if required is true. | |
std::optional< std::string > | semantic |
An identifier that describes how this property should be interpreted. The semantic cannot be used by other properties in the class. | |
Public Attributes inherited from CesiumUtility::ExtensibleObject | |
std::unordered_map< std::string, std::any > | extensions |
The extensions attached to this object. More... | |
JsonValue::Object | extras |
Application-specific data. More... | |
JsonValue::Object | unknownProperties |
Unknown properties that exist on this object but do not have any representation in the statically-typed classes. More... | |
Static Public Attributes | |
static constexpr const char * | TypeName = "ClassProperty" |
Additional Inherited Members | |
Public Member Functions inherited from CesiumUtility::ExtensibleObject | |
template<typename T > | |
bool | hasExtension () const noexcept |
Checks if an extension exists given its static type. More... | |
template<typename T > | |
const T * | getExtension () const noexcept |
Gets an extension given its static type. More... | |
template<typename T > | |
T * | getExtension () noexcept |
Gets an extension given its static type. More... | |
const JsonValue * | getGenericExtension (const std::string &extensionName) const noexcept |
Gets a generic extension with the given name as a CesiumUtility::JsonValue. More... | |
JsonValue * | getGenericExtension (const std::string &extensionName) noexcept |
Gets a generic extension with the given name as a CesiumUtility::JsonValue. More... | |
template<typename T , typename... ConstructorArgumentTypes> | |
T & | addExtension (ConstructorArgumentTypes &&... constructorArguments) |
Adds a statically-typed extension to this object. More... | |
template<typename T > | |
void | removeExtension () |
Removes a statically-typed extension from this object. More... | |
A class property.
Definition at line 18 of file ClassProperty.h.
std::optional<std::string> CesiumGltf::ClassProperty::componentType |
The datatype of the element's components. Only applicable to SCALAR
, VECN
, and MATN
types.
Known values are defined in ComponentType.
Definition at line 98 of file ClassProperty.h.
std::string CesiumGltf::ClassProperty::type = Type::SCALAR |