Cesium for Unity 1.15.2
Loading...
Searching...
No Matches
CesiumForUnity.CesiumPropertyTableProperty Class Reference

Represents a glTF property table property in EXT_structural_metadata. More...

Public Member Functions

partial Boolean GetBoolean (Int64 featureID, Boolean defaultValue=false)
 Attempts to retrieve the value for the given feature as a boolean.
 
partial SByte GetSByte (Int64 featureID, SByte defaultValue=0)
 Attempts to retrieve the value for the given feature as a signed 8-bit integer.
 
partial Byte GetByte (Int64 featureID, Byte defaultValue=0)
 Attempts to retrieve the value for the given feature as an unsigned 8-bit integer.
 
partial Int16 GetInt16 (Int64 featureID, Int16 defaultValue=0)
 Attempts to retrieve the value for the given feature as a signed 16-bit integer.
 
partial UInt16 GetUInt16 (Int64 featureID, UInt16 defaultValue=0)
 Attempts to retrieve the value for the given feature as an unsigned 16-bit integer.
 
partial Int32 GetInt32 (Int64 featureID, Int32 defaultValue=0)
 Attempts to retrieve the value for the given feature as a signed 32-bit integer.
 
partial UInt32 GetUInt32 (Int64 featureID, UInt32 defaultValue=0)
 Attempts to retrieve the value for the given feature as an unsigned 32-bit integer.
 
partial Int64 GetInt64 (Int64 featureID, Int64 defaultValue=0)
 Attempts to retrieve the value for the given feature as a signed 64-bit integer.
 
partial UInt64 GetUInt64 (Int64 featureID, UInt64 defaultValue=0)
 Attempts to retrieve the value for the given feature as an unsigned 64-bit integer.
 
partial float GetFloat (Int64 featureID, float defaultValue=0.0f)
 Attempts to retrieve the value for the given feature as a single-precision floating-point number.
 
partial double GetDouble (Int64 featureID, double defaultValue=0.0)
 Attempts to retrieve the value for the given feature as a double-precision floating-point number.
 
partial int2 GetInt2 (Int64 featureID, int2 defaultValue)
 Attempts to retrieve the value for the given feature as a int2.
 
partial uint2 GetUInt2 (Int64 featureID, uint2 defaultValue)
 Attempts to retrieve the value for the given feature as a uint2.
 
partial float2 GetFloat2 (Int64 featureID, float2 defaultValue)
 Attempts to retrieve the value for the given feature as a float2.
 
partial double2 GetDouble2 (Int64 featureID, double2 defaultValue)
 Attempts to retrieve the value for the given feature as a double2.
 
partial int3 GetInt3 (Int64 featureID, int3 defaultValue)
 Attempts to retrieve the value for the given feature as a int3.
 
partial uint3 GetUInt3 (Int64 featureID, uint3 defaultValue)
 Attempts to retrieve the value for the given feature as a uint3.
 
partial float3 GetFloat3 (Int64 featureID, float3 defaultValue)
 Attempts to retrieve the value for the given feature as a float3.
 
partial double3 GetDouble3 (Int64 featureID, double3 defaultValue)
 Attempts to retrieve the value for the given feature as a double3.
 
partial int4 GetInt4 (Int64 featureID, int4 defaultValue)
 Attempts to retrieve the value for the given feature as a int4.
 
partial uint4 GetUInt4 (Int64 featureID, uint4 defaultValue)
 Attempts to retrieve the value for the given feature as a uint4.
 
partial float4 GetFloat4 (Int64 featureID, float4 defaultValue)
 Attempts to retrieve the value for the given feature as a float4.
 
partial double4 GetDouble4 (Int64 featureID, double4 defaultValue)
 Attempts to retrieve the value for the given feature as a double4.
 
partial int2x2 GetInt2x2 (Int64 featureID, int2x2 defaultValue)
 Attempts to retrieve the value for the given feature as a int2x2.
 
partial uint2x2 GetUInt2x2 (Int64 featureID, uint2x2 defaultValue)
 Attempts to retrieve the value for the given feature as a uint2x2.
 
partial float2x2 GetFloat2x2 (Int64 featureID, float2x2 defaultValue)
 Attempts to retrieve the value for the given feature as a float2x2.
 
partial double2x2 GetDouble2x2 (Int64 featureID, double2x2 defaultValue)
 Attempts to retrieve the value for the given feature as a double2x2.
 
partial int3x3 GetInt3x3 (Int64 featureID, int3x3 defaultValue)
 Attempts to retrieve the value for the given feature as a int3x3.
 
partial uint3x3 GetUInt3x3 (Int64 featureID, uint3x3 defaultValue)
 Attempts to retrieve the value for the given feature as a uint3x3.
 
