Kevin Ring
bf00407f90
Add missing include.
2021-04-15 10:22:56 +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
e414544b50
Implement glTF reader using JSON reader.
2021-04-14 23:53:26 +10:00
Kevin Ring
fc4f25515f
JSON reader.
2021-04-14 23:31:40 +10:00
Kevin Ring
15f799429a
More renames.
2021-04-14 21:38:36 +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
88795c0045
Move JsonValue to CesiumUtility.
2021-04-13 23:24:53 +10:00
Kevin Ring
222692b590
Separate CesiumJsonReader library.
2021-04-13 22:05:36 +10:00
Jordi Torres
6333b1cb0a
First pass of clang tidy
...
Mainly caching else after return, not using empty() instead of size() == 0, missing const references to avoid copies and removing redundant initializations
2021-04-12 13:22:03 +02:00
Kevin Ring
f0b06a826d
Make IgnoreValueJsonHandler public.
2021-04-09 12:37:53 +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
2ab38cd0fb
Don't qualify reader methods in extensions.
2021-04-08 22:26:22 +10:00
Kevin Ring
ebfb30554a
Fix linux build.
2021-04-08 22:20:24 +10:00
Kevin Ring
48f2d3b5c2
Remove unused files, other cleanup.
2021-04-08 21:59:42 +10:00
Kevin Ring
7279f4cabf
Improve tests.
2021-04-08 17:59:45 +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
Samuel Vargas
f9e489f67f
Merge remote-tracking branch 'origin/main' into gltf-writer
...
Accidentally merged with antiquated `master` branch before
2021-04-06 14:16:55 -04:00
Samuel Vargas
6516b2dcb3
Add clarifying comment for std::transform usage
2021-04-06 13:44:34 -04:00
Samuel Vargas
b03dac82af
Add trailing newline to misc files [ skip ci ]
2021-04-06 13:07:48 -04:00
Kevin Ring
d6d9de643d
Rename JsonReader methods.
2021-04-06 22:26:16 +10:00
Kevin Ring
04f4cc12db
JsonHandler -> JsonReader.
2021-04-06 21:59:20 +10:00
Kevin Ring
c8c9ca0f3a
Make IJsonHandler.h and JsonHandler.h public.
2021-04-06 21:55:50 +10:00
Kevin Ring
987ca69614
Support for external glTF extensions.
2021-04-06 21:49:12 +10:00
Kevin Ring
692a3bf16b
Merge remote-tracking branch 'origin/main' into support-deserializing-arbitrary-extensions
2021-04-05 11:57:45 +10:00
Marco Hutter
0ba6f38be5
Fixed typo.
2021-04-02 21:43:45 +02:00
Marco Hutter
aeeb44e804
Added cast.
...
Expected that. GCC this time.
2021-04-02 21:42:23 +02:00
Marco Hutter
7425d5a89a
Updated and extended error messages
2021-04-02 21:14:43 +02:00
Bao Tran
9c5de37499
add TRACE for Gltf reader
2021-03-25 13:25:03 -04:00
Samuel Vargas
11413ee747
Run clang-format on all changed files
2021-03-11 15:15:59 -05:00
Samuel Vargas
258f1a1993
Add test to verify deserializeExtensionsAsJsonValue is respected
2021-03-11 15:01:01 -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
Samuel Vargas
eb3cb751bf
Always serialize extensions as a JsonValue::Object for clients to
...
use directly.
(This will be wrapped in a conditional flag in the next commit)
2021-03-11 09:41:03 -05:00
Kevin Ring
c0225f0e7d
Flesh out JSON array test.
2021-03-11 10:09:55 +11:00
Kevin Ring
d671ae6ee8
Remove unnecessary header.
2021-03-11 10:03:32 +11:00
Kevin Ring
5a3c10a020
Correctly handle elements inside JSON arrays.
2021-03-11 10:02:15 +11:00
Samuel Vargas
94c77dd89e
Merge tag 'post-clang-format' into gltf-writer-clang-format
...
The commit that ran clang-format on the entire codebase and made no other changes.
2021-03-09 16:36:39 -05:00
Shehzan Mohammed
8a2957d32f
Run clang format
2021-03-08 20:39:46 -05:00
Samuel Vargas
30057e9539
Fix casting warning in Reader.cpp
2021-03-05 10:40:12 -05:00
Samuel Vargas
506f76c34b
Use std::byte for image.cesium.pixelData
2021-03-05 10:04:10 -05:00
Samuel Vargas
c4f6025420
Add integer support to JsonValue
...
This also fixes a narrowing conversion bug. Previously if
a type that was larger than 2^53 was stored in a JsonValue
it would be silently casted into a double, causing an unexpected
precision loss. This changes JsonValue to use the largest signed,
unsigned, or floating point value available to support both types
of Numbers.
Also updates GSL version because they added a narrowing cast
function and we use that for safe type casting.
2021-03-05 07:41:15 -05:00
Kevin Ring
589a0098fc
Merge pull request #145 from CesiumGS/install
...
Add ability to CMake install cesium-native
2021-03-05 16:03:29 +11:00
Kevin Ring
00dde7cd9c
Merge pull request #148 from CesiumGS/use-std-byte
...
Use bytes for raw data
2021-03-05 14:57:30 +11:00
Shehzan Mohammed
b97f03d514
Fix Cmake typos
2021-03-04 16:52:06 -05:00
Marco Hutter
f1078aeb4c
Use bytes for raw data
2021-03-04 17:22:38 +01:00
Shehzan Mohammed
887744202d
Remove other PRIVATE flags from link libraries
2021-03-04 10:50:19 -05:00
Shehzan Mohammed
3faff010d7
Installing thirdparty deps working on linux
2021-03-03 20:47:31 -05:00
Kevin Ring
34bbd2aa31
WIP cmake install.
2021-03-04 09:48:09 +11:00
Marco Hutter
60b6a4651e
Initialize member of handlers
2021-03-03 18:08:04 +01:00
Samuel Vargas
5d03477551
Rearchitecture cesium-native's CMake structure
...
This is necessary to support using cesium-native as submodule in
in asset-pipeline
- `draco` and `sqlite3` are guarded with if target blocks to allow
asset-pipeline to provide their own version of the targets.
- Tests are now a dedicated target that clients don't have to build
- Test sources / headers are now a target property instead of using the $<BUILD_INTERFACE... hack
- Added common include variables in extern/CMakeLists.txt
- Defined `RAPIDJSON_HAS_CXX11_RVALUE_REFS` for move support for RapidJson
- Private include directories are automatically extracted via CMake magic
for use in catch tests
- Globbing is now wrapped in a dedicated function that allows one to use
CONFIGURE_DEPENDS depending on their preferences (defaults to OFF)
to retain the old behavior.
2021-03-02 14:28:04 -05:00
Kevin Ring
4d31c3ef62
Merge pull request #139 from CesiumGS/ion-ui-oauth2
...
Add CesiumIonClient library
2021-03-02 17:55:44 +11:00
unknown
a32ae4b9c6
Merge branch 'master' into selection-test
2021-03-01 09:53:06 -05:00
Kevin Ring
92eb8ae1de
Include `state` in OAuth2 handshake.
2021-02-28 22:12:56 +11:00
Kevin Ring
a69628b785
Merge remote-tracking branch 'origin/master' into ion-ui
2021-02-24 12:59:44 +11:00
Kevin Ring
405efb7069
Line endings.
2021-02-17 16:38:09 +11:00
Marco Hutter
67dce23a30
Doxygen fixes
2021-02-15 17:14:49 +01:00
Kevin Ring
dea63a13e1
Make CesiumGltfReader depend on CesiumUtility.
2021-02-12 11:48:58 +11:00
unknown
f139ca92a6
auto generating test data macro
2021-02-09 17:09:57 -05:00
Kevin Ring
d10bd2a16d
Move JsonHelps to CesiumUtility, at ion "me" service.
2021-02-09 22:50:18 +11:00
Kevin Ring
5a374707b0
Merge remote-tracking branch 'origin/gltf' into cmpt
2021-01-29 16:34:47 +11:00
Kevin Ring
e692908f28
Fix gcc warning.
2021-01-28 17:14:21 +11:00
Kevin Ring
92af1b4b67
Fix gcc/clang warning.
2021-01-28 16:37:34 +11:00
Kevin Ring
2932b5652b
Add test for decoding data urls.
2021-01-28 16:25:52 +11:00
Kevin Ring
53804f921b
Merge remote-tracking branch 'origin/gltf' into cmpt
2021-01-28 10:22:18 +11:00
Kevin Ring
243f48680b
Add base64 decoding.
...
Mostly untested at the moment.
2021-01-27 23:52:43 +11:00
unknown
fab67810d6
use unsigned int if num of draco vertices over max uint16_t
2021-01-26 17:41:30 -05:00
unknown
1087f4fc6c
initialize draco accessor index to be unsigned byte
2021-01-26 17:38:02 -05:00
unknown
b8a22346b4
only use unsigned type for draco indices
2021-01-26 17:20:17 -05:00
unknown
19bec58b3d
Merge branch 'cmpt' into draco-index-upgrade
2021-01-25 12:37:12 -05:00
unknown
549ed2979c
upgrade draco index
2021-01-25 11:31:30 -05:00
Kevin Ring
eee83c9e77
Remove extraneous namespace qualification.
2021-01-25 15:37:04 +11:00
Kevin Ring
7ef8d428d3
WIP decoding of data URIs.
2021-01-25 15:24:11 +11:00
Kevin Ring
28b64347b7
Incorporate changes from review and from the cmpt branch.
2021-01-25 12:17:13 +11:00
Kevin Ring
7a2b097525
Support multiple b3dms in a cmpt.
2021-01-21 18:45:09 +11:00
Kevin Ring
8d0b1f9210
Move and rename test.
2021-01-20 19:55:34 +11:00
Kevin Ring
56feb198df
List of errors and warnings instead of a single string for each.
2021-01-20 19:32:14 +11:00
Kevin Ring
3fe36a7c7b
Fix GCC build problems.
2021-01-20 17:30:01 +11:00
Kevin Ring
8fdc7518b9
Fix Clang problems.
2021-01-20 17:25:00 +11:00
Kevin Ring
6147e0bf11
Clear arrays in StartArray.
2021-01-20 14:27:06 +11:00
Kevin Ring
3bd988f0e4
Remove Helpers entirely.
2021-01-18 23:22:12 +11:00
Kevin Ring
11ea3103b0
Optional properties, thorough initialization.
2021-01-17 00:18:00 +11:00
Kevin Ring
edb8fe209b
Add extras, reactivate support for RTC_CENTER.
2021-01-14 17:44:19 +11:00
Kevin Ring
cc973071ad
Cleanup.
2021-01-13 15:55:46 +11:00
Kevin Ring
e28f181d6c
Remove unnecessary map.
2021-01-13 15:50:48 +11:00
Kevin Ring
c999c7628b
Load embedded images.
2021-01-12 21:57:42 +11:00
Kevin Ring
6a6d2d94de
Draco loading.
2021-01-12 21:40:35 +11:00
Kevin Ring
2b2c4a8b16
Add support for extensions, especially Draco.
2021-01-11 18:05:02 +11:00
Kevin Ring
32f0c371ea
Raster image loading.
2021-01-08 23:10:27 +11:00
Kevin Ring
7f914afd4d
Improve error handling for arrays.
2021-01-08 17:47:39 +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
32dca3f5d8
Improved error reporting.
2021-01-06 20:56:53 +11:00
Kevin Ring
068df1c3ef
Improve error handling.
2021-01-06 13:00:54 +11:00
Kevin Ring
87a030abe3
Generated classes now compiling.
2021-01-06 11:57:32 +11:00
Kevin Ring
e49e6552a9
Deserialize materials.
2021-01-04 23:26:47 +11:00
Kevin Ring
a67ed6a6ca
Add support for primitive targets.
2021-01-04 22:32:35 +11:00
Kevin Ring
e4a69c6559
Support attributes, names.
2021-01-04 22:21:54 +11:00
Kevin Ring
ae16a4888f
Separate files for glTF reader PoC.
2021-01-04 17:41:37 +11:00