Commit Graph

17 Commits

Author SHA1 Message Date
Kevin Ring 45f44fa034 Reader -> GltfReader. 2021-04-15 00:37:37 +10:00
Kevin Ring fc4f25515f JSON reader. 2021-04-14 23:31:40 +10:00
Kevin Ring cb91ccf8a6 JsonReader -> JsonHandler ♻ 2021-04-14 18:31:12 +10:00
Kevin Ring 94ea03847c Move CesiumJsonReader stuff to the right namespace. 2021-04-14 14:22:22 +10:00
Kevin Ring 222692b590 Separate CesiumJsonReader library. 2021-04-13 22:05:36 +10:00
Kevin Ring 673e9884a1 Renames. 2021-04-09 12:30:27 +10:00
Kevin Ring cfff453f8c Rename protected key methods. 2021-04-08 22:34:12 +10:00
Kevin Ring f33f7b1dd5 Make CesiumGltf::Reader a proper class, mange its own extensions. 2021-04-07 23:41:37 +10:00
Kevin Ring 3566ba5b29 Clean up JsonReader function signatures. 2021-04-07 14:35:19 +10:00
Kevin Ring d6d9de643d Rename JsonReader methods. 2021-04-06 22:26:16 +10:00
Kevin Ring 987ca69614 Support for external glTF extensions. 2021-04-06 21:49:12 +10:00
Samuel Vargas f81dd2c218
Use references to avoid extraneous copies. 2021-03-11 14:40:13 -05:00
Samuel Vargas f685ceff51
Propagate `ReadModelOptions` to ALL JsonHandlers
This commit adds conditional support for propagating the
`ReadModelOptions` variable to the root JsonValue class for all of
its children. CesiumGltfReader was designed with the philosophy that
extensions should be well defined and that CesiumGltfReader should
take responsbility for decoding extensions. This is a fine idea, but we've
ran into a usecase where we need CesiumGltfReader to support decoding
new / developing / unknown / WIP extensions.

This commit adds the `deserializeExtensionsAsJsonValue` bool to ReadModelOptions
and for each ***JsonHandler, forwards it to the root via super() constructor invocations.
This opens the door for other  "while serializing" options to be stored in
ReadModelOptions

The deserializeExtensionsAsJsonValue variable itself instructs CesiumGltfReader
to add any extensions it encounters in the Gltf string as a `JsonValue::Object` inside
the std::vector<std::any>, so that users of the libraries can retrieve it and do their
own casting.
2021-03-11 14:30:11 -05:00
Shehzan Mohammed 8a2957d32f Run clang format 2021-03-08 20:39:46 -05:00
Marco Hutter 60b6a4651e Initialize member of handlers 2021-03-03 18:08:04 +01:00
Kevin Ring 08d173d573 Use CesiumGltf instead of tinygltf. 2021-01-08 14:09:08 +11:00
Kevin Ring 32dca3f5d8 Improved error reporting. 2021-01-06 20:56:53 +11:00