partial float3x3 GetFloat3x3 (Int64 featureID, float3x3 defaultValue)
 Attempts to retrieve the value for the given feature as a float3x3.
 
partial double3x3 GetDouble3x3 (Int64 featureID, double3x3 defaultValue)
 Attempts to retrieve the value for the given feature as a double3x3.
 
partial int4x4 GetInt4x4 (Int64 featureID, int4x4 defaultValue)
 Attempts to retrieve the value for the given feature as a int4x4.
 
partial uint4x4 GetUInt4x4 (Int64 featureID, uint4x4 defaultValue)
 Attempts to retrieve the value for the given feature as a uint4x4.
 
partial float4x4 GetFloat4x4 (Int64 featureID, float4x4 defaultValue)
 Attempts to retrieve the value for the given feature as a float4x4.
 
partial double4x4 GetDouble4x4 (Int64 featureID, double4x4 defaultValue)
 Attempts to retrieve the value for the given feature as a double4x4.
 
partial String GetString (Int64 featureID, String defaultValue="")
 Attempts to retrieve the value for the given feature as a String.
 
partial CesiumPropertyArray GetArray (Int64 featureID)
 Attempts to retrieve the value for the given feature as a CesiumPropertyArray.
 
partial CesiumMetadataValue GetValue (Int64 featureID)
 Retrieves the value of the property for the given feature as a CesiumMetadataValue.
 
partial CesiumMetadataValue GetRawValue (Int64 featureID)
 Retrieves the raw value of the property for the given feature.
 

Properties

CesiumPropertyTablePropertyStatus status [get, set]
 The status of the property table property.
 
CesiumMetadataValueType valueType [get, set]
 The type of the metadata value as defined in the EXT_structural_metadata extension.
 
Int64 size [get, set]
 The number of values in the property.
 
Int64 arraySize [get, set]
 The number of elements in an array of this property.
 
bool isNormalized [get, set]
 Whether this property is normalized.
 
CesiumMetadataValue offset [get, set]
 The offset of this property.
 
CesiumMetadataValue scale [get, set]
 The scale of this property.
 
CesiumMetadataValue min [get, set]
 The minimum value of this property.
 
CesiumMetadataValue max [get, set]
 The maximum value of this property.
 
CesiumMetadataValue noData [get, set]
 The "no data" value of this property, as defined by its class property.
 
CesiumMetadataValue defaultValue [get, set]
 The default value of this property, as defined by its class property.
 

Detailed Description

Represents a glTF property table property in EXT_structural_metadata.

A property has a specific type, such as int64 scalar or string, and values of that type that can be accessed with primitive feature IDs from EXT_mesh_features.

Definition at line 39 of file CesiumPropertyTableProperty.cs.

Member Function Documentation

◆ GetArray()

partial CesiumPropertyArray CesiumForUnity.CesiumPropertyTableProperty.GetArray ( Int64 featureID)

Attempts to retrieve the value for the given feature as a CesiumPropertyArray.

If the property is not an array type, this returns an empty array.

For numeric array properties, the raw array value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
Returns
The property value as a CesiumPropertyArray.

◆ GetBoolean()

partial Boolean CesiumForUnity.CesiumPropertyTableProperty.GetBoolean ( Int64 featureID,
Boolean defaultValue = false )

Attempts to retrieve the value for the given feature as a boolean.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a boolean, it is returned as-is.
  • If the value is a scalar, zero is converted to false, while any other value is converted to true.
  • If the value is a string, "0", "false", and "no" (case-insensitive) are converted to false, while "1", "true", and "yes" are converted to true. All other strings, including strings that can be converted to numbers, will return the user-defined default value.

All other types return the user-defined default value. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a Boolean.

◆ GetByte()

partial Byte CesiumForUnity.CesiumPropertyTableProperty.GetByte ( Int64 featureID,
Byte defaultValue = 0 )

Attempts to retrieve the value for the given feature as an unsigned 8-bit integer.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is an integer between 0 and 255, it is returned as-is. Otherwise, if the value is a floating-point number in the aforementioned range, it is truncated (rounded toward zero) and returned.
  • If the value is a boolean, 1 is returned for true and 0 for false.
  • If the value is a string and the entire string can be parsed as an integer between 0 and 255, the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of commas or other delimiters to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a Byte.

◆ GetDouble()

partial double CesiumForUnity.CesiumPropertyTableProperty.GetDouble ( Int64 featureID,
double defaultValue = 0.0 )

Attempts to retrieve the value for the given feature as a double-precision floating-point number.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is already a single- or double-precision floating-point number, it is returned as-is.
  • If the value is an integer, it is converted to the closest representable double-precision floating-point number.
  • If the value is a boolean, 1.0 is returned for true and 0.0 for false.
  • If the value is a string and the entire string can be parsed as a number, the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of a comma or other delimiter to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a Double.

◆ GetDouble2()

partial double2 CesiumForUnity.CesiumPropertyTableProperty.GetDouble2 ( Int64 featureID,
double2 defaultValue )

Attempts to retrieve the value for the given feature as a double2.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 2-dimensional vector, its components will be converted to double-precision floating-point numbers.
  • If the value is a 3- or 4-dimensional vector, it will use the first two components to construct the double2.
  • If the value is a scalar, the resulting double2 will have this value in both of its components.
  • If the value is a boolean, (1.0, 1.0) is returned for true, while (0.0, 0.0) is returned for false.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a double2.

◆ GetDouble2x2()

partial double2x2 CesiumForUnity.CesiumPropertyTableProperty.GetDouble2x2 ( Int64 featureID,
double2x2 defaultValue )

Attempts to retrieve the value for the given feature as a double2x2.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 2-by-2 matrix, its components will be converted to double-precision floating-point numbers.
  • If the value is a 3-by-3 or 4-by-4 matrix, the double2x2 will be constructed from the first 2 components of the first 2 columns.
  • If the value is a scalar, then the resulting double2x2 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1.0 for true and 0.0 for false. Then, the resulting double2x2 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a double2x2.

◆ GetDouble3()

partial double3 CesiumForUnity.CesiumPropertyTableProperty.GetDouble3 ( Int64 featureID,
double3 defaultValue )

Attempts to retrieve the value for the given feature as a double3.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 3-dimensional vector, its components will be converted to double-precision floating-point numbers.
  • If the value is a 4-dimensional vector, it will use the first three components to construct the double3.
  • If the value is a 2-dimensional vector, it will become the XY-components of the double3. The Z component will be set to zero.
  • If the value is a scalar, the resulting double3 will have this value in all of its components.
  • If the value is a boolean, (1.0, 1.0, 1.0) is returned for true, while (0.0, 0.0, 0.0) is returned for false.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a double3.

◆ GetDouble3x3()

partial double3x3 CesiumForUnity.CesiumPropertyTableProperty.GetDouble3x3 ( Int64 featureID,
double3x3 defaultValue )

Attempts to retrieve the value for the given feature as a double3x3.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 3-by-3 matrix, its components will be converted to the double-precision floating point numbers.
  • If the value is a 2-by-2 matrix, its components will be used to fill the corresponding components in the double3x3. All other components will be initialized as zero.
  • If the value is a 4-by-4 matrix, the double3x3 will be constructed from the first 3 components of the first 3 columns.
  • If the value is a scalar, then the resulting double3x3 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1.0 for true and 0.0 for false. Then, the resulting double3x3 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a double3x3.

◆ GetDouble4()

partial double4 CesiumForUnity.CesiumPropertyTableProperty.GetDouble4 ( Int64 featureID,
double4 defaultValue )

Attempts to retrieve the value for the given feature as a double4.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 4-dimensional vector, its components will be converted to double-precision floating-point numbers.
  • If the value is a 3-dimensional vector, it will become the XYZ-components of the double4. The W-component will be set to zero.
  • If the value is a 2-dimensional vector, it will become the XY-components of the double4. The Z- and W-component will be set to zero.
  • If the value is a scalar, the resulting double4 will have this value in all of its components.
  • If the value is a boolean, (1.0, 1.0, 1.0, 1.0) is returned for true, while (0.0, 0.0, 0.0, 0.0) is returned for false.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a double4.

◆ GetDouble4x4()

partial double4x4 CesiumForUnity.CesiumPropertyTableProperty.GetDouble4x4 ( Int64 featureID,
double4x4 defaultValue )

Attempts to retrieve the value for the given feature as a double4x4.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 4-by-4 matrix, its components will be converted to the double-precision floating point numbers.
  • If the value is a 2-by-2 or 3-by-3 matrix, its components will be used to fill the corresponding components in the double4x4. All other components will be initialized as zero.
  • If the value is a scalar, then the resulting double4x4 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1.0 for true and 0.0 for false. Then, the resulting double4x4 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a double4x4.

◆ GetFloat()

partial float CesiumForUnity.CesiumPropertyTableProperty.GetFloat ( Int64 featureID,
float defaultValue = 0.0f )

Attempts to retrieve the value for the given feature as a single-precision floating-point number.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is already a single-precision floating-point number, it is returned as-is.
  • If the value is a scalar of any other type within the range of values that a single-precision float can represent, it is converted to its closest representation as a single-precision float and returned.
  • If the value is a boolean, 1.0f is returned for true and 0.0f for false.
  • If the value is a string and the entire string can be parsed as a number, the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of a comma or other delimiter to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a Float.

◆ GetFloat2()

