Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Cesium3DTiles project #362

Merged
merged 8 commits into from
Oct 12, 2021
Merged

Add Cesium3DTiles project #362

merged 8 commits into from
Oct 12, 2021

Conversation

lilleyse
Copy link
Contributor

@lilleyse lilleyse commented Oct 10, 2021

Merge #361 first

Adds a new project Cesium3DTiles that will be used by Cesium3DTilesReader and Cesium3DTilesWriter. The files are generated from #361. There are no additional helper functions like you would see in CesiumGltf. I spot checked the generated documentation.

I plan on updating CHANGES.md after the reader and writer are merged.

Questions:

  • What tests should be added? All the classes are essentially struct-like.
  • Why don't we use vector and matrix types for the generated code? That would be nicer than seeing std::vector<double> transform = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1};. Maybe we can use OrientedBoundingBox, BoundingRegion, and BoundingSphere in generated code as well?
  • What's the best approach for BoundingVolume.h? The bounding volume types in boundingVolume.schema.json are mutually exclusive. ImageSpec.h has the same problem for uri/bufferView. Not sure if it's even possible to express well in C++ while also keeping the API consistent and user friendly (aka I don't think std::variant or getters/setters are the answer here). tinygltf doesn't seem to do anything special either so maybe we just live with it.

Here's what the file looks like (with some comments removed)

// This file was generated by generate-gltf-classes.
// DO NOT EDIT THIS FILE!
#pragma once

#include "ExtensibleObject.h"
#include "Library.h"

#include <vector>

namespace Cesium3DTiles {
/**
 * @brief A bounding volume that encloses a tile or its content. Exactly one
 * `box`, `region`, or `sphere` property is required.
 */
struct CESIUM3DTILES_API BoundingVolume final : public ExtensibleObject {
  std::vector<double> box;
  std::vector<double> region;
  std::vector<double> sphere;
};
} // namespace Cesium3DTiles

@lilleyse lilleyse requested a review from kring October 10, 2021 23:46
Base automatically changed from generate-3d-tiles to main October 11, 2021 02:08
Copy link
Member

@kring kring left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Just the one comment below, and it can be addressed in a separate PR if necessary.

What tests should be added? All the classes are essentially struct-like.

I don't think there's any behavior worth testing here.

Why don't we use vector and matrix types for the generated code?

Two reasons, but I don't know if either of them are really any good:

  1. To avoid a dependency on glm (and also other Cesium libraries if we use OrientedBoundingBox et al).
  2. Because we can't easily tell from the spec that a property is a matrix versus some other array of doubles.

What's the best approach for BoundingVolume.h? The bounding volume types in boundingVolume.schema.json are mutually exclusive.

Yeah I don't think we can/should do much here. The philosophy with CesiumGltf, which extends to Cesium3DTiles too, is that every valid glTF should be representable with CesiumGltf. But just because we can represent something with CesiumGltf doesn't mean it's a valid glTF. We can't encode every requirement in the type system, and attempting to do so would just make our libraries harder to use.

Cesium3DTiles/include/Cesium3DTiles/ExtensibleObject.h Outdated Show resolved Hide resolved
Comment on lines 60 to 63
std::optional<std::string> refine = Refine::ADD;
std::optional<std::string> refine;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change is the result of #365

Comment on lines 4 to 11
#include <CesiumUtility/ExtensibleObject.h>

#include <any>
#include <string_view>

namespace CesiumGltf {
using namespace CesiumUtility;

struct ExtensibleObject;
namespace CesiumGltf {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couldn't use forward declarations anymore after the changes in ExtensibleObject.h

@@ -71,6 +78,8 @@ function generate(options, schema) {

${headers.map((header) => `#include ${header}`).join("\n")}

using namespace CesiumUtility;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not required for all files (e.g. classes that inherit from NamedObject instead of ExtensibleObject) but I don't see the harm in keeping it around.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And eventually NamedObject may make its way into CesiumUtility

@@ -104,6 +113,7 @@ function generate(options, schema) {
let readerHeaders = lodash.uniq([
`"${namespace}/ReaderContext.h"`,
`"${base}JsonHandler.h"`,
`"${namespace}/${name}.h"`,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved here since clang-format will order includes for us

Comment on lines -7 to +9
"generate-3d-tiles": "node index.js --schema https://raw.githubusercontent.com/CesiumGS/3d-tiles/3d-tiles-next-json-schema-2020-12/specification/schema/ --root tileset.schema.json --output ../../Cesium3DTiles --readerOutput ../../Cesium3DTilesReader --extensions https://raw.githubusercontent.com/CesiumGS/3d-tiles/3d-tiles-next-json-schema-2020-12/extensions/ --namespace Cesium3DTiles --config 3dTiles.json",
"generate-3d-tiles": "node index.js --schema https://raw.githubusercontent.com/CesiumGS/3d-tiles/3d-tiles-next/specification/schema/ --root tileset.schema.json --output ../../Cesium3DTiles --readerOutput ../../Cesium3DTilesReader --extensions https://raw.githubusercontent.com/CesiumGS/3d-tiles/3d-tiles-next/extensions/ --namespace Cesium3DTiles --config 3dTiles.json",
"generate-gltf": "node index.js --schema https://raw.githubusercontent.com/CesiumGS/glTF/3d-tiles-next/specification/2.0/schema/ --root glTF.schema.json --output ../../CesiumGltf --readerOutput ../../CesiumGltfReader --extensions https://raw.githubusercontent.com/CesiumGS/glTF/3d-tiles-next/extensions/2.0/ --namespace CesiumGltf --config glTF.json",
"test-3d-tiles": "node index.js --schema https://raw.githubusercontent.com/CesiumGS/3d-tiles/3d-tiles-next-json-schema-2020-12/specification/schema/ --root tileset.schema.json --output test_output/Cesium3DTiles --readerOutput test_output/Cesium3DTilesReader --extensions https://raw.githubusercontent.com/CesiumGS/3d-tiles/3d-tiles-next-json-schema-2020-12/extensions/ --namespace Cesium3DTiles --config 3dTiles.json",
"test-3d-tiles": "node index.js --schema https://raw.githubusercontent.com/CesiumGS/3d-tiles/3d-tiles-next/specification/schema/ --root tileset.schema.json --output test_output/Cesium3DTiles --readerOutput test_output/Cesium3DTilesReader --extensions https://raw.githubusercontent.com/CesiumGS/3d-tiles/3d-tiles-next/extensions/ --namespace Cesium3DTiles --config 3dTiles.json",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CesiumGS/3d-tiles#498 was merged so I updated the links

@lilleyse
Copy link
Contributor Author

@kring I updated the PR to use the single ExtensibleObject.h and left inline comments for things to point out

#include <optional>
#include <string>

using namespace CesiumUtility;
Copy link
Member

@kring kring Oct 12, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's essential to never include a using namespace Anything in a header file.
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-using-directive

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I should have realized this. Thanks for making the changes.

Also a bump for clang-tidy to help catch mistakes like this #203

@kring
Copy link
Member

kring commented Oct 12, 2021

Well, that escalated quickly... I thought I'd just get rid of the using namespace CesiumUtility and the duplicated class and merge this, to avoid another cycle through different time zones. But it turned out to be a lot of changes. But I think I've gotten rid of most (if not all) of the duplication between CesiumGltf[Reader] and and CesiumUtility / CesiumJsonReader now at least.

I noticed when I regenerated the 3D Tiles files, though, that Cesium3DTilesReader doesn't exist. Is that intentional?

If you're happy @lilleyse, feel free to merge this.

@kring
Copy link
Member

kring commented Oct 12, 2021

I noticed when I regenerated the 3D Tiles files, though, that Cesium3DTilesReader doesn't exist. Is that intentional?

Oh, yep, #363.

@lilleyse
Copy link
Contributor Author

Thanks for wrapping this up @kring

@lilleyse lilleyse merged commit 1a31661 into main Oct 12, 2021
@lilleyse lilleyse deleted the add-cesium3dtiles branch October 12, 2021 15:57
@lilleyse lilleyse mentioned this pull request Oct 12, 2021
lilleyse added a commit that referenced this pull request Oct 26, 2021
commit 313cd58
Merge: 1fc378e 8027c71
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 25 20:36:45 2021 -0400

    Merge branch '3d-tiles-extensions' into gltf-writer

commit 8027c71
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 13:02:17 2021 -0400

    Add test for deserializing custom extensions

commit 02f4f96
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 12:20:32 2021 -0400

    Add support for 3DTILES_content_gltf

commit 3b52b62
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 25 12:15:06 2021 -0400

    Add newline

commit c4e4d7a
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 25 12:12:35 2021 -0400

    Rename Primitive back to MeshPrimitive

commit 1fc378e
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 19:19:58 2021 -0400

    Write custom extensions

commit 94b133b
Merge: 00f9750 8bb13fc
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 13:03:58 2021 -0400

    Merge branch '3d-tiles-extensions' into gltf-writer

commit 00f9750
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 13:03:26 2021 -0400

    Add 3DTILES_content_gltf to TilesetWriter

commit 8bb13fc
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 13:02:17 2021 -0400

    Add test for deserializing custom extensions

commit 404db06
Merge: 99fdb4b 4745672
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 12:27:54 2021 -0400

    Merge branch '3d-tiles-extensions' into gltf-writer

commit 4745672
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 12:20:32 2021 -0400

    Add support for 3DTILES_content_gltf

commit 99fdb4b
Merge: 17ec473 2a3dc0b
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 11:39:24 2021 -0400

    Merge branch 'extension-class-rename' into gltf-writer

commit 2a3dc0b
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 11:37:51 2021 -0400

    Use different naming convention for extension classes

commit 17ec473
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 11:22:43 2021 -0400

    Revert unordered_map change

commit 27939f9
Merge: 373c962 325e968
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 11:19:06 2021 -0400

    Merge branch 'ordered-map' into gltf-writer

commit 325e968
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 11:16:50 2021 -0400

    Use map instead of unordered_map so that order of dictionary elements is preserved during the read/write roundtrip and unit tests pass consistently on Linux and Windows

commit 373c962
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 11:04:13 2021 -0400

    Udpate launch.json

commit 56f1e64
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 24 09:19:12 2021 -0400

    Rename JsonExtensionsWriter to writeJsonExtensions

commit fb501a1
Author: Sean Lilley <[email protected]>
Date:   Fri Oct 22 22:25:47 2021 -0400

    Use map instead of unordered_map because want to write glTF/tileset in the same order that its read

commit 30f5a13
Author: Sean Lilley <[email protected]>
Date:   Wed Oct 20 22:03:54 2021 -0400

    Add test for extras

commit 6633b37
Author: Sean Lilley <[email protected]>
Date:   Wed Oct 20 21:40:41 2021 -0400

    Fix test

commit 02c03ac
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 19 20:52:19 2021 -0400

    Add launch.json [temp]

commit adcd1c7
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 19 20:51:59 2021 -0400

    Regenerate files

commit f84c6ba
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 19 20:51:20 2021 -0400

    Add writer to generate-classes

commit 3322b0d
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 19 20:49:27 2021 -0400

    Format existing writer so it matches output better

commit 4f5f4f6
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 18 19:30:56 2021 -0400

    Remove unneeded code in TilesetWriter.h

commit b0b55c1
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 18 19:16:51 2021 -0400

    Revert generate-classes changes

commit 5800ddd
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 17 21:33:58 2021 -0400

    Start generator

commit 4eb6d57
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 17 21:33:51 2021 -0400

    Remove unneeded code

commit fbc0c40
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 17 12:33:11 2021 -0400

    Add tests

commit f88086f
Author: Sean Lilley <[email protected]>
Date:   Sat Oct 16 19:24:47 2021 -0400

    3D Tiles writer compiling

commit 5ccbc7e
Author: Sean Lilley <[email protected]>
Date:   Sat Oct 16 18:59:50 2021 -0400

    Cesium3DTilesWriter

commit 0ccd11c
Author: Sean Lilley <[email protected]>
Date:   Sat Oct 16 18:29:38 2021 -0400

    Remove CesiumJsonWriter test files

commit 4a6fe3f
Author: Sean Lilley <[email protected]>
Date:   Sat Oct 16 18:29:24 2021 -0400

    Remove Cesium3DTilesWriter generated files

commit 861fe91
Author: Sean Lilley <[email protected]>
Date:   Sat Oct 16 18:20:51 2021 -0400

    Restore CesiumGltfWriter

commit 1913c31
Author: Sean Lilley <[email protected]>
Date:   Sat Oct 16 18:18:40 2021 -0400

    Temp

commit 99edd55
Author: Sean Lilley <[email protected]>
Date:   Sat Oct 16 14:28:55 2021 -0400

    Revert CesiumJsonWriter changes

commit e692b52
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 12 15:36:04 2021 -0400

    Naive first pass for 3D Tiles Writer

commit 34807e9
Merge: abbc03b 664f083
Author: Kevin Ring <[email protected]>
Date:   Fri Oct 22 09:36:33 2021 +1100

    Merge pull request #370 from CesiumGS/test-fix

    Fix CacheAssetAccessor test

commit 664f083
Author: Nithin Pranesh <[email protected]>
Date:   Thu Oct 21 13:39:40 2021 -0400

    Move forward arbitrary future time to fix test

commit abbc03b
Merge: 046cb6a 711114a
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 19 21:22:48 2021 +1100

    Merge pull request #369 from CesiumGS/update-metadata-schema

    Regenerate classes for EXT_feature_metadata

commit 711114a
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 18 19:04:57 2021 -0400

    Fix formatting

commit 066b3df
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 18 18:30:44 2021 -0400

    Use strict types

commit f9b48fb
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 18 18:13:51 2021 -0400

    Renegerate glTF classes

commit 046cb6a
Merge: 28be767 8453d76
Author: Kevin Ring <[email protected]>
Date:   Wed Oct 13 07:59:55 2021 +1100

    Merge pull request #368 from CesiumGS/rename-generate-classes

    Rename generate-gltf-classes to generate-classes

commit 8453d76
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 12 12:51:55 2021 -0400

    Rename generate-gltf-classes to generate-classes

commit 28be767
Merge: 1f23b7e 163334d
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 12 12:22:59 2021 -0400

    Merge pull request #363 from CesiumGS/add-cesium3dtilesreader

    Add Cesium3DTilesReader project

commit 163334d
Merge: 0169625 1f23b7e
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 12 12:10:48 2021 -0400

    Merge branch 'main' into add-cesium3dtilesreader

commit 1f23b7e
Merge: 1a31661 78224b1
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 12 12:09:22 2021 -0400

    Merge pull request #366 from CesiumGS/fix-includes

    Include style fixes, part 1

commit 78224b1
Merge: 76ab578 1a31661
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 12 11:59:32 2021 -0400

    Merge branch 'main' into fix-includes

commit 1a31661
Merge: 07adee3 179ef66
Author: Sean Lilley <[email protected]>
Date:   Tue Oct 12 11:57:09 2021 -0400

    Merge pull request #362 from CesiumGS/add-cesium3dtiles

    Add Cesium3DTiles project

commit 0169625
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 23:37:07 2021 +1100

    Add empty source file to Cesium3DTiles library.

    Otherwise there's no .lib on a clean build, which breaks the build of
    the tests. We could fix that by declaring the library an INTERFACE
    library, but that would require further changes to our cmake config. No
    source files in Cesium3DTiles is probably only temporary, so we'll just
    work around it for now.

commit 07adee3
Merge: f5c2caf 715eebc
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 23:33:27 2021 +1100

    Merge pull request #367 from CesiumGS/fix-undefined-description

    Fix `@brief` when schema is missing description

commit 1acc903
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 22:38:09 2021 +1100

    Re-add CesiumAsync and CesiumGeometry tests.

commit d7a1972
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 22:29:46 2021 +1100

    Re-run 3D Tiles generator.

commit fd1fabd
Merge: 112dd98 76ab578
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 22:28:36 2021 +1100

    Merge remote-tracking branch 'origin/fix-includes' into add-cesium3dtilesreader

commit 76ab578
Merge: 439e37a 179ef66
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 22:28:12 2021 +1100

    Merge remote-tracking branch 'origin/add-cesium3dtiles' into fix-includes

commit 179ef66
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 22:25:58 2021 +1100

    Forward declare ExtensionReaderContext in the right namespace.

commit 112dd98
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 22:20:28 2021 +1100

    Remove redundant code.

commit d726c76
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 22:08:39 2021 +1100

    Regenerate 3D Tiles JSON handlers.

commit 58cd5d8
Merge: e42108e 439e37a
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 22:04:03 2021 +1100

    Merge remote-tracking branch 'origin/fix-includes' into add-cesium3dtilesreader

commit 439e37a
Merge: 52283f3 0c4c7fc
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 21:45:12 2021 +1100

    Merge remote-tracking branch 'origin/add-cesium3dtiles' into fix-includes

commit 0c4c7fc
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 18:26:26 2021 +1100

    ExtensibleObject is in CesiumUtility namespace.

commit a2d8f3e
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 18:06:47 2021 +1100

    Regenerate Cesium3DTiles types.

commit 3443bbf
Author: Kevin Ring <[email protected]>
Date:   Tue Oct 12 17:47:35 2021 +1100

    Remove using in header, remove redundant code.

commit e42108e
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 19:15:01 2021 -0400

    Fix include formatting

commit 715eebc
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 19:02:36 2021 -0400

    Fix class description when schema is missing description

commit 254d3bf
Merge: 97c37c6 52283f3
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 17:51:50 2021 -0400

    Merge branch 'fix-includes' into add-cesium3dtilesreader

commit 52283f3
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 17:28:44 2021 -0400

    Fix includes

commit ba737fd
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 17:11:29 2021 -0400

    Remove Cesium3DTiles from CesiumNativeTests since there are no source files anymore

commit 7dad700
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 16:03:21 2021 -0400

    One ExtensibleObject

commit f6052fd
Merge: 4dbe872 f5c2caf
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 14:05:35 2021 -0400

    Merge branch 'main' into add-cesium3dtiles

commit f5c2caf
Merge: 2e17e2b ef9d5c8
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 12:45:17 2021 -0400

    Merge pull request #365 from CesiumGS/gltf-no-defaults-for-optional

    Do not initialize optional enum-typed properties

commit ef9d5c8
Merge: 293095c 2e17e2b
Author: Sean Lilley <[email protected]>
Date:   Mon Oct 11 12:33:08 2021 -0400

    Merge branch 'main' into gltf-no-defaults-for-optional

commit 293095c
Author: Marco Hutter <[email protected]>
Date:   Mon Oct 11 17:16:30 2021 +0200

    Do not initialize optional enum-typed properties

commit 97c37c6
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 10 22:29:25 2021 -0400

    Remove TODOs

commit 471bc06
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 10 19:36:26 2021 -0400

    Add Cesium3DTilesReader

commit 2e17e2b
Merge: 3bf84a7 47a4733
Author: Kevin Ring <[email protected]>
Date:   Mon Oct 11 13:08:33 2021 +1100

    Merge pull request #361 from CesiumGS/generate-3d-tiles

    Update generate-gltf-classes to support 3D Tiles

commit 3bf84a7
Merge: ee5c9f0 a57b438
Author: Kevin Ring <[email protected]>
Date:   Mon Oct 11 13:01:55 2021 +1100

    Merge pull request #360 from CesiumGS/generate-gltf-prettier

    Format generate-gltf-classes with prettier

commit 4dbe872
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 10 18:14:37 2021 -0400

    Add Cesium3DTiles project

commit 47a4733
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 10 17:33:45 2021 -0400

    Update generate-gltf-classes to support 3D Tiles

commit a57b438
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 10 16:55:53 2021 -0400

    Format generate-gltf-classes with prettier

commit ee5c9f0
Merge: c1ddb0f 525f8e1
Author: Kevin Ring <[email protected]>
Date:   Wed Oct 6 12:41:10 2021 +1100

    Merge pull request #351 from CesiumGS/gltf-schema-updates

    Update generated files with newer glTF schema

commit c1ddb0f
Merge: a8232ad 99dbe1e
Author: Kevin Ring <[email protected]>
Date:   Wed Oct 6 12:11:37 2021 +1100

    Merge pull request #354 from CesiumGS/image-error-fixes

    Improved error handling for unhandled image types like WebP

commit 99dbe1e
Author: Kevin Ring <[email protected]>
Date:   Wed Oct 6 11:55:51 2021 +1100

    Update CHANGES.md.

commit 525f8e1
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 3 14:19:14 2021 -0400

    Support const property in anyOf elements

commit 4f2bad8
Author: Sean Lilley <[email protected]>
Date:   Sun Oct 3 12:06:13 2021 -0400

    Fix accidental copy-paste

commit 5d626c7
Author: Marco Hutter <[email protected]>
Date:   Fri Oct 1 20:33:02 2021 +0200

    Add test case for WebP images

commit 3c62216
Author: Marco Hutter <[email protected]>
Date:   Fri Oct 1 20:32:26 2021 +0200

    Forward warnings and errors from images to model

commit 1eb4caa
Author: Marco Hutter <[email protected]>
Date:   Fri Oct 1 20:31:53 2021 +0200

    Allow this special status code of 0.

    This one took several hours of debugging.

commit a8232ad
Author: Kevin Ring <[email protected]>
Date:   Sat Oct 2 01:23:07 2021 +1000

    Bump to v0.8.0, update CHANGES.md.

commit c1b9096
Merge: c81b55b 9695bf4
Author: Kevin Ring <[email protected]>
Date:   Sat Oct 2 01:10:06 2021 +1000

    Merge remote-tracking branch 'origin/main' into gltf-generator-enum-fixes

commit c81b55b
Merge: 2f10a90 ae7d9e7
Author: Marco Hutter <[email protected]>
Date:   Thu Sep 30 17:35:10 2021 +0200

    Merge branch 'gltf-generator-enum-fixes' of https://github.com/CesiumGS/cesium-native into gltf-generator-enum-fixes

commit 2f10a90
Author: Marco Hutter <[email protected]>
Date:   Thu Sep 30 17:34:24 2021 +0200

    Added basic (but not sufficient) unit test

commit 9695bf4
Merge: 523adf1 e42e3ca
Author: Kevin Ring <[email protected]>
Date:   Thu Sep 30 22:46:25 2021 +1000

    Merge pull request #349 from CesiumGS/include-style-fixes

    Include style fixes, part 0

commit 523adf1
Merge: 8d92cec 90a7369
Author: Alex Gallegos <[email protected]>
Date:   Wed Sep 29 09:25:18 2021 -0400

    Merge pull request #352 from CesiumGS/rtc-center-not-double

    Don't ignore RTC_CENTER when it has an integer coordinate value.

commit e42e3ca
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 28 17:43:20 2021 +0200

    Use relative paths in auto-generated classes

commit 9855400
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 28 17:23:07 2021 +0200

    Use proper relative paths in all public headers

commit d840015
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 28 14:49:53 2021 +0200

    Formatting, applied proper order for relative paths

commit 8c7a125
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 28 14:49:34 2021 +0200

    Update .clang-format for relative paths

commit 50a52ed
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 28 14:47:55 2021 +0200

    Formatting - WIP

    Noticed a wrong include order, to be fixed with next commits.

commit b0a2b59
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 28 14:44:47 2021 +0200

    Use proper relative paths in CesiumAsync/Impl

commit 27fdd26
Merge: 62ff744 8d92cec
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 28 14:38:33 2021 +0200

    Merge remote-tracking branch 'origin/main' into include-style-fixes

    # Conflicts:
    #	Cesium3DTilesSelection/include/Cesium3DTilesSelection/GltfContent.h
    #	Cesium3DTilesSelection/src/Batched3DModelContent.cpp
    #	Cesium3DTilesSelection/src/CompositeContent.cpp
    #	Cesium3DTilesSelection/src/ExternalTilesetContent.cpp
    #	Cesium3DTilesSelection/src/GltfContent.cpp
    #	Cesium3DTilesSelection/src/QuantizedMeshContent.cpp
    #	Cesium3DTilesSelection/src/Tile.cpp
    #	Cesium3DTilesSelection/src/TileContentFactory.cpp
    #	Cesium3DTilesSelection/src/calcQuadtreeMaxGeometricError.h

commit 90a7369
Author: Kevin Ring <[email protected]>
Date:   Tue Sep 28 16:26:43 2021 +1000

    Don't ignore RTC_CENTER when it has an integer coordinate value.

commit 62ff744
Author: Kevin Ring <[email protected]>
Date:   Mon Sep 27 10:46:26 2021 +1000

    Treat `<something.h>` as third-party include.

commit cf5f3b2
Merge: 8dfa62a ae7d9e7
Author: Sean Lilley <[email protected]>
Date:   Sun Sep 26 13:32:30 2021 -0400

    Merge branch 'gltf-generator-enum-fixes' into gltf-schema-updates

commit ae7d9e7
Merge: 0f6645f 8d92cec
Author: Sean Lilley <[email protected]>
Date:   Sun Sep 26 13:24:10 2021 -0400

    Merge branch 'main' into gltf-generator-enum-fixes

commit 175b7ee
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 17:57:48 2021 +0200

    Also format the auto-generated code

    This will sort itself out at some point...

commit 0e827f7
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 17:46:27 2021 +0200

    Updated includes based on clang-format with Regroup

    This MAINLY inserted some blank lines between
    the blocks.

commit d6376b3
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 17:43:03 2021 +0200

    Change clang-format include order to Regroup

commit 8dfa62a
Author: Sean Lilley <[email protected]>
Date:   Sun Sep 26 11:39:10 2021 -0400

    Changes to generated files

commit f917c9e
Author: Sean Lilley <[email protected]>
Date:   Sun Sep 26 11:38:44 2021 -0400

    Update glTF schema links

commit 0f6645f
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 16:53:51 2021 +0200

    Removed the classes from GeneratedJsonHandlers.

    Apparently, all implementations are in one file. Not
    sure where the individual files came from...

commit 5519532
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 16:52:54 2021 +0200

    Initialize members to proper (non-default) values.

commit c2684cb
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 16:52:04 2021 +0200

    Initialize the members with the proper defaults.

    The tests assumed that the enum members are initialized
    with "the first" enum value, if no explicit default value
    was given. In the schema, the "type" is only specified in
    every element of "anyOf" when the type is "integer" (but
    not when it is "string"). Not sure who to blame here...

commit 421bfa2
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 15:16:08 2021 +0200

    Removed magic_enum

commit c73ec55
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 15:11:57 2021 +0200

    Removed magic_enum dependency

    It was only used in CesiumGltfWriter, and is no longer
    required after the glTF enum updates

commit 486eb57
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 15:06:10 2021 +0200

    Update for glTF enums in other classes - WIP

    This updates the non-auto-generated classes based on
    the changes of the auto-generated ones.

commit f63c0e5
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 14:44:29 2021 +0200

    Update of auto-generated classes - WIP

    This does not compile. It is only the update of the
    auto-generated classes, without the corresponding
    updates in the non-auto-generated classes.

commit 8966e91
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 26 14:41:25 2021 +0200

    Use struct and constexpr, as per review comment

commit 8d92cec
Merge: 20a536a 270a709
Author: Kevin Ring <[email protected]>
Date:   Fri Sep 24 17:50:39 2021 +1000

    Merge pull request #347 from CesiumGS/fix-vs-warnings

    Fix warnings detected by Visual Studio, Part 0

commit 270a709
Merge: 8abb314 20a536a
Author: Kevin Ring <[email protected]>
Date:   Fri Sep 24 17:35:10 2021 +1000

    Merge remote-tracking branch 'origin/main' into fix-vs-warnings

commit 20a536a
Merge: 0ffa662 521fe41
Author: Kevin Ring <[email protected]>
Date:   Fri Sep 24 17:31:16 2021 +1000

    Merge pull request #338 from CesiumGS/async-tile-load

    Make tile content loading asynchronous

commit 521fe41
Author: Kevin Ring <[email protected]>
Date:   Fri Sep 24 17:10:45 2021 +1000

    Update CHANGES.md.

commit acb2294
Merge: 4e13dfa 0ffa662
Author: Kevin Ring <[email protected]>
Date:   Fri Sep 24 17:09:25 2021 +1000

    Merge remote-tracking branch 'origin/main' into async-tile-load

commit 4e13dfa
Author: Kevin Ring <[email protected]>
Date:   Fri Sep 24 17:09:09 2021 +1000

    Doc tweak, remove unused headers.

commit a96ca64
Author: Marco Hutter <[email protected]>
Date:   Thu Sep 23 01:31:32 2021 +0200

    An attempt to fix the enum typing

commit 8abb314
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 22 15:47:43 2021 +0200

    Remove const from another rvalue reference parameter

commit 1a46a22
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 22 00:24:53 2021 -0400

    format

commit 73b0945
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 22 00:14:03 2021 -0400

    move loadInput into lambda capture

commit 4042d0b
Author: Nithin Pranesh <[email protected]>
Date:   Tue Sep 21 13:00:06 2021 -0400

    address review comments

commit 82e1845
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 21 00:06:44 2021 +0200

    Remove const from rvalue reference parameters

commit fa7f1fd
Author: Marco Hutter <[email protected]>
Date:   Mon Sep 20 23:51:29 2021 +0200

    Fixed include path based on review comment

commit 8e1637c
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:58:41 2021 +0200

    Added include wrapper for tinyxml2

    Similar to the existing spdlog one

commit 01cf105
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:43:55 2021 +0200

    Formatting

commit 11048ca
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:37:50 2021 +0200

    Include fix for rapidjson

    Accidentally used forwards in implementation

commit 44388cb
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:31:57 2021 +0200

    Include style fixes for CesiumUtility

commit d6aca1c
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:29:51 2021 +0200

    Include style fixes for CesiumJsonWriter

commit 9cee470
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:28:09 2021 +0200

    Include style fixes for CesiumJsonReader

commit 00847ed
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:24:32 2021 +0200

    Include style fixes for CesiumIonClient

commit 0f946ac
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:22:58 2021 +0200

    Include style fixes for CesiumGeospatial

commit 49781e9
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:18:58 2021 +0200

    Include style fixes for CesiumGeometry

commit 6a6b3b6
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:15:13 2021 +0200

    Include style fixes for CesiumAsync

commit 281e527
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:12:26 2021 +0200

    Include style fixes for Cesium3DTilesSelection, part 2

commit fa09b16
Author: Marco Hutter <[email protected]>
Date:   Sun Sep 19 15:05:40 2021 +0200

    Include style fixes for Cesium3DTilesSelection

commit 27de1cc
Author: Marco Hutter <[email protected]>
Date:   Fri Sep 17 21:26:17 2021 +0200

    Update for resolved merge conflict

commit bb48dd1
Merge: 7586c10 0ffa662
Author: Marco Hutter <[email protected]>
Date:   Fri Sep 17 21:25:48 2021 +0200

    Merge remote-tracking branch 'origin/main' into fix-vs-warnings

    # Conflicts:
    #	Cesium3DTilesSelection/src/Tileset.cpp

commit 7586c10
Author: Marco Hutter <[email protected]>
Date:   Fri Sep 17 21:19:29 2021 +0200

    Use helper for underlying_type, from review suggestion

    Co-authored-by: Kevin Ring <[email protected]>

commit 3bd8805
Author: Marco Hutter <[email protected]>
Date:   Fri Sep 17 21:17:53 2021 +0200

    Use rvalue, based on review comment

    Co-authored-by: Kevin Ring <[email protected]>

commit 3f6d0ab
Author: Nithin Pranesh <[email protected]>
Date:   Thu Sep 16 10:58:13 2021 -0400

    format

commit 2898882
Author: Nithin Pranesh <[email protected]>
Date:   Thu Sep 16 10:42:17 2021 -0400

    address review comments, simplify TileContentLoadInput

commit db0392d
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 15 21:30:22 2021 -0400

    remove two lines that had no effect

commit dbcbce9
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 15 21:24:20 2021 -0400

    remove this from lambda capture

commit 9c8ae58
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 17:44:12 2021 +0200

    Formatting after const parameters

commit 6a5e0d3
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 17:43:42 2021 +0200

    Added missing const for reference parameters

    C26460: The reference argument ... for function ... can be marked as const

commit cdae0aa
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 15 11:04:51 2021 -0400

    fix test, removed lambda workaround in Tile.cpp

commit 106c306
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 17:03:56 2021 +0200

    Formatting after adding noexcept specifiers

commit 3e75d1f
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 17:03:15 2021 +0200

    Added further missing noexcept specifiers

    C26440: Function ... can be declared noexcept

commit 2b46219
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 16:53:38 2021 +0200

    Convert enum class to underlying type

commit e998f1f
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 16:27:39 2021 +0200

    Fixed wrong parameter type

    C6330: 'char' passed as _Param_(1) when 'unsigned char'
    is required in call to 'isspace'.

commit ea8acbc
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 16:24:58 2021 +0200

    Formatting after avoiding unnecessary copy

commit 7d535b5
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 16:24:33 2021 +0200

    Avoided unnecessary copy

    C26817: Potentially expensive copy of variable ... in
    range-for loop. Consider making it a const reference.

commit 3a10d40
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 16:22:03 2021 +0200

    Made Axis an enum class

    C26812: The enum type ... is unscoped. Prefer 'enum class' over 'enum'

commit 47d49ec
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 16:20:35 2021 +0200

    Changed const to constexpr

    C26814: The const variable ... can be computed at compile-time.
    Consider using constexpr

commit 17abaee
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 16:14:15 2021 +0200

    Formatting after initializing member variables

commit 0e1e2f3
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 16:13:48 2021 +0200

    Initialized member variables

commit e15d172
Author: Kevin Ring <[email protected]>
Date:   Wed Sep 15 23:55:37 2021 +1000

    Formatting.

commit 3298756
Author: Kevin Ring <[email protected]>
Date:   Wed Sep 15 23:54:09 2021 +1000

    Allow unwrapped Future continuations to be mutable.

commit 46c9c7e
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 15:38:06 2021 +0200

    Formatting after adding const

commit de8145a
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 15:37:29 2021 +0200

    Added missing const keyword

    C26496: The variable ... is assigned only once, mark it as const

commit 84a6e70
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 15 09:12:05 2021 -0400

    make inner tiles merging happen on worker thread

commit a84b09c
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 02:35:40 2021 +0200

    Added further noexcept specifiers

commit 588c5a1
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 01:35:34 2021 +0200

    Add noexcept for default constructors

    C26455: Default constructor may not throw.

commit 5949134
Author: Marco Hutter <[email protected]>
Date:   Wed Sep 15 00:54:54 2021 +0200

    Fixed noexcept specifiers

    It's hard to make them consisten for the JSON part...

commit f37a1db
Author: Nithin Pranesh <[email protected]>
Date:   Tue Sep 14 12:05:15 2021 -0400

    TileContentLoadInput is now the only argument for content loading

commit 97a2757
Author: Marco Hutter <[email protected]>
Date:   Tue Sep 14 16:12:50 2021 +0200

    Added missing noexcept specifiers

    Reported as "C26440 Function ... can be declared noexcept"

commit 0ffa662
Author: Kevin Ring <[email protected]>
Date:   Tue Sep 14 20:39:16 2021 +1000

    Bump version and update CHANGES.md.

commit e97ac52
Merge: 6f441f2 56fb8ac
Author: Kevin Ring <[email protected]>
Date:   Tue Sep 14 20:37:24 2021 +1000

    Merge pull request #336 from CesiumGS/fix-forbid-holes

    Fix for "Forbid Holes" not working

commit 56fb8ac
Merge: 3d90117 6f441f2
Author: Kevin Ring <[email protected]>
Date:   Tue Sep 14 20:36:28 2021 +1000

    Merge branch 'main' into fix-forbid-holes

commit 6f441f2
Author: Kevin Ring <[email protected]>
Date:   Tue Sep 14 16:00:48 2021 +1000

    Bump version, tweak CHANGES.md.

commit be1d76c
Author: Nithin Pranesh <[email protected]>
Date:   Tue Sep 14 01:32:36 2021 -0400

    wip, some cleanup/workarounds in Tile.cpp async code

commit 835de62
Author: Nithin Pranesh <[email protected]>
Date:   Mon Sep 13 14:12:39 2021 -0400

    improve async logic in Tile.cpp

commit d3e90d0
Merge: 51e4b17 388ed45
Author: Kevin Ring <[email protected]>
Date:   Mon Sep 13 22:49:07 2021 +1000

    Merge pull request #335 from CesiumGS/unconditional-refine

    Fixed external tilesets not loading when frustum culling was disabled

commit e46184a
Author: Nithin Pranesh <[email protected]>
Date:   Thu Sep 9 08:31:18 2021 -0400

    changes + remove extraneous newline

commit 3d90117
Author: Nithin Pranesh <[email protected]>
Date:   Thu Sep 9 08:26:10 2021 -0400

    changes correction

commit b7b6175
Author: Nithin Pranesh <[email protected]>
Date:   Thu Sep 9 08:23:28 2021 -0400

    changes.md

commit e5b7323
Author: Nithin Pranesh <[email protected]>
Date:   Thu Sep 9 07:54:22 2021 -0400

    fix forbid holes for external tilesets

commit 8f5291e
Author: Nithin Pranesh <[email protected]>
Date:   Thu Sep 9 07:31:28 2021 -0400

    update test to expect LoadState::Failed without a failcallback

commit 388ed45
Author: Nithin Pranesh <[email protected]>
Date:   Thu Sep 9 07:02:00 2021 -0400

    let geometric error of infinity signal unconditional refinement

commit 2a9538d
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 8 13:44:48 2021 -0400

    fix pessimizing-moves

commit b762be0
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 8 13:29:26 2021 -0400

    pass asset accessor and request headers to tile content loading

commit b68440a
Author: Nithin Pranesh <[email protected]>
Date:   Wed Sep 8 12:14:57 2021 -0400

    don't pass functions as references in lambda capture

commit 98b65c0
Author: Nithin Pranesh <[email protected]>
Date:   Tue Sep 7 14:52:11 2021 -0400

    fix cherry-pick, format

commit 2851783
Author: Nithin Pranesh <[email protected]>
Date:   Fri Jun 4 15:18:08 2021 -0400

    _attempt_ to use futures for the tile content loader interface

    lots of difficulties popping up in this refactor

commit c8a2f1a
Author: Nithin Pranesh <[email protected]>
Date:   Fri Sep 3 18:32:06 2021 -0400

    don't call Tile::update before tile's content is loaded

commit 64c287e
Author: Nithin Pranesh <[email protected]>
Date:   Fri Sep 3 16:54:05 2021 -0400

    remove extraneous change

commit f8bfc54
Author: Nithin Pranesh <[email protected]>
Date:   Fri Sep 3 16:53:18 2021 -0400

    better solution?

commit cbb6e28
Author: Nithin Pranesh <[email protected]>
Date:   Fri Sep 3 15:05:23 2021 -0400

    fix gcc/clang issue

commit 1b394b9
Author: Nithin Pranesh <[email protected]>
Date:   Fri Sep 3 14:29:48 2021 -0400

    work-around "Forbid Holes" not working

    Children were not considered "renderable" even though their content and rasters were
    loaded. This happened since the loaded rasters hadn't yet had a chance to be marked
    ready. Forbid Holes was keeping the children from being visited and so
    Tile::update -> RasterMappedTo3DTile::update were not being called, and so even when
    rasters were loaded they couldn't be marked ready. Since the children were not being
    considered renderable, Forbid Holes forced the parents to wait indefinitely for the
    children before refining.

commit b5f8784
Author: Nithin Pranesh <[email protected]>
Date:   Fri Sep 3 11:40:34 2021 -0400

    fix comment and tests

commit 0f222d6
Author: Nithin Pranesh <[email protected]>
Date:   Fri Sep 3 11:14:35 2021 -0400

    Fixed external tilesets not loading when frustum culling was disabled
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants