add 3d tiles metadata noData and default support #218
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
adds support for 3D Tiles - Metadata - noData and default
specs see: https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata#required-properties-no-data-values-and-default-values
usecase: when a property value is null, the noData value has to be used. In the client when the property value is equal to the noData value, nothing is shown (or the defaultValue is shown when set).
Limit: noData and defaultValues work for array = false types, not for array= true types
Breaking changes:
Public set property removed for: Name, Description, Type, EnumType, ComponentType, Required, Normalized, Array, Count
Public method from public to private: StructuralMetadataClassProperty WithArrayType(ELEMENTTYPE etype, DATATYPE? ctype = null, int? count = null)
Public Methods added: WithBooleanArrayType, WithUInt8ArrayType, WithInt8ArrayType, WithInt16ArrayType, WithUInt16ArrayType, WithInt32ArrayType, WithUInt32ArrayType, WithInt64ArrayType, WithUInt64ArrayType, WithFloat32ArrayType, WithFloat64ArrayType, WithVector3ArrayType, WithMatrix4x4ArrayType, WithStringArrayType
Non breaking change:
All property type definition methods now have a nullable noData attribute and nullable defaultValue attribute.