partial float2 CesiumForUnity.CesiumPropertyTableProperty.GetFloat2 ( Int64 featureID,
float2 defaultValue )

Attempts to retrieve the value for the given feature as a float2.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 2-dimensional vector, its components will be converted to the closest representable single-precision floats, if possible.
  • If the value is a 3- or 4-dimensional vector, it will use the first two components to construct the float2.
  • If the value is a scalar that can be converted to a single-precision float, the resulting float2 will have this value in both of its components.
  • If the value is a boolean, (1.0f, 1.0f) is returned for true, while (0.0f, 0.0f) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a single-precision floating point number, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a float2.

◆ GetFloat2x2()

partial float2x2 CesiumForUnity.CesiumPropertyTableProperty.GetFloat2x2 ( Int64 featureID,
float2x2 defaultValue )

Attempts to retrieve the value for the given feature as a float2x2.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 2-by-2 matrix, its components will be converted to the closest representable single-precision floats, if possible.
  • If the value is a 3-by-3 or 4-by-4 matrix, the float2x2 will be constructed from the first 2 components of the first 2 columns.
  • If the value is a scalar, then the resulting float2x2 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1.0f for true and 0.0f for false. Then, the resulting float2x2 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a single-precision floating-point number, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a float2x2.

◆ GetFloat3()

partial float3 CesiumForUnity.CesiumPropertyTableProperty.GetFloat3 ( Int64 featureID,
float3 defaultValue )

Attempts to retrieve the value for the given feature as a float3.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 3-dimensional vector, its components will be converted to the closest representable single-precision floats, if possible.
  • If the value is a 4-dimensional vector, it will use the first three components to construct the float3.
  • If the value is a 2-dimensional vector, it will become the XY-components of the float3. The Z component will be set to zero.
  • If the value is a scalar that can be converted to a single-precision float, the resulting float3 will have this value in all of its components.
  • If the value is a boolean, (1.0f, 1.0f, 1.0f) is returned for true, while (0.0f, 0.0f, 0.0f) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a single-precision floating point number, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a float3.

◆ GetFloat3x3()

partial float3x3 CesiumForUnity.CesiumPropertyTableProperty.GetFloat3x3 ( Int64 featureID,
float3x3 defaultValue )

Attempts to retrieve the value for the given feature as a float3x3.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 3-by-3 matrix, its components will be converted to the closest representable single-precision floats if possible.
  • If the value is a 2-by-2 matrix, its components will be used to fill the corresponding components in the float3x3. All other components will be initialized as zero.
  • If the value is a 4-by-4 matrix, the float3x3 will be constructed from the first 3 components of the first 3 columns.
  • If the value is a scalar that can be converted to a single-precision floating point number, then the resulting float3x3 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1.0f for true and 0.0f for false. Then, the resulting float3x3 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a single-precision floating-point number, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a float3x3.

◆ GetFloat4()

partial float4 CesiumForUnity.CesiumPropertyTableProperty.GetFloat4 ( Int64 featureID,
float4 defaultValue )

Attempts to retrieve the value for the given feature as a float4.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 4-dimensional vector, its components will be converted to the closest representable single-precision floats, if possible.
  • If the value is a 3-dimensional vector, it will become the XYZ-components of the float4. The W-component will be set to zero.
  • If the value is a 2-dimensional vector, it will become the XY-components of the float4. The Z- and W-component will be set to zero.
  • If the value is a scalar that can be converted to a single-precision float, the resulting float4 will have this value in all of its components.
  • If the value is a boolean, (1.0f, 1.0f, 1.0f, 1.0f) is returned for true, while (0.0f, 0.0f, 0.0f, 0.0f) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a single-precision floating point number, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a float4.

◆ GetFloat4x4()

partial float4x4 CesiumForUnity.CesiumPropertyTableProperty.GetFloat4x4 ( Int64 featureID,
float4x4 defaultValue )

Attempts to retrieve the value for the given feature as a float4x4.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.


Property values are converted as follows:

  • If the value is a 4-by-4 matrix, its components will be converted to the closest representable single-precision floats if possible.
  • If the value is a 2-by-2 or 3-by-3 matrix, its components will be used to fill the corresponding components in the float4x4. All other components will be initialized as zero.
  • If the value is a scalar that can be converted to a single-precision floating point number, then the resulting float4x4 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1.0f for true and 0.0f for false. Then, the resulting float4x4 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a single-precision floating-point number, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a float4x4.

◆ GetInt16()

partial Int16 CesiumForUnity.CesiumPropertyTableProperty.GetInt16 ( Int64 featureID,
Int16 defaultValue = 0 )

