Fix incorrect metadata property values being sent to material #1524
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.
In our metadata handling code, I found some unfortunate typos that happened as a result of overzealous copy-pasting. For some reason the
encodedProperty.offset
value was being passed for thescale
,noData
, anddefault
value properties, which is obviously wrong. 🙃 Plus, I had typoed a+
sign as an=
sign, so one parameter was never being set.This PR does two things:
Set____ParameterValues
functions fromCesiumGltfComponent.cpp
toCesiumEncodedFeaturesMetadata.h
. This was not strictly necessary, but I think this organization is helpful for decreasing the complexity ofCesiumGltfComponent
, and for putting the code closer to the rest of theCesiumEncodedFeaturesMetadata
functionality.If you'd like, you can verify that these values are passed correctly using the CesiumJS sample dataset in
Specs\Data\Cesium3DTiles\Metadata\StructuralMetadata
. Notably theemployeeCount
,year
, andtemperatureCelsius
properties will be affected.For
temperatureCelsius
you can reproduce this result with these material nodes:For
year
you can reproduce this result with these nodes, though it simply tests that the default value is passed in.For
employeeCount
you can reproduce this result with these nodes: