Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

- Added a constructor overload for `Cesium3DTilesSelection::ITwinCesiumCuratedContentLoaderFactory` to override the iTwin Cesium Curated Content base URL. This makes it possible to connect to alternate servers (e.g., staging, QA, mock servers).
- Added `ViewUpdateResult::tileScreenSpaceErrorThisFrame`, which stores the screen space errors computed for tiles in `tilesToRenderThisFrame`.
- Added `CesiumGltf::ExtensionExtPrimitiveVoxels::MODE`, representing the primitive mode constant used by the extension.

##### Fixes :wrench:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ namespace CesiumGltf {
* @brief `EXT_primitive_voxels` extension for a primitive in a glTF model to
* indicate voxel-based volumetric data
*/
struct CESIUMGLTF_API ExtensionExtPrimitiveVoxels final
struct CESIUMGLTF_API ExtensionExtPrimitiveVoxelsSpec
: public CesiumUtility::ExtensibleObject {
/**
* @brief The original name of this type.
Expand Down Expand Up @@ -60,7 +60,7 @@ struct CESIUMGLTF_API ExtensionExtPrimitiveVoxels final
*/
int64_t getSizeBytes() const {
int64_t accum = 0;
accum += int64_t(sizeof(ExtensionExtPrimitiveVoxels));
accum += int64_t(sizeof(ExtensionExtPrimitiveVoxelsSpec));
accum += CesiumUtility::ExtensibleObject::getSizeBytes() -
int64_t(sizeof(CesiumUtility::ExtensibleObject));
accum += int64_t(sizeof(int64_t) * this->dimensions.capacity());
Expand All @@ -77,5 +77,12 @@ struct CESIUMGLTF_API ExtensionExtPrimitiveVoxels final
}
return accum;
}

protected:
/**
* @brief This class is not meant to be instantiated directly. Use {@link ExtensionExtPrimitiveVoxels} instead.
*/
ExtensionExtPrimitiveVoxelsSpec() = default;
friend struct ExtensionExtPrimitiveVoxels;
};
} // namespace CesiumGltf
19 changes: 19 additions & 0 deletions CesiumGltf/include/CesiumGltf/ExtensionExtPrimitiveVoxels.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#pragma once

#include <CesiumGltf/ExtensionExtPrimitiveVoxelsSpec.h>

namespace CesiumGltf {

/** @copydoc ExtensionExtPrimitiveVoxelsSpec */
struct CESIUMGLTF_API ExtensionExtPrimitiveVoxels final
: public ExtensionExtPrimitiveVoxelsSpec {
/**
* @brief The constant used to indicate a voxel primitive in \ref
* CesiumGltf::MeshPrimitive::mode.
*/
static constexpr int32_t MODE = 2147483647;

ExtensionExtPrimitiveVoxels() = default;
};

} // namespace CesiumGltf
3 changes: 2 additions & 1 deletion tools/generate-classes/glTF.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,8 @@
"overrideName": "ExtensionExtImplicitCylinderRegion"
},
"EXT_primitive_voxels glTF Mesh Primitive extension": {
"overrideName": "ExtensionExtPrimitiveVoxels"
"overrideName": "ExtensionExtPrimitiveVoxels",
"toBeInherited": true
},
"KHR_gaussian_splatting glTF Mesh Primitive Extension": {
"overrideName": "ExtensionKhrGaussianSplatting",
Expand Down
Loading