Attempts to retrieve the value for the given feature as a signed 16-bit integer.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is an integer between -32768 and 32767, it is returned as-is. Otherwise, if the value is a floating-point number in the aforementioned range, it is truncated (rounded toward zero) and returned.
  • If the value is a boolean, 1 is returned for true and 0 for false.
  • If the value is a string and the entire string can be parsed as an integer between -32768 and 32767, the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of commas or other delimiters to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a Int16.

◆ GetInt2()

partial int2 CesiumForUnity.CesiumPropertyTableProperty.GetInt2 ( Int64 featureID,
int2 defaultValue )

Attempts to retrieve the value for the given feature as a int2.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 2-dimensional vector, its components will be converted to 32-bit signed integers if possible.
  • If the value is a 3- or 4-dimensional vector, it will use the first two components to construct the int2.
  • If the value is a scalar that can be converted to a 32-bit signed integer, the resulting int2 will have this value in both of its components.
  • If the value is a boolean, (1, 1) is returned for true, while (0, 0) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a 32-bit signed integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a int2.

◆ GetInt2x2()

partial int2x2 CesiumForUnity.CesiumPropertyTableProperty.GetInt2x2 ( Int64 featureID,
int2x2 defaultValue )

Attempts to retrieve the value for the given feature as a int2x2.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 2-by-2 matrix, its components will be converted to 32-bit signed integers if possible.
  • If the value is a 3-by-3 or 4-by-4 matrix, the int2x2 will be constructed from the first 2 components of the first 2 columns.
  • If the value is a scalar, then the resulting int2x2 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1 for true and 0 for false. Then, the resulting int2x2 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a 32-bit signed integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a int2x2.

◆ GetInt3()

partial int3 CesiumForUnity.CesiumPropertyTableProperty.GetInt3 ( Int64 featureID,
int3 defaultValue )

Attempts to retrieve the value for the given feature as a int3.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 3-dimensional vector, its components will be converted to 32-bit signed integers if possible.
  • If the value is a 4-dimensional vector, it will use the first three components to construct the int3.
  • If the value is a 2-dimensional vector, it will become the XY-components of the int3. The Z component will be set to zero.
  • If the value is a scalar that can be converted to a 32-bit signed integer, the resulting int3 will have this value in both of its components.
  • If the value is a boolean, (1, 1, 1) is returned for true, while (0, 0, 0) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a 32-bit signed integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a int3.

◆ GetInt32()

partial Int32 CesiumForUnity.CesiumPropertyTableProperty.GetInt32 ( Int64 featureID,
Int32 defaultValue = 0 )

Attempts to retrieve the value for the given feature as a signed 32-bit integer.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is an integer between -2,147,483,648 and 2,147,483,647, it is returned as-is. Otherwise, if the value is a floating-point number in the aforementioned range, it is truncated (rounded toward zero) and returned.
  • If the value is a boolean, 1 is returned for true and 0 for false.
  • If the value is a string and the entire string can be parsed as an integer between -2,147,483,648 and 2,147,483,647, the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of commas or other delimiters to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a Int32

◆ GetInt3x3()

partial int3x3 CesiumForUnity.CesiumPropertyTableProperty.GetInt3x3 ( Int64 featureID,
int3x3 defaultValue )

Attempts to retrieve the value for the given feature as a int3x3.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 3-by-3 matrix, its components will be converted to 32-bit signed integers if possible.
  • If the value is a 2-by-2 matrix, its components will be used to fill the corresponding components in the int3x3. All other components will be initialized as zero.
  • If the value is a 4-by-4 matrix, the int3x3 will be constructed from the first 3 components of the first 3 columns.
  • If the value is a scalar that can be converted to a 32-bit signed integer, then the resulting int3x3 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1 for true and 0 for false. Then, the resulting int3x3 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a 32-bit signed integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a int3x3.

◆ GetInt4()

partial int4 CesiumForUnity.CesiumPropertyTableProperty.GetInt4 ( Int64 featureID,
int4 defaultValue )

Attempts to retrieve the value for the given feature as a int4.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 4-dimensional vector, its components will be converted to 32-bit signed integers if possible.
  • If the value is a 3-dimensional vector, it will become the XYZ-components of the int4. The W-component will be set to zero.
  • If the value is a 2-dimensional vector, it will become the XY-components of the int4. The Z- and W-component will be set to zero.
  • If the value is a scalar that can be converted to a 32-bit signed integer, the resulting int4 will have this value in both of its components.
  • If the value is a boolean, (1, 1, 1, 1) is returned for true, while (0, 0, 0, 0) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a 32-bit signed integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a int4.

◆ GetInt4x4()

partial int4x4 CesiumForUnity.CesiumPropertyTableProperty.GetInt4x4 ( Int64 featureID,
int4x4 defaultValue )

