Kevin Ring
8aab8bbec2
Don't construct so many GltfReaders.
...
Also switch to constexpr char* for extension and type names to avoid
static initializer ordering problems.
2021-04-16 12:52:29 +10:00
Kevin Ring
0c7c949ce8
Remove unused code.
2021-04-15 09:47:33 +10:00
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
cfff453f8c
Rename protected key methods.
2021-04-08 22:34:12 +10:00
Kevin Ring
2ab38cd0fb
Don't qualify reader methods in extensions.
2021-04-08 22:26:22 +10:00
Kevin Ring
b2d278972a
Use ExtensionName, cause it might be different from the type name.
2021-04-08 21:18:02 +10:00
Kevin Ring
e3148aedc6
Reactivate Draco extension.
2021-04-08 14:44:39 +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
49cba1547c
Remove accidentally added fi le
2021-03-11 15:14:50 -05: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
Marco Hutter
60b6a4651e
Initialize member of handlers
2021-03-03 18:08:04 +01:00
Marco Hutter
8babc264aa
Comments for local glTF classes
2021-02-21 17:27:14 +01:00
Marco Hutter
0b9b02e690
Merge remote-tracking branch 'origin/gltf-from-online-schema' into gltf-from-online-schema
2021-02-03 02:21:41 +01:00
Kevin Ring
474a2b8120
Bring over generator changes from the cmpt branch.
2021-01-28 10:20:22 +11:00
Marco Hutter
3ba75ae429
Download schema from GitHub
...
Or use the files, both can make sense...
2021-01-26 18:53:10 +01:00
Kevin Ring
c36a2710c3
Allow for augmentation of generated classes via inheritance.
2021-01-18 22:51:20 +11:00
Kevin Ring
11ea3103b0
Optional properties, thorough initialization.
2021-01-17 00:18:00 +11:00
Kevin Ring
cb297c4db6
More defaults.
2021-01-13 17:47:08 +11:00
Kevin Ring
082087551e
Default glTF IDs to -1.
2021-01-13 17:16:06 +11:00
Kevin Ring
2b2c4a8b16
Add support for extensions, especially Draco.
2021-01-11 18:05:02 +11:00
Kevin Ring
08d173d573
Use CesiumGltf instead of tinygltf.
2021-01-08 14:09:08 +11:00
Kevin Ring
3f6e301acf
GLB support.
2021-01-07 22:17:55 +11:00
Kevin Ring
bd0290bec8
Generated doc improvements.
2021-01-07 13:54:25 +11:00
Kevin Ring
32dca3f5d8
Improved error reporting.
2021-01-06 20:56:53 +11:00
Kevin Ring
87a030abe3
Generated classes now compiling.
2021-01-06 11:57:32 +11:00
Kevin Ring
a26418ddea
Fix some code generation problems.
2021-01-06 00:10:04 +11:00
Kevin Ring
33db3a2d4b
Generate enum readers.
2021-01-05 23:51:54 +11:00
Kevin Ring
bd1a51cc17
Generate reader implementations.
2021-01-05 23:16:37 +11:00
Kevin Ring
d206b096a0
Generate reader header files.
2021-01-05 23:03:48 +11:00
Kevin Ring
b27f43b057
Include doc in generated classes.
2021-01-05 21:46:21 +11:00
Kevin Ring
232b87c84f
Generate glTF classes from JSON Schema.
2021-01-05 21:21:15 +11:00