Attempts to retrieve the value for the given feature as a int4x4.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 4-by-4 matrix, its components will be converted to 32-bit signed integers if possible.
  • If the value is a 2-by-2 or 3-by-3 matrix, its components will be used to fill the corresponding components in the int4x4. All other components will be initialized as zero.
  • If the value is a scalar that can be converted to a 32-bit signed integer, then the resulting int4x4 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1 for true and 0 for false. Then, the resulting int4x4 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a 32-bit signed integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a int4x4.

◆ GetInt64()

partial Int64 CesiumForUnity.CesiumPropertyTableProperty.GetInt64 ( Int64 featureID,
Int64 defaultValue = 0 )

Attempts to retrieve the value for the given feature as a signed 64-bit integer.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is an integer between -2^63 and (2^63 - 1), it is returned as-is. Otherwise, if the value is a floating-point number in the aforementioned range, it is truncated (rounded toward zero) and returned.
  • If the value is a boolean, 1 is returned for true and 0 for false.
  • If the value is a string and the entire string can be parsed as an integer between -2^63 and (2^63 - 1), the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of commas or other delimiters to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a Int64

◆ GetRawValue()

partial CesiumMetadataValue CesiumForUnity.CesiumPropertyTableProperty.GetRawValue ( Int64 featureID)

Retrieves the raw value of the property for the given feature.

This is the value of the property without normalization, offset, or scale applied.

If this property specifies a "no data" value, and the raw value is equal to this "no data" value, the value is returned as-is.

If this property is an empty property with a specified default value, it will not have any raw data to retrieve. The returned value will be empty.

Parameters
featureIDThe ID of the feature.
Returns
The property value.

◆ GetSByte()

partial SByte CesiumForUnity.CesiumPropertyTableProperty.GetSByte ( Int64 featureID,
SByte defaultValue = 0 )

Attempts to retrieve the value for the given feature as a signed 8-bit integer.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is an integer between -128 and 127, it is returned as-is. Otherwise, if the value is a floating-point number in the aforementioned range, it is truncated (rounded toward zero) and returned.
  • If the value is a boolean, 1 is returned for true and 0 for false.
  • If the value is a string and the entire string can be parsed as an integer between -128 and 127, the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of commas or other delimiters to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a SByte.

◆ GetString()

partial String CesiumForUnity.CesiumPropertyTableProperty.GetString ( Int64 featureID,
String defaultValue = "" )

Attempts to retrieve the value for the given feature as a String.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • String properties are returned as-is.
  • Scalar values are converted to a string with std::to_string.
  • Boolean properties are converted to "true" or "false".

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a String.

◆ GetUInt16()

partial UInt16 CesiumForUnity.CesiumPropertyTableProperty.GetUInt16 ( Int64 featureID,
UInt16 defaultValue = 0 )

Attempts to retrieve the value for the given feature as an unsigned 16-bit integer.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is an integer between 0 and 65535, it is returned as-is. Otherwise, if the value is a floating-point number in the aforementioned range, it is truncated (rounded toward zero) and returned.
  • If the value is a boolean, 1 is returned for true and 0 for false.
  • If the value is a string and the entire string can be parsed as an integer between 0 and 65535, the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of commas or other delimiters to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a UInt16.

◆ GetUInt2()

partial uint2 CesiumForUnity.CesiumPropertyTableProperty.GetUInt2 ( Int64 featureID,
uint2 defaultValue )

Attempts to retrieve the value for the given feature as a uint2.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 2-dimensional vector, its components will be converted to 32-bit unsigned integers if possible.
  • If the value is a 3- or 4-dimensional vector, it will use the first two components to construct the uint2.
  • If the value is a scalar that can be converted to a 32-bit unsigned integer, the resulting uint2 will have this value in both of its components.
  • If the value is a boolean, (1, 1) is returned for true, while (0, 0) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a 32-bit unsigned integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a uint2.

◆ GetUInt2x2()

partial uint2x2 CesiumForUnity.CesiumPropertyTableProperty.GetUInt2x2 ( Int64 featureID,
uint2x2 defaultValue )

Attempts to retrieve the value for the given feature as a uint2x2.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 2-by-2 matrix, its components will be converted to 32-bit unsigned integers if possible.
  • If the value is a 3-by-3 or 4-by-4 matrix, the uint2x2 will be constructed from the first 2 components of the first 2 columns.
  • If the value is a scalar, then the resulting uint2x2 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1 for true and 0 for false. Then, the resulting uint2x2 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a 32-bit unsigned integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a uint2x2.

◆ GetUInt3()

partial uint3 CesiumForUnity.CesiumPropertyTableProperty.GetUInt3 ( Int64 featureID,
uint3 defaultValue )

Attempts to retrieve the value for the given feature as a uint3.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 3-dimensional vector, its components will be converted to 32-bit unsigned integers if possible.
  • If the value is a 4-dimensional vector, it will use the first three components to construct the uint3.
  • If the value is a 2-dimensional vector, it will become the XY-components of the uint3. The Z component will be set to zero.
  • If the value is a scalar that can be converted to a 32-bit unsigned integer, the resulting uint3 will have this value in all of its components.
  • If the value is a boolean, (1, 1, 1) is returned for true, while (0, 0, 0) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a 32-bit unsigned integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a uint3.

◆ GetUInt32()

partial UInt32 CesiumForUnity.CesiumPropertyTableProperty.GetUInt32 ( Int64 featureID,
UInt32 defaultValue = 0 )

Attempts to retrieve the value for the given feature as an unsigned 32-bit integer.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is an integer between 0 and 4,294,967,295, it is returned as-is. Otherwise, if the value is a floating-point number in the aforementioned range, it is truncated (rounded toward zero) and returned.
  • If the value is a boolean, 1 is returned for true and 0 for false.
  • If the value is a string and the entire string can be parsed as an integer between 0 and 4,294,967,295, the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of commas or other delimiters to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a UInt32.

◆ GetUInt3x3()

partial uint3x3 CesiumForUnity.CesiumPropertyTableProperty.GetUInt3x3 ( Int64 featureID,
uint3x3 defaultValue )

Attempts to retrieve the value for the given feature as a uint3x3.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 3-by-3 matrix, its components will be converted to 32-bit unsigned integers if possible.
  • If the value is a 2-by-2 matrix, its components will be used to fill the corresponding components in the uint3x3. All other components will be initialized as zero.
  • If the value is a 4-by-4 matrix, the uint3x3 will be constructed from the first 3 components of the first 3 columns.
  • If the value is a scalar that can be converted to a 32-bit unsigned integer, then the resulting uint3x3 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1 for true and 0 for false. Then, the resulting uint3x3 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a 32-bit unsigned integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a uint3x3.

◆ GetUInt4()

partial uint4 CesiumForUnity.CesiumPropertyTableProperty.GetUInt4 ( Int64 featureID,
uint4 defaultValue )

Attempts to retrieve the value for the given feature as a uint4.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 4-dimensional vector, its components will be converted to 32-bit unsigned integers if possible.
  • If the value is a 3-dimensional vector, it will become the XYZ-components of the uint4. The W-component will be set to zero.
  • If the value is a 2-dimensional vector, it will become the XY-components of the uint4. The Z- and W-component will be set to zero.
  • If the value is a scalar that can be converted to a 32-bit unsigned integer, the resulting uint4 will have this value in both of its components.
  • If the value is a boolean, (1, 1, 1, 1) is returned for true, while (0, 0, 0, 0) is returned for false.

In all other cases, the user-defined default value is returned. In all vector cases, if any of the relevant components cannot be represented as a 32-bit unsigned integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a uint4.

◆ GetUInt4x4()

partial uint4x4 CesiumForUnity.CesiumPropertyTableProperty.GetUInt4x4 ( Int64 featureID,
uint4x4 defaultValue )

Attempts to retrieve the value for the given feature as a uint4x4.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is a 4-by-4 matrix, its components will be converted to 32-bit unsigned integers if possible.
  • If the value is a 2-by-2 or 3-by-3 matrix, its components will be used to fill the corresponding components in the uint4x4. All other components will be initialized as zero.
  • If the value is a scalar that can be converted to a 32-bit unsigned integer, then the resulting uint4x4 will have this value along its diagonal. All other entries will be zero.
  • If the value is a boolean, it is converted to 1 for true and 0 for false. Then, the resulting uint4x4 will have this value along its diagonal, while all other entries will be zero.

In all other cases, the user-defined default value is returned. In all matrix cases, if any of the relevant components cannot be represented as a 32-bit unsigned integer, the default value is returned.

If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a uint4x4.

◆ GetUInt64()

partial UInt64 CesiumForUnity.CesiumPropertyTableProperty.GetUInt64 ( Int64 featureID,
UInt64 defaultValue = 0 )

Attempts to retrieve the value for the given feature as an unsigned 64-bit integer.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is further converted. If the raw value is equal to the property's "no data" value, then the property's default value will be converted if possible. If the property-defined default value cannot be converted, or does not exist, then the user-defined default value is returned.

Property values are converted as follows:

  • If the value is an integer between 0 and (2^64-1), it is returned as-is. Otherwise, if the value is a floating-point number in the aforementioned range, it is truncated (rounded toward zero) and returned.
  • If the value is a boolean, 1 is returned for true and 0 for false.
  • If the value is a string and the entire string can be parsed as an integer between 0 and (2^64-1), the parsed value is returned. The string is parsed in a locale-independent way and does not support the use of commas or other delimiters to group digits together.

In all other cases, the user-defined default value is returned. If the feature ID is out-of-range, or if the property table property is somehow invalid, the user-defined default value is returned.

Parameters
featureIDThe ID of the feature.
defaultValueThe default value to fall back on.
Returns
The property value as a UInt64.

◆ GetValue()

partial CesiumMetadataValue CesiumForUnity.CesiumPropertyTableProperty.GetValue ( Int64 featureID)

Retrieves the value of the property for the given feature as a CesiumMetadataValue.

This allows the value to be acted on more generically; its true value can be retrieved later as a specific Blueprints type.

For numeric properties, the raw value for a given feature will be transformed by the property's normalization, scale, and offset before it is returned. If the raw value is equal to the property's "no data" value, an empty value will be returned. However, if the property itself specifies a default value, then the property-defined default value will be returned.

Parameters
featureIDThe ID of the feature.
Returns
The property value.

Property Documentation

◆ arraySize

Int64 CesiumForUnity.CesiumPropertyTableProperty.arraySize
getset

The number of elements in an array of this property.

Only applicable when the property is a fixed-length array type.

Definition at line 74 of file CesiumPropertyTableProperty.cs.

◆ defaultValue

CesiumMetadataValue CesiumForUnity.CesiumPropertyTableProperty.defaultValue
getset

The default value of this property, as defined by its class property.

This default value is used when encountering a "no data" value in the property.

If a default value is not defined, this returns an empty value.

Definition at line 171 of file CesiumPropertyTableProperty.cs.

◆ isNormalized

bool CesiumForUnity.CesiumPropertyTableProperty.isNormalized
getset

Whether this property is normalized.

Only applicable when this property has an integer component type.

Definition at line 83 of file CesiumPropertyTableProperty.cs.

◆ max

CesiumMetadataValue CesiumForUnity.CesiumPropertyTableProperty.max
getset

The maximum value of this property.

This can be defined by the class property that it implements, or overridden by the instance of the property itself.

This is only applicable to scalar, vecN and matN properties. It represents the component-wise maximum of all property values with normalization, offset, and scale applied. If a maximum value is not defined or applicable, this returns an empty value.

Definition at line 143 of file CesiumPropertyTableProperty.cs.

◆ min

CesiumMetadataValue CesiumForUnity.CesiumPropertyTableProperty.min
getset

The minimum value of this property.

This can be defined by the class property that it implements, or overridden by the instance of the property itself.

This is only applicable to scalar, vecN and matN properties. It represents the component-wise minimum of all property values with normalization, offset, and scale applied. If a minimum value is not defined or applicable, this returns an empty value.

Definition at line 127 of file CesiumPropertyTableProperty.cs.

◆ noData

CesiumMetadataValue CesiumForUnity.CesiumPropertyTableProperty.noData
getset

The "no data" value of this property, as defined by its class property.

This value functions a sentinel value, indicating missing data wherever it appears. The value is compared against the property's raw data, without normalization, offset, or scale applied.

This is not applicable to boolean properties. If a "no data" value is not defined or applicable, this returns an empty value.

Definition at line 158 of file CesiumPropertyTableProperty.cs.

◆ offset

CesiumMetadataValue CesiumForUnity.CesiumPropertyTableProperty.offset
getset

The offset of this property.

This can be defined by the class property that it implements, or overridden by the instance of the property itself.

This is only applicable to properties with floating-point or normalized integer component types. If an offset is not defined or applicable, this returns an empty value.

Definition at line 97 of file CesiumPropertyTableProperty.cs.

◆ scale

CesiumMetadataValue CesiumForUnity.CesiumPropertyTableProperty.scale
getset

The scale of this property.

This can be defined by the class property that it implements, or overridden by the instance of the property itself.

This is only applicable to properties with floating-point or normalized integer component types. If a scale is not defined or applicable, this returns an empty value.

Definition at line 111 of file CesiumPropertyTableProperty.cs.

◆ size

Int64 CesiumForUnity.CesiumPropertyTableProperty.size
getset

The number of values in the property.

Definition at line 65 of file CesiumPropertyTableProperty.cs.

◆ status

CesiumPropertyTablePropertyStatus CesiumForUnity.CesiumPropertyTableProperty.status
getset

The status of the property table property.

If this property table property is invalid in any way, this will briefly indicate why.

Definition at line 47 of file CesiumPropertyTableProperty.cs.

◆ valueType

CesiumMetadataValueType CesiumForUnity.CesiumPropertyTableProperty.valueType
getset

The type of the metadata value as defined in the EXT_structural_metadata extension.

Some of these types are not accessible from Unity, but can be converted to a close-fitting type.

Definition at line 57 of file CesiumPropertyTableProperty.cs.


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