From 254e7598b8172ab59fe4d747d03a1a5a99284ba8 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Tue, 10 Dec 2024 11:26:13 -0500 Subject: [PATCH 01/12] Some async, geometry, selection docs --- .../IPrepareRendererResources.h | 5 + .../TilesetLoadFailureDetails.h | 3 + .../CesiumAsync/Impl/AsyncSystemSchedulers.h | 4 +- .../CesiumAsync/Impl/ImmediateScheduler.h | 4 + .../CesiumAsync/Impl/QueuedScheduler.h | 4 + .../include/CesiumAsync/Impl/TaskScheduler.h | 4 + CesiumAsync/include/CesiumAsync/Promise.h | 4 +- .../include/CesiumGeometry/Availability.h | 97 +++++++++++++++++-- doc/CMakeLists.txt | 2 + 9 files changed, 118 insertions(+), 9 deletions(-) diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/IPrepareRendererResources.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/IPrepareRendererResources.h index 0ef604086..c2b5acd26 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/IPrepareRendererResources.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/IPrepareRendererResources.h @@ -31,6 +31,11 @@ namespace Cesium3DTilesSelection { class Tile; +/** + * The data of a loaded tile together with a pointer to "render resources" data + * representing the result of \ref + * IPrepareRendererResources::prepareInLoadThread "prepareInLoadThread". + */ struct TileLoadResultAndRenderResources { TileLoadResult result; void* pRenderResources{nullptr}; diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h index a1ac6dba0..de163c9c9 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h @@ -31,6 +31,9 @@ enum class TilesetLoadType { TilesetJson }; +/** + * Information on a tileset that failed to load. + */ class TilesetLoadFailureDetails { public: /** diff --git a/CesiumAsync/include/CesiumAsync/Impl/AsyncSystemSchedulers.h b/CesiumAsync/include/CesiumAsync/Impl/AsyncSystemSchedulers.h index bed6f49ad..32360d8f3 100644 --- a/CesiumAsync/include/CesiumAsync/Impl/AsyncSystemSchedulers.h +++ b/CesiumAsync/include/CesiumAsync/Impl/AsyncSystemSchedulers.h @@ -9,7 +9,7 @@ namespace CesiumAsync { class ITaskProcessor; namespace CesiumImpl { -// Begin omitting doxgen warnings for Impl namespace +// Begin omitting doxygen warnings for Impl namespace //! @cond Doxygen_Suppress class AsyncSystemSchedulers { @@ -22,6 +22,6 @@ class AsyncSystemSchedulers { }; //! @endcond -// End omitting doxgen warnings for Impl namespace +// End omitting doxygen warnings for Impl namespace } // namespace CesiumImpl } // namespace CesiumAsync diff --git a/CesiumAsync/include/CesiumAsync/Impl/ImmediateScheduler.h b/CesiumAsync/include/CesiumAsync/Impl/ImmediateScheduler.h index 5410bdaea..3663f4acd 100644 --- a/CesiumAsync/include/CesiumAsync/Impl/ImmediateScheduler.h +++ b/CesiumAsync/include/CesiumAsync/Impl/ImmediateScheduler.h @@ -7,6 +7,8 @@ #include namespace CesiumAsync { +// Begin omitting doxygen warnings for Impl namespace +//! @cond Doxygen_Suppress namespace CesiumImpl { template class ImmediateScheduler { @@ -88,6 +90,8 @@ template class ImmediateScheduler { return schedulersCurrentlyDispatching; } }; +//! @endcond +// End omitting doxygen warnings for Impl namespace } // namespace CesiumImpl } // namespace CesiumAsync diff --git a/CesiumAsync/include/CesiumAsync/Impl/QueuedScheduler.h b/CesiumAsync/include/CesiumAsync/Impl/QueuedScheduler.h index 1261e77ce..218527a47 100644 --- a/CesiumAsync/include/CesiumAsync/Impl/QueuedScheduler.h +++ b/CesiumAsync/include/CesiumAsync/Impl/QueuedScheduler.h @@ -6,6 +6,8 @@ #include namespace CesiumAsync { +// Begin omitting doxygen warnings for Impl namespace +//! @cond Doxygen_Suppress namespace CesiumImpl { class QueuedScheduler { @@ -86,6 +88,8 @@ class QueuedScheduler { struct Impl; std::unique_ptr _pImpl; }; +//! @endcond +// End omitting doxygen warnings for Impl namespace } // namespace CesiumImpl } // namespace CesiumAsync diff --git a/CesiumAsync/include/CesiumAsync/Impl/TaskScheduler.h b/CesiumAsync/include/CesiumAsync/Impl/TaskScheduler.h index 2da1366fd..d12e61f8d 100644 --- a/CesiumAsync/include/CesiumAsync/Impl/TaskScheduler.h +++ b/CesiumAsync/include/CesiumAsync/Impl/TaskScheduler.h @@ -8,6 +8,8 @@ namespace CesiumAsync { namespace CesiumImpl { +// Begin omitting doxygen warnings for Impl namespace +//! @cond Doxygen_Suppress class TaskScheduler { public: TaskScheduler(const std::shared_ptr& pTaskProcessor); @@ -18,6 +20,8 @@ class TaskScheduler { private: std::shared_ptr _pTaskProcessor; }; +//! @endcond +// End omitting doxygen warnings for Impl namespace } // namespace CesiumImpl } // namespace CesiumAsync diff --git a/CesiumAsync/include/CesiumAsync/Promise.h b/CesiumAsync/include/CesiumAsync/Promise.h index ae3618f03..13e039ea2 100644 --- a/CesiumAsync/include/CesiumAsync/Promise.h +++ b/CesiumAsync/include/CesiumAsync/Promise.h @@ -74,7 +74,9 @@ template class Promise { friend class AsyncSystem; }; -// Specialization for promises that resolve to no value. +/** + * @brief Specialization for promises that resolve to no value. + */ template <> class Promise { public: void resolve() const { this->_pEvent->set(); } diff --git a/CesiumGeometry/include/CesiumGeometry/Availability.h b/CesiumGeometry/include/CesiumGeometry/Availability.h index f73d83d63..4b61f0dde 100644 --- a/CesiumGeometry/include/CesiumGeometry/Availability.h +++ b/CesiumGeometry/include/CesiumGeometry/Availability.h @@ -17,28 +17,68 @@ uint8_t countOnesInByte(uint8_t _byte); uint32_t countOnesInBuffer(std::span buffer); } // namespace AvailabilityUtilities +/** + * @brief An availability value that is a constant boolean value. + */ struct CESIUMGEOMETRY_API ConstantAvailability { + /** + * @brief The constant value. + */ bool constant; }; +/** + * @brief An availability value that needs to be obtained using an offset into a + * buffer. + */ struct CESIUMGEOMETRY_API SubtreeBufferView { + /** + * @brief The offset into the buffer to read from. + */ uint32_t byteOffset; + /** + * @brief The number of bytes after the offset to read until. + */ uint32_t byteLength; + /** + * @brief The index into \ref AvailabilitySubtree::buffers that this \ref + * SubtreeBufferView corresponds to. + */ uint8_t buffer; }; typedef std::variant AvailabilityView; +/** + * @brief The subtree data for an \ref AvailabilityNode, containing information + * on tile, content, and subtree availability. + */ struct CESIUMGEOMETRY_API AvailabilitySubtree { + /** + * @brief The availability information corresponding to \ref + * TileAvailabilityFlags::TILE_AVAILABLE. + */ AvailabilityView tileAvailability; + /** + * @brief The availability information corresponding to \ref + * TileAvailabilityFlags::CONTENT_AVAILABLE. + */ AvailabilityView contentAvailability; + /** + * @brief The availability information corresponding to \ref + * TileAvailabilityFlags::SUBTREE_AVAILABLE and \ref + * TileAvailabilityFlags::SUBTREE_LOADED. + */ AvailabilityView subtreeAvailability; + /** + * @brief Subtree buffers that may be referenced by a \ref SubtreeBufferView. + */ std::vector> buffers; }; /** - * @brief Availability nodes wrap subtree objects and link them together to - * form a downwardly traversable availability tree. + * @brief Availability nodes wrap \ref AvailabilitySubtree objects and link them + * together to form a downwardly traversable availability tree. */ struct CESIUMGEOMETRY_API AvailabilityNode { /** @@ -71,43 +111,88 @@ struct CESIUMGEOMETRY_API AvailabilityNode { uint32_t maxChildrenSubtrees) noexcept; }; +/** + * @brief A downwardly-traversable tree of \ref AvailabilityNode objects. + */ struct CESIUMGEOMETRY_API AvailabilityTree { + /** + * @brief The root \ref AvailabilityNode of this tree. + */ std::unique_ptr pRoot; }; +/** + * @brief Accessor for use with \ref AvailabilityView in order to safely obtain + * the contents of the view. + */ class CESIUMGEOMETRY_API AvailabilityAccessor { public: + /** + * @brief Creates a new AvailabilityAccessor. + * + * @param view The view whose contents will be accessed by this accessor. + * @param subtree The subtree that corresponds to the view. + */ AvailabilityAccessor( const AvailabilityView& view, const AvailabilitySubtree& subtree) noexcept; + /** + * @brief Is this \ref AvailabilityAccessor accessing a \ref + * SubtreeBufferView? + * + * @returns True if the \ref AvailabilityView is a \ref SubtreeBufferView with + * a valid index, offset, and length, or false otherwise. + */ bool isBufferView() const noexcept { return pBufferView != nullptr && bufferAccessor; } + /** + * @brief Is this \ref AvailabilityAccessor accessing a \ref + * ConstantAvailability? + * + * @returns True if the \ref AvailabilityView is a \ref ConstantAvailability, + * false otherwise. + */ bool isConstant() const noexcept { return pConstant != nullptr; } /** - * @brief Unsafe if isConstant is false. + * @brief Obtains the constant value of the \ref AvailabilityView. + * + * @warning Unsafe to use if isConstant is false. + * @returns The constant value. */ bool getConstant() const { return pConstant->constant; } /** - * @brief Unsafe is isBufferView is false. + * @brief Obtains an accessor to the buffer used by the \ref AvailabilityView. + * + * @warning Unsafe to use if isBufferView is false. + * @returns A reference to the span representing the range of the buffer + * specified by the \ref SubtreeBufferView. */ const std::span& getBufferAccessor() const { return *bufferAccessor; } /** - * @brief Unsafe if isBufferView is false. + * @brief Obtains the byte at the given index from the buffer used by the \ref + * AvailabilityView. + * + * @warning Unsafe to use if isBufferView is false. + * @returns The byte at the given index of the buffer accessor. */ const std::byte& operator[](size_t i) const { return bufferAccessor.value()[i]; } /** - * @brief Unsafe if isBufferView is false; + * @brief Obtains the size of the buffer used by the \ref AvailabilityView. + * + * @warning Unsafe to use if isBufferView is false. + * @returns The \ref SubtreeBufferView::byteLength "byteLength" property of + * the \ref SubtreeBufferView. */ size_t size() const { return pBufferView->byteLength; } diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 1af199be3..f0b692195 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -86,6 +86,8 @@ if(DOXYGEN_FOUND) set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "../README.md") set(DOXYGEN_EXCLUDE_PATTERNS "*/node_modules/*") set(DOXYGEN_IMAGE_PATH "./") + set(DOXYGEN_WARN_NO_PARAMDOC YES) + set(DOXYGEN_WARN_IF_UNDOC_ENUM_VAL YES) # Add support for Mermaid charts using the @mermaid command. set(DOXYGEN_HTML_EXTRA_FILES "${CMAKE_CURRENT_LIST_DIR}/assets/mermaid.min.js ${CMAKE_CURRENT_LIST_DIR}/assets/mingcute.json.js") From d98f4b9cd7d883c08afcfaff9ad98ed86ddaf3d4 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Tue, 10 Dec 2024 15:39:12 -0500 Subject: [PATCH 02/12] Lots of additional docs --- .../include/CesiumGeometry/Availability.h | 9 + .../include/CesiumGeometry/AxisAlignedBox.h | 24 +++ .../CesiumGeometry/OctreeAvailability.h | 10 + .../CesiumGeometry/QuadtreeAvailability.h | 4 + .../CesiumGeospatial/BoundingRegionBuilder.h | 4 + .../include/CesiumGltf/PropertyArrayView.h | 40 ++++ .../include/CesiumGltf/PropertyTypeTraits.h | 134 ++++++++++++- CesiumGltf/include/CesiumGltf/PropertyView.h | 182 +++++++++--------- CesiumGltf/include/CesiumGltf/TextureView.h | 3 + .../CesiumGltfContent/ImageManipulation.h | 3 + .../CesiumGltfContent/SkirtMeshMetadata.h | 76 ++++++++ .../include/CesiumIonClient/Assets.h | 4 + .../include/CesiumJsonWriter/JsonWriter.h | 43 ++++- .../QuantizedMeshLoader.h | 20 ++ .../IPrepareRasterOverlayRendererResources.h | 7 + .../QuadtreeRasterOverlayTileProvider.h | 10 + .../RasterOverlayLoadFailureDetails.h | 3 + .../RasterOverlayUtilities.h | 4 + .../RasterizedPolygonsOverlay.h | 30 +++ .../include/CesiumUtility/JsonHelpers.h | 152 +++++++++++++++ .../include/CesiumUtility/ReferenceCounted.h | 2 + CesiumUtility/include/CesiumUtility/Uri.h | 64 ++++++ doc/topics/glossary.md | 9 + 23 files changed, 735 insertions(+), 102 deletions(-) create mode 100644 doc/topics/glossary.md diff --git a/CesiumGeometry/include/CesiumGeometry/Availability.h b/CesiumGeometry/include/CesiumGeometry/Availability.h index 4b61f0dde..2db058519 100644 --- a/CesiumGeometry/include/CesiumGeometry/Availability.h +++ b/CesiumGeometry/include/CesiumGeometry/Availability.h @@ -47,6 +47,15 @@ struct CESIUMGEOMETRY_API SubtreeBufferView { uint8_t buffer; }; +/** + * @brief A view into availability information for part of the availability + * tree. This could be either a constant boolean value or a descriptor pointing + * to a buffer in an \ref AvailabilitySubtree where the information will be + * looked up. + * + * Instead of using this type directly, \ref AvailabilityAccessor can be used to + * work with it safely. + */ typedef std::variant AvailabilityView; /** diff --git a/CesiumGeometry/include/CesiumGeometry/AxisAlignedBox.h b/CesiumGeometry/include/CesiumGeometry/AxisAlignedBox.h index f4033028d..54a1e1eb3 100644 --- a/CesiumGeometry/include/CesiumGeometry/AxisAlignedBox.h +++ b/CesiumGeometry/include/CesiumGeometry/AxisAlignedBox.h @@ -6,8 +6,16 @@ namespace CesiumGeometry { +/** + * @brief An Axis-Aligned Bounding Box (AABB), where the axes of the box are + * aligned with the axes of the coordinate system. + */ struct CESIUMGEOMETRY_API AxisAlignedBox final { + /** + * @brief Creates an empty AABB with a length, width, and height of zero, + * with the center located at (0, 0, 0). + */ constexpr AxisAlignedBox() noexcept : minimumX(0.0), minimumY(0.0), @@ -20,6 +28,16 @@ struct CESIUMGEOMETRY_API AxisAlignedBox final { lengthZ(0.0), center(0.0) {} + /** + * @brief Creates a new AABB using the range of coordinates the box covers. + * + * @param minimumX_ The minimum X coordinate within the box. + * @param minimumY_ The minimum Y coordinate within the box. + * @param minimumZ_ The minimum Z coordinate within the box. + * @param maximumX_ The maximum X coordinate within the box. + * @param maximumY_ The maximum Y coordinate within the box. + * @param maximumZ_ The maximum Z coordinate within the box. + */ constexpr AxisAlignedBox( double minimumX_, double minimumY_, @@ -91,6 +109,12 @@ struct CESIUMGEOMETRY_API AxisAlignedBox final { */ glm::dvec3 center; + /** + * @brief Checks if this AABB contains the given position. + * + * @param position The position to check. + * @returns True if this AABB contains the position, false otherwise. + */ constexpr bool contains(const glm::dvec3& position) const noexcept { return position.x >= this->minimumX && position.x <= this->maximumX && position.y >= this->minimumY && position.y <= this->maximumY && diff --git a/CesiumGeometry/include/CesiumGeometry/OctreeAvailability.h b/CesiumGeometry/include/CesiumGeometry/OctreeAvailability.h index 572147149..7f2a17bca 100644 --- a/CesiumGeometry/include/CesiumGeometry/OctreeAvailability.h +++ b/CesiumGeometry/include/CesiumGeometry/OctreeAvailability.h @@ -12,6 +12,10 @@ namespace CesiumGeometry { +/** + * @brief An availability tree for an octree, where availability can be stored + * and computed based on \ref OctreeTileID. + */ class CESIUMGEOMETRY_API OctreeAvailability final { public: /** @@ -136,6 +140,8 @@ class CESIUMGEOMETRY_API OctreeAvailability final { /** * @brief Gets the number of levels in each subtree. + * + * @returns The number of levels in each subtree. */ constexpr inline uint32_t getSubtreeLevels() const noexcept { return this->_subtreeLevels; @@ -143,6 +149,8 @@ class CESIUMGEOMETRY_API OctreeAvailability final { /** * @brief Gets the index of the maximum level in this implicit tileset. + * + * @returns The index of the maximum level. */ constexpr inline uint32_t getMaximumLevel() const noexcept { return this->_maximumLevel; @@ -150,6 +158,8 @@ class CESIUMGEOMETRY_API OctreeAvailability final { /** * @brief Gets a pointer to the root subtree node of this implicit tileset. + * + * @returns The root node of the availability tree. */ AvailabilityNode* getRootNode() noexcept { return this->_pRoot.get(); } diff --git a/CesiumGeometry/include/CesiumGeometry/QuadtreeAvailability.h b/CesiumGeometry/include/CesiumGeometry/QuadtreeAvailability.h index df787b538..f47dfde35 100644 --- a/CesiumGeometry/include/CesiumGeometry/QuadtreeAvailability.h +++ b/CesiumGeometry/include/CesiumGeometry/QuadtreeAvailability.h @@ -12,6 +12,10 @@ namespace CesiumGeometry { +/** + * @brief An availability tree for a quadtree, where availability can be stored + * and computed based on \ref QuadtreeTileID. + */ class CESIUMGEOMETRY_API QuadtreeAvailability final { public: /** diff --git a/CesiumGeospatial/include/CesiumGeospatial/BoundingRegionBuilder.h b/CesiumGeospatial/include/CesiumGeospatial/BoundingRegionBuilder.h index 3b03bf78c..4f6476f08 100644 --- a/CesiumGeospatial/include/CesiumGeospatial/BoundingRegionBuilder.h +++ b/CesiumGeospatial/include/CesiumGeospatial/BoundingRegionBuilder.h @@ -6,6 +6,10 @@ namespace CesiumGeospatial { +/** + * @brief Helper class for creating a \ref BoundingRegion or \ref GlobeRectangle + * from a set of points. + */ class CESIUMGEOSPATIAL_API BoundingRegionBuilder { public: /** diff --git a/CesiumGltf/include/CesiumGltf/PropertyArrayView.h b/CesiumGltf/include/CesiumGltf/PropertyArrayView.h index 20c1d9198..11ecd26e6 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyArrayView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyArrayView.h @@ -35,15 +35,29 @@ template class PropertyArrayView { PropertyArrayView(const std::span& buffer) noexcept : _values{CesiumUtility::reintepretCastSpan(buffer)} {} + /** + * @brief Accesses the element of this array at the given index. + */ const ElementType& operator[](int64_t index) const noexcept { return this->_values[index]; } + /** + * @brief The number of elements in this array. + */ int64_t size() const noexcept { return this->_values.size(); } + /** + * @brief The `begin` iterator. + */ auto begin() { return this->_values.begin(); } + /** + * @brief The `end` iterator. + */ auto end() { return this->_values.end(); } + /** @copydoc begin */ auto begin() const { return this->_values.begin(); } + /** @copydoc end */ auto end() const { return this->_values.end(); } private: @@ -125,6 +139,13 @@ template class PropertyArrayCopy { PropertyArrayView _view; }; +/** + * @brief A view on a bool array element of a {@link PropertyTableProperty} + * or {@link PropertyTextureProperty}. + * + * Provides utility to retrieve the data stored in the array of + * elements via the array index operator. + */ template <> class PropertyArrayView { public: /** @@ -146,6 +167,9 @@ template <> class PropertyArrayView { int64_t size) noexcept : _values{buffer}, _bitOffset{bitOffset}, _size{size} {} + /** + * @brief Obtains the element in the array at the given index. + */ bool operator[](int64_t index) const noexcept { index += _bitOffset; const int64_t byteIndex = index / 8; @@ -154,6 +178,9 @@ template <> class PropertyArrayView { return bitValue == 1; } + /** + * @brief The number of entries in the array. + */ int64_t size() const noexcept { return _size; } private: @@ -162,6 +189,13 @@ template <> class PropertyArrayView { int64_t _size; }; +/** + * @brief A view on a string array element of a {@link PropertyTableProperty} + * or {@link PropertyTextureProperty}. + * + * Provides utility to retrieve the data stored in the array of + * elements via the array index operator. + */ template <> class PropertyArrayView { public: /** @@ -191,6 +225,9 @@ template <> class PropertyArrayView { _stringOffsetType{stringOffsetType}, _size{size} {} + /** + * @brief Obtains an `std::string_view` for the element at the given index. + */ std::string_view operator[](int64_t index) const noexcept { const size_t currentOffset = getOffsetFromOffsetsBuffer(index, _stringOffsets, _stringOffsetType); @@ -203,6 +240,9 @@ template <> class PropertyArrayView { (nextOffset - currentOffset)); } + /** + * @brief The number of elements in this array. + */ int64_t size() const noexcept { return _size; } private: diff --git a/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h b/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h index 46df75966..66ec93f77 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h @@ -14,30 +14,50 @@ namespace CesiumGltf { * @brief Check if a C++ type can be represented as a scalar property type */ template struct IsMetadataScalar; +/** @copydoc IsMetadataScalar */ template struct IsMetadataScalar : std::false_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; +/** @copydoc IsMetadataScalar */ template <> struct IsMetadataScalar : std::true_type {}; /** * @brief Check if a C++ type can be represented as an integer property type */ template struct IsMetadataInteger; +/** @copydoc IsMetadataInteger */ template struct IsMetadataInteger : std::false_type {}; +/** @copydoc IsMetadataInteger */ template <> struct IsMetadataInteger : std::true_type {}; +/** @copydoc IsMetadataInteger */ template <> struct IsMetadataInteger : std::true_type {}; +/** @copydoc IsMetadataInteger */ template <> struct IsMetadataInteger : std::true_type {}; +/** @copydoc IsMetadataInteger */ template <> struct IsMetadataInteger : std::true_type {}; +/** @copydoc IsMetadataInteger */ template <> struct IsMetadataInteger : std::true_type {}; +/** @copydoc IsMetadataInteger */ template <> struct IsMetadataInteger : std::true_type {}; +/** @copydoc IsMetadataInteger */ template <> struct IsMetadataInteger : std::true_type {}; +/** @copydoc IsMetadataInteger */ template <> struct IsMetadataInteger : std::true_type {}; /** @@ -45,15 +65,20 @@ template <> struct IsMetadataInteger : std::true_type {}; * type. */ template struct IsMetadataFloating; +/** @copydoc IsMetadataFloating */ template struct IsMetadataFloating : std::false_type {}; +/** @copydoc IsMetadataFloating */ template <> struct IsMetadataFloating : std::true_type {}; +/** @copydoc IsMetadataFloating */ template <> struct IsMetadataFloating : std::true_type {}; /** * @brief Check if a C++ type can be represented as a vecN type. */ template struct IsMetadataVecN; +/** @copydoc IsMetadataVecN */ template struct IsMetadataVecN : std::false_type {}; +/** @copydoc IsMetadataVecN */ template struct IsMetadataVecN> : IsMetadataScalar {}; @@ -61,7 +86,9 @@ struct IsMetadataVecN> : IsMetadataScalar {}; * @brief Check if a C++ type can be represented as a matN type. */ template struct IsMetadataMatN; +/** @copydoc IsMetadataMatN */ template struct IsMetadataMatN : std::false_type {}; +/** @copydoc IsMetadataMatN */ template struct IsMetadataMatN> : IsMetadataScalar {}; @@ -70,6 +97,9 @@ struct IsMetadataMatN> : IsMetadataScalar {}; * a scalar / vecN / matN type. */ template struct IsMetadataNumeric; +/** + * @copydoc IsMetadataNumeric + */ template struct IsMetadataNumeric { static constexpr bool value = IsMetadataScalar::value || IsMetadataVecN::value || @@ -80,23 +110,30 @@ template struct IsMetadataNumeric { * @brief Check if a C++ type can be represented as a boolean property type */ template struct IsMetadataBoolean; +/** @copydoc IsMetadataBoolean */ template struct IsMetadataBoolean : std::false_type {}; +/** @copydoc IsMetadataBoolean */ template <> struct IsMetadataBoolean : std::true_type {}; /** * @brief Check if a C++ type can be represented as a string property type */ template struct IsMetadataString; +/** @copydoc IsMetadataString */ template struct IsMetadataString : std::false_type {}; +/** @copydoc IsMetadataString */ template <> struct IsMetadataString : std::true_type {}; /** * @brief Check if a C++ type can be represented as an array. */ template struct IsMetadataArray; +/** @copydoc IsMetadataArray */ template struct IsMetadataArray : std::false_type {}; +/** @copydoc IsMetadataArray */ template struct IsMetadataArray> : std::true_type {}; +/** @copydoc IsMetadataArray */ template struct IsMetadataArray> : std::true_type {}; @@ -105,10 +142,13 @@ struct IsMetadataArray> : std::true_type {}; * property type */ template struct IsMetadataNumericArray; +/** @copydoc IsMetadataNumericArray */ template struct IsMetadataNumericArray : std::false_type {}; +/** @copydoc IsMetadataNumericArray */ template struct IsMetadataNumericArray> { static constexpr bool value = IsMetadataNumeric::value; }; +/** @copydoc IsMetadataNumericArray */ template struct IsMetadataNumericArray> { static constexpr bool value = IsMetadataNumeric::value; }; @@ -118,7 +158,9 @@ template struct IsMetadataNumericArray> { * property type */ template struct IsMetadataBooleanArray; +/** @copydoc IsMetadataBooleanArray */ template struct IsMetadataBooleanArray : std::false_type {}; +/** @copydoc IsMetadataBooleanArray */ template <> struct IsMetadataBooleanArray> : std::true_type {}; @@ -127,7 +169,9 @@ struct IsMetadataBooleanArray> : std::true_type {}; * type */ template struct IsMetadataStringArray; +/** @copydoc IsMetadataStringArray */ template struct IsMetadataStringArray : std::false_type {}; +/** @copydoc IsMetadataStringArray */ template <> struct IsMetadataStringArray> : std::true_type {}; @@ -138,10 +182,12 @@ struct IsMetadataStringArray> template struct MetadataArrayType { using type = void; }; +/** @copydoc MetadataArrayType */ template struct MetadataArrayType> { using type = T; }; +/** @copydoc MetadataArrayType */ template struct MetadataArrayType> { using type = T; @@ -154,60 +200,70 @@ template struct TypeToPropertyType; #pragma region Scalar Property Types +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Uint8; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Int8; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Uint16; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Int16; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Uint32; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Int32; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Uint64; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Int64; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Float32; static constexpr PropertyType value = PropertyType::Scalar; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::Float64; @@ -217,6 +273,7 @@ template <> struct TypeToPropertyType { #pragma region Vector Property Types +/** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { static constexpr PropertyComponentType component = @@ -224,6 +281,7 @@ struct TypeToPropertyType> { static constexpr PropertyType value = PropertyType::Vec2; }; +/** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { static constexpr PropertyComponentType component = @@ -231,6 +289,7 @@ struct TypeToPropertyType> { static constexpr PropertyType value = PropertyType::Vec3; }; +/** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { static constexpr PropertyComponentType component = @@ -242,6 +301,7 @@ struct TypeToPropertyType> { #pragma region Matrix Property Types +/** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { static constexpr PropertyComponentType component = @@ -249,6 +309,7 @@ struct TypeToPropertyType> { static constexpr PropertyType value = PropertyType::Mat2; }; +/** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { static constexpr PropertyComponentType component = @@ -256,6 +317,7 @@ struct TypeToPropertyType> { static constexpr PropertyType value = PropertyType::Mat3; }; +/** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { static constexpr PropertyComponentType component = @@ -265,12 +327,14 @@ struct TypeToPropertyType> { #pragma endregion +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::None; static constexpr PropertyType value = PropertyType::Boolean; }; +/** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { static constexpr PropertyComponentType component = PropertyComponentType::None; @@ -281,22 +345,34 @@ template <> struct TypeToPropertyType { * @brief Check if a C++ type can be normalized. */ template struct CanBeNormalized; +/** @copydoc CanBeNormalized */ template struct CanBeNormalized : std::false_type {}; +/** @copydoc CanBeNormalized */ template <> struct CanBeNormalized : std::true_type {}; +/** @copydoc CanBeNormalized */ template <> struct CanBeNormalized : std::true_type {}; +/** @copydoc CanBeNormalized */ template <> struct CanBeNormalized : std::true_type {}; +/** @copydoc CanBeNormalized */ template <> struct CanBeNormalized : std::true_type {}; +/** @copydoc CanBeNormalized */ template <> struct CanBeNormalized : std::true_type {}; +/** @copydoc CanBeNormalized */ template <> struct CanBeNormalized : std::true_type {}; +/** @copydoc CanBeNormalized */ template <> struct CanBeNormalized : std::true_type {}; +/** @copydoc CanBeNormalized */ template <> struct CanBeNormalized : std::true_type {}; +/** @copydoc CanBeNormalized */ template struct CanBeNormalized> : CanBeNormalized {}; +/** @copydoc CanBeNormalized */ template struct CanBeNormalized> : CanBeNormalized {}; +/** @copydoc CanBeNormalized */ template struct CanBeNormalized> : CanBeNormalized {}; /** @@ -305,71 +381,91 @@ struct CanBeNormalized> : CanBeNormalized {}; */ template struct TypeToNormalizedType; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { using type = double; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { using type = double; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { using type = double; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { using type = double; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { using type = double; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { using type = double; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { using type = double; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { using type = double; }; +/** @copydoc TypeToNormalizedType */ template struct TypeToNormalizedType> { using type = glm::vec; }; +/** @copydoc TypeToNormalizedType */ template struct TypeToNormalizedType> { using type = glm::mat; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { using type = PropertyArrayView; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { using type = PropertyArrayView; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { using type = PropertyArrayView; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { using type = PropertyArrayView; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { using type = PropertyArrayView; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { using type = PropertyArrayView; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { using type = PropertyArrayView; }; +/** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { using type = PropertyArrayView; }; +/** @copydoc TypeToNormalizedType */ template struct TypeToNormalizedType>> { using type = PropertyArrayView>; }; +/** @copydoc TypeToNormalizedType */ template struct TypeToNormalizedType>> { using type = PropertyArrayView>; @@ -382,6 +478,9 @@ struct TypeToNormalizedType>> { * transforms numeric `PropertyArrayView` to `PropertyArrayCopy` because a * `PropertyArrayView` only has a pointer to the value it is viewing. * + * See \ref propertyValueViewToCopy + * + * @remarks This is the inverse of \ref PropertyValueCopyToView * @tparam T The type of the property value view. */ template @@ -390,6 +489,17 @@ using PropertyValueViewToCopy = std::conditional_t< PropertyArrayCopy::type>, T>; +/** + * @brief Transforms a property value type from a copy that owns the data it is + * viewing to a view into that data. For most property types this is an identity + * transformation, because most property types are held by value. However, it + * transforms numeric `PropertyArrayCopy` to `PropertyArrayView`. + * + * See \ref propertyValueCopyToView + * + * @remarks This is the inverse of \ref PropertyValueViewToCopy + * @tparam T The type of the property value copy. + */ template using PropertyValueCopyToView = std::conditional_t< IsMetadataNumericArray::value, @@ -399,11 +509,11 @@ using PropertyValueCopyToView = std::conditional_t< /** * @brief Creates an optional instance of a type that can be used to own a * property value from an optional instance that is only a view on that value. - * See {@link PropertyValueViewToOwner}. + * See {@link PropertyValueViewToCopy}. * - * @tparam T - * @param view - * @return std::optional> + * @tparam T The type of the view to copy. + * @param view An optional instance of a view on the value that will be copied. + * @return std::optional> */ template static std::optional> @@ -420,6 +530,14 @@ propertyValueViewToCopy(const std::optional& view) { } } +/** + * @brief Creates an instance of a type that will own a property value from a + * view on that value. See \ref PropertyValueViewToOwner. + * + * @tparam T The type of the view to copy. + * @param view A view on the value that will be copied. + * @return PropertyValueViewToCopy + */ template static PropertyValueViewToCopy propertyValueViewToCopy(const T& view) { if constexpr (IsMetadataNumericArray::value) { @@ -429,6 +547,14 @@ static PropertyValueViewToCopy propertyValueViewToCopy(const T& view) { } } +/** + * @brief Creates a view on an owned copy of a property value. See \ref + * PropertyValueCopyToView. + * + * @tparam T The type of the value to create a view from. + * @param copy The value to create a view from. + * @return PropertyValueCopyToView + */ template static PropertyValueCopyToView propertyValueCopyToView(const T& copy) { if constexpr (IsMetadataNumericArray::value) { diff --git a/CesiumGltf/include/CesiumGltf/PropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyView.h index 99b80ffc2..ed730d1e4 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyView.h @@ -782,71 +782,71 @@ template class PropertyView { public: /** - * @copydoc PropertyView::status + * @copydoc PropertyView::status */ PropertyViewStatusType status() const noexcept { return _status; } /** - * @copydoc PropertyView::name + * @copydoc PropertyView::name */ const std::optional& name() const noexcept { return _name; } /** - * @copydoc PropertyView::semantic + * @copydoc PropertyView::semantic */ const std::optional& semantic() const noexcept { return _semantic; } /** - * @copydoc PropertyView::description + * @copydoc PropertyView::description */ const std::optional& description() const noexcept { return _description; } /** - * @copydoc PropertyView::arrayCount + * @copydoc PropertyView::arrayCount */ int64_t arrayCount() const noexcept { return 0; } /** - * @copydoc PropertyView::normalized + * @copydoc PropertyView::normalized */ bool normalized() const noexcept { return true; } /** - * @copydoc PropertyView::offset + * @copydoc PropertyView::offset */ std::optional offset() const noexcept { return _offset; } /** - * @copydoc PropertyView::scale + * @copydoc PropertyView::scale */ std::optional scale() const noexcept { return _scale; } /** - * @copydoc PropertyView::max + * @copydoc PropertyView::max */ std::optional max() const noexcept { return _max; } /** - * @copydoc PropertyView::min + * @copydoc PropertyView::min */ std::optional min() const noexcept { return _min; } /** - * @copydoc PropertyView::required + * @copydoc PropertyView::required */ bool required() const noexcept { return _required; } /** - * @copydoc PropertyView::noData + * @copydoc PropertyView::noData */ std::optional noData() const noexcept { return _noData; } /** - * @copydoc PropertyView::defaultValue + * @copydoc PropertyView::defaultValue */ std::optional defaultValue() const noexcept { return _defaultValue; @@ -1015,71 +1015,71 @@ template <> class PropertyView { public: /** - * @copydoc PropertyView::status + * @copydoc PropertyView::status */ PropertyViewStatusType status() const noexcept { return _status; } /** - * @copydoc PropertyView::name + * @copydoc PropertyView::name */ const std::optional& name() const noexcept { return _name; } /** - * @copydoc PropertyView::semantic + * @copydoc PropertyView::semantic */ const std::optional& semantic() const noexcept { return _semantic; } /** - * @copydoc PropertyView::description + * @copydoc PropertyView::description */ const std::optional& description() const noexcept { return _description; } /** - * @copydoc PropertyView::arrayCount + * @copydoc PropertyView::arrayCount */ int64_t arrayCount() const noexcept { return 0; } /** - * @copydoc PropertyView::normalized + * @copydoc PropertyView::normalized */ bool normalized() const noexcept { return false; } /** - * @copydoc PropertyView::offset + * @copydoc PropertyView::offset */ std::optional offset() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::scale + * @copydoc PropertyView::scale */ std::optional scale() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::max + * @copydoc PropertyView::max */ std::optional max() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::min + * @copydoc PropertyView::min */ std::optional min() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::required + * @copydoc PropertyView::required */ bool required() const noexcept { return _required; } /** - * @copydoc PropertyView::noData + * @copydoc PropertyView::noData */ std::optional noData() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::defaultValue + * @copydoc PropertyView::defaultValue */ std::optional defaultValue() const noexcept { return _defaultValue; } @@ -1188,70 +1188,70 @@ template <> class PropertyView { public: /** - * @copydoc PropertyView::status + * @copydoc PropertyView::status */ PropertyViewStatusType status() const noexcept { return _status; } /** - * @copydoc PropertyView::name + * @copydoc PropertyView::name */ const std::optional& name() const noexcept { return _name; } /** - * @copydoc PropertyView::semantic + * @copydoc PropertyView::semantic */ const std::optional& semantic() const noexcept { return _semantic; } /** - * @copydoc PropertyView::description + * @copydoc PropertyView::description */ const std::optional& description() const noexcept { return _description; } /** - * @copydoc PropertyView::arrayCount + * @copydoc PropertyView::arrayCount */ int64_t arrayCount() const noexcept { return 0; } /** - * @copydoc PropertyView::normalized + * @copydoc PropertyView::normalized */ bool normalized() const noexcept { return false; } /** - * @copydoc PropertyView::offset + * @copydoc PropertyView::offset */ std::optional offset() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::scale + * @copydoc PropertyView::scale */ std::optional scale() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::max + * @copydoc PropertyView::max */ std::optional max() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::min + * @copydoc PropertyView::min */ std::optional min() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::required + * @copydoc PropertyView::required */ bool required() const noexcept { return _required; } /** - * @copydoc PropertyView::noData + * @copydoc PropertyView::noData */ std::optional noData() const noexcept { if (_noData) @@ -1261,7 +1261,7 @@ template <> class PropertyView { } /** - * @copydoc PropertyView::defaultValue + * @copydoc PropertyView::defaultValue */ std::optional defaultValue() const noexcept { if (_defaultValue) @@ -1434,41 +1434,41 @@ class PropertyView, false> { public: /** - * @copydoc PropertyView::status + * @copydoc PropertyView::status */ PropertyViewStatusType status() const noexcept { return _status; } /** - * @copydoc PropertyView::name + * @copydoc PropertyView::name */ const std::optional& name() const noexcept { return _name; } /** - * @copydoc PropertyView::semantic + * @copydoc PropertyView::semantic */ const std::optional& semantic() const noexcept { return _semantic; } /** - * @copydoc PropertyView::description + * @copydoc PropertyView::description */ const std::optional& description() const noexcept { return _description; } /** - * @copydoc PropertyView::arrayCount + * @copydoc PropertyView::arrayCount */ int64_t arrayCount() const noexcept { return _count; } /** - * @copydoc PropertyView::normalized + * @copydoc PropertyView::normalized */ bool normalized() const noexcept { return false; } /** - * @copydoc PropertyView::offset + * @copydoc PropertyView::offset */ std::optional> offset() const noexcept { if (!_offset) { @@ -1480,7 +1480,7 @@ class PropertyView, false> { } /** - * @copydoc PropertyView::scale + * @copydoc PropertyView::scale */ std::optional> scale() const noexcept { if (!_scale) { @@ -1492,7 +1492,7 @@ class PropertyView, false> { } /** - * @copydoc PropertyView::max + * @copydoc PropertyView::max */ std::optional> max() const noexcept { if (!_max) { @@ -1504,7 +1504,7 @@ class PropertyView, false> { } /** - * @copydoc PropertyView::min + * @copydoc PropertyView::min */ std::optional> min() const noexcept { if (!_min) { @@ -1516,12 +1516,12 @@ class PropertyView, false> { } /** - * @copydoc PropertyView::required + * @copydoc PropertyView::required */ bool required() const noexcept { return _required; } /** - * @copydoc PropertyView::noData + * @copydoc PropertyView::noData */ std::optional> noData() const noexcept { if (!_noData) { @@ -1533,7 +1533,7 @@ class PropertyView, false> { } /** - * @copydoc PropertyView::defaultValue + * @copydoc PropertyView::defaultValue */ std::optional> defaultValue() const noexcept { if (!_defaultValue) { @@ -1830,41 +1830,41 @@ class PropertyView, true> { public: /** - * @copydoc PropertyView::status + * @copydoc PropertyView::status */ PropertyViewStatusType status() const noexcept { return _status; } /** - * @copydoc PropertyView::name + * @copydoc PropertyView::name */ const std::optional& name() const noexcept { return _name; } /** - * @copydoc PropertyView::semantic + * @copydoc PropertyView::semantic */ const std::optional& semantic() const noexcept { return _semantic; } /** - * @copydoc PropertyView::description + * @copydoc PropertyView::description */ const std::optional& description() const noexcept { return _description; } /** - * @copydoc PropertyView::arrayCount + * @copydoc PropertyView::arrayCount */ int64_t arrayCount() const noexcept { return _count; } /** - * @copydoc PropertyView::normalized + * @copydoc PropertyView::normalized */ bool normalized() const noexcept { return true; } /** - * @copydoc PropertyView::offset + * @copydoc PropertyView::offset */ std::optional> offset() const noexcept { if (!_offset) { @@ -1876,7 +1876,7 @@ class PropertyView, true> { } /** - * @copydoc PropertyView::scale + * @copydoc PropertyView::scale */ std::optional> scale() const noexcept { if (!_scale) { @@ -1888,7 +1888,7 @@ class PropertyView, true> { } /** - * @copydoc PropertyView::max + * @copydoc PropertyView::max */ std::optional> max() const noexcept { if (!_max) { @@ -1900,7 +1900,7 @@ class PropertyView, true> { } /** - * @copydoc PropertyView::min + * @copydoc PropertyView::min */ std::optional> min() const noexcept { if (!_min) { @@ -1912,12 +1912,12 @@ class PropertyView, true> { } /** - * @copydoc PropertyView::required + * @copydoc PropertyView::required */ bool required() const noexcept { return _required; } /** - * @copydoc PropertyView::noData + * @copydoc PropertyView::noData */ std::optional> noData() const noexcept { if (!_noData) { @@ -1929,7 +1929,7 @@ class PropertyView, true> { } /** - * @copydoc PropertyView::defaultValue + * @copydoc PropertyView::defaultValue */ std::optional> defaultValue() const noexcept { @@ -2140,81 +2140,81 @@ template <> class PropertyView> { public: /** - * @copydoc PropertyView::status + * @copydoc PropertyView::status */ PropertyViewStatusType status() const noexcept { return _status; } /** - * @copydoc PropertyView::name + * @copydoc PropertyView::name */ const std::optional& name() const noexcept { return _name; } /** - * @copydoc PropertyView::semantic + * @copydoc PropertyView::semantic */ const std::optional& semantic() const noexcept { return _semantic; } /** - * @copydoc PropertyView::description + * @copydoc PropertyView::description */ const std::optional& description() const noexcept { return _description; } /** - * @copydoc PropertyView::arrayCount + * @copydoc PropertyView::arrayCount */ int64_t arrayCount() const noexcept { return _count; } /** - * @copydoc PropertyView::normalized + * @copydoc PropertyView::normalized */ bool normalized() const noexcept { return false; } /** - * @copydoc PropertyView::offset + * @copydoc PropertyView::offset */ std::optional> offset() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::scale + * @copydoc PropertyView::scale */ std::optional> scale() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::max + * @copydoc PropertyView::max */ std::optional> max() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::min + * @copydoc PropertyView::min */ std::optional> min() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::required + * @copydoc PropertyView::required */ bool required() const noexcept { return _required; } /** - * @copydoc PropertyView::noData + * @copydoc PropertyView::noData */ std::optional> noData() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::defaultValue + * @copydoc PropertyView::defaultValue */ std::optional> defaultValue() const noexcept { if (_size > 0) { @@ -2371,74 +2371,74 @@ template <> class PropertyView> { public: /** - * @copydoc PropertyView::status + * @copydoc PropertyView::status */ PropertyViewStatusType status() const noexcept { return _status; } /** - * @copydoc PropertyView::name + * @copydoc PropertyView::name */ const std::optional& name() const noexcept { return _name; } /** - * @copydoc PropertyView::semantic + * @copydoc PropertyView::semantic */ const std::optional& semantic() const noexcept { return _semantic; } /** - * @copydoc PropertyView::description + * @copydoc PropertyView::description */ const std::optional& description() const noexcept { return _description; } /** - * @copydoc PropertyView::arrayCount + * @copydoc PropertyView::arrayCount */ int64_t arrayCount() const noexcept { return _count; } /** - * @copydoc PropertyView::normalized + * @copydoc PropertyView::normalized */ bool normalized() const noexcept { return false; } /** - * @copydoc PropertyView::offset + * @copydoc PropertyView::offset */ std::optional> offset() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::scale + * @copydoc PropertyView::scale */ std::optional> scale() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::max + * @copydoc PropertyView::max */ std::optional> max() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::min + * @copydoc PropertyView::min */ std::optional> min() const noexcept { return std::nullopt; } /** - * @copydoc PropertyView::required + * @copydoc PropertyView::required */ bool required() const noexcept { return _required; } /** - * @copydoc PropertyView::noData + * @copydoc PropertyView::noData */ std::optional> noData() const noexcept { if (_noData.size > 0) { @@ -2455,7 +2455,7 @@ template <> class PropertyView> { } /** - * @copydoc PropertyView::defaultValue + * @copydoc PropertyView::defaultValue */ std::optional> defaultValue() const noexcept { diff --git a/CesiumGltf/include/CesiumGltf/TextureView.h b/CesiumGltf/include/CesiumGltf/TextureView.h index ef681dd74..6bbf6f8e6 100644 --- a/CesiumGltf/include/CesiumGltf/TextureView.h +++ b/CesiumGltf/include/CesiumGltf/TextureView.h @@ -92,6 +92,9 @@ enum class TextureViewStatus { ErrorInvalidBytesPerChannel, }; +/** + * @brief A view into the texture data of a single texture from a \ref Model. + */ class TextureView { public: /** diff --git a/CesiumGltfContent/include/CesiumGltfContent/ImageManipulation.h b/CesiumGltfContent/include/CesiumGltfContent/ImageManipulation.h index 2f350629b..57c2a0b72 100644 --- a/CesiumGltfContent/include/CesiumGltfContent/ImageManipulation.h +++ b/CesiumGltfContent/include/CesiumGltfContent/ImageManipulation.h @@ -37,6 +37,9 @@ struct PixelRectangle { int32_t height; }; +/** + * @brief A collection of utility functions for image manipulation operations. + */ class CESIUMGLTFCONTENT_API ImageManipulation { public: /** diff --git a/CesiumGltfContent/include/CesiumGltfContent/SkirtMeshMetadata.h b/CesiumGltfContent/include/CesiumGltfContent/SkirtMeshMetadata.h index e0dfd5aba..594be7ddf 100644 --- a/CesiumGltfContent/include/CesiumGltfContent/SkirtMeshMetadata.h +++ b/CesiumGltfContent/include/CesiumGltfContent/SkirtMeshMetadata.h @@ -5,7 +5,25 @@ #include namespace CesiumGltfContent { + +/** + * @brief Metadata obtained from a glTF that describes the skirts present on the + * mesh. + * + * @remarks Skirts are a technique for hiding cracks between adjacent tiles + * where the geometry at the edges of tiles is extended downwards, like the + * edges of a tablecloth hanging off of a table. These skirts are included in + * the glTF when they're generated, in the case of 3D Tiles, or they are + * generated by Cesium Native when terrain is loaded, in the case of Quantized + * Mesh terrain. `SkirtMeshMetadata` is attached to the glTF to allow Cesium + * Native to know which parts of the mesh are original and which contain the + * generated skirts, for operations such as creating texture coordinates for + * raster overlays. + */ struct SkirtMeshMetadata { + /** + * @brief Creates a new `SkirtMeshMetadata` with zeroes in all fields. + */ SkirtMeshMetadata() noexcept : noSkirtIndicesBegin{0}, noSkirtIndicesCount{0}, @@ -17,20 +35,78 @@ struct SkirtMeshMetadata { skirtEastHeight{0.0}, skirtNorthHeight{0.0} {} + /** + * @brief Parses `SkirtMeshMetadata` from the `extras` field of a glTF mesh, + * if present. + * + * @param extras The extras field of the glTF mesh. + * @returns An optional containing the `SkirtMeshMetadata` if it was present + * on the mesh. + */ static std::optional parseFromGltfExtras(const CesiumUtility::JsonValue::Object& extras); + /** + * @brief Creates a glTF mesh extras value from the provided + * `SkirtMeshMetadata`. + * + * This might be used when generating a glTF at runtime, in order to provide + * information on the mesh's skirts to the rest of Cesium Native. + * + * @param skirt The skirt to create the glTF extras object from. + * @returns An object representing the value of a glTF extras field containing + * the skirt metadata. + */ static CesiumUtility::JsonValue::Object createGltfExtras(const SkirtMeshMetadata& skirt); + /** + * @brief The start index of the range of a glTF mesh's indices buffer that + * should \b NOT be considered part of the skirt. + */ uint32_t noSkirtIndicesBegin; + /** + * @brief The length of the range of a glTF mesh's indices buffer that should + * \b NOT be considered part of the skirt. + * + * Any indices outside of the range `(noSkirtIndicesBegin, + * noSkirtIndicesBegin + noSkirtIndicesCount)` will be considered part of the + * skirt. + */ uint32_t noSkirtIndicesCount; + /** + * @brief The start index of the range of a glTF mesh's vertices buffer that + * should \b NOT be considered part of the skirt. + */ uint32_t noSkirtVerticesBegin; + /** + * @brief The length of the range of a glTF mesh's vertices buffer that should + * \b NOT be considered part of the skirt. + * + * Any vertices outside of the range `(noSkirtVerticesBegin, + * noSkirtVerticesBegin + noSkirtVerticesCount)` will be considered part of + * the skirt. + */ uint32_t noSkirtVerticesCount; + /** + * @brief The center coordinates of the mesh, in \ref glossary-ecef. + */ glm::dvec3 meshCenter; + /** + * @brief The height of the skirt on the western edge of the mesh. + */ double skirtWestHeight; + /** + * @brief The height of the skirt on the southern edge of the mesh. + */ double skirtSouthHeight; + /** + * @brief The height of the skirt on the eastern edge of the mesh. + */ double skirtEastHeight; + /** + * @brief The height of the skirt on the northern edge of the mesh. + */ double skirtNorthHeight; }; } // namespace CesiumGltfContent diff --git a/CesiumIonClient/include/CesiumIonClient/Assets.h b/CesiumIonClient/include/CesiumIonClient/Assets.h index dc736fa4c..4fcd3737f 100644 --- a/CesiumIonClient/include/CesiumIonClient/Assets.h +++ b/CesiumIonClient/include/CesiumIonClient/Assets.h @@ -70,6 +70,10 @@ struct Asset { int8_t percentComplete = 0; }; +/** + * @brief A page of assets obtained from the Cesium ion `v1/assets` endpoint, + * including a link to obtain the next page, if one exists. + */ struct Assets { /** * @brief An [RFC 5988](https://tools.ietf.org/html/rfc5988) formatted string diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h b/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h index 2d70c724a..65ceccdec 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h @@ -12,12 +12,18 @@ #include namespace CesiumJsonWriter { +/** + * @brief Wrapper around `rapidjson::Writer` for writing objects to JSON. + */ class JsonWriter { public: JsonWriter(); virtual ~JsonWriter() {} - // rapidjson methods + /** + * @name RapidJSON methods + */ + /**@{*/ virtual bool Null(); virtual bool Bool(bool b); virtual bool Int(int i); @@ -32,8 +38,12 @@ class JsonWriter { virtual bool EndObject(); virtual bool StartArray(); virtual bool EndArray(); + /**@}*/ - // Primitive overloads + /** + * @name Primitive overloads + */ + /**@{*/ virtual void Primitive(std::int32_t value); virtual void Primitive(std::uint32_t value); virtual void Primitive(std::int64_t value); @@ -42,29 +52,48 @@ class JsonWriter { virtual void Primitive(double value); virtual void Primitive(std::nullptr_t value); virtual void Primitive(std::string_view string); + /**@}*/ - // Integral + /** + * @name Integral + */ + /**@{*/ virtual void KeyPrimitive(std::string_view keyName, std::int32_t value); virtual void KeyPrimitive(std::string_view keyName, std::uint32_t value); virtual void KeyPrimitive(std::string_view keyName, std::int64_t value); virtual void KeyPrimitive(std::string_view keyName, std::uint64_t value); + /**@}*/ - // String + /** + * @brief String + */ virtual void KeyPrimitive(std::string_view keyName, std::string_view value); - // Floating Point + /** + * @brief Floating point + */ + /**@{*/ virtual void KeyPrimitive(std::string_view keyName, float value); virtual void KeyPrimitive(std::string_view keyName, double value); + /**@}*/ - // Null + /** + * @brief Null + */ + /**@{*/ virtual void KeyPrimitive(std::string_view keyName, std::nullptr_t value); + /**@}*/ - // Array / Objects + /** + * @name Array / Objects + */ + /**@{*/ virtual void KeyArray(std::string_view keyName, std::function insideArray); virtual void KeyObject(std::string_view keyName, std::function insideObject); + /**@}*/ virtual std::string toString(); virtual std::string_view toStringView(); diff --git a/CesiumQuantizedMeshTerrain/include/CesiumQuantizedMeshTerrain/QuantizedMeshLoader.h b/CesiumQuantizedMeshTerrain/include/CesiumQuantizedMeshTerrain/QuantizedMeshLoader.h index 73cf9c14b..823234ccc 100644 --- a/CesiumQuantizedMeshTerrain/include/CesiumQuantizedMeshTerrain/QuantizedMeshLoader.h +++ b/CesiumQuantizedMeshTerrain/include/CesiumQuantizedMeshTerrain/QuantizedMeshLoader.h @@ -23,6 +23,12 @@ class IAssetRequest; namespace CesiumQuantizedMeshTerrain { +/** + * @brief The results of a \ref QuantizedMeshLoader::load operation, containing + * either the loaded model, an improved bounding region for the tile, and + * available quadtree tiles discovered, if the load succeeded - or the request + * made and the errors that were returned, if the load failed. + */ struct QuantizedMeshLoadResult { /** * @brief The glTF model to be rendered for this tile. @@ -55,11 +61,25 @@ struct QuantizedMeshLoadResult { */ std::shared_ptr pRequest; + /** + * @brief The errors and warnings reported while loading this tile. + */ CesiumUtility::ErrorList errors; }; +/** + * @brief The metadata of a Quantized Mesh tile, returned by \ref + * QuantizedMeshLoader::loadMetadata. + */ struct QuantizedMeshMetadataResult { + /** + * @brief Information about the availability of child tiles. + */ std::vector availability; + + /** + * @brief The errors and warnings reported while loading this tile, if any. + */ CesiumUtility::ErrorList errors; }; diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/IPrepareRasterOverlayRendererResources.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/IPrepareRasterOverlayRendererResources.h index 923af887e..43fb643e2 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/IPrepareRasterOverlayRendererResources.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/IPrepareRasterOverlayRendererResources.h @@ -14,6 +14,13 @@ class RasterOverlayTile; namespace CesiumRasterOverlays { +/** + * @brief An interface between Cesium Native and the application using it, + * allowing Cesium Native to pass loaded raster overlay data to the implementing + * application in order for the application to prepare it to be used in its + * renderer of choice. This could involve creating a texture asset, uploading + * the texture data to the GPU, or any other similar tasks required. + */ class CESIUMRASTEROVERLAYS_API IPrepareRasterOverlayRendererResources { public: /** diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/QuadtreeRasterOverlayTileProvider.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/QuadtreeRasterOverlayTileProvider.h index 4f3ea98f1..4551b4217 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/QuadtreeRasterOverlayTileProvider.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/QuadtreeRasterOverlayTileProvider.h @@ -19,6 +19,16 @@ namespace CesiumRasterOverlays { +/** + * @brief A base class used for raster overlay providers that use a + * quadtree-based tiling scheme. This includes \ref TileMapServiceRasterOverlay, + * \ref BingMapsRasterOverlay, and \ref WebMapServiceRasterOverlay. + * + * To implement a new raster overlay provider based on + * QuadtreeRasterOverlayTileProvider, use this as the base class and override + * \ref QuadtreeRasterOverlayTileProvider::loadQuadtreeTileImage + * "loadQuadtreeTileImage" with code that makes requests to your service. + */ class CESIUMRASTEROVERLAYS_API QuadtreeRasterOverlayTileProvider : public RasterOverlayTileProvider { diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h index 5ea7af042..615f813d1 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h @@ -33,6 +33,9 @@ enum class RasterOverlayLoadType { TileProvider }; +/** + * @brief Details on a failure while attempting to load a raster overlay tile. + */ class RasterOverlayLoadFailureDetails { public: /** diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h index 00db1bc26..11b8bac43 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h @@ -19,6 +19,10 @@ struct Model; namespace CesiumRasterOverlays { +/** + * @brief A collection of utilities useful for operations involving raster + * overlay tiles. + */ struct CESIUMRASTEROVERLAYS_API RasterOverlayUtilities { static constexpr std::string_view DEFAULT_TEXTURE_COORDINATE_BASE_NAME = "_CESIUMOVERLAY_"; diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterizedPolygonsOverlay.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterizedPolygonsOverlay.h index ad467bde3..e355a26fb 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterizedPolygonsOverlay.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterizedPolygonsOverlay.h @@ -17,10 +17,30 @@ namespace CesiumRasterOverlays { +/** + * @brief A raster overlay made from rasterizing a set of \ref + * CesiumGeospatial::CartographicPolygon "CartographicPolygon" objects. The + * resulting overlay is monochromatic - white where pixels are inside of the + * polygons, and black where they are not. + */ class CESIUMRASTEROVERLAYS_API RasterizedPolygonsOverlay final : public RasterOverlay { public: + /** + * @brief Creates a new RasterizedPolygonsOverlay. + * + * @param name The user-given name of this polygon layer. + * @param polygons The \ref CesiumGeospatial::CartographicPolygon + * "CartographicPolygon" objects to rasterize. + * @param invertSelection If true, the overlay's colors will be inverted. The + * pixels inside of polygons will be black, and those outside will be white. + * @param ellipsoid The ellipsoid that this RasterOverlay is being generated + * for. + * @param projection The projection that this RasterOverlay is being generated + * for. + * @param overlayOptions Options to use for this RasterOverlay. + */ RasterizedPolygonsOverlay( const std::string& name, const std::vector& polygons, @@ -40,13 +60,23 @@ class CESIUMRASTEROVERLAYS_API RasterizedPolygonsOverlay final CesiumUtility::IntrusivePointer pOwner) const override; + /** + * @brief Gets the polygons that are being rasterized to create this overlay. + */ const std::vector& getPolygons() const noexcept { return this->_polygons; } + /** + * @brief Gets the value of the `invertSelection` value passed to the + * constructor. + */ bool getInvertSelection() const noexcept { return this->_invertSelection; } + /** + * @brief Gets the ellipsoid that this overlay is being generated for. + */ const CesiumGeospatial::Ellipsoid& getEllipsoid() const noexcept { return this->_ellipsoid; } diff --git a/CesiumUtility/include/CesiumUtility/JsonHelpers.h b/CesiumUtility/include/CesiumUtility/JsonHelpers.h index 508d62b6e..f5ea4526e 100644 --- a/CesiumUtility/include/CesiumUtility/JsonHelpers.h +++ b/CesiumUtility/include/CesiumUtility/JsonHelpers.h @@ -9,10 +9,28 @@ namespace CesiumUtility { +/** + * @brief A collection of helper functions to make reading JSON simpler. + */ class JsonHelpers final { public: + /** + * @brief Attempts to read the value at `key` of `tileJson` as a `double`, + * returning std::nullopt if it wasn't found or couldn't be read as a double. + * + * @param tileJson The JSON object to obtain the scalar property from. + * @param key The key of the scalar property to obtain. + */ static std::optional getScalarProperty(const rapidjson::Value& tileJson, const std::string& key); + /** + * @brief Attempts to read the value at `key` of `tileJson` as a + * `glm::dmat4x4`, returning std::nullopt if it wasn't found or couldn't be + * read as a glm::dmat4x4. + * + * @param tileJson The JSON object to obtain the transform property from. + * @param key The key of the transform property. + */ static std::optional getTransformProperty( const rapidjson::Value& tileJson, const std::string& key); @@ -36,57 +54,191 @@ class JsonHelpers final { int32_t expectedSize, const std::string& key); + /** + * @brief Attempts to obtain a string from the given key on the JSON object, + * returning a default value if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the string. + * @param defaultValue The default value to return if the string property + * `key` of `json` couldn't be read. + */ static std::string getStringOrDefault( const rapidjson::Value& json, const std::string& key, const std::string& defaultValue); + /** + * @brief Attempts to read `json` as a string, returning a default value if + * this isn't possible. + * + * @param json The JSON value that might be a string. + * @param defaultValue The default value to return if `json` couldn't be read + * as a string. + */ static std::string getStringOrDefault( const rapidjson::Value& json, const std::string& defaultValue); + /** + * @brief Attempts to obtain a double from the given key on the JSON object, + * returning a default value if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the double. + * @param defaultValue The default value to return if the double property + * `key` of `json` couldn't be read. + */ static double getDoubleOrDefault( const rapidjson::Value& json, const std::string& key, double defaultValue); + /** + * @brief Attempts to read `json` as a double, returning a default value if + * this isn't possible. + * + * @param json The JSON value that might be a double. + * @param defaultValue The default value to return if `json` couldn't be read + * as a double. + */ static double getDoubleOrDefault(const rapidjson::Value& json, double defaultValue); + /** + * @brief Attempts to obtain a uint32_t from the given key on the JSON object, + * returning a default value if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the uint32_t. + * @param defaultValue The default value to return if the uint32_t property + * `key` of `json` couldn't be read. + */ static uint32_t getUint32OrDefault( const rapidjson::Value& json, const std::string& key, uint32_t defaultValue); + /** + * @brief Attempts to read `json` as a uint32_t, returning a default value if + * this isn't possible. + * + * @param json The JSON value that might be a uint32_t. + * @param defaultValue The default value to return if `json` couldn't be read + * as a uint32_t. + */ static uint32_t getUint32OrDefault(const rapidjson::Value& json, uint32_t defaultValue); + /** + * @brief Attempts to obtain a int32_t from the given key on the JSON object, + * returning a default value if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the int32_t. + * @param defaultValue The default value to return if the int32_t property + * `key` of `json` couldn't be read. + */ static int32_t getInt32OrDefault( const rapidjson::Value& json, const std::string& key, int32_t defaultValue); + /** + * @brief Attempts to read `json` as a int32_t, returning a default value if + * this isn't possible. + * + * @param json The JSON value that might be a int32_t. + * @param defaultValue The default value to return if `json` couldn't be read + * as a int32_t. + */ static int32_t getInt32OrDefault(const rapidjson::Value& json, int32_t defaultValue); + /** + * @brief Attempts to obtain a uint64_t from the given key on the JSON object, + * returning a default value if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the uint64_t. + * @param defaultValue The default value to return if the uint64_t property + * `key` of `json` couldn't be read. + */ static uint64_t getUint64OrDefault( const rapidjson::Value& json, const std::string& key, uint64_t defaultValue); + /** + * @brief Attempts to read `json` as a uint64_t, returning a default value if + * this isn't possible. + * + * @param json The JSON value that might be a uint64_t. + * @param defaultValue The default value to return if `json` couldn't be read + * as a uint64_t. + */ static uint64_t getUint64OrDefault(const rapidjson::Value& json, uint64_t defaultValue); + /** + * @brief Attempts to obtain a int64_t from the given key on the JSON object, + * returning a default value if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the int64_t. + * @param defaultValue The default value to return if the int64_t property + * `key` of `json` couldn't be read. + */ static int64_t getInt64OrDefault( const rapidjson::Value& json, const std::string& key, int64_t defaultValue); + /** + * @brief Attempts to read `json` as a int64_t, returning a default value if + * this isn't possible. + * + * @param json The JSON value that might be a int64_t. + * @param defaultValue The default value to return if `json` couldn't be read + * as a int64_t. + */ static int64_t getInt64OrDefault(const rapidjson::Value& json, int64_t defaultValue); + /** + * @brief Attempts to obtain a bool from the given key on the JSON object, + * returning a default value if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the bool. + * @param defaultValue The default value to return if the bool property + * `key` of `json` couldn't be read. + */ static bool getBoolOrDefault( const rapidjson::Value& json, const std::string& key, bool defaultValue); + /** + * @brief Attempts to read `json` as a bool, returning a default value if + * this isn't possible. + * + * @param json The JSON value that might be a bool. + * @param defaultValue The default value to return if `json` couldn't be read + * as a bool. + */ static bool getBoolOrDefault(const rapidjson::Value& json, bool defaultValue); + /** + * @brief Attempts to read an array of strings from the property `key` of + * `json`, returning an empty vector if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the string array. + */ static std::vector getStrings(const rapidjson::Value& json, const std::string& key); + + /** + * @brief Attempts to read an int64_t array from the property `key` of + * `json`, returning an empty vector if this isn't possible. + * + * @param json The JSON object. + * @param key The key (property name) of the int64_t array. + */ static std::vector getInt64s(const rapidjson::Value& json, const std::string& key); }; diff --git a/CesiumUtility/include/CesiumUtility/ReferenceCounted.h b/CesiumUtility/include/CesiumUtility/ReferenceCounted.h index 6e4861ed4..b25bb4260 100644 --- a/CesiumUtility/include/CesiumUtility/ReferenceCounted.h +++ b/CesiumUtility/include/CesiumUtility/ReferenceCounted.h @@ -11,6 +11,7 @@ namespace CesiumUtility { +/** \cond Doxygen_Suppress */ #ifndef NDEBUG template class ThreadIdHolder; @@ -24,6 +25,7 @@ template <> class ThreadIdHolder { template <> class ThreadIdHolder {}; #endif +/** \endcond */ /** * @brief A reference-counted base class, meant to be used with diff --git a/CesiumUtility/include/CesiumUtility/Uri.h b/CesiumUtility/include/CesiumUtility/Uri.h index 1552b594f..c50bbb790 100644 --- a/CesiumUtility/include/CesiumUtility/Uri.h +++ b/CesiumUtility/include/CesiumUtility/Uri.h @@ -4,22 +4,86 @@ #include namespace CesiumUtility { +/** + * @brief A class for building and manipulating Uniform Resource Identifiers + * (URIs). + */ class Uri final { public: + /** + * @brief Attempts to resolve a relative URI using a base URI. + * + * For example, a relative URI `/v1/example` together with the base URI + * `https://api.cesium.com` would resolve to + * `https://api.cesium.com/v1/example`. + * + * @param base The base URI that the relative URI is relative to. + * @param relative The relative URI to be resolved against the base URI. + * @param useBaseQuery If true, any query parameters of the base URI will be + * retained in the resolved URI. + * @param assumeHttpsDefault If true, protocol-relative URIs (such as + * `//api.cesium.com`) will be assumed to be `https`. If false, they will be + * assumed to be `http`. + * @returns The resolved URI. + */ static std::string resolve( const std::string& base, const std::string& relative, bool useBaseQuery = false, bool assumeHttpsDefault = true); + /** + * @brief Adds the given key and value to the query string of a URI. For + * example, `addQuery("https://api.cesium.com/v1/example", "key", "value")` + * would produce the URL `https://api.cesium.com/v1/example?key=value`. + * + * @param uri The URI whose query string will be modified. + * @param key The key to be added to the query string. + * @param value The value to be added to the query string. + * @returns The modified URI including the new query string parameter. + */ static std::string addQuery( const std::string& uri, const std::string& key, const std::string& value); + /** + * @brief Obtains the value of the given key from the query string of the URI, + * if possible. + * + * If the URI can't be parsed, or the key doesn't exist in the + * query string, an empty string will be returned. + * + * @param uri The URI with a query string to obtain a value from. + * @param key The key whose value will be obtained from the URI, if possible. + * @returns The value of the given key in the query string, or an empty string + * if not found. + */ static std::string getQueryValue(const std::string& uri, const std::string& key); + /** + * @brief A callback to fill-in a placeholder value in a URL. + * + * @param placeholder The text of the placeholder. For example, if the + * placeholder was `{example}`, the value of `placeholder` will be `example`. + * @returns The value to use in place of the placeholder. + */ typedef std::string SubstitutionCallbackSignature(const std::string& placeholder); + + /** + * @brief Substitutes the placeholders in a templated URI with their + * appropriate values obtained using a specified callback function. + * + * A templated URI has placeholders in the form of `{name}`. For example, + * `https://example.com/{x}/{y}/{z}` has three placeholders, `x`, `y`, and `z`. + * The callback will be called for each placeholder and they will be replaced + * with the return value of this callback. + * + * @param templateUri The templated URI whose placeholders will be substituted + * by this method. + * @param substitutionCallback The callback that will be called for each + * placeholder in the provided URI. See \ref SubstitutionCallbackSignature. + */ static std::string substituteTemplateParameters( const std::string& templateUri, const std::function& substitutionCallback); diff --git a/doc/topics/glossary.md b/doc/topics/glossary.md new file mode 100644 index 000000000..fc24bbf2c --- /dev/null +++ b/doc/topics/glossary.md @@ -0,0 +1,9 @@ +# Glossary {#glossary} + +Terminology and jargon used throughout Cesium Native and its documentation is collected here for clarity's sake. + +## Earth-Centered, Earth-Fixed Coordinates (ECEF) {#glossary-ecef} + +\link https://en.wikipedia.org/wiki/Earth-centered,_Earth-fixed_coordinate_system Earth-Centered, Earth-Fixed (ECEF)\endlink coordinates are, as the name describes, in a 3D Cartesian coordinate system fixed to the Earth with the center at the center of the Earth's ellipsoid. As the Earth spins, the coordinate system spins with it, meaning an ECEF coordinate and its equivalent coordinate in a cartographic coordinate system (like Longitude, Latitude, Height) will remain the same. + +For example, Philadelphia, Pennsylvania is located at -75.1652215° longitude, 39.952839° latitude, at a height of 14.34m. The equivalent ECEF coordinates are (1253556.69, -4732887.41, 4073982.02). \ No newline at end of file From 8d3e44531dc9315418823e701e4dddd48cd1c136 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Tue, 10 Dec 2024 15:55:35 -0500 Subject: [PATCH 03/12] Fix generated reader doc comment --- .../include/Cesium3DTilesReader/AssetReader.h | 2 +- .../Cesium3DTilesReader/AvailabilityReader.h | 3 +- .../BoundingVolumeReader.h | 3 +- .../Cesium3DTilesReader/BufferReader.h | 2 +- .../Cesium3DTilesReader/BufferViewReader.h | 2 +- .../Cesium3DTilesReader/ClassPropertyReader.h | 3 +- .../include/Cesium3DTilesReader/ClassReader.h | 2 +- .../ClassStatisticsReader.h | 3 +- .../Cesium3DTilesReader/ContentReader.h | 2 +- .../include/Cesium3DTilesReader/EnumReader.h | 2 +- .../Cesium3DTilesReader/EnumValueReader.h | 2 +- .../Extension3dTilesBoundingVolumeS2Reader.h | 3 +- .../Cesium3DTilesReader/GroupMetadataReader.h | 3 +- .../ImplicitTilingReader.h | 3 +- .../MetadataEntityReader.h | 3 +- .../Cesium3DTilesReader/PropertiesReader.h | 2 +- .../PropertyStatisticsReader.h | 3 +- .../PropertyTablePropertyReader.h | 3 +- .../Cesium3DTilesReader/PropertyTableReader.h | 3 +- .../Cesium3DTilesReader/SchemaReader.h | 2 +- .../Cesium3DTilesReader/StatisticsReader.h | 2 +- .../Cesium3DTilesReader/SubtreeReader.h | 2 +- .../Cesium3DTilesReader/SubtreesReader.h | 2 +- .../include/Cesium3DTilesReader/TileReader.h | 2 +- .../Cesium3DTilesReader/TilesetReader.h | 2 +- .../include/CesiumGltfReader/AccessorReader.h | 2 +- .../AccessorSparseIndicesReader.h | 3 +- .../CesiumGltfReader/AccessorSparseReader.h | 3 +- .../AccessorSparseValuesReader.h | 3 +- .../CesiumGltfReader/AnimationChannelReader.h | 3 +- .../AnimationChannelTargetReader.h | 3 +- .../CesiumGltfReader/AnimationReader.h | 2 +- .../CesiumGltfReader/AnimationSamplerReader.h | 3 +- .../include/CesiumGltfReader/AssetReader.h | 2 +- .../include/CesiumGltfReader/BufferReader.h | 2 +- .../CesiumGltfReader/BufferViewReader.h | 2 +- .../CameraOrthographicReader.h | 3 +- .../CameraPerspectiveReader.h | 3 +- .../include/CesiumGltfReader/CameraReader.h | 2 +- .../CesiumGltfReader/ClassPropertyReader.h | 3 +- .../include/CesiumGltfReader/ClassReader.h | 2 +- .../include/CesiumGltfReader/EnumReader.h | 2 +- .../CesiumGltfReader/EnumValueReader.h | 2 +- ...tensionBufferExtMeshoptCompressionReader.h | 3 +- ...ionBufferViewExtMeshoptCompressionReader.h | 3 +- .../ExtensionCesiumPrimitiveOutlineReader.h | 3 +- .../ExtensionCesiumRTCReader.h | 3 +- .../ExtensionCesiumTileEdgesReader.h | 3 +- ...ensionExtInstanceFeaturesFeatureIdReader.h | 3 +- .../ExtensionExtInstanceFeaturesReader.h | 3 +- .../ExtensionExtMeshFeaturesReader.h | 3 +- .../ExtensionExtMeshGpuInstancingReader.h | 3 +- .../ExtensionKhrDracoMeshCompressionReader.h | 3 +- .../ExtensionKhrMaterialsUnlitReader.h | 3 +- .../ExtensionKhrTextureBasisuReader.h | 3 +- .../ExtensionKhrTextureTransformReader.h | 3 +- ...MeshPrimitiveExtStructuralMetadataReader.h | 3 +- ...eKhrMaterialsVariantsMappingsValueReader.h | 5 +- ...nMeshPrimitiveKhrMaterialsVariantsReader.h | 3 +- ...ExtensionModelKhrMaterialsVariantsReader.h | 3 +- ...sionModelKhrMaterialsVariantsValueReader.h | 3 +- .../ExtensionModelMaxarMeshVariantsReader.h | 3 +- ...tensionModelMaxarMeshVariantsValueReader.h | 3 +- ...NodeMaxarMeshVariantsMappingsValueReader.h | 3 +- .../ExtensionNodeMaxarMeshVariantsReader.h | 3 +- .../ExtensionTextureWebpReader.h | 3 +- .../CesiumGltfReader/FeatureIdReader.h | 2 +- .../CesiumGltfReader/FeatureIdTextureReader.h | 3 +- .../include/CesiumGltfReader/ImageReader.h | 2 +- .../MaterialNormalTextureInfoReader.h | 3 +- .../MaterialOcclusionTextureInfoReader.h | 3 +- .../MaterialPBRMetallicRoughnessReader.h | 3 +- .../include/CesiumGltfReader/MaterialReader.h | 2 +- .../CesiumGltfReader/MeshPrimitiveReader.h | 3 +- .../include/CesiumGltfReader/MeshReader.h | 2 +- .../include/CesiumGltfReader/ModelReader.h | 2 +- .../include/CesiumGltfReader/NodeReader.h | 2 +- .../PropertyAttributePropertyReader.h | 3 +- .../PropertyAttributeReader.h | 3 +- .../PropertyTablePropertyReader.h | 3 +- .../CesiumGltfReader/PropertyTableReader.h | 3 +- .../PropertyTexturePropertyReader.h | 3 +- .../CesiumGltfReader/PropertyTextureReader.h | 3 +- .../include/CesiumGltfReader/SamplerReader.h | 2 +- .../include/CesiumGltfReader/SceneReader.h | 2 +- .../include/CesiumGltfReader/SchemaReader.h | 2 +- .../include/CesiumGltfReader/SkinReader.h | 2 +- .../CesiumGltfReader/TextureInfoReader.h | 2 +- .../include/CesiumGltfReader/TextureReader.h | 2 +- .../generated/src/GeneratedJsonHandlers.cpp | 73 ++++++++++--------- .../src/registerReaderExtensions.cpp | 4 +- .../generated/src/ModelJsonWriter.cpp | 10 +-- .../generated/src/ModelJsonWriter.h | 8 +- .../src/registerWriterExtensions.cpp | 4 +- .../AvailabilityRectangleReader.h | 3 +- .../CesiumQuantizedMeshTerrain/LayerReader.h | 3 +- tools/generate-classes/generate.js | 2 +- 97 files changed, 202 insertions(+), 139 deletions(-) diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AssetReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AssetReader.h index ff222c0ce..dd6f0a74e 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AssetReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AssetReader.h @@ -19,7 +19,7 @@ struct Asset; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Asset} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Asset "Asset" instances from JSON. */ class CESIUM3DTILESREADER_API AssetReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AvailabilityReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AvailabilityReader.h index b677e9ad8..ec668c8ed 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AvailabilityReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AvailabilityReader.h @@ -19,7 +19,8 @@ struct Availability; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Availability} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Availability "Availability" instances from + * JSON. */ class CESIUM3DTILESREADER_API AvailabilityReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BoundingVolumeReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BoundingVolumeReader.h index 072e0a643..c3c90ceca 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BoundingVolumeReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BoundingVolumeReader.h @@ -19,7 +19,8 @@ struct BoundingVolume; namespace Cesium3DTilesReader { /** - * @brief Reads {@link BoundingVolume} instances from JSON. + * @brief Reads \ref Cesium3DTiles::BoundingVolume "BoundingVolume" instances + * from JSON. */ class CESIUM3DTILESREADER_API BoundingVolumeReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferReader.h index 062c53c36..3260b955f 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferReader.h @@ -19,7 +19,7 @@ struct Buffer; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Buffer} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Buffer "Buffer" instances from JSON. */ class CESIUM3DTILESREADER_API BufferReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferViewReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferViewReader.h index a714de284..163553f3a 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferViewReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferViewReader.h @@ -19,7 +19,7 @@ struct BufferView; namespace Cesium3DTilesReader { /** - * @brief Reads {@link BufferView} instances from JSON. + * @brief Reads \ref Cesium3DTiles::BufferView "BufferView" instances from JSON. */ class CESIUM3DTILESREADER_API BufferViewReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassPropertyReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassPropertyReader.h index 8e982089c..30acf302f 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassPropertyReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassPropertyReader.h @@ -19,7 +19,8 @@ struct ClassProperty; namespace Cesium3DTilesReader { /** - * @brief Reads {@link ClassProperty} instances from JSON. + * @brief Reads \ref Cesium3DTiles::ClassProperty "ClassProperty" instances from + * JSON. */ class CESIUM3DTILESREADER_API ClassPropertyReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassReader.h index 475eda575..8817d59cb 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassReader.h @@ -19,7 +19,7 @@ struct Class; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Class} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Class "Class" instances from JSON. */ class CESIUM3DTILESREADER_API ClassReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassStatisticsReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassStatisticsReader.h index 2128f291a..53badd0c3 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassStatisticsReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassStatisticsReader.h @@ -19,7 +19,8 @@ struct ClassStatistics; namespace Cesium3DTilesReader { /** - * @brief Reads {@link ClassStatistics} instances from JSON. + * @brief Reads \ref Cesium3DTiles::ClassStatistics "ClassStatistics" instances + * from JSON. */ class CESIUM3DTILESREADER_API ClassStatisticsReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ContentReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ContentReader.h index eeb37640a..0f6a889d6 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ContentReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ContentReader.h @@ -19,7 +19,7 @@ struct Content; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Content} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Content "Content" instances from JSON. */ class CESIUM3DTILESREADER_API ContentReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumReader.h index 72007b427..1f0fced52 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumReader.h @@ -19,7 +19,7 @@ struct Enum; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Enum} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Enum "Enum" instances from JSON. */ class CESIUM3DTILESREADER_API EnumReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumValueReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumValueReader.h index 28324aa34..a6501ff63 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumValueReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumValueReader.h @@ -19,7 +19,7 @@ struct EnumValue; namespace Cesium3DTilesReader { /** - * @brief Reads {@link EnumValue} instances from JSON. + * @brief Reads \ref Cesium3DTiles::EnumValue "EnumValue" instances from JSON. */ class CESIUM3DTILESREADER_API EnumValueReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/Extension3dTilesBoundingVolumeS2Reader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/Extension3dTilesBoundingVolumeS2Reader.h index db4005c56..73e5b7a15 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/Extension3dTilesBoundingVolumeS2Reader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/Extension3dTilesBoundingVolumeS2Reader.h @@ -19,7 +19,8 @@ struct Extension3dTilesBoundingVolumeS2; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Extension3dTilesBoundingVolumeS2} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Extension3dTilesBoundingVolumeS2 + * "Extension3dTilesBoundingVolumeS2" instances from JSON. */ class CESIUM3DTILESREADER_API Extension3dTilesBoundingVolumeS2Reader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/GroupMetadataReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/GroupMetadataReader.h index d81dc5fde..4cbffbd1d 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/GroupMetadataReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/GroupMetadataReader.h @@ -19,7 +19,8 @@ struct GroupMetadata; namespace Cesium3DTilesReader { /** - * @brief Reads {@link GroupMetadata} instances from JSON. + * @brief Reads \ref Cesium3DTiles::GroupMetadata "GroupMetadata" instances from + * JSON. */ class CESIUM3DTILESREADER_API GroupMetadataReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ImplicitTilingReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ImplicitTilingReader.h index 425dc8103..a791b9230 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ImplicitTilingReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ImplicitTilingReader.h @@ -19,7 +19,8 @@ struct ImplicitTiling; namespace Cesium3DTilesReader { /** - * @brief Reads {@link ImplicitTiling} instances from JSON. + * @brief Reads \ref Cesium3DTiles::ImplicitTiling "ImplicitTiling" instances + * from JSON. */ class CESIUM3DTILESREADER_API ImplicitTilingReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/MetadataEntityReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/MetadataEntityReader.h index 7effd8b67..fa6cbadae 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/MetadataEntityReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/MetadataEntityReader.h @@ -19,7 +19,8 @@ struct MetadataEntity; namespace Cesium3DTilesReader { /** - * @brief Reads {@link MetadataEntity} instances from JSON. + * @brief Reads \ref Cesium3DTiles::MetadataEntity "MetadataEntity" instances + * from JSON. */ class CESIUM3DTILESREADER_API MetadataEntityReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertiesReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertiesReader.h index 50b0cf878..46d8df96d 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertiesReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertiesReader.h @@ -19,7 +19,7 @@ struct Properties; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Properties} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Properties "Properties" instances from JSON. */ class CESIUM3DTILESREADER_API PropertiesReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyStatisticsReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyStatisticsReader.h index 734a08bd7..5ff6a9c71 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyStatisticsReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyStatisticsReader.h @@ -19,7 +19,8 @@ struct PropertyStatistics; namespace Cesium3DTilesReader { /** - * @brief Reads {@link PropertyStatistics} instances from JSON. + * @brief Reads \ref Cesium3DTiles::PropertyStatistics "PropertyStatistics" + * instances from JSON. */ class CESIUM3DTILESREADER_API PropertyStatisticsReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTablePropertyReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTablePropertyReader.h index 97aada0f0..523c621b2 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTablePropertyReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTablePropertyReader.h @@ -19,7 +19,8 @@ struct PropertyTableProperty; namespace Cesium3DTilesReader { /** - * @brief Reads {@link PropertyTableProperty} instances from JSON. + * @brief Reads \ref Cesium3DTiles::PropertyTableProperty + * "PropertyTableProperty" instances from JSON. */ class CESIUM3DTILESREADER_API PropertyTablePropertyReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTableReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTableReader.h index 5f17fdd3e..4f6de3b8a 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTableReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTableReader.h @@ -19,7 +19,8 @@ struct PropertyTable; namespace Cesium3DTilesReader { /** - * @brief Reads {@link PropertyTable} instances from JSON. + * @brief Reads \ref Cesium3DTiles::PropertyTable "PropertyTable" instances from + * JSON. */ class CESIUM3DTILESREADER_API PropertyTableReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SchemaReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SchemaReader.h index 56dcc1fe6..f770a4f34 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SchemaReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SchemaReader.h @@ -19,7 +19,7 @@ struct Schema; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Schema} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Schema "Schema" instances from JSON. */ class CESIUM3DTILESREADER_API SchemaReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/StatisticsReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/StatisticsReader.h index 94f9f8181..b32a57485 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/StatisticsReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/StatisticsReader.h @@ -19,7 +19,7 @@ struct Statistics; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Statistics} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Statistics "Statistics" instances from JSON. */ class CESIUM3DTILESREADER_API StatisticsReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreeReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreeReader.h index 93ec8a3d6..5cb9e1796 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreeReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreeReader.h @@ -19,7 +19,7 @@ struct Subtree; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Subtree} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Subtree "Subtree" instances from JSON. */ class CESIUM3DTILESREADER_API SubtreeReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreesReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreesReader.h index 407dce1ab..3c2aaddcc 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreesReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreesReader.h @@ -19,7 +19,7 @@ struct Subtrees; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Subtrees} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Subtrees "Subtrees" instances from JSON. */ class CESIUM3DTILESREADER_API SubtreesReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TileReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TileReader.h index bd4e7a544..c97b76ae3 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TileReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TileReader.h @@ -19,7 +19,7 @@ struct Tile; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Tile} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Tile "Tile" instances from JSON. */ class CESIUM3DTILESREADER_API TileReader { public: diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TilesetReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TilesetReader.h index c5783d71a..dc9d72563 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TilesetReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TilesetReader.h @@ -19,7 +19,7 @@ struct Tileset; namespace Cesium3DTilesReader { /** - * @brief Reads {@link Tileset} instances from JSON. + * @brief Reads \ref Cesium3DTiles::Tileset "Tileset" instances from JSON. */ class CESIUM3DTILESREADER_API TilesetReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorReader.h index e72f00b6f..3086675bf 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorReader.h @@ -19,7 +19,7 @@ struct Accessor; namespace CesiumGltfReader { /** - * @brief Reads {@link Accessor} instances from JSON. + * @brief Reads \ref CesiumGltf::Accessor "Accessor" instances from JSON. */ class CESIUMGLTFREADER_API AccessorReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseIndicesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseIndicesReader.h index 1bb54d183..05986f260 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseIndicesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseIndicesReader.h @@ -19,7 +19,8 @@ struct AccessorSparseIndices; namespace CesiumGltfReader { /** - * @brief Reads {@link AccessorSparseIndices} instances from JSON. + * @brief Reads \ref CesiumGltf::AccessorSparseIndices "AccessorSparseIndices" + * instances from JSON. */ class CESIUMGLTFREADER_API AccessorSparseIndicesReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseReader.h index 25b133eb3..284c3c49c 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseReader.h @@ -19,7 +19,8 @@ struct AccessorSparse; namespace CesiumGltfReader { /** - * @brief Reads {@link AccessorSparse} instances from JSON. + * @brief Reads \ref CesiumGltf::AccessorSparse "AccessorSparse" instances from + * JSON. */ class CESIUMGLTFREADER_API AccessorSparseReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseValuesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseValuesReader.h index a13049eaa..918418726 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseValuesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseValuesReader.h @@ -19,7 +19,8 @@ struct AccessorSparseValues; namespace CesiumGltfReader { /** - * @brief Reads {@link AccessorSparseValues} instances from JSON. + * @brief Reads \ref CesiumGltf::AccessorSparseValues "AccessorSparseValues" + * instances from JSON. */ class CESIUMGLTFREADER_API AccessorSparseValuesReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelReader.h index 429c27080..0f05aecf6 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelReader.h @@ -19,7 +19,8 @@ struct AnimationChannel; namespace CesiumGltfReader { /** - * @brief Reads {@link AnimationChannel} instances from JSON. + * @brief Reads \ref CesiumGltf::AnimationChannel "AnimationChannel" instances + * from JSON. */ class CESIUMGLTFREADER_API AnimationChannelReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelTargetReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelTargetReader.h index 2e913a4fe..750d44864 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelTargetReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelTargetReader.h @@ -19,7 +19,8 @@ struct AnimationChannelTarget; namespace CesiumGltfReader { /** - * @brief Reads {@link AnimationChannelTarget} instances from JSON. + * @brief Reads \ref CesiumGltf::AnimationChannelTarget "AnimationChannelTarget" + * instances from JSON. */ class CESIUMGLTFREADER_API AnimationChannelTargetReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationReader.h index edcdb7428..444d8888b 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationReader.h @@ -19,7 +19,7 @@ struct Animation; namespace CesiumGltfReader { /** - * @brief Reads {@link Animation} instances from JSON. + * @brief Reads \ref CesiumGltf::Animation "Animation" instances from JSON. */ class CESIUMGLTFREADER_API AnimationReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationSamplerReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationSamplerReader.h index f2dfb523a..b863deb81 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationSamplerReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationSamplerReader.h @@ -19,7 +19,8 @@ struct AnimationSampler; namespace CesiumGltfReader { /** - * @brief Reads {@link AnimationSampler} instances from JSON. + * @brief Reads \ref CesiumGltf::AnimationSampler "AnimationSampler" instances + * from JSON. */ class CESIUMGLTFREADER_API AnimationSamplerReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AssetReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AssetReader.h index d0003620e..948db4329 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AssetReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AssetReader.h @@ -19,7 +19,7 @@ struct Asset; namespace CesiumGltfReader { /** - * @brief Reads {@link Asset} instances from JSON. + * @brief Reads \ref CesiumGltf::Asset "Asset" instances from JSON. */ class CESIUMGLTFREADER_API AssetReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/BufferReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/BufferReader.h index d412231d0..984eedc78 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/BufferReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/BufferReader.h @@ -19,7 +19,7 @@ struct Buffer; namespace CesiumGltfReader { /** - * @brief Reads {@link Buffer} instances from JSON. + * @brief Reads \ref CesiumGltf::Buffer "Buffer" instances from JSON. */ class CESIUMGLTFREADER_API BufferReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/BufferViewReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/BufferViewReader.h index e3b8c1e1a..66b637bc2 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/BufferViewReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/BufferViewReader.h @@ -19,7 +19,7 @@ struct BufferView; namespace CesiumGltfReader { /** - * @brief Reads {@link BufferView} instances from JSON. + * @brief Reads \ref CesiumGltf::BufferView "BufferView" instances from JSON. */ class CESIUMGLTFREADER_API BufferViewReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraOrthographicReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraOrthographicReader.h index 21dfb95af..9bd634896 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraOrthographicReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraOrthographicReader.h @@ -19,7 +19,8 @@ struct CameraOrthographic; namespace CesiumGltfReader { /** - * @brief Reads {@link CameraOrthographic} instances from JSON. + * @brief Reads \ref CesiumGltf::CameraOrthographic "CameraOrthographic" + * instances from JSON. */ class CESIUMGLTFREADER_API CameraOrthographicReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraPerspectiveReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraPerspectiveReader.h index cf52af122..64dd6b2f9 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraPerspectiveReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraPerspectiveReader.h @@ -19,7 +19,8 @@ struct CameraPerspective; namespace CesiumGltfReader { /** - * @brief Reads {@link CameraPerspective} instances from JSON. + * @brief Reads \ref CesiumGltf::CameraPerspective "CameraPerspective" instances + * from JSON. */ class CESIUMGLTFREADER_API CameraPerspectiveReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraReader.h index be9ad793e..58ad4100e 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraReader.h @@ -19,7 +19,7 @@ struct Camera; namespace CesiumGltfReader { /** - * @brief Reads {@link Camera} instances from JSON. + * @brief Reads \ref CesiumGltf::Camera "Camera" instances from JSON. */ class CESIUMGLTFREADER_API CameraReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ClassPropertyReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ClassPropertyReader.h index 7111d909e..4888221ff 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ClassPropertyReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ClassPropertyReader.h @@ -19,7 +19,8 @@ struct ClassProperty; namespace CesiumGltfReader { /** - * @brief Reads {@link ClassProperty} instances from JSON. + * @brief Reads \ref CesiumGltf::ClassProperty "ClassProperty" instances from + * JSON. */ class CESIUMGLTFREADER_API ClassPropertyReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ClassReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ClassReader.h index 694518adc..be26bffbd 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ClassReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ClassReader.h @@ -19,7 +19,7 @@ struct Class; namespace CesiumGltfReader { /** - * @brief Reads {@link Class} instances from JSON. + * @brief Reads \ref CesiumGltf::Class "Class" instances from JSON. */ class CESIUMGLTFREADER_API ClassReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/EnumReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/EnumReader.h index 070832eaf..8aedd8168 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/EnumReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/EnumReader.h @@ -19,7 +19,7 @@ struct Enum; namespace CesiumGltfReader { /** - * @brief Reads {@link Enum} instances from JSON. + * @brief Reads \ref CesiumGltf::Enum "Enum" instances from JSON. */ class CESIUMGLTFREADER_API EnumReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/EnumValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/EnumValueReader.h index 2a9456640..6d78db7a5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/EnumValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/EnumValueReader.h @@ -19,7 +19,7 @@ struct EnumValue; namespace CesiumGltfReader { /** - * @brief Reads {@link EnumValue} instances from JSON. + * @brief Reads \ref CesiumGltf::EnumValue "EnumValue" instances from JSON. */ class CESIUMGLTFREADER_API EnumValueReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferExtMeshoptCompressionReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferExtMeshoptCompressionReader.h index 0f5fd1099..60302abb7 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferExtMeshoptCompressionReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferExtMeshoptCompressionReader.h @@ -19,7 +19,8 @@ struct ExtensionBufferExtMeshoptCompression; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionBufferExtMeshoptCompression} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionBufferExtMeshoptCompression + * "ExtensionBufferExtMeshoptCompression" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionBufferExtMeshoptCompressionReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferViewExtMeshoptCompressionReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferViewExtMeshoptCompressionReader.h index c240e9e91..e26e8c5a5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferViewExtMeshoptCompressionReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferViewExtMeshoptCompressionReader.h @@ -19,7 +19,8 @@ struct ExtensionBufferViewExtMeshoptCompression; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionBufferViewExtMeshoptCompression} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionBufferViewExtMeshoptCompression + * "ExtensionBufferViewExtMeshoptCompression" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionBufferViewExtMeshoptCompressionReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumPrimitiveOutlineReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumPrimitiveOutlineReader.h index d53c7a224..35f091cd7 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumPrimitiveOutlineReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumPrimitiveOutlineReader.h @@ -19,7 +19,8 @@ struct ExtensionCesiumPrimitiveOutline; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionCesiumPrimitiveOutline} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionCesiumPrimitiveOutline + * "ExtensionCesiumPrimitiveOutline" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionCesiumPrimitiveOutlineReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumRTCReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumRTCReader.h index 2464c3da6..65f66b0f8 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumRTCReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumRTCReader.h @@ -19,7 +19,8 @@ struct ExtensionCesiumRTC; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionCesiumRTC} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionCesiumRTC "ExtensionCesiumRTC" + * instances from JSON. */ class CESIUMGLTFREADER_API ExtensionCesiumRTCReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumTileEdgesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumTileEdgesReader.h index 3de6b3c06..0f151a9d5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumTileEdgesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumTileEdgesReader.h @@ -19,7 +19,8 @@ struct ExtensionCesiumTileEdges; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionCesiumTileEdges} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionCesiumTileEdges + * "ExtensionCesiumTileEdges" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionCesiumTileEdgesReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesFeatureIdReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesFeatureIdReader.h index 3dd40085c..3c9339bdd 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesFeatureIdReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesFeatureIdReader.h @@ -19,7 +19,8 @@ struct ExtensionExtInstanceFeaturesFeatureId; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionExtInstanceFeaturesFeatureId} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionExtInstanceFeaturesFeatureId + * "ExtensionExtInstanceFeaturesFeatureId" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionExtInstanceFeaturesFeatureIdReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesReader.h index 8e1fd379f..b64684952 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesReader.h @@ -19,7 +19,8 @@ struct ExtensionExtInstanceFeatures; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionExtInstanceFeatures} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionExtInstanceFeatures + * "ExtensionExtInstanceFeatures" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionExtInstanceFeaturesReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshFeaturesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshFeaturesReader.h index 35e54945d..1c1939f52 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshFeaturesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshFeaturesReader.h @@ -19,7 +19,8 @@ struct ExtensionExtMeshFeatures; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionExtMeshFeatures} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionExtMeshFeatures + * "ExtensionExtMeshFeatures" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionExtMeshFeaturesReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshGpuInstancingReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshGpuInstancingReader.h index f5ef8f119..3c1197ce1 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshGpuInstancingReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshGpuInstancingReader.h @@ -19,7 +19,8 @@ struct ExtensionExtMeshGpuInstancing; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionExtMeshGpuInstancing} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionExtMeshGpuInstancing + * "ExtensionExtMeshGpuInstancing" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionExtMeshGpuInstancingReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrDracoMeshCompressionReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrDracoMeshCompressionReader.h index 5b8940bc6..76cf40ff7 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrDracoMeshCompressionReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrDracoMeshCompressionReader.h @@ -19,7 +19,8 @@ struct ExtensionKhrDracoMeshCompression; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionKhrDracoMeshCompression} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionKhrDracoMeshCompression + * "ExtensionKhrDracoMeshCompression" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionKhrDracoMeshCompressionReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrMaterialsUnlitReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrMaterialsUnlitReader.h index 62e9ad683..17df51fc0 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrMaterialsUnlitReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrMaterialsUnlitReader.h @@ -19,7 +19,8 @@ struct ExtensionKhrMaterialsUnlit; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionKhrMaterialsUnlit} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionKhrMaterialsUnlit + * "ExtensionKhrMaterialsUnlit" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionKhrMaterialsUnlitReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureBasisuReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureBasisuReader.h index 7142d1b33..c39b97387 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureBasisuReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureBasisuReader.h @@ -19,7 +19,8 @@ struct ExtensionKhrTextureBasisu; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionKhrTextureBasisu} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionKhrTextureBasisu + * "ExtensionKhrTextureBasisu" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionKhrTextureBasisuReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureTransformReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureTransformReader.h index 93e3f1938..89deddb80 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureTransformReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureTransformReader.h @@ -19,7 +19,8 @@ struct ExtensionKhrTextureTransform; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionKhrTextureTransform} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionKhrTextureTransform + * "ExtensionKhrTextureTransform" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionKhrTextureTransformReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveExtStructuralMetadataReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveExtStructuralMetadataReader.h index db37d5660..b2be5622e 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveExtStructuralMetadataReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveExtStructuralMetadataReader.h @@ -19,7 +19,8 @@ struct ExtensionMeshPrimitiveExtStructuralMetadata; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionMeshPrimitiveExtStructuralMetadata} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionMeshPrimitiveExtStructuralMetadata + * "ExtensionMeshPrimitiveExtStructuralMetadata" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionMeshPrimitiveExtStructuralMetadataReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader.h index 93e378bf4..de1bc2a3d 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader.h @@ -19,7 +19,10 @@ struct ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue} instances from JSON. + * @brief Reads \ref + * CesiumGltf::ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue + * "ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue" instances from + * JSON. */ class CESIUMGLTFREADER_API ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader { diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsReader.h index f1197eef2..8ad79b75a 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsReader.h @@ -19,7 +19,8 @@ struct ExtensionMeshPrimitiveKhrMaterialsVariants; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionMeshPrimitiveKhrMaterialsVariants} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionMeshPrimitiveKhrMaterialsVariants + * "ExtensionMeshPrimitiveKhrMaterialsVariants" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionMeshPrimitiveKhrMaterialsVariantsReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelKhrMaterialsVariantsReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelKhrMaterialsVariantsReader.h index c81ce7e9c..3b12ba9c2 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelKhrMaterialsVariantsReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelKhrMaterialsVariantsReader.h @@ -19,7 +19,8 @@ struct ExtensionModelKhrMaterialsVariants; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionModelKhrMaterialsVariants} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionModelKhrMaterialsVariants + * "ExtensionModelKhrMaterialsVariants" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionModelKhrMaterialsVariantsReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelKhrMaterialsVariantsValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelKhrMaterialsVariantsValueReader.h index d1b4e287b..304886e03 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelKhrMaterialsVariantsValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelKhrMaterialsVariantsValueReader.h @@ -19,7 +19,8 @@ struct ExtensionModelKhrMaterialsVariantsValue; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionModelKhrMaterialsVariantsValue} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionModelKhrMaterialsVariantsValue + * "ExtensionModelKhrMaterialsVariantsValue" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionModelKhrMaterialsVariantsValueReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsReader.h index b0ad74772..03fafcdbd 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsReader.h @@ -19,7 +19,8 @@ struct ExtensionModelMaxarMeshVariants; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionModelMaxarMeshVariants} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionModelMaxarMeshVariants + * "ExtensionModelMaxarMeshVariants" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionModelMaxarMeshVariantsReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsValueReader.h index 640094d38..40bbb3691 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsValueReader.h @@ -19,7 +19,8 @@ struct ExtensionModelMaxarMeshVariantsValue; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionModelMaxarMeshVariantsValue} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionModelMaxarMeshVariantsValue + * "ExtensionModelMaxarMeshVariantsValue" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionModelMaxarMeshVariantsValueReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsMappingsValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsMappingsValueReader.h index 2765f07e1..d82a6aa91 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsMappingsValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsMappingsValueReader.h @@ -19,7 +19,8 @@ struct ExtensionNodeMaxarMeshVariantsMappingsValue; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionNodeMaxarMeshVariantsMappingsValue} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionNodeMaxarMeshVariantsMappingsValue + * "ExtensionNodeMaxarMeshVariantsMappingsValue" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionNodeMaxarMeshVariantsMappingsValueReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsReader.h index a9b1288b9..96126321c 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsReader.h @@ -19,7 +19,8 @@ struct ExtensionNodeMaxarMeshVariants; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionNodeMaxarMeshVariants} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionNodeMaxarMeshVariants + * "ExtensionNodeMaxarMeshVariants" instances from JSON. */ class CESIUMGLTFREADER_API ExtensionNodeMaxarMeshVariantsReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionTextureWebpReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionTextureWebpReader.h index 35bb5d727..5739738c9 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionTextureWebpReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionTextureWebpReader.h @@ -19,7 +19,8 @@ struct ExtensionTextureWebp; namespace CesiumGltfReader { /** - * @brief Reads {@link ExtensionTextureWebp} instances from JSON. + * @brief Reads \ref CesiumGltf::ExtensionTextureWebp "ExtensionTextureWebp" + * instances from JSON. */ class CESIUMGLTFREADER_API ExtensionTextureWebpReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdReader.h index 80c500897..7a869d390 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdReader.h @@ -19,7 +19,7 @@ struct FeatureId; namespace CesiumGltfReader { /** - * @brief Reads {@link FeatureId} instances from JSON. + * @brief Reads \ref CesiumGltf::FeatureId "FeatureId" instances from JSON. */ class CESIUMGLTFREADER_API FeatureIdReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdTextureReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdTextureReader.h index e8e0d853c..ad041dc61 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdTextureReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdTextureReader.h @@ -19,7 +19,8 @@ struct FeatureIdTexture; namespace CesiumGltfReader { /** - * @brief Reads {@link FeatureIdTexture} instances from JSON. + * @brief Reads \ref CesiumGltf::FeatureIdTexture "FeatureIdTexture" instances + * from JSON. */ class CESIUMGLTFREADER_API FeatureIdTextureReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ImageReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ImageReader.h index 7bab7b8cd..4adf3d5e3 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ImageReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ImageReader.h @@ -19,7 +19,7 @@ struct Image; namespace CesiumGltfReader { /** - * @brief Reads {@link Image} instances from JSON. + * @brief Reads \ref CesiumGltf::Image "Image" instances from JSON. */ class CESIUMGLTFREADER_API ImageReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialNormalTextureInfoReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialNormalTextureInfoReader.h index e4ce4be8d..d3558e80c 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialNormalTextureInfoReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialNormalTextureInfoReader.h @@ -19,7 +19,8 @@ struct MaterialNormalTextureInfo; namespace CesiumGltfReader { /** - * @brief Reads {@link MaterialNormalTextureInfo} instances from JSON. + * @brief Reads \ref CesiumGltf::MaterialNormalTextureInfo + * "MaterialNormalTextureInfo" instances from JSON. */ class CESIUMGLTFREADER_API MaterialNormalTextureInfoReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialOcclusionTextureInfoReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialOcclusionTextureInfoReader.h index 034d92c7d..036ac37be 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialOcclusionTextureInfoReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialOcclusionTextureInfoReader.h @@ -19,7 +19,8 @@ struct MaterialOcclusionTextureInfo; namespace CesiumGltfReader { /** - * @brief Reads {@link MaterialOcclusionTextureInfo} instances from JSON. + * @brief Reads \ref CesiumGltf::MaterialOcclusionTextureInfo + * "MaterialOcclusionTextureInfo" instances from JSON. */ class CESIUMGLTFREADER_API MaterialOcclusionTextureInfoReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialPBRMetallicRoughnessReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialPBRMetallicRoughnessReader.h index 23b40c4f5..f342d620f 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialPBRMetallicRoughnessReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialPBRMetallicRoughnessReader.h @@ -19,7 +19,8 @@ struct MaterialPBRMetallicRoughness; namespace CesiumGltfReader { /** - * @brief Reads {@link MaterialPBRMetallicRoughness} instances from JSON. + * @brief Reads \ref CesiumGltf::MaterialPBRMetallicRoughness + * "MaterialPBRMetallicRoughness" instances from JSON. */ class CESIUMGLTFREADER_API MaterialPBRMetallicRoughnessReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialReader.h index dfc2b59f5..d857bd033 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialReader.h @@ -19,7 +19,7 @@ struct Material; namespace CesiumGltfReader { /** - * @brief Reads {@link Material} instances from JSON. + * @brief Reads \ref CesiumGltf::Material "Material" instances from JSON. */ class CESIUMGLTFREADER_API MaterialReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MeshPrimitiveReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MeshPrimitiveReader.h index 64cad8e67..9b0d2213d 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MeshPrimitiveReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MeshPrimitiveReader.h @@ -19,7 +19,8 @@ struct MeshPrimitive; namespace CesiumGltfReader { /** - * @brief Reads {@link MeshPrimitive} instances from JSON. + * @brief Reads \ref CesiumGltf::MeshPrimitive "MeshPrimitive" instances from + * JSON. */ class CESIUMGLTFREADER_API MeshPrimitiveReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MeshReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MeshReader.h index 36d7acaf8..5fa40b185 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MeshReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MeshReader.h @@ -19,7 +19,7 @@ struct Mesh; namespace CesiumGltfReader { /** - * @brief Reads {@link Mesh} instances from JSON. + * @brief Reads \ref CesiumGltf::Mesh "Mesh" instances from JSON. */ class CESIUMGLTFREADER_API MeshReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ModelReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ModelReader.h index cba34c340..045553b43 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ModelReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ModelReader.h @@ -19,7 +19,7 @@ struct Model; namespace CesiumGltfReader { /** - * @brief Reads {@link Model} instances from JSON. + * @brief Reads \ref CesiumGltf::Model "Model" instances from JSON. */ class CESIUMGLTFREADER_API ModelReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/NodeReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/NodeReader.h index 182720207..0c879ec3c 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/NodeReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/NodeReader.h @@ -19,7 +19,7 @@ struct Node; namespace CesiumGltfReader { /** - * @brief Reads {@link Node} instances from JSON. + * @brief Reads \ref CesiumGltf::Node "Node" instances from JSON. */ class CESIUMGLTFREADER_API NodeReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributePropertyReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributePropertyReader.h index af63c7d1b..eab9b3a1d 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributePropertyReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributePropertyReader.h @@ -19,7 +19,8 @@ struct PropertyAttributeProperty; namespace CesiumGltfReader { /** - * @brief Reads {@link PropertyAttributeProperty} instances from JSON. + * @brief Reads \ref CesiumGltf::PropertyAttributeProperty + * "PropertyAttributeProperty" instances from JSON. */ class CESIUMGLTFREADER_API PropertyAttributePropertyReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributeReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributeReader.h index 8324f4687..f026f9fe1 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributeReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributeReader.h @@ -19,7 +19,8 @@ struct PropertyAttribute; namespace CesiumGltfReader { /** - * @brief Reads {@link PropertyAttribute} instances from JSON. + * @brief Reads \ref CesiumGltf::PropertyAttribute "PropertyAttribute" instances + * from JSON. */ class CESIUMGLTFREADER_API PropertyAttributeReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTablePropertyReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTablePropertyReader.h index 8eeed3f43..2a5ea30ea 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTablePropertyReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTablePropertyReader.h @@ -19,7 +19,8 @@ struct PropertyTableProperty; namespace CesiumGltfReader { /** - * @brief Reads {@link PropertyTableProperty} instances from JSON. + * @brief Reads \ref CesiumGltf::PropertyTableProperty "PropertyTableProperty" + * instances from JSON. */ class CESIUMGLTFREADER_API PropertyTablePropertyReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTableReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTableReader.h index b38bf2207..23071b8b1 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTableReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTableReader.h @@ -19,7 +19,8 @@ struct PropertyTable; namespace CesiumGltfReader { /** - * @brief Reads {@link PropertyTable} instances from JSON. + * @brief Reads \ref CesiumGltf::PropertyTable "PropertyTable" instances from + * JSON. */ class CESIUMGLTFREADER_API PropertyTableReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTexturePropertyReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTexturePropertyReader.h index 9b479068b..ad491c4ef 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTexturePropertyReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTexturePropertyReader.h @@ -19,7 +19,8 @@ struct PropertyTextureProperty; namespace CesiumGltfReader { /** - * @brief Reads {@link PropertyTextureProperty} instances from JSON. + * @brief Reads \ref CesiumGltf::PropertyTextureProperty + * "PropertyTextureProperty" instances from JSON. */ class CESIUMGLTFREADER_API PropertyTexturePropertyReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTextureReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTextureReader.h index 0b63d44c0..5963575b4 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTextureReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTextureReader.h @@ -19,7 +19,8 @@ struct PropertyTexture; namespace CesiumGltfReader { /** - * @brief Reads {@link PropertyTexture} instances from JSON. + * @brief Reads \ref CesiumGltf::PropertyTexture "PropertyTexture" instances + * from JSON. */ class CESIUMGLTFREADER_API PropertyTextureReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/SamplerReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/SamplerReader.h index ff7205c26..377b737cf 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/SamplerReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/SamplerReader.h @@ -19,7 +19,7 @@ struct Sampler; namespace CesiumGltfReader { /** - * @brief Reads {@link Sampler} instances from JSON. + * @brief Reads \ref CesiumGltf::Sampler "Sampler" instances from JSON. */ class CESIUMGLTFREADER_API SamplerReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/SceneReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/SceneReader.h index 6edde3b95..e560be945 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/SceneReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/SceneReader.h @@ -19,7 +19,7 @@ struct Scene; namespace CesiumGltfReader { /** - * @brief Reads {@link Scene} instances from JSON. + * @brief Reads \ref CesiumGltf::Scene "Scene" instances from JSON. */ class CESIUMGLTFREADER_API SceneReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/SchemaReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/SchemaReader.h index a73b45f93..0b70f04ba 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/SchemaReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/SchemaReader.h @@ -19,7 +19,7 @@ struct Schema; namespace CesiumGltfReader { /** - * @brief Reads {@link Schema} instances from JSON. + * @brief Reads \ref CesiumGltf::Schema "Schema" instances from JSON. */ class CESIUMGLTFREADER_API SchemaReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/SkinReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/SkinReader.h index b90996161..5e31c6822 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/SkinReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/SkinReader.h @@ -19,7 +19,7 @@ struct Skin; namespace CesiumGltfReader { /** - * @brief Reads {@link Skin} instances from JSON. + * @brief Reads \ref CesiumGltf::Skin "Skin" instances from JSON. */ class CESIUMGLTFREADER_API SkinReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/TextureInfoReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/TextureInfoReader.h index a6e540f63..425936678 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/TextureInfoReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/TextureInfoReader.h @@ -19,7 +19,7 @@ struct TextureInfo; namespace CesiumGltfReader { /** - * @brief Reads {@link TextureInfo} instances from JSON. + * @brief Reads \ref CesiumGltf::TextureInfo "TextureInfo" instances from JSON. */ class CESIUMGLTFREADER_API TextureInfoReader { public: diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/TextureReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/TextureReader.h index d0d9b74e7..e79d6db1a 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/TextureReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/TextureReader.h @@ -19,7 +19,7 @@ struct Texture; namespace CesiumGltfReader { /** - * @brief Reads {@link Texture} instances from JSON. + * @brief Reads \ref CesiumGltf::Texture "Texture" instances from JSON. */ class CESIUMGLTFREADER_API TextureReader { public: diff --git a/CesiumGltfReader/generated/src/GeneratedJsonHandlers.cpp b/CesiumGltfReader/generated/src/GeneratedJsonHandlers.cpp index e3e26fa95..6a3ec6107 100644 --- a/CesiumGltfReader/generated/src/GeneratedJsonHandlers.cpp +++ b/CesiumGltfReader/generated/src/GeneratedJsonHandlers.cpp @@ -857,11 +857,11 @@ ExtensionBufferViewExtMeshoptCompressionReader::readArrayFromJson( // This file was generated by generate-classes. // DO NOT EDIT THIS FILE! // NOLINTBEGIN(readability-duplicate-include) -#include "ExtensionModelExtStructuralMetadataJsonHandler.h" +#include "EXT_structural_metadataGlTFDocumentExtensionJsonHandler.h" #include "registerReaderExtensions.h" -#include -#include +#include +#include #include #include #include @@ -881,8 +881,8 @@ ExtensionBufferViewExtMeshoptCompressionReader::readArrayFromJson( namespace CesiumGltfReader { -ExtensionModelExtStructuralMetadataJsonHandler:: - ExtensionModelExtStructuralMetadataJsonHandler( +EXT_structural_metadataGlTFDocumentExtensionJsonHandler:: + EXT_structural_metadataGlTFDocumentExtensionJsonHandler( const CesiumJsonReader::JsonReaderOptions& options) noexcept : CesiumJsonReader::ExtensibleObjectJsonHandler(options), _schema(options), @@ -891,42 +891,45 @@ ExtensionModelExtStructuralMetadataJsonHandler:: _propertyTextures(options), _propertyAttributes(options) {} -void ExtensionModelExtStructuralMetadataJsonHandler::reset( +void EXT_structural_metadataGlTFDocumentExtensionJsonHandler::reset( CesiumJsonReader::IJsonHandler* pParentHandler, - CesiumGltf::ExtensionModelExtStructuralMetadata* pObject) { + CesiumGltf::EXT_structural_metadataGlTFDocumentExtension* pObject) { CesiumJsonReader::ExtensibleObjectJsonHandler::reset(pParentHandler, pObject); this->_pObject = pObject; } CesiumJsonReader::IJsonHandler* -ExtensionModelExtStructuralMetadataJsonHandler::readObjectKey( +EXT_structural_metadataGlTFDocumentExtensionJsonHandler::readObjectKey( const std::string_view& str) { CESIUM_ASSERT(this->_pObject); - return this->readObjectKeyExtensionModelExtStructuralMetadata( - CesiumGltf::ExtensionModelExtStructuralMetadata::TypeName, + return this->readObjectKeyEXT_structural_metadataGlTFDocumentExtension( + CesiumGltf::EXT_structural_metadataGlTFDocumentExtension::TypeName, str, *this->_pObject); } -void ExtensionModelExtStructuralMetadataJsonHandler::reset( +void EXT_structural_metadataGlTFDocumentExtensionJsonHandler::reset( CesiumJsonReader::IJsonHandler* pParentHandler, CesiumUtility::ExtensibleObject& o, const std::string_view& extensionName) { - std::any& value = o.extensions - .emplace( - extensionName, - CesiumGltf::ExtensionModelExtStructuralMetadata()) - .first->second; + std::any& value = + o.extensions + .emplace( + extensionName, + CesiumGltf::EXT_structural_metadataGlTFDocumentExtension()) + .first->second; this->reset( pParentHandler, - &std::any_cast(value)); + &std::any_cast( + value)); } -CesiumJsonReader::IJsonHandler* ExtensionModelExtStructuralMetadataJsonHandler:: - readObjectKeyExtensionModelExtStructuralMetadata( +CesiumJsonReader::IJsonHandler* +EXT_structural_metadataGlTFDocumentExtensionJsonHandler:: + readObjectKeyEXT_structural_metadataGlTFDocumentExtension( const std::string& objectType, const std::string_view& str, - CesiumGltf::ExtensionModelExtStructuralMetadata& o) { + CesiumGltf::EXT_structural_metadataGlTFDocumentExtension& o) { using namespace std::string_literals; if ("schema"s == str) { @@ -954,44 +957,46 @@ CesiumJsonReader::IJsonHandler* ExtensionModelExtStructuralMetadataJsonHandler:: return this->readObjectKeyExtensibleObject(objectType, str, *this->_pObject); } -ExtensionModelExtStructuralMetadataReader:: - ExtensionModelExtStructuralMetadataReader() { +EXT_structural_metadataGlTFDocumentExtensionReader:: + EXT_structural_metadataGlTFDocumentExtensionReader() { registerReaderExtensions(this->_options); } CesiumJsonReader::JsonReaderOptions& -ExtensionModelExtStructuralMetadataReader::getOptions() { +EXT_structural_metadataGlTFDocumentExtensionReader::getOptions() { return this->_options; } const CesiumJsonReader::JsonReaderOptions& -ExtensionModelExtStructuralMetadataReader::getOptions() const { +EXT_structural_metadataGlTFDocumentExtensionReader::getOptions() const { return this->_options; } CesiumJsonReader::ReadJsonResult< - CesiumGltf::ExtensionModelExtStructuralMetadata> -ExtensionModelExtStructuralMetadataReader::readFromJson( + CesiumGltf::EXT_structural_metadataGlTFDocumentExtension> +EXT_structural_metadataGlTFDocumentExtensionReader::readFromJson( const std::span& data) const { - ExtensionModelExtStructuralMetadataJsonHandler handler(this->_options); + EXT_structural_metadataGlTFDocumentExtensionJsonHandler handler( + this->_options); return CesiumJsonReader::JsonReader::readJson(data, handler); } CesiumJsonReader::ReadJsonResult< - CesiumGltf::ExtensionModelExtStructuralMetadata> -ExtensionModelExtStructuralMetadataReader::readFromJson( + CesiumGltf::EXT_structural_metadataGlTFDocumentExtension> +EXT_structural_metadataGlTFDocumentExtensionReader::readFromJson( const rapidjson::Value& value) const { - ExtensionModelExtStructuralMetadataJsonHandler handler(this->_options); + EXT_structural_metadataGlTFDocumentExtensionJsonHandler handler( + this->_options); return CesiumJsonReader::JsonReader::readJson(value, handler); } CesiumJsonReader::ReadJsonResult< - std::vector> -ExtensionModelExtStructuralMetadataReader::readArrayFromJson( + std::vector> +EXT_structural_metadataGlTFDocumentExtensionReader::readArrayFromJson( const rapidjson::Value& value) const { CesiumJsonReader::ArrayJsonHandler< - CesiumGltf::ExtensionModelExtStructuralMetadata, - ExtensionModelExtStructuralMetadataJsonHandler> + CesiumGltf::EXT_structural_metadataGlTFDocumentExtension, + EXT_structural_metadataGlTFDocumentExtensionJsonHandler> handler(this->_options); return CesiumJsonReader::JsonReader::readJson(value, handler); } diff --git a/CesiumGltfReader/generated/src/registerReaderExtensions.cpp b/CesiumGltfReader/generated/src/registerReaderExtensions.cpp index a7fd0aa62..89cbbdb6b 100644 --- a/CesiumGltfReader/generated/src/registerReaderExtensions.cpp +++ b/CesiumGltfReader/generated/src/registerReaderExtensions.cpp @@ -3,6 +3,7 @@ #include "registerReaderExtensions.h" +#include "EXT_structural_metadataGlTFDocumentExtensionJsonHandler.h" #include "ExtensionBufferExtMeshoptCompressionJsonHandler.h" #include "ExtensionBufferViewExtMeshoptCompressionJsonHandler.h" #include "ExtensionCesiumPrimitiveOutlineJsonHandler.h" @@ -17,7 +18,6 @@ #include "ExtensionKhrTextureTransformJsonHandler.h" #include "ExtensionMeshPrimitiveExtStructuralMetadataJsonHandler.h" #include "ExtensionMeshPrimitiveKhrMaterialsVariantsJsonHandler.h" -#include "ExtensionModelExtStructuralMetadataJsonHandler.h" #include "ExtensionModelKhrMaterialsVariantsJsonHandler.h" #include "ExtensionModelMaxarMeshVariantsJsonHandler.h" #include "ExtensionNodeMaxarMeshVariantsJsonHandler.h" @@ -44,7 +44,7 @@ void registerReaderExtensions(CesiumJsonReader::JsonReaderOptions& options) { options.registerExtension(); options.registerExtension< CesiumGltf::Model, - ExtensionModelExtStructuralMetadataJsonHandler>(); + EXT_structural_metadataGlTFDocumentExtensionJsonHandler>(); options.registerExtension< CesiumGltf::Model, ExtensionModelKhrMaterialsVariantsJsonHandler>(); diff --git a/CesiumGltfWriter/generated/src/ModelJsonWriter.cpp b/CesiumGltfWriter/generated/src/ModelJsonWriter.cpp index eb90d3792..1759c6d67 100644 --- a/CesiumGltfWriter/generated/src/ModelJsonWriter.cpp +++ b/CesiumGltfWriter/generated/src/ModelJsonWriter.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -37,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -123,7 +123,7 @@ void writeJson( const CesiumJsonWriter::ExtensionWriterContext& context); void writeJson( - const CesiumGltf::ExtensionModelExtStructuralMetadata& obj, + const CesiumGltf::EXT_structural_metadataGlTFDocumentExtension& obj, CesiumJsonWriter::JsonWriter& jsonWriter, const CesiumJsonWriter::ExtensionWriterContext& context); @@ -729,7 +729,7 @@ void writeJson( } void writeJson( - const CesiumGltf::ExtensionModelExtStructuralMetadata& obj, + const CesiumGltf::EXT_structural_metadataGlTFDocumentExtension& obj, CesiumJsonWriter::JsonWriter& jsonWriter, const CesiumJsonWriter::ExtensionWriterContext& context) { jsonWriter.StartObject(); @@ -2419,8 +2419,8 @@ void ExtensionBufferViewExtMeshoptCompressionJsonWriter::write( writeJson(obj, jsonWriter, context); } -void ExtensionModelExtStructuralMetadataJsonWriter::write( - const CesiumGltf::ExtensionModelExtStructuralMetadata& obj, +void EXT_structural_metadataGlTFDocumentExtensionJsonWriter::write( + const CesiumGltf::EXT_structural_metadataGlTFDocumentExtension& obj, CesiumJsonWriter::JsonWriter& jsonWriter, const CesiumJsonWriter::ExtensionWriterContext& context) { writeJson(obj, jsonWriter, context); diff --git a/CesiumGltfWriter/generated/src/ModelJsonWriter.h b/CesiumGltfWriter/generated/src/ModelJsonWriter.h index 8dccf43b9..76dfbdb44 100644 --- a/CesiumGltfWriter/generated/src/ModelJsonWriter.h +++ b/CesiumGltfWriter/generated/src/ModelJsonWriter.h @@ -17,7 +17,7 @@ struct ExtensionExtMeshFeatures; struct ExtensionExtMeshGpuInstancing; struct ExtensionBufferExtMeshoptCompression; struct ExtensionBufferViewExtMeshoptCompression; -struct ExtensionModelExtStructuralMetadata; +struct EXT_structural_metadataGlTFDocumentExtension; struct ExtensionMeshPrimitiveExtStructuralMetadata; struct ExtensionKhrDracoMeshCompression; struct ExtensionKhrMaterialsUnlit; @@ -156,13 +156,13 @@ struct ExtensionBufferViewExtMeshoptCompressionJsonWriter { const CesiumJsonWriter::ExtensionWriterContext& context); }; -struct ExtensionModelExtStructuralMetadataJsonWriter { - using ValueType = CesiumGltf::ExtensionModelExtStructuralMetadata; +struct EXT_structural_metadataGlTFDocumentExtensionJsonWriter { + using ValueType = CesiumGltf::EXT_structural_metadataGlTFDocumentExtension; static constexpr const char* ExtensionName = "EXT_structural_metadata"; static void write( - const CesiumGltf::ExtensionModelExtStructuralMetadata& obj, + const CesiumGltf::EXT_structural_metadataGlTFDocumentExtension& obj, CesiumJsonWriter::JsonWriter& jsonWriter, const CesiumJsonWriter::ExtensionWriterContext& context); }; diff --git a/CesiumGltfWriter/generated/src/registerWriterExtensions.cpp b/CesiumGltfWriter/generated/src/registerWriterExtensions.cpp index 49a388aca..dbc15198b 100644 --- a/CesiumGltfWriter/generated/src/registerWriterExtensions.cpp +++ b/CesiumGltfWriter/generated/src/registerWriterExtensions.cpp @@ -20,6 +20,7 @@ #include // NOLINTBEGIN(misc-include-cleaner) +#include #include #include #include @@ -34,7 +35,6 @@ #include #include #include -#include #include #include #include @@ -49,7 +49,7 @@ void registerWriterExtensions( context.registerExtension(); context.registerExtension< CesiumGltf::Model, - ExtensionModelExtStructuralMetadataJsonWriter>(); + EXT_structural_metadataGlTFDocumentExtensionJsonWriter>(); context.registerExtension< CesiumGltf::Model, ExtensionModelKhrMaterialsVariantsJsonWriter>(); diff --git a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangleReader.h b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangleReader.h index ee9bbaff0..b78ba5e6a 100644 --- a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangleReader.h +++ b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangleReader.h @@ -19,7 +19,8 @@ struct AvailabilityRectangle; namespace CesiumQuantizedMeshTerrain { /** - * @brief Reads {@link AvailabilityRectangle} instances from JSON. + * @brief Reads \ref CesiumQuantizedMeshTerrain::AvailabilityRectangle + * "AvailabilityRectangle" instances from JSON. */ class CESIUMQUANTIZEDMESHTERRAIN_API AvailabilityRectangleReader { public: diff --git a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerReader.h b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerReader.h index 67f78886d..bbf20fdea 100644 --- a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerReader.h +++ b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerReader.h @@ -19,7 +19,8 @@ struct Layer; namespace CesiumQuantizedMeshTerrain { /** - * @brief Reads {@link Layer} instances from JSON. + * @brief Reads \ref CesiumQuantizedMeshTerrain::Layer "Layer" instances from + * JSON. */ class CESIUMQUANTIZEDMESHTERRAIN_API LayerReader { public: diff --git a/tools/generate-classes/generate.js b/tools/generate-classes/generate.js index 8d2265872..ac1f2c772 100644 --- a/tools/generate-classes/generate.js +++ b/tools/generate-classes/generate.js @@ -246,7 +246,7 @@ function generate(options, schema, writers) { namespace ${readerNamespace} { /** - * @brief Reads {@link ${name}} instances from JSON. + * @brief Reads \\ref ${namespace}::${name} "${name}" instances from JSON. */ class ${readerNamespace.toUpperCase()}_API ${name}Reader { public: From 1b6984d2e948b675787ae5a2813cfafd11191e77 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Tue, 10 Dec 2024 17:41:53 -0500 Subject: [PATCH 04/12] Additional documentation --- .../generated/include/Cesium3DTiles/Asset.h | 3 + .../include/Cesium3DTiles/Availability.h | 3 + .../include/Cesium3DTiles/BoundingVolume.h | 3 + .../include/Cesium3DTiles/BufferSpec.h | 3 + .../include/Cesium3DTiles/BufferView.h | 3 + .../generated/include/Cesium3DTiles/Class.h | 3 + .../include/Cesium3DTiles/ClassProperty.h | 3 + .../include/Cesium3DTiles/ClassStatistics.h | 3 + .../generated/include/Cesium3DTiles/Content.h | 3 + .../generated/include/Cesium3DTiles/Enum.h | 3 + .../include/Cesium3DTiles/EnumValue.h | 3 + .../Extension3dTilesBoundingVolumeS2.h | 3 + .../include/Cesium3DTiles/GroupMetadata.h | 3 + .../include/Cesium3DTiles/ImplicitTiling.h | 3 + .../include/Cesium3DTiles/MetadataEntity.h | 3 + .../include/Cesium3DTiles/Properties.h | 3 + .../Cesium3DTiles/PropertyStatistics.h | 3 + .../include/Cesium3DTiles/PropertyTable.h | 3 + .../Cesium3DTiles/PropertyTableProperty.h | 3 + .../generated/include/Cesium3DTiles/Schema.h | 3 + .../include/Cesium3DTiles/Statistics.h | 3 + .../generated/include/Cesium3DTiles/Subtree.h | 3 + .../include/Cesium3DTiles/Subtrees.h | 3 + .../generated/include/Cesium3DTiles/Tile.h | 3 + .../generated/include/Cesium3DTiles/Tileset.h | 3 + CesiumAsync/include/CesiumAsync/Promise.h | 9 ++ .../include/CesiumAsync/SharedAssetDepot.h | 21 +++ .../include/CesiumAsync/SharedFuture.h | 1 + CesiumAsync/include/CesiumAsync/ThreadPool.h | 5 + .../CesiumGeometry/TileAvailabilityFlags.h | 3 + .../include/CesiumGltf/AccessorSparse.h | 3 + .../CesiumGltf/AccessorSparseIndices.h | 3 + .../include/CesiumGltf/AccessorSparseValues.h | 3 + .../include/CesiumGltf/AccessorSpec.h | 3 + .../generated/include/CesiumGltf/Animation.h | 3 + .../include/CesiumGltf/AnimationChannel.h | 3 + .../CesiumGltf/AnimationChannelTarget.h | 3 + .../include/CesiumGltf/AnimationSampler.h | 3 + .../generated/include/CesiumGltf/Asset.h | 3 + .../generated/include/CesiumGltf/BufferSpec.h | 3 + .../generated/include/CesiumGltf/BufferView.h | 3 + .../generated/include/CesiumGltf/Camera.h | 3 + .../include/CesiumGltf/CameraOrthographic.h | 3 + .../include/CesiumGltf/CameraPerspective.h | 3 + .../generated/include/CesiumGltf/Class.h | 3 + .../include/CesiumGltf/ClassProperty.h | 3 + .../generated/include/CesiumGltf/Enum.h | 3 + .../generated/include/CesiumGltf/EnumValue.h | 3 + .../ExtensionBufferExtMeshoptCompression.h | 3 + ...ExtensionBufferViewExtMeshoptCompression.h | 3 + .../ExtensionCesiumPrimitiveOutline.h | 3 + .../include/CesiumGltf/ExtensionCesiumRTC.h | 3 + .../CesiumGltf/ExtensionCesiumTileEdges.h | 3 + .../CesiumGltf/ExtensionExtInstanceFeatures.h | 3 + .../ExtensionExtInstanceFeaturesFeatureId.h | 3 + .../CesiumGltf/ExtensionExtMeshFeatures.h | 3 + .../ExtensionExtMeshGpuInstancing.h | 3 + .../ExtensionKhrDracoMeshCompression.h | 3 + .../CesiumGltf/ExtensionKhrMaterialsUnlit.h | 3 + .../CesiumGltf/ExtensionKhrTextureBasisu.h | 3 + .../CesiumGltf/ExtensionKhrTextureTransform.h | 3 + ...ensionMeshPrimitiveExtStructuralMetadata.h | 3 + ...tensionMeshPrimitiveKhrMaterialsVariants.h | 3 + ...imitiveKhrMaterialsVariantsMappingsValue.h | 3 + .../ExtensionModelKhrMaterialsVariants.h | 3 + .../ExtensionModelKhrMaterialsVariantsValue.h | 3 + .../ExtensionModelMaxarMeshVariants.h | 3 + .../ExtensionModelMaxarMeshVariantsValue.h | 3 + .../ExtensionNodeMaxarMeshVariants.h | 3 + ...ensionNodeMaxarMeshVariantsMappingsValue.h | 3 + .../include/CesiumGltf/ExtensionTextureWebp.h | 3 + .../generated/include/CesiumGltf/FeatureId.h | 3 + .../include/CesiumGltf/FeatureIdTexture.h | 3 + .../generated/include/CesiumGltf/ImageSpec.h | 3 + .../generated/include/CesiumGltf/Material.h | 3 + .../CesiumGltf/MaterialNormalTextureInfo.h | 3 + .../CesiumGltf/MaterialOcclusionTextureInfo.h | 3 + .../CesiumGltf/MaterialPBRMetallicRoughness.h | 3 + .../generated/include/CesiumGltf/Mesh.h | 3 + .../include/CesiumGltf/MeshPrimitive.h | 3 + .../generated/include/CesiumGltf/ModelSpec.h | 3 + .../generated/include/CesiumGltf/Node.h | 3 + .../include/CesiumGltf/PropertyAttribute.h | 3 + .../CesiumGltf/PropertyAttributeProperty.h | 3 + .../include/CesiumGltf/PropertyTable.h | 3 + .../CesiumGltf/PropertyTableProperty.h | 3 + .../include/CesiumGltf/PropertyTexture.h | 3 + .../CesiumGltf/PropertyTextureProperty.h | 3 + .../generated/include/CesiumGltf/Sampler.h | 3 + .../generated/include/CesiumGltf/Scene.h | 3 + .../generated/include/CesiumGltf/Schema.h | 3 + .../generated/include/CesiumGltf/Skin.h | 3 + .../generated/include/CesiumGltf/Texture.h | 3 + .../include/CesiumGltf/TextureInfo.h | 3 + .../include/CesiumGltf/AccessorUtility.h | 21 +++ .../CesiumGltf/PropertyAttributeView.h | 17 ++ .../CesiumGltf/PropertyTablePropertyView.h | 8 +- .../CesiumGltf/PropertyTexturePropertyView.h | 11 +- CesiumGltf/include/CesiumGltf/PropertyType.h | 153 ++++++++++++++++++ CesiumGltf/include/CesiumGltf/PropertyView.h | 3 + .../AvailabilityRectangle.h | 3 + .../CesiumQuantizedMeshTerrain/LayerSpec.h | 3 + doc/CMakeLists.txt | 2 - doc/topics/glossary.md | 2 +- tools/generate-classes/generate.js | 3 + 105 files changed, 523 insertions(+), 9 deletions(-) diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Asset.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Asset.h index 8f9638b67..438ab8487 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Asset.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Asset.h @@ -13,6 +13,9 @@ namespace Cesium3DTiles { * @brief Metadata about the entire tileset. */ struct CESIUM3DTILES_API Asset final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Asset"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h index 62282060c..5a01b98a3 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h @@ -14,6 +14,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API Availability final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Availability"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/BoundingVolume.h b/Cesium3DTiles/generated/include/Cesium3DTiles/BoundingVolume.h index 7f094a057..ddea96ebc 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/BoundingVolume.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/BoundingVolume.h @@ -15,6 +15,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API BoundingVolume final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "BoundingVolume"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/BufferSpec.h b/Cesium3DTiles/generated/include/Cesium3DTiles/BufferSpec.h index 26fcf31ac..74f09db0d 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/BufferSpec.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/BufferSpec.h @@ -15,6 +15,9 @@ namespace Cesium3DTiles { * subtree file, or an external buffer referenced by a URI. */ struct CESIUM3DTILES_API BufferSpec : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Buffer"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/BufferView.h b/Cesium3DTiles/generated/include/Cesium3DTiles/BufferView.h index 6f1681083..19a85c3da 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/BufferView.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/BufferView.h @@ -15,6 +15,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API BufferView final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "BufferView"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Class.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Class.h index ee5dab3c4..0c80ad806 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Class.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Class.h @@ -15,6 +15,9 @@ namespace Cesium3DTiles { * @brief A class containing a set of properties. */ struct CESIUM3DTILES_API Class final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Class"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h b/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h index a0941909c..acf9941cf 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h @@ -16,6 +16,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API ClassProperty final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ClassProperty"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/ClassStatistics.h b/Cesium3DTiles/generated/include/Cesium3DTiles/ClassStatistics.h index 7c603f89f..01a8d24f9 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/ClassStatistics.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/ClassStatistics.h @@ -18,6 +18,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API ClassStatistics final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ClassStatistics"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Content.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Content.h index ef4e9c997..2e2f885a7 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Content.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Content.h @@ -17,6 +17,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API Content final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Content"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h index a8604076e..67650d7ba 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h @@ -15,6 +15,9 @@ namespace Cesium3DTiles { * @brief An object defining the values of an enum. */ struct CESIUM3DTILES_API Enum final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Enum"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/EnumValue.h b/Cesium3DTiles/generated/include/Cesium3DTiles/EnumValue.h index 7612de137..cf6f5e55c 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/EnumValue.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/EnumValue.h @@ -15,6 +15,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API EnumValue final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "EnumValue"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h index db6599963..517c79d8a 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h @@ -13,6 +13,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API Extension3dTilesBoundingVolumeS2 final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Extension3dTilesBoundingVolumeS2"; static constexpr const char* ExtensionName = "3DTILES_bounding_volume_S2"; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/GroupMetadata.h b/Cesium3DTiles/generated/include/Cesium3DTiles/GroupMetadata.h index b92041526..bff2bb267 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/GroupMetadata.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/GroupMetadata.h @@ -10,6 +10,9 @@ namespace Cesium3DTiles { * @brief An object containing metadata about a group. */ struct CESIUM3DTILES_API GroupMetadata final : public MetadataEntity { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "GroupMetadata"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h b/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h index 72a233729..d9bab74c5 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h @@ -17,6 +17,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API ImplicitTiling final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ImplicitTiling"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/MetadataEntity.h b/Cesium3DTiles/generated/include/Cesium3DTiles/MetadataEntity.h index bfe3c372e..71d5718e5 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/MetadataEntity.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/MetadataEntity.h @@ -16,6 +16,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API MetadataEntity : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "MetadataEntity"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Properties.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Properties.h index 5453f2c86..669be0fbe 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Properties.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Properties.h @@ -11,6 +11,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API Properties final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Properties"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyStatistics.h b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyStatistics.h index a50459823..9cedf653f 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyStatistics.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyStatistics.h @@ -16,6 +16,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API PropertyStatistics final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyStatistics"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTable.h b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTable.h index 16fb4f49b..4b0446191 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTable.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTable.h @@ -18,6 +18,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API PropertyTable final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyTable"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h index d5b937831..ef2b8c294 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h @@ -18,6 +18,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API PropertyTableProperty final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyTableProperty"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Schema.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Schema.h index c1db7bc8a..2a6503688 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Schema.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Schema.h @@ -16,6 +16,9 @@ namespace Cesium3DTiles { * @brief An object defining classes and enums. */ struct CESIUM3DTILES_API Schema final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Schema"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Statistics.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Statistics.h index 8eef246a4..277bd8284 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Statistics.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Statistics.h @@ -15,6 +15,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API Statistics final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Statistics"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Subtree.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Subtree.h index a1b4b4b0e..761fa269b 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Subtree.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Subtree.h @@ -22,6 +22,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API Subtree final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Subtree"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Subtrees.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Subtrees.h index 3b4a4419b..913373df5 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Subtrees.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Subtrees.h @@ -13,6 +13,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API Subtrees final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Subtrees"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h index ab2bd7e76..378da3dfc 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h @@ -18,6 +18,9 @@ namespace Cesium3DTiles { * @brief A tile in a 3D Tiles tileset. */ struct CESIUM3DTILES_API Tile final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Tile"; /** diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Tileset.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Tileset.h index 5ab416a94..9a65c3f5a 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Tileset.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Tileset.h @@ -23,6 +23,9 @@ namespace Cesium3DTiles { */ struct CESIUM3DTILES_API Tileset final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Tileset"; /** diff --git a/CesiumAsync/include/CesiumAsync/Promise.h b/CesiumAsync/include/CesiumAsync/Promise.h index 13e039ea2..f94a7ff7e 100644 --- a/CesiumAsync/include/CesiumAsync/Promise.h +++ b/CesiumAsync/include/CesiumAsync/Promise.h @@ -79,13 +79,22 @@ template class Promise { */ template <> class Promise { public: + /** + * @brief Will be called when the task completed successfully. + */ void resolve() const { this->_pEvent->set(); } template void reject(TException error) const { this->_pEvent->set_exception(std::make_exception_ptr(error)); } + /** + * @brief Will be called when the task failed. + */ void reject(const std::exception_ptr& error) const { this->_pEvent->set_exception(error); } + /** + * @copydoc Promise::getFuture + */ Future getFuture() const { return Future(this->_pSchedulers, this->_pEvent->get_task()); } diff --git a/CesiumAsync/include/CesiumAsync/SharedAssetDepot.h b/CesiumAsync/include/CesiumAsync/SharedAssetDepot.h index 8df0b8187..2ddd21d9a 100644 --- a/CesiumAsync/include/CesiumAsync/SharedAssetDepot.h +++ b/CesiumAsync/include/CesiumAsync/SharedAssetDepot.h @@ -49,12 +49,33 @@ class CESIUMASYNC_API SharedAssetDepot */ int64_t inactiveAssetSizeLimitBytes = 16 * 1024 * 1024; + /** + * @brief Signature for the callback function that will be called to fetch and + * create a new instance of `TAssetType` if one with the given key doesn't + * already exist in the depot. + * + * @param asyncSystem The \ref AsyncSystem used by this \ref SharedAssetDepot. + * @param pAssetAccessor The \ref IAssetAccessor used by this \ref + * SharedAssetDepot. Use this to fetch the asset. + * @param key The `TAssetKey` for the asset that should be loaded by this + * factory. + * @returns A \ref CesiumAsync::Future "Future" that resolves to a \ref + * CesiumUtility::ResultPointer "ResultPointer" containing the loaded asset, + * or any error information if the asset failed to load. + */ using FactorySignature = CesiumAsync::Future>( const AsyncSystem& asyncSystem, const std::shared_ptr& pAssetAccessor, const TAssetKey& key); + /** + * @brief Creates a new `SharedAssetDepot` using the given factory callback to + * load new assets. + * + * @param factory The factory to use to fetch and create assets that don't + * already exist in the depot. See \ref FactorySignature. + */ SharedAssetDepot(std::function factory) : _assets(), _assetsByPointer(), diff --git a/CesiumAsync/include/CesiumAsync/SharedFuture.h b/CesiumAsync/include/CesiumAsync/SharedFuture.h index 7b089c49b..7445abe72 100644 --- a/CesiumAsync/include/CesiumAsync/SharedFuture.h +++ b/CesiumAsync/include/CesiumAsync/SharedFuture.h @@ -231,6 +231,7 @@ template class SharedFuture final { return this->_task.get(); } + /** @copydoc wait */ template < typename U = T, std::enable_if_t, int> = 0, diff --git a/CesiumAsync/include/CesiumAsync/ThreadPool.h b/CesiumAsync/include/CesiumAsync/ThreadPool.h index fe8969d43..ecccbc025 100644 --- a/CesiumAsync/include/CesiumAsync/ThreadPool.h +++ b/CesiumAsync/include/CesiumAsync/ThreadPool.h @@ -17,6 +17,11 @@ namespace CesiumAsync { */ class CESIUMASYNC_API ThreadPool { public: + /** + * @brief Creates a new thread pool with the given number of threads. + * + * @param numberOfThreads The number of threads to create in this ThreadPool. + */ ThreadPool(int32_t numberOfThreads); private: diff --git a/CesiumGeometry/include/CesiumGeometry/TileAvailabilityFlags.h b/CesiumGeometry/include/CesiumGeometry/TileAvailabilityFlags.h index 291753350..86b1de32f 100644 --- a/CesiumGeometry/include/CesiumGeometry/TileAvailabilityFlags.h +++ b/CesiumGeometry/include/CesiumGeometry/TileAvailabilityFlags.h @@ -6,6 +6,9 @@ namespace CesiumGeometry { +/** + * @brief A bitmask representing the availability state of a tile. + */ enum CESIUMGEOMETRY_API TileAvailabilityFlags { /** * @brief The tile is known to be available. diff --git a/CesiumGltf/generated/include/CesiumGltf/AccessorSparse.h b/CesiumGltf/generated/include/CesiumGltf/AccessorSparse.h index b54e17c2f..db85dfcd4 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AccessorSparse.h +++ b/CesiumGltf/generated/include/CesiumGltf/AccessorSparse.h @@ -16,6 +16,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API AccessorSparse final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "AccessorSparse"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h b/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h index 690ac3aa0..404710034 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h +++ b/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h @@ -15,6 +15,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API AccessorSparseIndices final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "AccessorSparseIndices"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/AccessorSparseValues.h b/CesiumGltf/generated/include/CesiumGltf/AccessorSparseValues.h index a614b28fb..f61c0a183 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AccessorSparseValues.h +++ b/CesiumGltf/generated/include/CesiumGltf/AccessorSparseValues.h @@ -17,6 +17,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API AccessorSparseValues final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "AccessorSparseValues"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h b/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h index f6e8d18f1..8f9c21d03 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h +++ b/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h @@ -16,6 +16,9 @@ namespace CesiumGltf { * @brief A typed view into a buffer view that contains raw binary data. */ struct CESIUMGLTF_API AccessorSpec : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Accessor"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Animation.h b/CesiumGltf/generated/include/CesiumGltf/Animation.h index 6576bef00..d89ae93bd 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Animation.h +++ b/CesiumGltf/generated/include/CesiumGltf/Animation.h @@ -14,6 +14,9 @@ namespace CesiumGltf { * @brief A keyframe animation. */ struct CESIUMGLTF_API Animation final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Animation"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/AnimationChannel.h b/CesiumGltf/generated/include/CesiumGltf/AnimationChannel.h index 8d6dc2320..64dad0016 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AnimationChannel.h +++ b/CesiumGltf/generated/include/CesiumGltf/AnimationChannel.h @@ -15,6 +15,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API AnimationChannel final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "AnimationChannel"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h b/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h index 07ef207e0..895188dff 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h +++ b/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API AnimationChannelTarget final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "AnimationChannelTarget"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h b/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h index fcfa52a38..d21f5ed99 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h +++ b/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h @@ -15,6 +15,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API AnimationSampler final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "AnimationSampler"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Asset.h b/CesiumGltf/generated/include/CesiumGltf/Asset.h index 18bce36a3..73b527a1a 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Asset.h +++ b/CesiumGltf/generated/include/CesiumGltf/Asset.h @@ -13,6 +13,9 @@ namespace CesiumGltf { * @brief Metadata about the glTF asset. */ struct CESIUMGLTF_API Asset final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Asset"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/BufferSpec.h b/CesiumGltf/generated/include/CesiumGltf/BufferSpec.h index 86b042996..25f27124d 100644 --- a/CesiumGltf/generated/include/CesiumGltf/BufferSpec.h +++ b/CesiumGltf/generated/include/CesiumGltf/BufferSpec.h @@ -14,6 +14,9 @@ namespace CesiumGltf { * @brief A buffer points to binary geometry, animation, or skins. */ struct CESIUMGLTF_API BufferSpec : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Buffer"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/BufferView.h b/CesiumGltf/generated/include/CesiumGltf/BufferView.h index 6b1139f69..de043d43d 100644 --- a/CesiumGltf/generated/include/CesiumGltf/BufferView.h +++ b/CesiumGltf/generated/include/CesiumGltf/BufferView.h @@ -13,6 +13,9 @@ namespace CesiumGltf { * @brief A view into a buffer generally representing a subset of the buffer. */ struct CESIUMGLTF_API BufferView final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "BufferView"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Camera.h b/CesiumGltf/generated/include/CesiumGltf/Camera.h index 225e5f287..044278a63 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Camera.h +++ b/CesiumGltf/generated/include/CesiumGltf/Camera.h @@ -16,6 +16,9 @@ namespace CesiumGltf { * transform to place the camera in the scene. */ struct CESIUMGLTF_API Camera final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Camera"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/CameraOrthographic.h b/CesiumGltf/generated/include/CesiumGltf/CameraOrthographic.h index 9e9e239d8..e8b352c3f 100644 --- a/CesiumGltf/generated/include/CesiumGltf/CameraOrthographic.h +++ b/CesiumGltf/generated/include/CesiumGltf/CameraOrthographic.h @@ -12,6 +12,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API CameraOrthographic final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "CameraOrthographic"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/CameraPerspective.h b/CesiumGltf/generated/include/CesiumGltf/CameraPerspective.h index cb5b2e936..dcd40e2c7 100644 --- a/CesiumGltf/generated/include/CesiumGltf/CameraPerspective.h +++ b/CesiumGltf/generated/include/CesiumGltf/CameraPerspective.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API CameraPerspective final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "CameraPerspective"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Class.h b/CesiumGltf/generated/include/CesiumGltf/Class.h index 7c3266df3..397b3b47a 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Class.h +++ b/CesiumGltf/generated/include/CesiumGltf/Class.h @@ -15,6 +15,9 @@ namespace CesiumGltf { * @brief A class containing a set of properties. */ struct CESIUMGLTF_API Class final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Class"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h b/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h index d404e7a78..b69c995f4 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h +++ b/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h @@ -16,6 +16,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ClassProperty final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ClassProperty"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Enum.h b/CesiumGltf/generated/include/CesiumGltf/Enum.h index 69dcdfe2a..b81ed988f 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Enum.h +++ b/CesiumGltf/generated/include/CesiumGltf/Enum.h @@ -15,6 +15,9 @@ namespace CesiumGltf { * @brief An object defining the values of an enum. */ struct CESIUMGLTF_API Enum final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Enum"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/EnumValue.h b/CesiumGltf/generated/include/CesiumGltf/EnumValue.h index 66bfbd787..158f30571 100644 --- a/CesiumGltf/generated/include/CesiumGltf/EnumValue.h +++ b/CesiumGltf/generated/include/CesiumGltf/EnumValue.h @@ -14,6 +14,9 @@ namespace CesiumGltf { * @brief An enum value. */ struct CESIUMGLTF_API EnumValue final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "EnumValue"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferExtMeshoptCompression.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferExtMeshoptCompression.h index efd29bbc8..f7cfb7c86 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferExtMeshoptCompression.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferExtMeshoptCompression.h @@ -11,6 +11,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionBufferExtMeshoptCompression final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionBufferExtMeshoptCompression"; static constexpr const char* ExtensionName = "EXT_meshopt_compression"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h index b0665556b..2ab374510 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionBufferViewExtMeshoptCompression final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionBufferViewExtMeshoptCompression"; static constexpr const char* ExtensionName = "EXT_meshopt_compression"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumPrimitiveOutline.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumPrimitiveOutline.h index 0e6981bf8..69b9fc1c4 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumPrimitiveOutline.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumPrimitiveOutline.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionCesiumPrimitiveOutline final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionCesiumPrimitiveOutline"; static constexpr const char* ExtensionName = "CESIUM_primitive_outline"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumRTC.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumRTC.h index b76a5257b..6e655ec35 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumRTC.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumRTC.h @@ -13,6 +13,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionCesiumRTC final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionCesiumRTC"; static constexpr const char* ExtensionName = "CESIUM_RTC"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumTileEdges.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumTileEdges.h index c7c05748f..05ee9baa9 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumTileEdges.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumTileEdges.h @@ -13,6 +13,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionCesiumTileEdges final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionCesiumTileEdges"; static constexpr const char* ExtensionName = "CESIUM_tile_edges"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeatures.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeatures.h index 71f55fb12..a225190ed 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeatures.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeatures.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionExtInstanceFeatures final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionExtInstanceFeatures"; static constexpr const char* ExtensionName = "EXT_instance_features"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeaturesFeatureId.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeaturesFeatureId.h index 531fcc2ce..602b0fa87 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeaturesFeatureId.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeaturesFeatureId.h @@ -15,6 +15,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionExtInstanceFeaturesFeatureId final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionExtInstanceFeaturesFeatureId"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshFeatures.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshFeatures.h index 47365187d..3012a2d40 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshFeatures.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshFeatures.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionExtMeshFeatures final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionExtMeshFeatures"; static constexpr const char* ExtensionName = "EXT_mesh_features"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshGpuInstancing.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshGpuInstancing.h index bb6374f81..e881b525c 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshGpuInstancing.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshGpuInstancing.h @@ -15,6 +15,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionExtMeshGpuInstancing final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionExtMeshGpuInstancing"; static constexpr const char* ExtensionName = "EXT_mesh_gpu_instancing"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrDracoMeshCompression.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrDracoMeshCompression.h index 7dab1fc51..d551e8904 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrDracoMeshCompression.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrDracoMeshCompression.h @@ -15,6 +15,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionKhrDracoMeshCompression final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionKhrDracoMeshCompression"; static constexpr const char* ExtensionName = "KHR_draco_mesh_compression"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrMaterialsUnlit.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrMaterialsUnlit.h index 5e9428cf0..bebf60657 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrMaterialsUnlit.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrMaterialsUnlit.h @@ -11,6 +11,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionKhrMaterialsUnlit final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionKhrMaterialsUnlit"; static constexpr const char* ExtensionName = "KHR_materials_unlit"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureBasisu.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureBasisu.h index 412c52fc2..4c13b25e7 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureBasisu.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureBasisu.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionKhrTextureBasisu final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionKhrTextureBasisu"; static constexpr const char* ExtensionName = "KHR_texture_basisu"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureTransform.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureTransform.h index b9e429a79..80f0b7ddf 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureTransform.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureTransform.h @@ -16,6 +16,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionKhrTextureTransform final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionKhrTextureTransform"; static constexpr const char* ExtensionName = "KHR_texture_transform"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveExtStructuralMetadata.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveExtStructuralMetadata.h index 241ce7de2..0d469fd0c 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveExtStructuralMetadata.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveExtStructuralMetadata.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionMeshPrimitiveExtStructuralMetadata final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionMeshPrimitiveExtStructuralMetadata"; static constexpr const char* ExtensionName = "EXT_structural_metadata"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariants.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariants.h index 616b1143f..694666273 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariants.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariants.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionMeshPrimitiveKhrMaterialsVariants final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionMeshPrimitiveKhrMaterialsVariants"; static constexpr const char* ExtensionName = "KHR_materials_variants"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue.h index 2fb1f94f3..70c6430f7 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue.h @@ -16,6 +16,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariants.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariants.h index 6f56c51cb..5d81013df 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariants.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariants.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionModelKhrMaterialsVariants final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionModelKhrMaterialsVariants"; static constexpr const char* ExtensionName = "KHR_materials_variants"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariantsValue.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariantsValue.h index d89448c4f..2943ff62a 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariantsValue.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariantsValue.h @@ -13,6 +13,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionModelKhrMaterialsVariantsValue final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionModelKhrMaterialsVariantsValue"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariants.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariants.h index 0535f6b42..299fd060d 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariants.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariants.h @@ -15,6 +15,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionModelMaxarMeshVariants final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionModelMaxarMeshVariants"; static constexpr const char* ExtensionName = "MAXAR_mesh_variants"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariantsValue.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariantsValue.h index ee4462ec1..f6ced1fc7 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariantsValue.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariantsValue.h @@ -13,6 +13,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionModelMaxarMeshVariantsValue final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionModelMaxarMeshVariantsValue"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariants.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariants.h index 0f2c99c30..a3202bbe7 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariants.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariants.h @@ -14,6 +14,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionNodeMaxarMeshVariants final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionNodeMaxarMeshVariants"; static constexpr const char* ExtensionName = "MAXAR_mesh_variants"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariantsMappingsValue.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariantsMappingsValue.h index c9cec88ec..a31a266aa 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariantsMappingsValue.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariantsMappingsValue.h @@ -16,6 +16,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionNodeMaxarMeshVariantsMappingsValue final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionNodeMaxarMeshVariantsMappingsValue"; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionTextureWebp.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionTextureWebp.h index 296b82bb6..a9a229c4d 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionTextureWebp.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionTextureWebp.h @@ -13,6 +13,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API ExtensionTextureWebp final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "ExtensionTextureWebp"; static constexpr const char* ExtensionName = "EXT_texture_webp"; diff --git a/CesiumGltf/generated/include/CesiumGltf/FeatureId.h b/CesiumGltf/generated/include/CesiumGltf/FeatureId.h index 6dae5e77c..e6adf9ee7 100644 --- a/CesiumGltf/generated/include/CesiumGltf/FeatureId.h +++ b/CesiumGltf/generated/include/CesiumGltf/FeatureId.h @@ -15,6 +15,9 @@ namespace CesiumGltf { * @brief Feature IDs stored in an attribute or texture. */ struct CESIUMGLTF_API FeatureId final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "FeatureId"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/FeatureIdTexture.h b/CesiumGltf/generated/include/CesiumGltf/FeatureIdTexture.h index 1b4760e8b..9a6b637b9 100644 --- a/CesiumGltf/generated/include/CesiumGltf/FeatureIdTexture.h +++ b/CesiumGltf/generated/include/CesiumGltf/FeatureIdTexture.h @@ -13,6 +13,9 @@ namespace CesiumGltf { * @brief A texture containing feature IDs */ struct CESIUMGLTF_API FeatureIdTexture final : public TextureInfo { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "FeatureIdTexture"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h b/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h index cbb16f8c8..9843d88c8 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h +++ b/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h @@ -15,6 +15,9 @@ namespace CesiumGltf { * URI (or IRI) or a buffer view index. */ struct CESIUMGLTF_API ImageSpec : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Image"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Material.h b/CesiumGltf/generated/include/CesiumGltf/Material.h index 33d6665f5..fe20e4906 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Material.h +++ b/CesiumGltf/generated/include/CesiumGltf/Material.h @@ -18,6 +18,9 @@ namespace CesiumGltf { * @brief The material appearance of a primitive. */ struct CESIUMGLTF_API Material final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Material"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/MaterialNormalTextureInfo.h b/CesiumGltf/generated/include/CesiumGltf/MaterialNormalTextureInfo.h index 09ffd2f46..f7e325612 100644 --- a/CesiumGltf/generated/include/CesiumGltf/MaterialNormalTextureInfo.h +++ b/CesiumGltf/generated/include/CesiumGltf/MaterialNormalTextureInfo.h @@ -10,6 +10,9 @@ namespace CesiumGltf { * @brief Material Normal Texture Info */ struct CESIUMGLTF_API MaterialNormalTextureInfo final : public TextureInfo { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "MaterialNormalTextureInfo"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/MaterialOcclusionTextureInfo.h b/CesiumGltf/generated/include/CesiumGltf/MaterialOcclusionTextureInfo.h index d92994ca5..704067a72 100644 --- a/CesiumGltf/generated/include/CesiumGltf/MaterialOcclusionTextureInfo.h +++ b/CesiumGltf/generated/include/CesiumGltf/MaterialOcclusionTextureInfo.h @@ -10,6 +10,9 @@ namespace CesiumGltf { * @brief Material Occlusion Texture Info */ struct CESIUMGLTF_API MaterialOcclusionTextureInfo final : public TextureInfo { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "MaterialOcclusionTextureInfo"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/MaterialPBRMetallicRoughness.h b/CesiumGltf/generated/include/CesiumGltf/MaterialPBRMetallicRoughness.h index e93850838..bc6b16049 100644 --- a/CesiumGltf/generated/include/CesiumGltf/MaterialPBRMetallicRoughness.h +++ b/CesiumGltf/generated/include/CesiumGltf/MaterialPBRMetallicRoughness.h @@ -17,6 +17,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API MaterialPBRMetallicRoughness final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "MaterialPBRMetallicRoughness"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Mesh.h b/CesiumGltf/generated/include/CesiumGltf/Mesh.h index 546d4c2fc..e867f94b1 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Mesh.h +++ b/CesiumGltf/generated/include/CesiumGltf/Mesh.h @@ -14,6 +14,9 @@ namespace CesiumGltf { * by a node that references it. */ struct CESIUMGLTF_API Mesh final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Mesh"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h b/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h index 585cd38d6..2b2da93e1 100644 --- a/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h +++ b/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h @@ -16,6 +16,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API MeshPrimitive final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "MeshPrimitive"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ModelSpec.h b/CesiumGltf/generated/include/CesiumGltf/ModelSpec.h index a2ce456fa..86ec085fa 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ModelSpec.h +++ b/CesiumGltf/generated/include/CesiumGltf/ModelSpec.h @@ -28,6 +28,9 @@ namespace CesiumGltf { * @brief The root object for a glTF asset. */ struct CESIUMGLTF_API ModelSpec : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Model"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Node.h b/CesiumGltf/generated/include/CesiumGltf/Node.h index ac7f80f8c..bb88f705c 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Node.h +++ b/CesiumGltf/generated/include/CesiumGltf/Node.h @@ -21,6 +21,9 @@ namespace CesiumGltf { * animation.channel.target), `matrix` **MUST NOT** be present. */ struct CESIUMGLTF_API Node final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Node"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/PropertyAttribute.h b/CesiumGltf/generated/include/CesiumGltf/PropertyAttribute.h index c89b9fe89..29774f7c6 100644 --- a/CesiumGltf/generated/include/CesiumGltf/PropertyAttribute.h +++ b/CesiumGltf/generated/include/CesiumGltf/PropertyAttribute.h @@ -17,6 +17,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API PropertyAttribute final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyAttribute"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/PropertyAttributeProperty.h b/CesiumGltf/generated/include/CesiumGltf/PropertyAttributeProperty.h index 0baa9ddb3..0884da053 100644 --- a/CesiumGltf/generated/include/CesiumGltf/PropertyAttributeProperty.h +++ b/CesiumGltf/generated/include/CesiumGltf/PropertyAttributeProperty.h @@ -15,6 +15,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API PropertyAttributeProperty final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyAttributeProperty"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/PropertyTable.h b/CesiumGltf/generated/include/CesiumGltf/PropertyTable.h index ac17394ae..f32eba87f 100644 --- a/CesiumGltf/generated/include/CesiumGltf/PropertyTable.h +++ b/CesiumGltf/generated/include/CesiumGltf/PropertyTable.h @@ -18,6 +18,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API PropertyTable final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyTable"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h b/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h index 259021ce6..ebfe4f860 100644 --- a/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h +++ b/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h @@ -16,6 +16,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API PropertyTableProperty final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyTableProperty"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/PropertyTexture.h b/CesiumGltf/generated/include/CesiumGltf/PropertyTexture.h index 831458ad4..31a6215f8 100644 --- a/CesiumGltf/generated/include/CesiumGltf/PropertyTexture.h +++ b/CesiumGltf/generated/include/CesiumGltf/PropertyTexture.h @@ -17,6 +17,9 @@ namespace CesiumGltf { */ struct CESIUMGLTF_API PropertyTexture final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyTexture"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/PropertyTextureProperty.h b/CesiumGltf/generated/include/CesiumGltf/PropertyTextureProperty.h index 2b056a22f..3c74274c2 100644 --- a/CesiumGltf/generated/include/CesiumGltf/PropertyTextureProperty.h +++ b/CesiumGltf/generated/include/CesiumGltf/PropertyTextureProperty.h @@ -15,6 +15,9 @@ namespace CesiumGltf { * @brief A texture containing property values. */ struct CESIUMGLTF_API PropertyTextureProperty final : public TextureInfo { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "PropertyTextureProperty"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Sampler.h b/CesiumGltf/generated/include/CesiumGltf/Sampler.h index ae3b192e9..488ec9ebd 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Sampler.h +++ b/CesiumGltf/generated/include/CesiumGltf/Sampler.h @@ -12,6 +12,9 @@ namespace CesiumGltf { * @brief Texture sampler properties for filtering and wrapping modes. */ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Sampler"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Scene.h b/CesiumGltf/generated/include/CesiumGltf/Scene.h index ff451e6c9..3d726ccb8 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Scene.h +++ b/CesiumGltf/generated/include/CesiumGltf/Scene.h @@ -13,6 +13,9 @@ namespace CesiumGltf { * @brief The root nodes of a scene. */ struct CESIUMGLTF_API Scene final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Scene"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Schema.h b/CesiumGltf/generated/include/CesiumGltf/Schema.h index 2001d09e7..c16e3f3e4 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Schema.h +++ b/CesiumGltf/generated/include/CesiumGltf/Schema.h @@ -16,6 +16,9 @@ namespace CesiumGltf { * @brief An object defining classes and enums. */ struct CESIUMGLTF_API Schema final : public CesiumUtility::SharedAsset { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Schema"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Skin.h b/CesiumGltf/generated/include/CesiumGltf/Skin.h index ebf6822d7..ce5d00ae2 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Skin.h +++ b/CesiumGltf/generated/include/CesiumGltf/Skin.h @@ -13,6 +13,9 @@ namespace CesiumGltf { * @brief Joints and matrices defining a skin. */ struct CESIUMGLTF_API Skin final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Skin"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/Texture.h b/CesiumGltf/generated/include/CesiumGltf/Texture.h index 09fabdb6b..932675605 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Texture.h +++ b/CesiumGltf/generated/include/CesiumGltf/Texture.h @@ -12,6 +12,9 @@ namespace CesiumGltf { * @brief A texture and its sampler. */ struct CESIUMGLTF_API Texture final : public CesiumGltf::NamedObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Texture"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/TextureInfo.h b/CesiumGltf/generated/include/CesiumGltf/TextureInfo.h index 7417d0753..391f26f15 100644 --- a/CesiumGltf/generated/include/CesiumGltf/TextureInfo.h +++ b/CesiumGltf/generated/include/CesiumGltf/TextureInfo.h @@ -12,6 +12,9 @@ namespace CesiumGltf { * @brief Reference to a texture. */ struct CESIUMGLTF_API TextureInfo : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "TextureInfo"; /** diff --git a/CesiumGltf/include/CesiumGltf/AccessorUtility.h b/CesiumGltf/include/CesiumGltf/AccessorUtility.h index 44699cbfa..14a83d3ef 100644 --- a/CesiumGltf/include/CesiumGltf/AccessorUtility.h +++ b/CesiumGltf/include/CesiumGltf/AccessorUtility.h @@ -332,9 +332,30 @@ typedef std::variant< AccessorView>> QuaternionAccessorType; +/** + * @brief Obtains a \ref QuaternionAccessorType from the given \ref Accessor on + * the given \ref Model. + * + * @param model The model containing the quaternion. + * @param accessor An accessor from which the quaternion will be obtained. + * @returns A quaternion from the data in `accessor`. If no quaternion could be + * obtained, the default value for \ref QuaternionAccessType will be returned + * instead. + */ QuaternionAccessorType getQuaternionAccessorView(const Model& model, const Accessor* accessor); +/** + * @brief Obtains a \ref QuaternionAccessorType from the given \ref Accessor on + * the given \ref Model. + * + * @param model The model containing the quaternion. + * @param accessorIndex An index to the accessor from which the quaternion will + * be obtained. + * @returns A quaternion from the data in the accessor at `accessorIndex`. If no + * quaternion could be obtained, the default value for \ref QuaternionAccessType + * will be returned instead. + */ QuaternionAccessorType getQuaternionAccessorView(const Model& model, int32_t accessorIndex); } // namespace CesiumGltf diff --git a/CesiumGltf/include/CesiumGltf/PropertyAttributeView.h b/CesiumGltf/include/CesiumGltf/PropertyAttributeView.h index 0c9c691dd..9e74249ba 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyAttributeView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyAttributeView.h @@ -38,8 +38,25 @@ enum class PropertyAttributeViewStatus { ErrorClassNotFound }; +/** + * @brief Attempts to obtain a \ref PropertyType from the \ref Accessor::type + * "type" field of the accessor. + * + * @param accessor The accessor whose type will be obtained. + * @returns A \ref PropertyType equivalent to the accessor's \ref + * Accessor::Type, or \ref PropertyType::Invalid if no conversion could be made. + */ PropertyType getAccessorTypeAsPropertyType(const Accessor& accessor); +/** + * @brief Attempts to obtain a \ref PropertyComponentType from the \ref + * Accessor::componentType "componentType" field of the accessor. + * + * @param accessor The accessor whose componentType will be obtained. + * @returns A \ref PropertyComponentType equivalent to the accessor's \ref + * Accessor::ComponentType, or \ref PropertyComponentType::None if no conversion + * could be made. + */ PropertyComponentType getAccessorComponentTypeAsPropertyComponentType(const Accessor& accessor); diff --git a/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h index 5c04c84b3..2a4258ba2 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h @@ -197,8 +197,8 @@ class PropertyTablePropertyView /** * @brief Constructs an instance of an empty property that specifies a default * value. Although this property has no data, it can return the default value - * when {@link PropertyTablePropertyView::get} is called. However, - * {@link PropertyTablePropertyView::getRaw} cannot be used. + * when {@link PropertyTablePropertyView::get} is called. However, + * {@link PropertyTablePropertyView::getRaw} cannot be used. * * @param classProperty The {@link ClassProperty} this property conforms to. * @param size The number of elements in the property table specified by {@link PropertyTable::count} @@ -552,8 +552,8 @@ class PropertyTablePropertyView /** * @brief Constructs an instance of an empty property that specifies a default * value. Although this property has no data, it can return the default value - * when {@link PropertyTablePropertyView::get} is called. However, - * {@link PropertyTablePropertyView::getRaw} cannot be used. + * when {@link PropertyTablePropertyView::get} is called. However, + * {@link PropertyTablePropertyView::getRaw} cannot be used. * * @param classProperty The {@link ClassProperty} this property conforms to. * @param size The number of elements in the property table specified by {@link PropertyTable::count} diff --git a/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h index aace97eb6..9af017b19 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h @@ -83,6 +83,13 @@ class PropertyTexturePropertyViewStatus : public PropertyViewStatus { static const int ErrorChannelsAndTypeMismatch = 22; }; +/** + * @brief Attempts to obtain a scalar value from the given span of bytes. + * + * @tparam ElementType The scalar value type to read from `bytes`. + * @param bytes A span of bytes to convert into a scalar value. + * @returns A value of `ElementType`. + */ template ElementType assembleScalarValue(const std::span bytes) noexcept { if constexpr (std::is_same_v) { @@ -256,8 +263,8 @@ class PropertyTexturePropertyView /** * @brief Constructs an instance of an empty property that specifies a default * value. Although this property has no data, it can return the default value - * when {@link PropertyTexturePropertyView::get} is called. However, - * {@link PropertyTexturePropertyView::getRaw} cannot be used. + * when {@link PropertyTablePropertyView::get} is called. However, + * {@link PropertyTablePropertyView::getRaw} cannot be used. * * @param classProperty The {@link ClassProperty} this property conforms to. */ diff --git a/CesiumGltf/include/CesiumGltf/PropertyType.h b/CesiumGltf/include/CesiumGltf/PropertyType.h index ea92b2760..871885004 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyType.h +++ b/CesiumGltf/include/CesiumGltf/PropertyType.h @@ -7,20 +7,59 @@ #include namespace CesiumGltf { +/** + * @brief The possible types of a property in a PropertyTableView. + */ enum class PropertyType { + /** + * @brief An invalid property type. + */ Invalid, + /** + * @brief A scalar property, i.e. an integer or floating point value. + */ Scalar, + /** + * @brief A vector with two components. + */ Vec2, + /** + * @brief A vector with three components. + */ Vec3, + /** + * @brief A vector with four components. + */ Vec4, + /** + * @brief A 2x2 matrix. + */ Mat2, + /** + * @brief A 3x3 matrix. + */ Mat3, + /** + * @brief A 4x4 matrix. + */ Mat4, + /** + * @brief A string. + */ String, + /** + * @brief A boolean. + */ Boolean, + /** + * @brief An enum. + */ Enum }; +/** + * @brief The possible types of a property component. + */ enum class PropertyComponentType { None, Int8, @@ -35,35 +74,149 @@ enum class PropertyComponentType { Float64, }; +/** + * @brief Converts a \ref PropertyType value to a string. + * + * For example, \ref PropertyType::Mat3 will become `"MAT3"`. + * + * @param type The type to convert to a string. + * @returns The type as a string, or `"INVALID"` if no conversion is possible. + */ std::string convertPropertyTypeToString(PropertyType type); +/** + * @brief Converts a string into a \ref PropertyType. + * + * For example, `"MAT3"` will become a \ref PropertyType::Mat3. + * + * @param str The string to convert to a \ref PropertyType. + * @returns The string as a \ref PropertyType, or \ref PropertyType::Invalid if + * no conversion is possible. + */ PropertyType convertStringToPropertyType(const std::string& str); +/** + * @brief Converts a \ref PropertyComponentType value to a string. + * + * For example, \ref PropertyComponentType::Uint8 will become `"UINT8"`. + * + * @param type The type to convert to a string. + * @returns The type as a string, or `"NONE"` if no conversion is possible. + */ std::string convertPropertyComponentTypeToString(PropertyComponentType componentType); +/** + * @brief Converts a string into a \ref PropertyComponentType. + * + * For example, `"UINT8"` will become a \ref PropertyComponentType::Uint8. + * + * @param str The string to convert to a \ref PropertyComponentType. + * @returns The string as a \ref PropertyComponentType, or \ref + * PropertyComponentType::None if no conversion is possible. + */ PropertyComponentType convertStringToPropertyComponentType(const std::string& str); +/** + * @brief Converts a string listed in \ref + * PropertyTableProperty::ArrayOffsetType to its corresponding \ref + * PropertyComponentType. + * + * @param str The string to convert to a \ref PropertyComponentType. + * @returns The string as a \ref PropertyComponentType, or \ref + * PropertyComponentType::None if no conversion is possible. + */ PropertyComponentType convertArrayOffsetTypeStringToPropertyComponentType(const std::string& str); +/** + * @brief Converts a string listed in \ref + * PropertyTableProperty::StringOffsetType to its corresponding \ref + * PropertyComponentType. + * + * @param str The string to convert to a \ref PropertyComponentType. + * @returns The string as a \ref PropertyComponentType, or \ref + * PropertyComponentType::None if no conversion is possible. + */ PropertyComponentType convertStringOffsetTypeStringToPropertyComponentType(const std::string& str); +/** + * @brief Converts a integer type ID listed in \ref + * AccessorSpec::ComponentType to its corresponding \ref + * PropertyComponentType. + * + * @param componentType The integer ID to convert to a \ref + * PropertyComponentType. + * @returns The ID as a \ref PropertyComponentType, or \ref + * PropertyComponentType::None if no conversion is possible. + */ PropertyComponentType convertAccessorComponentTypeToPropertyComponentType(int componentType); +/** + * @brief Checks if the given \ref PropertyType represents a vector with any + * number of components. + * + * @param type The \ref PropertyType to check. + * @returns True if \ref PropertyType is \ref PropertyType::Vec2, \ref + * PropertyType::Vec3, or \ref PropertyType::Vec4, or false otherwise. + */ bool isPropertyTypeVecN(PropertyType type); +/** + * @brief Checks if the given \ref PropertyType represents a matrix with any + * number of components. + * + * @param type The \ref PropertyType to check. + * @returns True if \ref PropertyType is \ref PropertyType::Mat2, \ref + * PropertyType::Mat3, or \ref PropertyType::Mat4, or false otherwise. + */ bool isPropertyTypeMatN(PropertyType type); +/** + * @brief Checks if the given \ref PropertyComponentType represents an integer + * value. + * + * @param componentType The \ref PropertyComponentType to check. + * @returns True if the \ref PropertyComponentType is \b not \ref + * PropertyComponentType::Float32 or \ref PropertyComponentType::Float64, false + * otherwise. + */ bool isPropertyComponentTypeInteger(PropertyComponentType componentType); +/** + * @brief Obtains the number of dimensions in the given \ref PropertyType. + * + * @param type The type of the property to get the dimensions of. + * @returns The number of dimensions in a value of the given \ref PropertyType. + * For example, a value of \ref PropertyType::Scalar has one dimension. A value + * of \ref PropertyType::Mat4 and a value of \ref PropertyType::Vec4 both have + * four dimensions. + */ glm::length_t getDimensionsFromPropertyType(PropertyType type); +/** + * @brief Obtains the number of components in the given \ref PropertyType. + * + * @param type The type of the property to get the component count of. + * @returns The number of components in a value of the given \ref PropertyType. + * For example, a value of \ref PropertyType::Scalar has one component. A value + * of \ref PropertyType::Vec4 has four components. A value of \ref + * PropertyType::Mat4 has 16 components. + */ glm::length_t getComponentCountFromPropertyType(PropertyType type); +/** + * @brief Obtains the size in bytes of a value of this \ref + * PropertyComponentType. + * + * @param componentType The component type to get the size of. + * @returns The size in bytes that a value matching this \ref + * PropertyComponentType. For example, a value of \ref + * PropertyComponentType::Uint32 would take up four bytes. + */ size_t getSizeOfComponentType(PropertyComponentType componentType); } // namespace CesiumGltf diff --git a/CesiumGltf/include/CesiumGltf/PropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyView.h index ed730d1e4..fdbe57e77 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyView.h @@ -11,6 +11,9 @@ namespace CesiumGltf { +/** + * @brief The type used for fields of \ref PropertyViewStatus. + */ typedef int32_t PropertyViewStatusType; /** diff --git a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangle.h b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangle.h index 95e0ef086..c65d11e37 100644 --- a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangle.h +++ b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangle.h @@ -13,6 +13,9 @@ namespace CesiumQuantizedMeshTerrain { */ struct CESIUMQUANTIZEDMESHTERRAIN_API AvailabilityRectangle final : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "AvailabilityRectangle"; /** diff --git a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerSpec.h b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerSpec.h index a6e320198..9c39ec21a 100644 --- a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerSpec.h +++ b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerSpec.h @@ -17,6 +17,9 @@ namespace CesiumQuantizedMeshTerrain { */ struct CESIUMQUANTIZEDMESHTERRAIN_API LayerSpec : public CesiumUtility::ExtensibleObject { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "Layer"; /** diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index f0b692195..1af199be3 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -86,8 +86,6 @@ if(DOXYGEN_FOUND) set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "../README.md") set(DOXYGEN_EXCLUDE_PATTERNS "*/node_modules/*") set(DOXYGEN_IMAGE_PATH "./") - set(DOXYGEN_WARN_NO_PARAMDOC YES) - set(DOXYGEN_WARN_IF_UNDOC_ENUM_VAL YES) # Add support for Mermaid charts using the @mermaid command. set(DOXYGEN_HTML_EXTRA_FILES "${CMAKE_CURRENT_LIST_DIR}/assets/mermaid.min.js ${CMAKE_CURRENT_LIST_DIR}/assets/mingcute.json.js") diff --git a/doc/topics/glossary.md b/doc/topics/glossary.md index fc24bbf2c..0154b6e4b 100644 --- a/doc/topics/glossary.md +++ b/doc/topics/glossary.md @@ -4,6 +4,6 @@ Terminology and jargon used throughout Cesium Native and its documentation is co ## Earth-Centered, Earth-Fixed Coordinates (ECEF) {#glossary-ecef} -\link https://en.wikipedia.org/wiki/Earth-centered,_Earth-fixed_coordinate_system Earth-Centered, Earth-Fixed (ECEF)\endlink coordinates are, as the name describes, in a 3D Cartesian coordinate system fixed to the Earth with the center at the center of the Earth's ellipsoid. As the Earth spins, the coordinate system spins with it, meaning an ECEF coordinate and its equivalent coordinate in a cartographic coordinate system (like Longitude, Latitude, Height) will remain the same. +Earth-Centered, Earth-Fixed (ECEF) coordinates are, as the name describes, in a 3D Cartesian coordinate system fixed to the Earth with the center at the center of the Earth's ellipsoid. As the Earth spins, the coordinate system spins with it, meaning an ECEF coordinate and its equivalent coordinate in a cartographic coordinate system (like Longitude, Latitude, Height) will remain the same. For example, Philadelphia, Pennsylvania is located at -75.1652215° longitude, 39.952839° latitude, at a height of 14.34m. The equivalent ECEF coordinates are (1253556.69, -4732887.41, 4073982.02). \ No newline at end of file diff --git a/tools/generate-classes/generate.js b/tools/generate-classes/generate.js index ac1f2c772..ab422f5dc 100644 --- a/tools/generate-classes/generate.js +++ b/tools/generate-classes/generate.js @@ -97,6 +97,9 @@ function generate(options, schema, writers) { * @brief ${schema.description ? schema.description : schema.title} */ struct ${namespace.toUpperCase()}_API ${name}${thisConfig.toBeInherited ? "Spec" : (thisConfig.isBaseClass ? "" : " final")} : public ${base} { + /** + * @brief The original name of this type. + */ static constexpr const char* TypeName = "${name}"; ${thisConfig.extensionName ? `static constexpr const char* ExtensionName = "${thisConfig.extensionName}";` : ""} From f91818e0392f65859fcc0077bde4692a669e1941 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Wed, 11 Dec 2024 15:33:30 -0500 Subject: [PATCH 05/12] Even more documentation --- .../Extension3dTilesBoundingVolumeS2.h | 2 + .../include/Cesium3DTilesReader/AssetReader.h | 4 +- .../Cesium3DTilesReader/AvailabilityReader.h | 4 +- .../BoundingVolumeReader.h | 4 +- .../Cesium3DTilesReader/BufferReader.h | 4 +- .../Cesium3DTilesReader/BufferViewReader.h | 4 +- .../Cesium3DTilesReader/ClassPropertyReader.h | 4 +- .../include/Cesium3DTilesReader/ClassReader.h | 4 +- .../ClassStatisticsReader.h | 4 +- .../Cesium3DTilesReader/ContentReader.h | 4 +- .../include/Cesium3DTilesReader/EnumReader.h | 4 +- .../Cesium3DTilesReader/EnumValueReader.h | 4 +- .../Extension3dTilesBoundingVolumeS2Reader.h | 4 +- .../Cesium3DTilesReader/GroupMetadataReader.h | 4 +- .../ImplicitTilingReader.h | 4 +- .../MetadataEntityReader.h | 4 +- .../Cesium3DTilesReader/PropertiesReader.h | 4 +- .../PropertyStatisticsReader.h | 4 +- .../PropertyTablePropertyReader.h | 4 +- .../Cesium3DTilesReader/PropertyTableReader.h | 4 +- .../Cesium3DTilesReader/SchemaReader.h | 4 +- .../Cesium3DTilesReader/StatisticsReader.h | 4 +- .../Cesium3DTilesReader/SubtreeReader.h | 4 +- .../Cesium3DTilesReader/SubtreesReader.h | 4 +- .../include/Cesium3DTilesReader/TileReader.h | 4 +- .../Cesium3DTilesReader/TilesetReader.h | 4 +- .../Cesium3DTilesReader/SubtreeFileReader.h | 44 ++++++++-- .../IPrepareRendererResources.h | 13 +++ .../RasterMappedTo3DTile.h | 10 ++- .../Cesium3DTilesSelection/TileLoadResult.h | 4 + .../TileOcclusionRendererProxy.h | 3 + .../TilesetLoadFailureDetails.h | 2 +- .../TilesetSharedAssetSystem.h | 4 + .../Cesium3DTilesSelection/ViewUpdateResult.h | 30 ++++++- .../generated/src/TilesetJsonWriter.h | 2 + CesiumAsync/include/CesiumAsync/Promise.h | 10 +++ .../include/CesiumAsync/SharedFuture.h | 17 +++- .../LocalHorizontalCoordinateSystem.h | 4 + .../ExtensionBufferExtMeshoptCompression.h | 2 + ...ExtensionBufferViewExtMeshoptCompression.h | 2 + .../ExtensionCesiumPrimitiveOutline.h | 2 + .../include/CesiumGltf/ExtensionCesiumRTC.h | 2 + .../CesiumGltf/ExtensionCesiumTileEdges.h | 2 + .../CesiumGltf/ExtensionExtInstanceFeatures.h | 2 + .../CesiumGltf/ExtensionExtMeshFeatures.h | 2 + .../ExtensionExtMeshGpuInstancing.h | 2 + .../ExtensionKhrDracoMeshCompression.h | 2 + .../CesiumGltf/ExtensionKhrMaterialsUnlit.h | 2 + .../CesiumGltf/ExtensionKhrTextureBasisu.h | 2 + .../CesiumGltf/ExtensionKhrTextureTransform.h | 2 + ...ensionMeshPrimitiveExtStructuralMetadata.h | 2 + ...tensionMeshPrimitiveKhrMaterialsVariants.h | 2 + .../ExtensionModelKhrMaterialsVariants.h | 2 + .../ExtensionModelMaxarMeshVariants.h | 2 + .../ExtensionNodeMaxarMeshVariants.h | 2 + .../include/CesiumGltf/ExtensionTextureWebp.h | 2 + .../include/CesiumGltf/AccessorUtility.h | 4 +- CesiumGltf/include/CesiumGltf/AccessorView.h | 4 +- .../include/CesiumGltf/Ktx2TranscodeTargets.h | 87 ++++++++++++++++++- .../PropertyAttributePropertyView.h | 8 +- .../CesiumGltf/PropertyAttributeView.h | 15 ++-- .../CesiumGltf/PropertyTablePropertyView.h | 8 +- .../include/CesiumGltf/PropertyTableView.h | 42 ++++----- .../CesiumGltf/PropertyTexturePropertyView.h | 14 +++ .../include/CesiumGltf/PropertyTextureView.h | 6 +- .../CesiumGltf/PropertyTransformations.h | 78 +++++++++++++++++ CesiumGltf/include/CesiumGltf/PropertyType.h | 35 +++++++- .../include/CesiumGltf/PropertyTypeTraits.h | 43 +++++++++ CesiumGltf/include/CesiumGltf/PropertyView.h | 56 ++++++++++++ .../include/CesiumGltf/SamplerUtility.h | 18 ++++ .../include/CesiumGltfContent/GltfUtilities.h | 71 +++++++++++++++ .../include/CesiumGltfReader/AccessorReader.h | 4 +- .../AccessorSparseIndicesReader.h | 4 +- .../CesiumGltfReader/AccessorSparseReader.h | 4 +- .../AccessorSparseValuesReader.h | 4 +- .../CesiumGltfReader/AnimationChannelReader.h | 4 +- .../AnimationChannelTargetReader.h | 4 +- .../CesiumGltfReader/AnimationReader.h | 4 +- .../CesiumGltfReader/AnimationSamplerReader.h | 4 +- .../include/CesiumGltfReader/AssetReader.h | 4 +- .../include/CesiumGltfReader/BufferReader.h | 4 +- .../CesiumGltfReader/BufferViewReader.h | 4 +- .../CameraOrthographicReader.h | 4 +- .../CameraPerspectiveReader.h | 4 +- .../include/CesiumGltfReader/CameraReader.h | 4 +- .../CesiumGltfReader/ClassPropertyReader.h | 4 +- .../include/CesiumGltfReader/ClassReader.h | 4 +- .../include/CesiumGltfReader/EnumReader.h | 4 +- .../CesiumGltfReader/EnumValueReader.h | 4 +- ...tensionBufferExtMeshoptCompressionReader.h | 4 +- ...ionBufferViewExtMeshoptCompressionReader.h | 4 +- .../ExtensionCesiumPrimitiveOutlineReader.h | 4 +- .../ExtensionCesiumRTCReader.h | 4 +- .../ExtensionCesiumTileEdgesReader.h | 4 +- ...ensionExtInstanceFeaturesFeatureIdReader.h | 4 +- .../ExtensionExtInstanceFeaturesReader.h | 4 +- .../ExtensionExtMeshFeaturesReader.h | 4 +- .../ExtensionExtMeshGpuInstancingReader.h | 4 +- .../ExtensionKhrDracoMeshCompressionReader.h | 4 +- .../ExtensionKhrMaterialsUnlitReader.h | 4 +- .../ExtensionKhrTextureBasisuReader.h | 4 +- .../ExtensionKhrTextureTransformReader.h | 4 +- ...MeshPrimitiveExtStructuralMetadataReader.h | 4 +- ...eKhrMaterialsVariantsMappingsValueReader.h | 4 +- ...nMeshPrimitiveKhrMaterialsVariantsReader.h | 4 +- ...ExtensionModelKhrMaterialsVariantsReader.h | 4 +- ...sionModelKhrMaterialsVariantsValueReader.h | 4 +- .../ExtensionModelMaxarMeshVariantsReader.h | 4 +- ...tensionModelMaxarMeshVariantsValueReader.h | 4 +- ...NodeMaxarMeshVariantsMappingsValueReader.h | 4 +- .../ExtensionNodeMaxarMeshVariantsReader.h | 4 +- .../ExtensionTextureWebpReader.h | 4 +- .../CesiumGltfReader/FeatureIdReader.h | 4 +- .../CesiumGltfReader/FeatureIdTextureReader.h | 4 +- .../include/CesiumGltfReader/ImageReader.h | 4 +- .../MaterialNormalTextureInfoReader.h | 4 +- .../MaterialOcclusionTextureInfoReader.h | 4 +- .../MaterialPBRMetallicRoughnessReader.h | 4 +- .../include/CesiumGltfReader/MaterialReader.h | 4 +- .../CesiumGltfReader/MeshPrimitiveReader.h | 4 +- .../include/CesiumGltfReader/MeshReader.h | 4 +- .../include/CesiumGltfReader/ModelReader.h | 4 +- .../include/CesiumGltfReader/NodeReader.h | 4 +- .../PropertyAttributePropertyReader.h | 4 +- .../PropertyAttributeReader.h | 4 +- .../PropertyTablePropertyReader.h | 4 +- .../CesiumGltfReader/PropertyTableReader.h | 4 +- .../PropertyTexturePropertyReader.h | 4 +- .../CesiumGltfReader/PropertyTextureReader.h | 4 +- .../include/CesiumGltfReader/SamplerReader.h | 4 +- .../include/CesiumGltfReader/SceneReader.h | 4 +- .../include/CesiumGltfReader/SchemaReader.h | 4 +- .../include/CesiumGltfReader/SkinReader.h | 4 +- .../CesiumGltfReader/TextureInfoReader.h | 4 +- .../include/CesiumGltfReader/TextureReader.h | 4 +- .../CesiumGltfReader/GltfSharedAssetSystem.h | 16 ++++ .../generated/src/ModelJsonWriter.h | 38 ++++++++ .../include/CesiumIonClient/ApplicationData.h | 7 +- .../include/CesiumIonClient/Connection.h | 20 +++++ .../include/CesiumIonClient/Response.h | 30 +++++++ .../include/CesiumJsonReader/IJsonHandler.h | 29 +++++++ .../include/CesiumJsonWriter/JsonWriter.h | 2 +- .../CesiumJsonWriter/PrettyJsonWriter.h | 38 ++++++-- .../AvailabilityRectangleReader.h | 4 +- .../CesiumQuantizedMeshTerrain/LayerReader.h | 4 +- .../CesiumRasterOverlays/RasterOverlay.h | 7 ++ .../RasterOverlayLoadFailureDetails.h | 2 +- .../CesiumRasterOverlays/RasterOverlayTile.h | 7 +- .../include/CesiumUtility/DoublyLinkedList.h | 3 + .../include/CesiumUtility/IntrusivePointer.h | 6 ++ .../include/CesiumUtility/JsonValue.h | 9 ++ CesiumUtility/include/CesiumUtility/Result.h | 38 ++++++++ tools/generate-classes/generate.js | 66 +++++++------- 153 files changed, 1067 insertions(+), 285 deletions(-) diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h index 517c79d8a..15360c116 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h @@ -17,6 +17,8 @@ struct CESIUM3DTILES_API Extension3dTilesBoundingVolumeS2 final * @brief The original name of this type. */ static constexpr const char* TypeName = "Extension3dTilesBoundingVolumeS2"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "3DTILES_bounding_volume_S2"; /** diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AssetReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AssetReader.h index dd6f0a74e..caa8dfc31 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AssetReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AssetReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API AssetReader { /** * @brief Reads an instance of Asset from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API AssetReader { /** * @brief Reads an array of instances of Asset from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AvailabilityReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AvailabilityReader.h index ec668c8ed..032d7a7cf 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AvailabilityReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/AvailabilityReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API AvailabilityReader { /** * @brief Reads an instance of Availability from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -60,7 +60,7 @@ class CESIUM3DTILESREADER_API AvailabilityReader { /** * @brief Reads an array of instances of Availability from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BoundingVolumeReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BoundingVolumeReader.h index c3c90ceca..3fb1923f5 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BoundingVolumeReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BoundingVolumeReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API BoundingVolumeReader { /** * @brief Reads an instance of BoundingVolume from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API BoundingVolumeReader { * @brief Reads an array of instances of BoundingVolume from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferReader.h index 3260b955f..191b1fd6d 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API BufferReader { /** * @brief Reads an instance of Buffer from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API BufferReader { /** * @brief Reads an array of instances of Buffer from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferViewReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferViewReader.h index 163553f3a..3b8ab2394 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferViewReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/BufferViewReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API BufferViewReader { /** * @brief Reads an instance of BufferView from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API BufferViewReader { /** * @brief Reads an array of instances of BufferView from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassPropertyReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassPropertyReader.h index 30acf302f..dcad1db81 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassPropertyReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassPropertyReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API ClassPropertyReader { /** * @brief Reads an instance of ClassProperty from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API ClassPropertyReader { * @brief Reads an array of instances of ClassProperty from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassReader.h index 8817d59cb..7819a151d 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API ClassReader { /** * @brief Reads an instance of Class from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API ClassReader { /** * @brief Reads an array of instances of Class from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassStatisticsReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassStatisticsReader.h index 53badd0c3..003f876a9 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassStatisticsReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ClassStatisticsReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API ClassStatisticsReader { /** * @brief Reads an instance of ClassStatistics from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API ClassStatisticsReader { * @brief Reads an array of instances of ClassStatistics from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ContentReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ContentReader.h index 0f6a889d6..3f20ca1ab 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ContentReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ContentReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API ContentReader { /** * @brief Reads an instance of Content from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API ContentReader { /** * @brief Reads an array of instances of Content from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumReader.h index 1f0fced52..dd1a08c2a 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API EnumReader { /** * @brief Reads an instance of Enum from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API EnumReader { /** * @brief Reads an array of instances of Enum from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumValueReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumValueReader.h index a6501ff63..fd0c8e302 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumValueReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/EnumValueReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API EnumValueReader { /** * @brief Reads an instance of EnumValue from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API EnumValueReader { /** * @brief Reads an array of instances of EnumValue from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/Extension3dTilesBoundingVolumeS2Reader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/Extension3dTilesBoundingVolumeS2Reader.h index 73e5b7a15..c921b547d 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/Extension3dTilesBoundingVolumeS2Reader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/Extension3dTilesBoundingVolumeS2Reader.h @@ -54,7 +54,7 @@ class CESIUM3DTILESREADER_API Extension3dTilesBoundingVolumeS2Reader { * @brief Reads an instance of Extension3dTilesBoundingVolumeS2 from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -65,7 +65,7 @@ class CESIUM3DTILESREADER_API Extension3dTilesBoundingVolumeS2Reader { * @brief Reads an array of instances of Extension3dTilesBoundingVolumeS2 from * a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/GroupMetadataReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/GroupMetadataReader.h index 4cbffbd1d..e3df4ed57 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/GroupMetadataReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/GroupMetadataReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API GroupMetadataReader { /** * @brief Reads an instance of GroupMetadata from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API GroupMetadataReader { * @brief Reads an array of instances of GroupMetadata from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ImplicitTilingReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ImplicitTilingReader.h index a791b9230..d0af9a363 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ImplicitTilingReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/ImplicitTilingReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API ImplicitTilingReader { /** * @brief Reads an instance of ImplicitTiling from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API ImplicitTilingReader { * @brief Reads an array of instances of ImplicitTiling from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/MetadataEntityReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/MetadataEntityReader.h index fa6cbadae..7a62214b5 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/MetadataEntityReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/MetadataEntityReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API MetadataEntityReader { /** * @brief Reads an instance of MetadataEntity from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API MetadataEntityReader { * @brief Reads an array of instances of MetadataEntity from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertiesReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertiesReader.h index 46d8df96d..65049a39d 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertiesReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertiesReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API PropertiesReader { /** * @brief Reads an instance of Properties from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API PropertiesReader { /** * @brief Reads an array of instances of Properties from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyStatisticsReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyStatisticsReader.h index 5ff6a9c71..93770c725 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyStatisticsReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyStatisticsReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API PropertyStatisticsReader { /** * @brief Reads an instance of PropertyStatistics from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API PropertyStatisticsReader { * @brief Reads an array of instances of PropertyStatistics from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTablePropertyReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTablePropertyReader.h index 523c621b2..b94e4893a 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTablePropertyReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTablePropertyReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API PropertyTablePropertyReader { /** * @brief Reads an instance of PropertyTableProperty from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API PropertyTablePropertyReader { * @brief Reads an array of instances of PropertyTableProperty from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTableReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTableReader.h index 4f6de3b8a..a3896128e 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTableReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/PropertyTableReader.h @@ -51,7 +51,7 @@ class CESIUM3DTILESREADER_API PropertyTableReader { /** * @brief Reads an instance of PropertyTable from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUM3DTILESREADER_API PropertyTableReader { * @brief Reads an array of instances of PropertyTable from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SchemaReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SchemaReader.h index f770a4f34..04f6574f3 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SchemaReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SchemaReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API SchemaReader { /** * @brief Reads an instance of Schema from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API SchemaReader { /** * @brief Reads an array of instances of Schema from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/StatisticsReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/StatisticsReader.h index b32a57485..3b949c9f4 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/StatisticsReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/StatisticsReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API StatisticsReader { /** * @brief Reads an instance of Statistics from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API StatisticsReader { /** * @brief Reads an array of instances of Statistics from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreeReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreeReader.h index 5cb9e1796..7b8eb0298 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreeReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreeReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API SubtreeReader { /** * @brief Reads an instance of Subtree from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API SubtreeReader { /** * @brief Reads an array of instances of Subtree from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreesReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreesReader.h index 3c2aaddcc..18307abd0 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreesReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/SubtreesReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API SubtreesReader { /** * @brief Reads an instance of Subtrees from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API SubtreesReader { /** * @brief Reads an array of instances of Subtrees from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TileReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TileReader.h index c97b76ae3..1b5d21e78 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TileReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TileReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API TileReader { /** * @brief Reads an instance of Tile from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API TileReader { /** * @brief Reads an array of instances of Tile from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TilesetReader.h b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TilesetReader.h index dc9d72563..17886e339 100644 --- a/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TilesetReader.h +++ b/Cesium3DTilesReader/generated/include/Cesium3DTilesReader/TilesetReader.h @@ -50,7 +50,7 @@ class CESIUM3DTILESREADER_API TilesetReader { /** * @brief Reads an instance of Tileset from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUM3DTILESREADER_API TilesetReader { /** * @brief Reads an array of instances of Tileset from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/Cesium3DTilesReader/include/Cesium3DTilesReader/SubtreeFileReader.h b/Cesium3DTilesReader/include/Cesium3DTilesReader/SubtreeFileReader.h index 79bf63b60..2bf681a3e 100644 --- a/Cesium3DTilesReader/include/Cesium3DTilesReader/SubtreeFileReader.h +++ b/Cesium3DTilesReader/include/Cesium3DTilesReader/SubtreeFileReader.h @@ -40,11 +40,11 @@ class CESIUM3DTILESREADER_API SubtreeFileReader { /** * @brief Asynchronously loads a subtree from a URL. * - * Please note that the `SubtreeFileReader` instance must remain valid until - * the returned future resolves or rejects. Destroying it earlier will result - * in undefined behavior. One easy way to achieve this is to construct the - * reader with `std::make_shared` and capture the `std::shared_ptr` in the - * continuation lambda. + * \attention Please note that the `SubtreeFileReader` instance must remain + * valid until the returned future resolves or rejects. Destroying it earlier + * will result in undefined behavior. One easy way to achieve this is to + * construct the reader with `std::make_shared` and capture the + * `std::shared_ptr` in the continuation lambda. * * @param asyncSystem The AsyncSystem used to do asynchronous work. * @param pAssetAccessor The accessor used to retrieve the URL and any other @@ -62,6 +62,21 @@ class CESIUM3DTILESREADER_API SubtreeFileReader { const std::vector& headers = {}) const noexcept; + /** + * @brief Asynchronously loads a subtree from a request. + * + * \attention Please note that the `SubtreeFileReader` instance must remain + * valid until the returned future resolves or rejects. Destroying it earlier + * will result in undefined behavior. One easy way to achieve this is to + * construct the reader with `std::make_shared` and capture the + * `std::shared_ptr` in the continuation lambda. + * + * @param asyncSystem The AsyncSystem used to do asynchronous work. + * @param pAssetAccessor The accessor used to retrieve the URL and any other + * required resources. + * @param pRequest The request to get the subtree file. + * @return A future that resolves to the result of loading the subtree. + */ CesiumAsync::Future> load( const CesiumAsync::AsyncSystem& asyncSystem, @@ -69,6 +84,25 @@ class CESIUM3DTILESREADER_API SubtreeFileReader { const std::shared_ptr& pRequest) const noexcept; + /** + * @brief Asynchronously loads loads a subtree from data obtained from a URL. + * + * \attention Please note that the `SubtreeFileReader` instance must remain + * valid until the returned future resolves or rejects. Destroying it earlier + * will result in undefined behavior. One easy way to achieve this is to + * construct the reader with `std::make_shared` and capture the + * `std::shared_ptr` in the continuation lambda. + * + * @param asyncSystem The AsyncSystem used to do asynchronous work. + * @param pAssetAccessor The accessor used to retrieve the URL and any other + * required resources. + * @param url The URL from which the subtree file was obtained. + * @param requestHeaders Headers that were included in the request for the + * initial subtree file and should be included for any additional resources + * that are required. + * @param data The subtree file data that was obtained. + * @return A future that resolves to the result of loading the subtree. + */ CesiumAsync::Future> load( const CesiumAsync::AsyncSystem& asyncSystem, diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/IPrepareRendererResources.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/IPrepareRendererResources.h index c2b5acd26..323686127 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/IPrepareRendererResources.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/IPrepareRendererResources.h @@ -37,7 +37,20 @@ class Tile; * IPrepareRendererResources::prepareInLoadThread "prepareInLoadThread". */ struct TileLoadResultAndRenderResources { + /** + * @brief The \ref TileLoadResult passed to \ref + * IPrepareRendererResources::prepareInLoadThread "prepareInLoadThread" in the + * first place. + */ TileLoadResult result; + /** + * @brief A pointer to the render resources for this tile. + + * Cesium Native doesn't know what this pointer means, and doesn't need to + * know what it means. This pointer is stored in a tile's content as a \ref + * TileRenderContent only so that it can be returned to the implementing + * application as needed and used for rendering there. + */ void* pRenderResources{nullptr}; }; diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/RasterMappedTo3DTile.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/RasterMappedTo3DTile.h index 0ddaaf07b..a88447e4d 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/RasterMappedTo3DTile.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/RasterMappedTo3DTile.h @@ -153,9 +153,10 @@ class RasterMappedTo3DTile final { /** * @brief Update this tile during the update of its owner. * - * This is only supposed to be called by {@link Cesium3DTilesSelection::TilesetContentManager::updateDoneState}. It - * will return whether there is a more detailed version of the - * raster data available. + * This is only supposed to be called by \ref + * Cesium3DTilesSelection::TilesetContentManager + * "TilesetContentManager::updateDoneState". It will return whether there is a + * more detailed version of the raster data available. * * @param prepareRendererResources The {@link IPrepareRendererResources} used to * create render resources for raster overlay @@ -165,6 +166,9 @@ class RasterMappedTo3DTile final { CesiumRasterOverlays::RasterOverlayTile::MoreDetailAvailable update(IPrepareRendererResources& prepareRendererResources, Tile& tile); + /** + * @copydoc CesiumRasterOverlays::RasterOverlayTile::isMoreDetailAvailable + */ bool isMoreDetailAvailable() const noexcept; /** diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TileLoadResult.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TileLoadResult.h index c020342d6..8e7288b9b 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TileLoadResult.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TileLoadResult.h @@ -139,6 +139,8 @@ struct CESIUM3DTILESSELECTION_API TileLoadResult { /** * @brief Create a result with Failed state * + * @param pAssetAccessor The \ref CesiumAsync::IAssetAccessor "IAssetAccessor" + * used to load tiles. * @param pCompletedRequest The failed request */ static TileLoadResult createFailedResult( @@ -148,6 +150,8 @@ struct CESIUM3DTILESSELECTION_API TileLoadResult { /** * @brief Create a result with RetryLater state * + * @param pAssetAccessor The \ref CesiumAsync::IAssetAccessor "IAssetAccessor" + * used to load tiles. * @param pCompletedRequest The failed request */ static TileLoadResult createRetryLaterResult( diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TileOcclusionRendererProxy.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TileOcclusionRendererProxy.h index 18d6c8cc4..2b48d8801 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TileOcclusionRendererProxy.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TileOcclusionRendererProxy.h @@ -11,6 +11,9 @@ * @brief The occlusion state of a tile as reported by the renderer proxy. */ namespace Cesium3DTilesSelection { +/** + * @brief The current occlusion state of a tile, used for occlusion culling. + */ enum class CESIUM3DTILESSELECTION_API TileOcclusionState { /** * @brief The renderer does not yet know if the tile's bounding volume is diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h index de163c9c9..eb6a3d667 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h @@ -12,7 +12,7 @@ namespace Cesium3DTilesSelection { class Tileset; /** - * @brief The type of load that failed in {@link TilesetLoadFailureDetails}. + * @brief The type of load that failed in \ref TilesetLoadFailureDetails. */ enum class TilesetLoadType { /** diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetSharedAssetSystem.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetSharedAssetSystem.h index 2b2908a4a..a3472fd17 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetSharedAssetSystem.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetSharedAssetSystem.h @@ -10,6 +10,10 @@ namespace Cesium3DTilesSelection { class TilesetSharedAssetSystem : public CesiumGltfReader::GltfSharedAssetSystem { public: + /** + * @brief Obtains an `IntrusivePointer` to the `TilesetSharedAssetSystem` + * singleton. + */ static CesiumUtility::IntrusivePointer getDefault(); virtual ~TilesetSharedAssetSystem() = default; diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/ViewUpdateResult.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/ViewUpdateResult.h index 70c9034d5..b557bb162 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/ViewUpdateResult.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/ViewUpdateResult.h @@ -49,16 +49,42 @@ class CESIUM3DTILESSELECTION_API ViewUpdateResult final { */ int32_t mainThreadTileLoadQueueLength = 0; - //! @cond Doxygen_Suppress + /** + * @brief The number of tiles visited during tileset traversal this frame. + */ uint32_t tilesVisited = 0; + /** + * @brief The number of culled tiles visited during tileset traversal this + * frame. + */ uint32_t culledTilesVisited = 0; + /** + * @brief The number of tiles that were skipped because they were culled + * during tileset traversal this frame. + */ uint32_t tilesCulled = 0; + /** + * @brief The number of tiles occluded this frame. + */ uint32_t tilesOccluded = 0; + /** + * @brief The number of tiles still waiting to obtain a \ref + * TileOcclusionState this frame. + */ uint32_t tilesWaitingForOcclusionResults = 0; + /** + * @brief The number of tiles kicked from the load queue this frame. + */ uint32_t tilesKicked = 0; + /** + * @brief The maximum depth of the tile tree visited this frame. + */ uint32_t maxDepthVisited = 0; - //! @endcond + /** + * @brief The frame number. This is incremented every time \ref + * Tileset::updateView is called. + */ int32_t frameNumber = 0; }; diff --git a/Cesium3DTilesWriter/generated/src/TilesetJsonWriter.h b/Cesium3DTilesWriter/generated/src/TilesetJsonWriter.h index 5cd2acf51..17468c318 100644 --- a/Cesium3DTilesWriter/generated/src/TilesetJsonWriter.h +++ b/Cesium3DTilesWriter/generated/src/TilesetJsonWriter.h @@ -42,6 +42,8 @@ namespace Cesium3DTilesWriter { struct Extension3dTilesBoundingVolumeS2JsonWriter { using ValueType = Cesium3DTiles::Extension3dTilesBoundingVolumeS2; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "3DTILES_bounding_volume_S2"; static void write( diff --git a/CesiumAsync/include/CesiumAsync/Promise.h b/CesiumAsync/include/CesiumAsync/Promise.h index f94a7ff7e..69b846b0d 100644 --- a/CesiumAsync/include/CesiumAsync/Promise.h +++ b/CesiumAsync/include/CesiumAsync/Promise.h @@ -83,11 +83,21 @@ template <> class Promise { * @brief Will be called when the task completed successfully. */ void resolve() const { this->_pEvent->set(); } + + /** + * @brief Will be called when the task failed. + * + * @param error The error that caused the task to fail. + */ template void reject(TException error) const { this->_pEvent->set_exception(std::make_exception_ptr(error)); } + /** * @brief Will be called when the task failed. + * + * @param error The error, captured with `std::current_exception`, that + * caused the task to fail. */ void reject(const std::exception_ptr& error) const { this->_pEvent->set_exception(error); diff --git a/CesiumAsync/include/CesiumAsync/SharedFuture.h b/CesiumAsync/include/CesiumAsync/SharedFuture.h index 7445abe72..530bfe9fa 100644 --- a/CesiumAsync/include/CesiumAsync/SharedFuture.h +++ b/CesiumAsync/include/CesiumAsync/SharedFuture.h @@ -213,8 +213,8 @@ template class SharedFuture final { /** * @brief Waits for the future to resolve or reject and returns the result. * - * This method must not be called from the main thread, the one that calls - * {@link AsyncSystem::dispatchMainThreadTasks}. Doing so can lead to a + * \attention This method must not be called from the main thread, the one + * that calls {@link AsyncSystem::dispatchMainThreadTasks}. Doing so can lead to a * deadlock because the main thread tasks will never complete while this * method is blocking the main thread. * @@ -231,7 +231,18 @@ template class SharedFuture final { return this->_task.get(); } - /** @copydoc wait */ + /** + * @brief Waits for the future to resolve or reject. + * + * \attention This method must not be called from the main thread, the one + * that calls {@link AsyncSystem::dispatchMainThreadTasks}. Doing so can lead to a + * deadlock because the main thread tasks will never complete while this + * method is blocking the main thread. + * + * To wait in the main thread, use {@link waitInMainThread} instead. + * + * @throws An exception if the future rejected. + */ template < typename U = T, std::enable_if_t, int> = 0, diff --git a/CesiumGeospatial/include/CesiumGeospatial/LocalHorizontalCoordinateSystem.h b/CesiumGeospatial/include/CesiumGeospatial/LocalHorizontalCoordinateSystem.h index 2cbead2b3..cf924f57d 100644 --- a/CesiumGeospatial/include/CesiumGeospatial/LocalHorizontalCoordinateSystem.h +++ b/CesiumGeospatial/include/CesiumGeospatial/LocalHorizontalCoordinateSystem.h @@ -12,6 +12,10 @@ class Cartographic; namespace CesiumGeospatial { +/** + * @brief A local direction, consisting of the four cardinal directions (North, + * South, East, West) combined with Up and Down. + */ enum class LocalDirection { East, North, West, South, Up, Down }; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferExtMeshoptCompression.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferExtMeshoptCompression.h index f7cfb7c86..b1c787066 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferExtMeshoptCompression.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferExtMeshoptCompression.h @@ -16,6 +16,8 @@ struct CESIUMGLTF_API ExtensionBufferExtMeshoptCompression final */ static constexpr const char* TypeName = "ExtensionBufferExtMeshoptCompression"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_meshopt_compression"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h index 2ab374510..0c860296a 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h @@ -19,6 +19,8 @@ struct CESIUMGLTF_API ExtensionBufferViewExtMeshoptCompression final */ static constexpr const char* TypeName = "ExtensionBufferViewExtMeshoptCompression"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_meshopt_compression"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumPrimitiveOutline.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumPrimitiveOutline.h index 69b9fc1c4..a747be349 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumPrimitiveOutline.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumPrimitiveOutline.h @@ -18,6 +18,8 @@ struct CESIUMGLTF_API ExtensionCesiumPrimitiveOutline final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionCesiumPrimitiveOutline"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "CESIUM_primitive_outline"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumRTC.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumRTC.h index 6e655ec35..f67a8ea52 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumRTC.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumRTC.h @@ -17,6 +17,8 @@ struct CESIUMGLTF_API ExtensionCesiumRTC final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionCesiumRTC"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "CESIUM_RTC"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumTileEdges.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumTileEdges.h index 05ee9baa9..f339aee8d 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumTileEdges.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionCesiumTileEdges.h @@ -17,6 +17,8 @@ struct CESIUMGLTF_API ExtensionCesiumTileEdges final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionCesiumTileEdges"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "CESIUM_tile_edges"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeatures.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeatures.h index a225190ed..67a99ad87 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeatures.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtInstanceFeatures.h @@ -18,6 +18,8 @@ struct CESIUMGLTF_API ExtensionExtInstanceFeatures final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionExtInstanceFeatures"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_instance_features"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshFeatures.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshFeatures.h index 3012a2d40..f19afcbbe 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshFeatures.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshFeatures.h @@ -18,6 +18,8 @@ struct CESIUMGLTF_API ExtensionExtMeshFeatures final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionExtMeshFeatures"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_mesh_features"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshGpuInstancing.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshGpuInstancing.h index e881b525c..6a46c84ad 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshGpuInstancing.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionExtMeshGpuInstancing.h @@ -19,6 +19,8 @@ struct CESIUMGLTF_API ExtensionExtMeshGpuInstancing final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionExtMeshGpuInstancing"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_mesh_gpu_instancing"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrDracoMeshCompression.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrDracoMeshCompression.h index d551e8904..e8139bd68 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrDracoMeshCompression.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrDracoMeshCompression.h @@ -19,6 +19,8 @@ struct CESIUMGLTF_API ExtensionKhrDracoMeshCompression final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionKhrDracoMeshCompression"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_draco_mesh_compression"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrMaterialsUnlit.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrMaterialsUnlit.h index bebf60657..292d1e6f5 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrMaterialsUnlit.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrMaterialsUnlit.h @@ -15,6 +15,8 @@ struct CESIUMGLTF_API ExtensionKhrMaterialsUnlit final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionKhrMaterialsUnlit"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_materials_unlit"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureBasisu.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureBasisu.h index 4c13b25e7..cee94ade9 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureBasisu.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureBasisu.h @@ -18,6 +18,8 @@ struct CESIUMGLTF_API ExtensionKhrTextureBasisu final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionKhrTextureBasisu"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_texture_basisu"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureTransform.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureTransform.h index 80f0b7ddf..fe3196d86 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureTransform.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionKhrTextureTransform.h @@ -20,6 +20,8 @@ struct CESIUMGLTF_API ExtensionKhrTextureTransform final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionKhrTextureTransform"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_texture_transform"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveExtStructuralMetadata.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveExtStructuralMetadata.h index 0d469fd0c..462a9e7a9 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveExtStructuralMetadata.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveExtStructuralMetadata.h @@ -19,6 +19,8 @@ struct CESIUMGLTF_API ExtensionMeshPrimitiveExtStructuralMetadata final */ static constexpr const char* TypeName = "ExtensionMeshPrimitiveExtStructuralMetadata"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_structural_metadata"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariants.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariants.h index 694666273..2bbacbb38 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariants.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionMeshPrimitiveKhrMaterialsVariants.h @@ -19,6 +19,8 @@ struct CESIUMGLTF_API ExtensionMeshPrimitiveKhrMaterialsVariants final */ static constexpr const char* TypeName = "ExtensionMeshPrimitiveKhrMaterialsVariants"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_materials_variants"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariants.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariants.h index 5d81013df..64e73472c 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariants.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariants.h @@ -18,6 +18,8 @@ struct CESIUMGLTF_API ExtensionModelKhrMaterialsVariants final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionModelKhrMaterialsVariants"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_materials_variants"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariants.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariants.h index 299fd060d..0008d4783 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariants.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelMaxarMeshVariants.h @@ -19,6 +19,8 @@ struct CESIUMGLTF_API ExtensionModelMaxarMeshVariants final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionModelMaxarMeshVariants"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "MAXAR_mesh_variants"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariants.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariants.h index a3202bbe7..49ce44167 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariants.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionNodeMaxarMeshVariants.h @@ -18,6 +18,8 @@ struct CESIUMGLTF_API ExtensionNodeMaxarMeshVariants final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionNodeMaxarMeshVariants"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "MAXAR_mesh_variants"; /** diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionTextureWebp.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionTextureWebp.h index a9a229c4d..16fe5b7ac 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionTextureWebp.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionTextureWebp.h @@ -17,6 +17,8 @@ struct CESIUMGLTF_API ExtensionTextureWebp final * @brief The original name of this type. */ static constexpr const char* TypeName = "ExtensionTextureWebp"; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_texture_webp"; /** diff --git a/CesiumGltf/include/CesiumGltf/AccessorUtility.h b/CesiumGltf/include/CesiumGltf/AccessorUtility.h index 14a83d3ef..f3067c268 100644 --- a/CesiumGltf/include/CesiumGltf/AccessorUtility.h +++ b/CesiumGltf/include/CesiumGltf/AccessorUtility.h @@ -321,8 +321,8 @@ struct TexCoordFromAccessor { }; /** - * Type definition for quaternion accessors, as used in ExtMeshGpuInstancing - * rotations and animation samplers. + * @brief Type definition for quaternion accessors, as used in + * ExtMeshGpuInstancing rotations and animation samplers. */ typedef std::variant< AccessorView>, diff --git a/CesiumGltf/include/CesiumGltf/AccessorView.h b/CesiumGltf/include/CesiumGltf/AccessorView.h index 367bbeb5b..004877721 100644 --- a/CesiumGltf/include/CesiumGltf/AccessorView.h +++ b/CesiumGltf/include/CesiumGltf/AccessorView.h @@ -56,12 +56,12 @@ enum class AccessorViewStatus { WrongSizeT, /** - * @brief The {@link Accessor:type} is invalid. + * @brief The {@link AccessorSpec:type} is invalid. */ InvalidType, /** - * @brief The {@link Accessor::componentType} is invalid. + * @brief The {@link AccessorSpec::componentType} is invalid. */ InvalidComponentType, diff --git a/CesiumGltf/include/CesiumGltf/Ktx2TranscodeTargets.h b/CesiumGltf/include/CesiumGltf/Ktx2TranscodeTargets.h index 4d0c7057c..103e491c4 100644 --- a/CesiumGltf/include/CesiumGltf/Ktx2TranscodeTargets.h +++ b/CesiumGltf/include/CesiumGltf/Ktx2TranscodeTargets.h @@ -5,23 +5,94 @@ namespace CesiumGltf { /** - * @brief Supported gpu compressed pixel formats. + * @brief Supported GPU compressed pixel formats. */ enum class CESIUMGLTF_API GpuCompressedPixelFormat { + /** + * @brief The data is uncompressed. + */ NONE, + /** + * @brief The data is an ETC1-compressed + * RGB888 texture. + */ ETC1_RGB, + /** + * @brief The data is an ETC2-compressed RGBA8888 texture. + */ ETC2_RGBA, + /** + * @brief The data is a BC1-compressed + * RGB565 texture. + */ BC1_RGB, + /** + * @brief The data is a BC3-compressed + * RGBA5658 texture. + */ BC3_RGBA, + /** + * @brief The data is a BC4-compressed + * R8 texture. + */ BC4_R, + /** + * @brief The data is a BC5-compressed + * RG88 texture. + */ BC5_RG, + /** + * @brief The data is a BC7-compressed + * RGBA8888 texture. + */ BC7_RGBA, + /** + * @brief The data is a PVRTC1-compressed + * RGB444 texture. + */ PVRTC1_4_RGB, + /** + * @brief The data is a PVRTC1-compressed + * RGBA4444 texture. + */ PVRTC1_4_RGBA, + /** + * @brief The data is a ASTC-compressed + * RGBA texture with a 4x4 block footprint. + */ ASTC_4x4_RGBA, + /** + * @brief The data is a PVRTC2-compressed + * RGB444 texture. + */ PVRTC2_4_RGB, + /** + * @brief The data is a PVRTC2-compressed + * RGBA4444 texture. + */ PVRTC2_4_RGBA, + /** + * @brief The data is a ETC2 + * R11 EAC-compressed texture with a single channel. + */ ETC2_EAC_R11, + /** + * @brief The data is a ETC2 + * RG11 EAC-compressed texture with two channels. + */ ETC2_EAC_RG11 }; @@ -36,19 +107,33 @@ enum class CESIUMGLTF_API GpuCompressedPixelFormat { * compressed pixel format with the corresponding name is supported. */ struct CESIUMGLTF_API SupportedGpuCompressedPixelFormats { + /** @copydoc GpuCompressedPixelFormat::ETC1_RGB */ bool ETC1_RGB{}; + /** @copydoc GpuCompressedPixelFormat::ETC2_RGBA */ bool ETC2_RGBA{}; + /** @copydoc GpuCompressedPixelFormat::BC1_RGB */ bool BC1_RGB{}; + /** @copydoc GpuCompressedPixelFormat::BC3_RGBA */ bool BC3_RGBA{}; + /** @copydoc GpuCompressedPixelFormat::BC4_R */ bool BC4_R{}; + /** @copydoc GpuCompressedPixelFormat::BC5_RG */ bool BC5_RG{}; + /** @copydoc GpuCompressedPixelFormat::BC7_RGBA */ bool BC7_RGBA{}; + /** @copydoc GpuCompressedPixelFormat::PVRTC1_4_RGB */ bool PVRTC1_4_RGB{}; + /** @copydoc GpuCompressedPixelFormat::PVRTC1_4_RGBA */ bool PVRTC1_4_RGBA{}; + /** @copydoc GpuCompressedPixelFormat::ASTC_4x4_RGBA */ bool ASTC_4x4_RGBA{}; + /** @copydoc GpuCompressedPixelFormat::PVRTC2_4_RGB */ bool PVRTC2_4_RGB{}; + /** @copydoc GpuCompressedPixelFormat::PVRTC2_4_RGBA */ bool PVRTC2_4_RGBA{}; + /** @copydoc GpuCompressedPixelFormat::ETC2_EAC_R11 */ bool ETC2_EAC_R11{}; + /** @copydoc GpuCompressedPixelFormat::ETC2_EAC_RG11 */ bool ETC2_EAC_RG11{}; }; diff --git a/CesiumGltf/include/CesiumGltf/PropertyAttributePropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyAttributePropertyView.h index 85f592033..aa5457b00 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyAttributePropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyAttributePropertyView.h @@ -140,8 +140,8 @@ class PropertyAttributePropertyView /** * @brief Constructs an instance of an empty property that specifies a default * value. Although this property has no data, it can return the default value - * when {@link PropertyAttributePropertyView::get} is called. However, - * {@link PropertyAttributePropertyView::getRaw} cannot be used. + * when {@link PropertyAttributePropertyView::get} is called. However, + * {@link PropertyAttributePropertyView::getRaw} cannot be used. * * @param classProperty The {@link ClassProperty} this property conforms to. * @param size The number of elements in the primitive's POSITION accessor. @@ -296,8 +296,8 @@ class PropertyAttributePropertyView /** * @brief Constructs an instance of an empty property that specifies a default * value. Although this property has no data, it can return the default value - * when {@link PropertyAttributePropertyView::get} is called. However, - * {@link PropertyAttributePropertyView::getRaw} cannot be used. + * when {@link PropertyAttributePropertyView::get} is called. However, + * {@link PropertyAttributePropertyView::getRaw} cannot be used. * * @param classProperty The {@link ClassProperty} this property conforms to. * @param size The number of elements in the primitive's POSITION accessor. diff --git a/CesiumGltf/include/CesiumGltf/PropertyAttributeView.h b/CesiumGltf/include/CesiumGltf/PropertyAttributeView.h index 9e74249ba..478169b58 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyAttributeView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyAttributeView.h @@ -44,7 +44,8 @@ enum class PropertyAttributeViewStatus { * * @param accessor The accessor whose type will be obtained. * @returns A \ref PropertyType equivalent to the accessor's \ref - * Accessor::Type, or \ref PropertyType::Invalid if no conversion could be made. + * AccessorSpec::type, or \ref PropertyType::Invalid if no conversion could be + * made. */ PropertyType getAccessorTypeAsPropertyType(const Accessor& accessor); @@ -54,8 +55,8 @@ PropertyType getAccessorTypeAsPropertyType(const Accessor& accessor); * * @param accessor The accessor whose componentType will be obtained. * @returns A \ref PropertyComponentType equivalent to the accessor's \ref - * Accessor::ComponentType, or \ref PropertyComponentType::None if no conversion - * could be made. + * AccessorSpec::componentType, or \ref PropertyComponentType::None if no + * conversion could be made. */ PropertyComponentType getAccessorComponentTypeAsPropertyComponentType(const Accessor& accessor); @@ -168,7 +169,7 @@ class PropertyAttributeView { /** * @brief Gets a {@link PropertyAttributePropertyView} through a callback that accepts a - * property id and a {@link PropertyAttributePropertyView} that views the data + * property id and a {@link PropertyAttributePropertyView} that views the data * of the property with the specified id. * * This method will validate the EXT_structural_metadata format to ensure @@ -184,7 +185,7 @@ class PropertyAttributeView { * @param primitive The target primitive * @param propertyId The id of the property to retrieve data from * @param callback A callback function that accepts a property id and a - * {@link PropertyAttributePropertyView} + * {@link PropertyAttributePropertyView} * @tparam Callback The type of the callback function. */ template @@ -304,7 +305,7 @@ class PropertyAttributeView { /** * @brief Iterates over each property in the {@link PropertyAttribute} with a callback - * that accepts a property id and a {@link PropertyAttributePropertyView} to view + * that accepts a property id and a {@link PropertyAttributePropertyView} to view * the data stored in the {@link PropertyAttributeProperty}. * * This method will validate the EXT_structural_metadata format to ensure @@ -319,7 +320,7 @@ class PropertyAttributeView { * * @param primitive The id of the property to retrieve data from * @param callback A callback function that accepts property id and - * {@link PropertyAttributePropertyView} + * {@link PropertyAttributePropertyView} * @tparam Callback The type of the callback function. */ template diff --git a/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h index 2a4258ba2..2b11a4880 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h @@ -133,6 +133,10 @@ class PropertyTablePropertyViewStatus : public PropertyViewStatus { static const PropertyViewStatusType ErrorStringOffsetOutOfBounds = 31; }; +/** + * @brief Returns the size in bytes of a \ref PropertyComponentType used as the + * `arrayOffsetType` in the constructor of \ref PropertyTablePropertyView. + */ int64_t getOffsetTypeSize(PropertyComponentType offsetType) noexcept; /** @@ -148,7 +152,7 @@ class PropertyTablePropertyView; * * It provides utility to retrieve the actual data stored in the * {@link PropertyTableProperty::values} like an array of elements. Data of each - * instance can be accessed through the {@link PropertyTablePropertyView::get} method. + * instance can be accessed through the {@link PropertyTablePropertyView::get} method. * * @param ElementType must be one of the following: a scalar (uint8_t, int8_t, * uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double), a @@ -506,7 +510,7 @@ class PropertyTablePropertyView * * It provides utility to retrieve the actual data stored in the * {@link PropertyTableProperty::values} like an array of elements. Data of each - * instance can be accessed through the {@link PropertyTablePropertyView::get} method. + * instance can be accessed through the {@link PropertyTablePropertyView::get} method. * * @param ElementType must be one of the following: an integer scalar (uint8_t, * int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t), a glm vecN diff --git a/CesiumGltf/include/CesiumGltf/PropertyTableView.h b/CesiumGltf/include/CesiumGltf/PropertyTableView.h index 9a4d7eb5e..f5bfaac40 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTableView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTableView.h @@ -116,7 +116,7 @@ class PropertyTableView { * following: a scalar (uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, * uint64_t, int64_t, float, double), a glm vecN composed of one of the scalar * types, a glm matN composed of one of the scalar types, bool, - * std::string_view, or {@link PropertyArrayView} with T as one of the + * std::string_view, or \ref PropertyArrayView with T as one of the * aforementioned types. * * If T does not match the type specified by the class property, this returns @@ -130,8 +130,8 @@ class PropertyTableView { * @tparam Normalized Whether the property is normalized. Only applicable to * types with integer components. * @param propertyId The id of the property to retrieve data from - * @return A {@link PropertyTablePropertyView} of the property. If no valid property is - * found, the property view will be invalid. + * @return A \ref PropertyTablePropertyView of the property. If no valid + * property is found, the property view will be invalid. */ template PropertyTablePropertyView @@ -151,25 +151,25 @@ class PropertyTableView { } /** - * @brief Gets a {@link PropertyTablePropertyView} through a callback that accepts a - * property id and a {@link PropertyTablePropertyView} that views the data - * of the property with the specified id. + * @brief Gets a \ref PropertyTablePropertyView through a callback that + * accepts a property id and a \ref PropertyTablePropertyView that views the + * data of the property with the specified id. * * This method will validate the EXT_structural_metadata format to ensure - * {@link PropertyTablePropertyView} retrieves the correct data. T must be one of the - * following: a scalar (uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, - * uint64_t, int64_t, float, double), a glm vecN composed of one of the scalar - * types, a glm matN composed of one of the scalar types, bool, - * std::string_view, or {@link PropertyArrayView} with T as one of the + * \ref PropertyTablePropertyView retrieves the correct data. T must be one of + * the following: a scalar (uint8_t, int8_t, uint16_t, int16_t, uint32_t, + * int32_t, uint64_t, int64_t, float, double), a glm vecN composed of one of + * the scalar types, a glm matN composed of one of the scalar types, bool, + * std::string_view, or \ref PropertyArrayView with T as one of the * aforementioned types. * - * If the property is invalid, an empty {@link PropertyTablePropertyView} with an + * If the property is invalid, an empty \ref PropertyTablePropertyView with an * error status will be passed to the callback. Otherwise, a valid property * view will be passed to the callback. * * @param propertyId The id of the property to retrieve data from * @param callback A callback function that accepts a property id and a - * {@link PropertyTablePropertyView} + * \ref PropertyTablePropertyView * @tparam Callback The type of the callback function. */ template @@ -306,24 +306,24 @@ class PropertyTableView { } /** - * @brief Iterates over each property in the {@link PropertyTable} with a callback - * that accepts a property id and a {@link PropertyTablePropertyView} to view - * the data stored in the {@link PropertyTableProperty}. + * @brief Iterates over each property in the \ref PropertyTable with a + * callback that accepts a property id and a \ref PropertyTablePropertyView to + * view the data stored in the \ref PropertyTableProperty. * * This method will validate the EXT_structural_metadata format to ensure - * {@link PropertyTablePropertyView} retrieves the correct data. T must be one of the - * following: a scalar (uint8_t, int8_t, uint16_t, int16_t, uint32_t, + * \ref PropertyTablePropertyView retrieves the correct data. T must be one of + * the following: a scalar (uint8_t, int8_t, uint16_t, int16_t, uint32_t, * int32_t, uint64_t, int64_t, float, double), a glm vecN composed of one of * the scalar types, a glm matN composed of one of the scalar types, bool, - * std::string_view, or {@link PropertyArrayView} with T as one of the + * std::string_view, or \ref PropertyArrayView with T as one of the * aforementioned types. * - * If the property is invalid, an empty {@link PropertyTablePropertyView} with + * If the property is invalid, an empty \ref PropertyTablePropertyView with * an error status code will be passed to the callback. Otherwise, a valid * property view will be passed to the callback. * * @param callback A callback function that accepts property id and - * {@link PropertyTablePropertyView} + * \ref PropertyTablePropertyView * @tparam Callback The type of the callback function. */ template void forEachProperty(Callback&& callback) const { diff --git a/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h index 9af017b19..79cdca87b 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h @@ -117,6 +117,13 @@ ElementType assembleScalarValue(const std::span bytes) noexcept { } } +/** + * @brief Attempts to obtain a vector value from the given span of bytes. + * + * @tparam ElementType The vector value type to read from `bytes`. + * @param bytes A span of bytes to convert into a vector value. + * @returns A value of `ElementType`. + */ template ElementType assembleVecNValue(const std::span bytes) noexcept { ElementType result = ElementType(); @@ -164,6 +171,13 @@ ElementType assembleVecNValue(const std::span bytes) noexcept { return result; } +/** + * @brief Attempts to obtain an array value from the given span of bytes. + * + * @tparam T The element type to read from `bytes`. + * @param bytes A span of bytes to convert into an array value. + * @returns A \ref PropertyArrayCopy containing the elements read. + */ template PropertyArrayCopy assembleArrayValue(const std::span bytes) noexcept { diff --git a/CesiumGltf/include/CesiumGltf/PropertyTextureView.h b/CesiumGltf/include/CesiumGltf/PropertyTextureView.h index b12c945df..5a9ae5f5f 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTextureView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTextureView.h @@ -141,7 +141,7 @@ class PropertyTextureView { /** * @brief Gets a {@link PropertyTexturePropertyView} through a callback that accepts a - * property id and a {@link PropertyTexturePropertyView} that views the data + * property id and a {@link PropertyTexturePropertyView} that views the data * of the property with the specified id. * * This method will validate the EXT_structural_metadata format to ensure @@ -156,7 +156,7 @@ class PropertyTextureView { * * @param propertyId The id of the property to retrieve data from * @param callback A callback function that accepts a property id and a - * {@link PropertyTexturePropertyView} + * {@link PropertyTexturePropertyView} * @param propertyOptions The options to apply to the property. * @tparam Callback The type of the callback function. */ @@ -269,7 +269,7 @@ class PropertyTextureView { /** * @brief Iterates over each property in the {@link PropertyTexture} with a callback - * that accepts a property id and a {@link PropertyTexturePropertyView} to view + * that accepts a property id and a {@link PropertyTexturePropertyView} to view * the data stored in the {@link PropertyTextureProperty}. * * This method will validate the EXT_structural_metadata format to ensure diff --git a/CesiumGltf/include/CesiumGltf/PropertyTransformations.h b/CesiumGltf/include/CesiumGltf/PropertyTransformations.h index 5a00f1318..d097c8866 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTransformations.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTransformations.h @@ -10,6 +10,12 @@ #include namespace CesiumGltf { +/** + * @brief Normalizes the given value between [0, 1] if unsigned or [-1, 1] if + * signed, based on the type's maximum value. + * + * @param value The value to normalize. + */ template double normalize(T value) { constexpr double max = static_cast(std::numeric_limits::max()); if constexpr (std::is_signed_v) { @@ -19,6 +25,12 @@ template double normalize(T value) { } } +/** + * @brief Normalizes the given vector's components between [0, 1] if unsigned or + * [-1, 1] if signed, based on the type's maximum value. + * + * @param value The value to normalize. + */ template glm::vec normalize(glm::vec value) { constexpr double max = static_cast(std::numeric_limits::max()); @@ -29,6 +41,12 @@ glm::vec normalize(glm::vec value) { } } +/** + * @brief Normalizes the given matrix's components between [0, 1] if unsigned or + * [-1, 1] if signed, based on the type's maximum value. + * + * @param value The value to normalize. + */ template glm::mat normalize(glm::mat value) { constexpr double max = static_cast(std::numeric_limits::max()); @@ -46,6 +64,12 @@ glm::mat normalize(glm::mat value) { return result; } +/** + * @brief Multiplies each component of the value by the given scale factor. + * + * @param value The value to scale. + * @param scale The scale factor to apply to the value. + */ template T applyScale(const T& value, const T& scale) { if constexpr (IsMetadataMatN::value) { // Do component-wise multiplication instead of actual matrix @@ -61,6 +85,15 @@ template T applyScale(const T& value, const T& scale) { } } +/** + * @brief Transforms the value by optional offset and scale factors. + * + * @param value The value to transform. + * @param offset The amount to offset the value by, or `std::nullopt` to apply + * no offset. + * @param scale The amount to scale the value by, or `std::nullopt` to apply no + * scale. See \ref applyScale. + */ template T transformValue( const T& value, @@ -78,6 +111,17 @@ T transformValue( return result; } +/** + * @brief Transforms each element of an array of values by optional offset and + * scale factors. See \ref transformValue. + * + * @param value The array whose elements will be transformed. + * @param offset The amount to offset each element by, or `std::nullopt` to + * apply no offset. + * @param scale The amount to scale each element by, or `std::nullopt` to apply + * no scale factor. + * @returns A transformed copy of the input array. + */ template PropertyArrayCopy transformArray( const PropertyArrayView& value, @@ -99,6 +143,18 @@ PropertyArrayCopy transformArray( return PropertyArrayCopy(std::move(result)); } +/** + * @brief Normalizes each element of an array of values and transforms them by + * optional offset and scale factors. See \ref transformValue and \ref + * transformArray. + * + * @param value The array whose elements will be transformed. + * @param offset The amount to offset each element by, or `std::nullopt` to + * apply no offset. The offset will be applied after normalization. + * @param scale The amount to scale each element by, or `std::nullopt` to apply + * no scale factor. The scale will be applied after normalization. + * @returns A normalized and transformed copy of the input array. + */ template < typename T, typename NormalizedType = typename TypeToNormalizedType::type> @@ -122,6 +178,17 @@ PropertyArrayCopy transformNormalizedArray( return PropertyArrayCopy(std::move(result)); } +/** + * @brief Normalizes each element of an array of vectors and transforms them by + * optional offset and scale factors. See \ref transformNormalizedArray. + * + * @param value The array whose elements will be transformed. + * @param offset The amount to offset each element by, or `std::nullopt` to + * apply no offset. The offset will be applied after normalization. + * @param scale The amount to scale each element by, or `std::nullopt` to apply + * no scale factor. The scale will be applied after normalization. + * @returns A normalized and transformed copy of the input array. + */ template PropertyArrayCopy> transformNormalizedVecNArray( const PropertyArrayView>& value, @@ -143,6 +210,17 @@ PropertyArrayCopy> transformNormalizedVecNArray( return PropertyArrayCopy(std::move(result)); } +/** + * @brief Normalizes each element of an array of matrices and transforms them by + * optional offset and scale factors. See \ref transformNormalizedArray. + * + * @param value The array whose elements will be transformed. + * @param offset The amount to offset each element by, or `std::nullopt` to + * apply no offset. The offset will be applied after normalization. + * @param scale The amount to scale each element by, or `std::nullopt` to apply + * no scale factor. The scale will be applied after normalization. + * @returns A normalized and transformed copy of the input array. + */ template PropertyArrayCopy> transformNormalizedMatNArray( const PropertyArrayView>& value, diff --git a/CesiumGltf/include/CesiumGltf/PropertyType.h b/CesiumGltf/include/CesiumGltf/PropertyType.h index 871885004..254166a41 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyType.h +++ b/CesiumGltf/include/CesiumGltf/PropertyType.h @@ -61,16 +61,49 @@ enum class PropertyType { * @brief The possible types of a property component. */ enum class PropertyComponentType { + /** + * @brief No type. + */ None, + /** + * @brief A property component equivalent to an `int8_t`. + */ Int8, + /** + * @brief A property component equivalent to a `uint8_t`. + */ Uint8, + /** + * @brief A property component equivalent to an `int16_t`. + */ Int16, + /** + * @brief A property component equivalent to a `uint16_t`. + */ Uint16, + /** + * @brief A property component equivalent to an `int32_t`. + */ Int32, + /** + * @brief A property component equivalent to a `uint32_t`. + */ Uint32, + /** + * @brief A property component equivalent to an `int64_t`. + */ Int64, + /** + * @brief A property component equivalent to a `uint32_t`. + */ Uint64, + /** + * @brief A property component equivalent to a `float`. + */ Float32, + /** + * @brief A property component equivalent to a `double`. + */ Float64, }; @@ -100,7 +133,7 @@ PropertyType convertStringToPropertyType(const std::string& str); * * For example, \ref PropertyComponentType::Uint8 will become `"UINT8"`. * - * @param type The type to convert to a string. + * @param componentType The type to convert to a string. * @returns The type as a string, or `"NONE"` if no conversion is possible. */ std::string diff --git a/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h b/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h index 66ec93f77..65881a374 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h @@ -202,71 +202,91 @@ template struct TypeToPropertyType; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to a `uint8_t`. */ static constexpr PropertyComponentType component = PropertyComponentType::Uint8; + /** @brief The \ref PropertyType corresponding to a `uint8_t`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to an `int8_t`. */ static constexpr PropertyComponentType component = PropertyComponentType::Int8; + /** @brief The \ref PropertyType corresponding to an `int8_t`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to a `uint16_t`. */ static constexpr PropertyComponentType component = PropertyComponentType::Uint16; + /** @brief The \ref PropertyType corresponding to a `uint16_t`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to an `int16_t`. */ static constexpr PropertyComponentType component = PropertyComponentType::Int16; + /** @brief The \ref PropertyType corresponding to an `int16_t`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to a `uint32_t`. */ static constexpr PropertyComponentType component = PropertyComponentType::Uint32; + /** @brief The \ref PropertyType corresponding to a `uint32_t`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to an `int32_t`. */ static constexpr PropertyComponentType component = PropertyComponentType::Int32; + /** @brief The \ref PropertyType corresponding to an `int32_t`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to a `uint64_t`. */ static constexpr PropertyComponentType component = PropertyComponentType::Uint64; + /** @brief The \ref PropertyType corresponding to a `uint64_t`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to an `int64_t`. */ static constexpr PropertyComponentType component = PropertyComponentType::Int64; + /** @brief The \ref PropertyType corresponding to an `int64_t`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to a `float`. */ static constexpr PropertyComponentType component = PropertyComponentType::Float32; + /** @brief The \ref PropertyType corresponding to a `float`. */ static constexpr PropertyType value = PropertyType::Scalar; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to a `double`. */ static constexpr PropertyComponentType component = PropertyComponentType::Float64; + /** @brief The \ref PropertyType corresponding to a `float`. */ static constexpr PropertyType value = PropertyType::Scalar; }; #pragma endregion @@ -276,24 +296,33 @@ template <> struct TypeToPropertyType { /** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { + /** @brief The \ref PropertyComponentType corresponding to a `glm::vec<2, + * ...>`. */ static constexpr PropertyComponentType component = TypeToPropertyType::component; + /** @brief The \ref PropertyType corresponding to a `glm::vec<2, ...>`. */ static constexpr PropertyType value = PropertyType::Vec2; }; /** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { + /** @brief The \ref PropertyComponentType corresponding to a `glm::vec<3, + * ...>`. */ static constexpr PropertyComponentType component = TypeToPropertyType::component; + /** @brief The \ref PropertyType corresponding to a `glm::vec<3, ...>`. */ static constexpr PropertyType value = PropertyType::Vec3; }; /** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { + /** @brief The \ref PropertyComponentType corresponding to a `glm::vec<4, + * ...>`. */ static constexpr PropertyComponentType component = TypeToPropertyType::component; + /** @brief The \ref PropertyType corresponding to a `glm::vec<4, ...>`. */ static constexpr PropertyType value = PropertyType::Vec4; }; @@ -304,24 +333,33 @@ struct TypeToPropertyType> { /** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { + /** @brief The \ref PropertyComponentType corresponding to a `glm::mat<2, 2, + * ...>`. */ static constexpr PropertyComponentType component = TypeToPropertyType::component; + /** @brief The \ref PropertyType corresponding to a `glm::mat<2, 2, ...>`. */ static constexpr PropertyType value = PropertyType::Mat2; }; /** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { + /** @brief The \ref PropertyComponentType corresponding to a `glm::mat<3, 3, + * ...>`. */ static constexpr PropertyComponentType component = TypeToPropertyType::component; + /** @brief The \ref PropertyType corresponding to a `glm::mat<3, 3, ...>`. */ static constexpr PropertyType value = PropertyType::Mat3; }; /** @copydoc TypeToPropertyType */ template struct TypeToPropertyType> { + /** @brief The \ref PropertyComponentType corresponding to a `glm::mat<4, 4, + * ...>`. */ static constexpr PropertyComponentType component = TypeToPropertyType::component; + /** @brief The \ref PropertyType corresponding to a `glm::mat<4, 4, ...>`. */ static constexpr PropertyType value = PropertyType::Mat4; }; @@ -329,15 +367,20 @@ struct TypeToPropertyType> { /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to a `bool`. */ static constexpr PropertyComponentType component = PropertyComponentType::None; + /** @brief The \ref PropertyType corresponding to a `bool`. */ static constexpr PropertyType value = PropertyType::Boolean; }; /** @copydoc TypeToPropertyType */ template <> struct TypeToPropertyType { + /** @brief The \ref PropertyComponentType corresponding to a + * `std::string_view`. */ static constexpr PropertyComponentType component = PropertyComponentType::None; + /** @brief The \ref PropertyType corresponding to a `std::string_view`. */ static constexpr PropertyType value = PropertyType::String; }; diff --git a/CesiumGltf/include/CesiumGltf/PropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyView.h index fdbe57e77..8e017c870 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyView.h @@ -110,6 +110,12 @@ class PropertyViewStatus { static const PropertyViewStatusType ErrorInvalidDefaultValue = 13; }; +/** + * @brief Validates a \ref ClassProperty, checking for any type mismatches. + * + * @returns A \ref PropertyViewStatus value representing the error found while + * validating, or \ref PropertyViewStatus::Valid if no errors were found. + */ template PropertyViewStatusType validatePropertyType(const ClassProperty& classProperty) { @@ -139,6 +145,13 @@ validatePropertyType(const ClassProperty& classProperty) { return PropertyViewStatus::Valid; } +/** + * @brief Validates a \ref ClassProperty representing an array, checking for any + * type mismatches. + * + * @returns A \ref PropertyViewStatus value representing the error found while + * validating, or \ref PropertyViewStatus::Valid if no errors were found. + */ template PropertyViewStatusType validateArrayPropertyType(const ClassProperty& classProperty) { @@ -169,11 +182,27 @@ validateArrayPropertyType(const ClassProperty& classProperty) { return PropertyViewStatus::Valid; } +/** + * @brief Attempts to get a scalar value from the provided \ref + * CesiumUtility::JsonValue "JsonValue". + * + * @param jsonValue The value to attempt to get as a scalar. + * @returns A scalar of type `T` if successful, or `std::nullopt` if not. + */ template static std::optional getScalar(const CesiumUtility::JsonValue& jsonValue) { return jsonValue.getSafeNumber(); } +/** + * @brief Attempts to obtain a vector of type `VecType` from the provided \ref + * CesiumUtility::JsonValue "JsonValue". + * + * @param jsonValue The value to attempt to get as a vector. To be successful, + * this \ref CesiumUtility::JsonValue "JsonValue" must be an array with the same + * number of elements as `VecType`. + * @returns A vector of type `VecType` if successful, or `std::nullopt` if not. + */ template static std::optional getVecN(const CesiumUtility::JsonValue& jsonValue) { @@ -202,6 +231,16 @@ getVecN(const CesiumUtility::JsonValue& jsonValue) { return result; } +/** + * @brief Attempts to obtain a matrix of type `MatType` from the provided \ref + * CesiumUtility::JsonValue "JsonValue". + * + * @param jsonValue The value to attempt to get as a matrix. To be successful, + * this \ref CesiumUtility::JsonValue "JsonValue" must be an array with the same + * number of elements as `MatType`. For example, to read a 4x4 matrix, the \ref + * CesiumUtility::JsonValue "JsonValue" must be an array with 16 elements. + * @returns A matrix of type `MatType` if successful, or `std::nullopt` if not. + */ template static std::optional getMatN(const CesiumUtility::JsonValue& jsonValue) { @@ -233,6 +272,15 @@ getMatN(const CesiumUtility::JsonValue& jsonValue) { return result; } +/** + * @brief Obtains the number of values of type `ElementType` that could fit in + * the buffer. + * + * @param buffer The buffer whose size will be used for this calculation. + * @returns The number of values of type `ElementType` that could fit in + * `buffer`. This value will be equivalent to `floor(buffer->size() / + * sizeof(ElementType))`. + */ template int64_t getCount(std::optional>& buffer) { if (!buffer) { @@ -518,6 +566,7 @@ template class PropertyView { } protected: + /** @copydoc PropertyViewStatus */ PropertyViewStatusType _status; private: @@ -856,6 +905,7 @@ template class PropertyView { } protected: + /** @copydoc PropertyViewStatus */ PropertyViewStatusType _status; private: @@ -1087,6 +1137,7 @@ template <> class PropertyView { std::optional defaultValue() const noexcept { return _defaultValue; } protected: + /** @copydoc PropertyViewStatus */ PropertyViewStatusType _status; private: @@ -1274,6 +1325,7 @@ template <> class PropertyView { } protected: + /** @copydoc PropertyViewStatus */ PropertyViewStatusType _status; private: @@ -1549,6 +1601,7 @@ class PropertyView, false> { } protected: + /** @copydoc PropertyViewStatus */ PropertyViewStatusType _status; private: @@ -1946,6 +1999,7 @@ class PropertyView, true> { } protected: + /** @copydoc PropertyViewStatus */ PropertyViewStatusType _status; private: @@ -2233,6 +2287,7 @@ template <> class PropertyView> { } protected: + /** @copydoc PropertyViewStatus */ PropertyViewStatusType _status; private: @@ -2478,6 +2533,7 @@ template <> class PropertyView> { } protected: + /** @copydoc PropertyViewStatus */ PropertyViewStatusType _status; private: diff --git a/CesiumGltf/include/CesiumGltf/SamplerUtility.h b/CesiumGltf/include/CesiumGltf/SamplerUtility.h index cf2f24267..69e0f2342 100644 --- a/CesiumGltf/include/CesiumGltf/SamplerUtility.h +++ b/CesiumGltf/include/CesiumGltf/SamplerUtility.h @@ -3,6 +3,24 @@ #include namespace CesiumGltf { +/** + * @brief Applies a sampler's WrapS value to the given U component of a texture + * coordinate. + * + * @param u The U coordinate to apply the sampler wrap value to. + * @param wrapS The sampler's WrapS value, matching a member of \ref + * Sampler::WrapS, to apply. + * @returns The U coordinate after applying the WrapS operation. + */ double applySamplerWrapS(const double u, const int32_t wrapS); +/** + * @brief Applies a sampler's WrapT value to the given V component of a texture + * coordinate. + * + * @param v The V coordinate to apply the sampler wrap value to. + * @param wrapS The sampler's WrapT value, matching a member of \ref + * Sampler::WrapT, to apply. + * @returns The V coordinate after applying the WrapT operation. + */ double applySamplerWrapT(const double v, const int32_t wrapT); } // namespace CesiumGltf diff --git a/CesiumGltfContent/include/CesiumGltfContent/GltfUtilities.h b/CesiumGltfContent/include/CesiumGltfContent/GltfUtilities.h index 7fd67a708..f6cce9ac0 100644 --- a/CesiumGltfContent/include/CesiumGltfContent/GltfUtilities.h +++ b/CesiumGltfContent/include/CesiumGltfContent/GltfUtilities.h @@ -158,27 +158,98 @@ struct CESIUMGLTFCONTENT_API GltfUtilities { CesiumGltf::Buffer& destination, CesiumGltf::Buffer& source); + /** + * @brief Removes unused textures from the given glTF model. + * + * @param gltf The glTF to remove unused textures from. + * @param extraUsedTextureIndices Indices of textures that should be + * considered "used" even if they're not referenced by anything else in the + * glTF. + */ static void removeUnusedTextures( CesiumGltf::Model& gltf, const std::vector& extraUsedTextureIndices = {}); + + /** + * @brief Removes unused samplers from the given glTF model. + * + * @param gltf The glTF to remove unused samplers from. + * @param extraUsedSamplerIndices Indices of samplers that should be + * considered "used" even if they're not referenced by anything else in the + * glTF. + */ static void removeUnusedSamplers( CesiumGltf::Model& gltf, const std::vector& extraUsedSamplerIndices = {}); + + /** + * @brief Removes unused images from the given glTF model. + * + * @param gltf The glTF to remove unused images from. + * @param extraUsedImageIndices Indices of images that should be + * considered "used" even if they're not referenced by anything else in the + * glTF. + */ static void removeUnusedImages( CesiumGltf::Model& gltf, const std::vector& extraUsedImageIndices = {}); + + /** + * @brief Removes unused accessors from the given glTF model. + * + * @param gltf The glTF to remove unused accessors from. + * @param extraUsedAccessorIndices Indices of accessors that should be + * considered "used" even if they're not referenced by anything else in the + * glTF. + */ static void removeUnusedAccessors( CesiumGltf::Model& gltf, const std::vector& extraUsedAccessorIndices = {}); + + /** + * @brief Removes unused buffer views from the given glTF model. + * + * @param gltf The glTF to remove unused buffer views from. + * @param extraUsedBufferViewIndices Indices of buffer views that should be + * considered "used" even if they're not referenced by anything else in the + * glTF. + */ static void removeUnusedBufferViews( CesiumGltf::Model& gltf, const std::vector& extraUsedBufferViewIndices = {}); + + /** + * @brief Removes unused buffers from the given glTF model. + * + * @param gltf The glTF to remove unused buffers from. + * @param extraUsedBufferIndices Indices of buffers that should be + * considered "used" even if they're not referenced by anything else in the + * glTF. + */ static void removeUnusedBuffers( CesiumGltf::Model& gltf, const std::vector& extraUsedBufferIndices = {}); + + /** + * @brief Removes unused meshes from the given glTF model. + * + * @param gltf The glTF to remove unused meshes from. + * @param extraUsedMeshIndices Indices of meshes that should be + * considered "used" even if they're not referenced by anything else in the + * glTF. + */ static void removeUnusedMeshes( CesiumGltf::Model& gltf, const std::vector& extraUsedMeshIndices = {}); + + /** + * @brief Removes unused materials from the given glTF model. + * + * @param gltf The glTF to remove unused materials from. + * @param extraUsedMaterialIndices Indices of materials that should be + * considered "used" even if they're not referenced by anything else in the + * glTF. + */ static void removeUnusedMaterials( CesiumGltf::Model& gltf, const std::vector& extraUsedMaterialIndices = {}); diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorReader.h index 3086675bf..b87236ce5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API AccessorReader { /** * @brief Reads an instance of Accessor from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API AccessorReader { /** * @brief Reads an array of instances of Accessor from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseIndicesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseIndicesReader.h index 05986f260..d348c0957 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseIndicesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseIndicesReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API AccessorSparseIndicesReader { /** * @brief Reads an instance of AccessorSparseIndices from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API AccessorSparseIndicesReader { * @brief Reads an array of instances of AccessorSparseIndices from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseReader.h index 284c3c49c..a823aabc8 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API AccessorSparseReader { /** * @brief Reads an instance of AccessorSparse from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API AccessorSparseReader { * @brief Reads an array of instances of AccessorSparse from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseValuesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseValuesReader.h index 918418726..a3f783c70 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseValuesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AccessorSparseValuesReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API AccessorSparseValuesReader { /** * @brief Reads an instance of AccessorSparseValues from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API AccessorSparseValuesReader { * @brief Reads an array of instances of AccessorSparseValues from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelReader.h index 0f05aecf6..e62e5f8ea 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API AnimationChannelReader { /** * @brief Reads an instance of AnimationChannel from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API AnimationChannelReader { * @brief Reads an array of instances of AnimationChannel from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelTargetReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelTargetReader.h index 750d44864..ca25dbea5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelTargetReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationChannelTargetReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API AnimationChannelTargetReader { /** * @brief Reads an instance of AnimationChannelTarget from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API AnimationChannelTargetReader { * @brief Reads an array of instances of AnimationChannelTarget from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationReader.h index 444d8888b..e6f3ba98c 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API AnimationReader { /** * @brief Reads an instance of Animation from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API AnimationReader { /** * @brief Reads an array of instances of Animation from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationSamplerReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationSamplerReader.h index b863deb81..7817383cc 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationSamplerReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AnimationSamplerReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API AnimationSamplerReader { /** * @brief Reads an instance of AnimationSampler from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API AnimationSamplerReader { * @brief Reads an array of instances of AnimationSampler from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/AssetReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/AssetReader.h index 948db4329..002e18ad5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/AssetReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/AssetReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API AssetReader { /** * @brief Reads an instance of Asset from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API AssetReader { /** * @brief Reads an array of instances of Asset from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/BufferReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/BufferReader.h index 984eedc78..6bbc0bba7 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/BufferReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/BufferReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API BufferReader { /** * @brief Reads an instance of Buffer from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API BufferReader { /** * @brief Reads an array of instances of Buffer from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/BufferViewReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/BufferViewReader.h index 66b637bc2..48882531e 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/BufferViewReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/BufferViewReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API BufferViewReader { /** * @brief Reads an instance of BufferView from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API BufferViewReader { /** * @brief Reads an array of instances of BufferView from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraOrthographicReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraOrthographicReader.h index 9bd634896..544cecd2b 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraOrthographicReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraOrthographicReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API CameraOrthographicReader { /** * @brief Reads an instance of CameraOrthographic from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API CameraOrthographicReader { * @brief Reads an array of instances of CameraOrthographic from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraPerspectiveReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraPerspectiveReader.h index 64dd6b2f9..75e94d1db 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraPerspectiveReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraPerspectiveReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API CameraPerspectiveReader { /** * @brief Reads an instance of CameraPerspective from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API CameraPerspectiveReader { * @brief Reads an array of instances of CameraPerspective from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraReader.h index 58ad4100e..997ec2f68 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/CameraReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/CameraReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API CameraReader { /** * @brief Reads an instance of Camera from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API CameraReader { /** * @brief Reads an array of instances of Camera from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ClassPropertyReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ClassPropertyReader.h index 4888221ff..ba4c87b42 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ClassPropertyReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ClassPropertyReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API ClassPropertyReader { /** * @brief Reads an instance of ClassProperty from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API ClassPropertyReader { * @brief Reads an array of instances of ClassProperty from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ClassReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ClassReader.h index be26bffbd..1925ffe85 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ClassReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ClassReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API ClassReader { /** * @brief Reads an instance of Class from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API ClassReader { /** * @brief Reads an array of instances of Class from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/EnumReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/EnumReader.h index 8aedd8168..2c72bbd4e 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/EnumReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/EnumReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API EnumReader { /** * @brief Reads an instance of Enum from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API EnumReader { /** * @brief Reads an array of instances of Enum from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/EnumValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/EnumValueReader.h index 6d78db7a5..53a9c902d 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/EnumValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/EnumValueReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API EnumValueReader { /** * @brief Reads an instance of EnumValue from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API EnumValueReader { /** * @brief Reads an array of instances of EnumValue from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferExtMeshoptCompressionReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferExtMeshoptCompressionReader.h index 60302abb7..4eef47a44 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferExtMeshoptCompressionReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferExtMeshoptCompressionReader.h @@ -54,7 +54,7 @@ class CESIUMGLTFREADER_API ExtensionBufferExtMeshoptCompressionReader { * @brief Reads an instance of ExtensionBufferExtMeshoptCompression from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -65,7 +65,7 @@ class CESIUMGLTFREADER_API ExtensionBufferExtMeshoptCompressionReader { * @brief Reads an array of instances of ExtensionBufferExtMeshoptCompression * from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferViewExtMeshoptCompressionReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferViewExtMeshoptCompressionReader.h index e26e8c5a5..755b6362c 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferViewExtMeshoptCompressionReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionBufferViewExtMeshoptCompressionReader.h @@ -54,7 +54,7 @@ class CESIUMGLTFREADER_API ExtensionBufferViewExtMeshoptCompressionReader { * @brief Reads an instance of ExtensionBufferViewExtMeshoptCompression from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -65,7 +65,7 @@ class CESIUMGLTFREADER_API ExtensionBufferViewExtMeshoptCompressionReader { * @brief Reads an array of instances of * ExtensionBufferViewExtMeshoptCompression from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumPrimitiveOutlineReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumPrimitiveOutlineReader.h index 35f091cd7..4bd9e2fbc 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumPrimitiveOutlineReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumPrimitiveOutlineReader.h @@ -53,7 +53,7 @@ class CESIUMGLTFREADER_API ExtensionCesiumPrimitiveOutlineReader { * @brief Reads an instance of ExtensionCesiumPrimitiveOutline from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API ExtensionCesiumPrimitiveOutlineReader { * @brief Reads an array of instances of ExtensionCesiumPrimitiveOutline from * a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumRTCReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumRTCReader.h index 65f66b0f8..99f52c6ab 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumRTCReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumRTCReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API ExtensionCesiumRTCReader { /** * @brief Reads an instance of ExtensionCesiumRTC from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API ExtensionCesiumRTCReader { * @brief Reads an array of instances of ExtensionCesiumRTC from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumTileEdgesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumTileEdgesReader.h index 0f151a9d5..65aa07648 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumTileEdgesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionCesiumTileEdgesReader.h @@ -52,7 +52,7 @@ class CESIUMGLTFREADER_API ExtensionCesiumTileEdgesReader { * @brief Reads an instance of ExtensionCesiumTileEdges from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -62,7 +62,7 @@ class CESIUMGLTFREADER_API ExtensionCesiumTileEdgesReader { * @brief Reads an array of instances of ExtensionCesiumTileEdges from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesFeatureIdReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesFeatureIdReader.h index 3c9339bdd..d5af96dd1 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesFeatureIdReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesFeatureIdReader.h @@ -54,7 +54,7 @@ class CESIUMGLTFREADER_API ExtensionExtInstanceFeaturesFeatureIdReader { * @brief Reads an instance of ExtensionExtInstanceFeaturesFeatureId from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -65,7 +65,7 @@ class CESIUMGLTFREADER_API ExtensionExtInstanceFeaturesFeatureIdReader { * @brief Reads an array of instances of ExtensionExtInstanceFeaturesFeatureId * from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesReader.h index b64684952..13b823611 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtInstanceFeaturesReader.h @@ -53,7 +53,7 @@ class CESIUMGLTFREADER_API ExtensionExtInstanceFeaturesReader { * @brief Reads an instance of ExtensionExtInstanceFeatures from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API ExtensionExtInstanceFeaturesReader { * @brief Reads an array of instances of ExtensionExtInstanceFeatures from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshFeaturesReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshFeaturesReader.h index 1c1939f52..fe7929653 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshFeaturesReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshFeaturesReader.h @@ -52,7 +52,7 @@ class CESIUMGLTFREADER_API ExtensionExtMeshFeaturesReader { * @brief Reads an instance of ExtensionExtMeshFeatures from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -62,7 +62,7 @@ class CESIUMGLTFREADER_API ExtensionExtMeshFeaturesReader { * @brief Reads an array of instances of ExtensionExtMeshFeatures from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshGpuInstancingReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshGpuInstancingReader.h index 3c1197ce1..f9459171c 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshGpuInstancingReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionExtMeshGpuInstancingReader.h @@ -53,7 +53,7 @@ class CESIUMGLTFREADER_API ExtensionExtMeshGpuInstancingReader { * @brief Reads an instance of ExtensionExtMeshGpuInstancing from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API ExtensionExtMeshGpuInstancingReader { * @brief Reads an array of instances of ExtensionExtMeshGpuInstancing from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrDracoMeshCompressionReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrDracoMeshCompressionReader.h index 76cf40ff7..4813766fa 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrDracoMeshCompressionReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrDracoMeshCompressionReader.h @@ -53,7 +53,7 @@ class CESIUMGLTFREADER_API ExtensionKhrDracoMeshCompressionReader { * @brief Reads an instance of ExtensionKhrDracoMeshCompression from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API ExtensionKhrDracoMeshCompressionReader { * @brief Reads an array of instances of ExtensionKhrDracoMeshCompression from * a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrMaterialsUnlitReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrMaterialsUnlitReader.h index 17df51fc0..48d25a2fa 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrMaterialsUnlitReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrMaterialsUnlitReader.h @@ -52,7 +52,7 @@ class CESIUMGLTFREADER_API ExtensionKhrMaterialsUnlitReader { * @brief Reads an instance of ExtensionKhrMaterialsUnlit from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -62,7 +62,7 @@ class CESIUMGLTFREADER_API ExtensionKhrMaterialsUnlitReader { * @brief Reads an array of instances of ExtensionKhrMaterialsUnlit from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureBasisuReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureBasisuReader.h index c39b97387..75d9c04bf 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureBasisuReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureBasisuReader.h @@ -52,7 +52,7 @@ class CESIUMGLTFREADER_API ExtensionKhrTextureBasisuReader { * @brief Reads an instance of ExtensionKhrTextureBasisu from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -62,7 +62,7 @@ class CESIUMGLTFREADER_API ExtensionKhrTextureBasisuReader { * @brief Reads an array of instances of ExtensionKhrTextureBasisu from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureTransformReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureTransformReader.h index 89deddb80..df54c2c2d 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureTransformReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionKhrTextureTransformReader.h @@ -53,7 +53,7 @@ class CESIUMGLTFREADER_API ExtensionKhrTextureTransformReader { * @brief Reads an instance of ExtensionKhrTextureTransform from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API ExtensionKhrTextureTransformReader { * @brief Reads an array of instances of ExtensionKhrTextureTransform from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveExtStructuralMetadataReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveExtStructuralMetadataReader.h index b2be5622e..bc36bf1dd 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveExtStructuralMetadataReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveExtStructuralMetadataReader.h @@ -54,7 +54,7 @@ class CESIUMGLTFREADER_API ExtensionMeshPrimitiveExtStructuralMetadataReader { * @brief Reads an instance of ExtensionMeshPrimitiveExtStructuralMetadata * from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -65,7 +65,7 @@ class CESIUMGLTFREADER_API ExtensionMeshPrimitiveExtStructuralMetadataReader { * @brief Reads an array of instances of * ExtensionMeshPrimitiveExtStructuralMetadata from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader.h index de1bc2a3d..ddb925d89 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValueReader.h @@ -58,7 +58,7 @@ class CESIUMGLTFREADER_API * ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -70,7 +70,7 @@ class CESIUMGLTFREADER_API * ExtensionMeshPrimitiveKhrMaterialsVariantsMappingsValue from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API ExtensionModelMaxarMeshVariantsReader { * @brief Reads an array of instances of ExtensionModelMaxarMeshVariants from * a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsValueReader.h index 40bbb3691..70630c9b3 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionModelMaxarMeshVariantsValueReader.h @@ -54,7 +54,7 @@ class CESIUMGLTFREADER_API ExtensionModelMaxarMeshVariantsValueReader { * @brief Reads an instance of ExtensionModelMaxarMeshVariantsValue from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -65,7 +65,7 @@ class CESIUMGLTFREADER_API ExtensionModelMaxarMeshVariantsValueReader { * @brief Reads an array of instances of ExtensionModelMaxarMeshVariantsValue * from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsMappingsValueReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsMappingsValueReader.h index d82a6aa91..f85e9dd89 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsMappingsValueReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsMappingsValueReader.h @@ -54,7 +54,7 @@ class CESIUMGLTFREADER_API ExtensionNodeMaxarMeshVariantsMappingsValueReader { * @brief Reads an instance of ExtensionNodeMaxarMeshVariantsMappingsValue * from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -65,7 +65,7 @@ class CESIUMGLTFREADER_API ExtensionNodeMaxarMeshVariantsMappingsValueReader { * @brief Reads an array of instances of * ExtensionNodeMaxarMeshVariantsMappingsValue from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsReader.h index 96126321c..e40fda5f5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionNodeMaxarMeshVariantsReader.h @@ -53,7 +53,7 @@ class CESIUMGLTFREADER_API ExtensionNodeMaxarMeshVariantsReader { * @brief Reads an instance of ExtensionNodeMaxarMeshVariants from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API ExtensionNodeMaxarMeshVariantsReader { * @brief Reads an array of instances of ExtensionNodeMaxarMeshVariants from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionTextureWebpReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionTextureWebpReader.h index 5739738c9..00cb45e25 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionTextureWebpReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ExtensionTextureWebpReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API ExtensionTextureWebpReader { /** * @brief Reads an instance of ExtensionTextureWebp from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API ExtensionTextureWebpReader { * @brief Reads an array of instances of ExtensionTextureWebp from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdReader.h index 7a869d390..5ebae3dce 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API FeatureIdReader { /** * @brief Reads an instance of FeatureId from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API FeatureIdReader { /** * @brief Reads an array of instances of FeatureId from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdTextureReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdTextureReader.h index ad041dc61..e22a2b366 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdTextureReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/FeatureIdTextureReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API FeatureIdTextureReader { /** * @brief Reads an instance of FeatureIdTexture from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API FeatureIdTextureReader { * @brief Reads an array of instances of FeatureIdTexture from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ImageReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ImageReader.h index 4adf3d5e3..9a0393feb 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ImageReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ImageReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API ImageReader { /** * @brief Reads an instance of Image from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API ImageReader { /** * @brief Reads an array of instances of Image from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialNormalTextureInfoReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialNormalTextureInfoReader.h index d3558e80c..f6620448e 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialNormalTextureInfoReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialNormalTextureInfoReader.h @@ -52,7 +52,7 @@ class CESIUMGLTFREADER_API MaterialNormalTextureInfoReader { * @brief Reads an instance of MaterialNormalTextureInfo from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -62,7 +62,7 @@ class CESIUMGLTFREADER_API MaterialNormalTextureInfoReader { * @brief Reads an array of instances of MaterialNormalTextureInfo from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialOcclusionTextureInfoReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialOcclusionTextureInfoReader.h index 036ac37be..6391945e0 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialOcclusionTextureInfoReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialOcclusionTextureInfoReader.h @@ -53,7 +53,7 @@ class CESIUMGLTFREADER_API MaterialOcclusionTextureInfoReader { * @brief Reads an instance of MaterialOcclusionTextureInfo from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API MaterialOcclusionTextureInfoReader { * @brief Reads an array of instances of MaterialOcclusionTextureInfo from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialPBRMetallicRoughnessReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialPBRMetallicRoughnessReader.h index f342d620f..30d851f3b 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialPBRMetallicRoughnessReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialPBRMetallicRoughnessReader.h @@ -53,7 +53,7 @@ class CESIUMGLTFREADER_API MaterialPBRMetallicRoughnessReader { * @brief Reads an instance of MaterialPBRMetallicRoughness from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -63,7 +63,7 @@ class CESIUMGLTFREADER_API MaterialPBRMetallicRoughnessReader { * @brief Reads an array of instances of MaterialPBRMetallicRoughness from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialReader.h index d857bd033..ac8ccca92 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MaterialReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API MaterialReader { /** * @brief Reads an instance of Material from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API MaterialReader { /** * @brief Reads an array of instances of Material from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MeshPrimitiveReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MeshPrimitiveReader.h index 9b0d2213d..68b29f749 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MeshPrimitiveReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MeshPrimitiveReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API MeshPrimitiveReader { /** * @brief Reads an instance of MeshPrimitive from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API MeshPrimitiveReader { * @brief Reads an array of instances of MeshPrimitive from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/MeshReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/MeshReader.h index 5fa40b185..51e46f4e5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/MeshReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/MeshReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API MeshReader { /** * @brief Reads an instance of Mesh from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API MeshReader { /** * @brief Reads an array of instances of Mesh from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/ModelReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/ModelReader.h index 045553b43..9d4d993aa 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/ModelReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/ModelReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API ModelReader { /** * @brief Reads an instance of Model from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API ModelReader { /** * @brief Reads an array of instances of Model from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/NodeReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/NodeReader.h index 0c879ec3c..19763c60a 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/NodeReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/NodeReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API NodeReader { /** * @brief Reads an instance of Node from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API NodeReader { /** * @brief Reads an array of instances of Node from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributePropertyReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributePropertyReader.h index eab9b3a1d..2bde7c576 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributePropertyReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributePropertyReader.h @@ -52,7 +52,7 @@ class CESIUMGLTFREADER_API PropertyAttributePropertyReader { * @brief Reads an instance of PropertyAttributeProperty from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -62,7 +62,7 @@ class CESIUMGLTFREADER_API PropertyAttributePropertyReader { * @brief Reads an array of instances of PropertyAttributeProperty from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributeReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributeReader.h index f026f9fe1..beab5fc81 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributeReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyAttributeReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API PropertyAttributeReader { /** * @brief Reads an instance of PropertyAttribute from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API PropertyAttributeReader { * @brief Reads an array of instances of PropertyAttribute from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTablePropertyReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTablePropertyReader.h index 2a5ea30ea..bbc9dacb0 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTablePropertyReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTablePropertyReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API PropertyTablePropertyReader { /** * @brief Reads an instance of PropertyTableProperty from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API PropertyTablePropertyReader { * @brief Reads an array of instances of PropertyTableProperty from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTableReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTableReader.h index 23071b8b1..c36a69400 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTableReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTableReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API PropertyTableReader { /** * @brief Reads an instance of PropertyTable from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API PropertyTableReader { * @brief Reads an array of instances of PropertyTable from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTexturePropertyReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTexturePropertyReader.h index ad491c4ef..198cb6539 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTexturePropertyReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTexturePropertyReader.h @@ -52,7 +52,7 @@ class CESIUMGLTFREADER_API PropertyTexturePropertyReader { * @brief Reads an instance of PropertyTextureProperty from a * rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -62,7 +62,7 @@ class CESIUMGLTFREADER_API PropertyTexturePropertyReader { * @brief Reads an array of instances of PropertyTextureProperty from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTextureReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTextureReader.h index 5963575b4..a2e5f220d 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTextureReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/PropertyTextureReader.h @@ -51,7 +51,7 @@ class CESIUMGLTFREADER_API PropertyTextureReader { /** * @brief Reads an instance of PropertyTexture from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -61,7 +61,7 @@ class CESIUMGLTFREADER_API PropertyTextureReader { * @brief Reads an array of instances of PropertyTexture from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/SamplerReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/SamplerReader.h index 377b737cf..1206b971a 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/SamplerReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/SamplerReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API SamplerReader { /** * @brief Reads an instance of Sampler from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API SamplerReader { /** * @brief Reads an array of instances of Sampler from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/SceneReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/SceneReader.h index e560be945..72b5fb2c2 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/SceneReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/SceneReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API SceneReader { /** * @brief Reads an instance of Scene from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API SceneReader { /** * @brief Reads an array of instances of Scene from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/SchemaReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/SchemaReader.h index 0b70f04ba..352d830b5 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/SchemaReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/SchemaReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API SchemaReader { /** * @brief Reads an instance of Schema from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API SchemaReader { /** * @brief Reads an array of instances of Schema from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/SkinReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/SkinReader.h index 5e31c6822..332a926bd 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/SkinReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/SkinReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API SkinReader { /** * @brief Reads an instance of Skin from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API SkinReader { /** * @brief Reads an array of instances of Skin from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/TextureInfoReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/TextureInfoReader.h index 425936678..908ac1ddd 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/TextureInfoReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/TextureInfoReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API TextureInfoReader { /** * @brief Reads an instance of TextureInfo from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API TextureInfoReader { /** * @brief Reads an array of instances of TextureInfo from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/generated/include/CesiumGltfReader/TextureReader.h b/CesiumGltfReader/generated/include/CesiumGltfReader/TextureReader.h index e79d6db1a..3da9d4df2 100644 --- a/CesiumGltfReader/generated/include/CesiumGltfReader/TextureReader.h +++ b/CesiumGltfReader/generated/include/CesiumGltfReader/TextureReader.h @@ -50,7 +50,7 @@ class CESIUMGLTFREADER_API TextureReader { /** * @brief Reads an instance of Texture from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -59,7 +59,7 @@ class CESIUMGLTFREADER_API TextureReader { /** * @brief Reads an array of instances of Texture from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> diff --git a/CesiumGltfReader/include/CesiumGltfReader/GltfSharedAssetSystem.h b/CesiumGltfReader/include/CesiumGltfReader/GltfSharedAssetSystem.h index 73ff0ae47..cd1d16661 100644 --- a/CesiumGltfReader/include/CesiumGltfReader/GltfSharedAssetSystem.h +++ b/CesiumGltfReader/include/CesiumGltfReader/GltfSharedAssetSystem.h @@ -17,10 +17,20 @@ namespace CesiumGltfReader { class GltfSharedAssetSystem : public CesiumUtility::ReferenceCountedThreadSafe { public: + /** + * @brief Obtains an `IntrusivePointer` to the `GltfSharedAssetSystem` + * singleton. + */ static CesiumUtility::IntrusivePointer getDefault(); virtual ~GltfSharedAssetSystem() = default; + /** + * @brief A depot containing images loaded from glTFs. + * + * See \ref CesiumGltf::ImageAsset "ImageAsset" and \ref + * NetworkImageAssetDescriptor. + */ using ImageDepot = CesiumAsync:: SharedAssetDepot; @@ -29,6 +39,12 @@ class GltfSharedAssetSystem */ CesiumUtility::IntrusivePointer pImage; + /** + * @brief A depot containing schemas loaded from URIs contained in the glTF + * EXT_structural_metadata extension. + * + * See \ref CesiumGltf::Schema "Schema" and \ref NetworkSchemaAssetDescriptor. + */ using SchemaDepot = CesiumAsync:: SharedAssetDepot; diff --git a/CesiumGltfWriter/generated/src/ModelJsonWriter.h b/CesiumGltfWriter/generated/src/ModelJsonWriter.h index 76dfbdb44..85a45a7d3 100644 --- a/CesiumGltfWriter/generated/src/ModelJsonWriter.h +++ b/CesiumGltfWriter/generated/src/ModelJsonWriter.h @@ -82,6 +82,8 @@ namespace CesiumGltfWriter { struct ExtensionCesiumRTCJsonWriter { using ValueType = CesiumGltf::ExtensionCesiumRTC; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "CESIUM_RTC"; static void write( @@ -93,6 +95,8 @@ struct ExtensionCesiumRTCJsonWriter { struct ExtensionCesiumTileEdgesJsonWriter { using ValueType = CesiumGltf::ExtensionCesiumTileEdges; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "CESIUM_tile_edges"; static void write( @@ -104,6 +108,8 @@ struct ExtensionCesiumTileEdgesJsonWriter { struct ExtensionExtInstanceFeaturesJsonWriter { using ValueType = CesiumGltf::ExtensionExtInstanceFeatures; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_instance_features"; static void write( @@ -115,6 +121,8 @@ struct ExtensionExtInstanceFeaturesJsonWriter { struct ExtensionExtMeshFeaturesJsonWriter { using ValueType = CesiumGltf::ExtensionExtMeshFeatures; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_mesh_features"; static void write( @@ -126,6 +134,8 @@ struct ExtensionExtMeshFeaturesJsonWriter { struct ExtensionExtMeshGpuInstancingJsonWriter { using ValueType = CesiumGltf::ExtensionExtMeshGpuInstancing; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_mesh_gpu_instancing"; static void write( @@ -137,6 +147,8 @@ struct ExtensionExtMeshGpuInstancingJsonWriter { struct ExtensionBufferExtMeshoptCompressionJsonWriter { using ValueType = CesiumGltf::ExtensionBufferExtMeshoptCompression; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_meshopt_compression"; static void write( @@ -148,6 +160,8 @@ struct ExtensionBufferExtMeshoptCompressionJsonWriter { struct ExtensionBufferViewExtMeshoptCompressionJsonWriter { using ValueType = CesiumGltf::ExtensionBufferViewExtMeshoptCompression; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_meshopt_compression"; static void write( @@ -159,6 +173,8 @@ struct ExtensionBufferViewExtMeshoptCompressionJsonWriter { struct EXT_structural_metadataGlTFDocumentExtensionJsonWriter { using ValueType = CesiumGltf::EXT_structural_metadataGlTFDocumentExtension; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_structural_metadata"; static void write( @@ -170,6 +186,8 @@ struct EXT_structural_metadataGlTFDocumentExtensionJsonWriter { struct ExtensionMeshPrimitiveExtStructuralMetadataJsonWriter { using ValueType = CesiumGltf::ExtensionMeshPrimitiveExtStructuralMetadata; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_structural_metadata"; static void write( @@ -181,6 +199,8 @@ struct ExtensionMeshPrimitiveExtStructuralMetadataJsonWriter { struct ExtensionKhrDracoMeshCompressionJsonWriter { using ValueType = CesiumGltf::ExtensionKhrDracoMeshCompression; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_draco_mesh_compression"; static void write( @@ -192,6 +212,8 @@ struct ExtensionKhrDracoMeshCompressionJsonWriter { struct ExtensionKhrMaterialsUnlitJsonWriter { using ValueType = CesiumGltf::ExtensionKhrMaterialsUnlit; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_materials_unlit"; static void write( @@ -203,6 +225,8 @@ struct ExtensionKhrMaterialsUnlitJsonWriter { struct ExtensionModelKhrMaterialsVariantsJsonWriter { using ValueType = CesiumGltf::ExtensionModelKhrMaterialsVariants; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_materials_variants"; static void write( @@ -214,6 +238,8 @@ struct ExtensionModelKhrMaterialsVariantsJsonWriter { struct ExtensionMeshPrimitiveKhrMaterialsVariantsJsonWriter { using ValueType = CesiumGltf::ExtensionMeshPrimitiveKhrMaterialsVariants; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_materials_variants"; static void write( @@ -225,6 +251,8 @@ struct ExtensionMeshPrimitiveKhrMaterialsVariantsJsonWriter { struct ExtensionKhrTextureBasisuJsonWriter { using ValueType = CesiumGltf::ExtensionKhrTextureBasisu; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_texture_basisu"; static void write( @@ -236,6 +264,8 @@ struct ExtensionKhrTextureBasisuJsonWriter { struct ExtensionModelMaxarMeshVariantsJsonWriter { using ValueType = CesiumGltf::ExtensionModelMaxarMeshVariants; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "MAXAR_mesh_variants"; static void write( @@ -247,6 +277,8 @@ struct ExtensionModelMaxarMeshVariantsJsonWriter { struct ExtensionNodeMaxarMeshVariantsJsonWriter { using ValueType = CesiumGltf::ExtensionNodeMaxarMeshVariants; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "MAXAR_mesh_variants"; static void write( @@ -258,6 +290,8 @@ struct ExtensionNodeMaxarMeshVariantsJsonWriter { struct ExtensionKhrTextureTransformJsonWriter { using ValueType = CesiumGltf::ExtensionKhrTextureTransform; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "KHR_texture_transform"; static void write( @@ -269,6 +303,8 @@ struct ExtensionKhrTextureTransformJsonWriter { struct ExtensionTextureWebpJsonWriter { using ValueType = CesiumGltf::ExtensionTextureWebp; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "EXT_texture_webp"; static void write( @@ -280,6 +316,8 @@ struct ExtensionTextureWebpJsonWriter { struct ExtensionCesiumPrimitiveOutlineJsonWriter { using ValueType = CesiumGltf::ExtensionCesiumPrimitiveOutline; + /** @brief The official name of the extension. This should be the same as its + * key in the `extensions` object. */ static constexpr const char* ExtensionName = "CESIUM_primitive_outline"; static void write( diff --git a/CesiumIonClient/include/CesiumIonClient/ApplicationData.h b/CesiumIonClient/include/CesiumIonClient/ApplicationData.h index a20ce93c0..cf090a72c 100644 --- a/CesiumIonClient/include/CesiumIonClient/ApplicationData.h +++ b/CesiumIonClient/include/CesiumIonClient/ApplicationData.h @@ -1,12 +1,12 @@ #pragma once -#include #include namespace CesiumIonClient { /** - * @brief An enumeration representing the values of {@link ApplicationData::authenticationMode}. + * @brief An enumeration representing the values of \ref + * ApplicationData::authenticationMode. */ enum AuthenticationMode { /** @@ -51,6 +51,9 @@ struct ApplicationData { */ std::string attribution; + /** + * @brief Does the `authenticationMode` require OAuth authentication? + */ bool needsOauthAuthentication() const { return this->authenticationMode != AuthenticationMode::SingleUser; } diff --git a/CesiumIonClient/include/CesiumIonClient/Connection.h b/CesiumIonClient/include/CesiumIonClient/Connection.h index 088522a87..14ff5f3b8 100644 --- a/CesiumIonClient/include/CesiumIonClient/Connection.h +++ b/CesiumIonClient/include/CesiumIonClient/Connection.h @@ -112,6 +112,10 @@ class CESIUMASYNC_API Connection { /** * @brief Retrieves information about the ion API server. * + * @param asyncSystem The async system used to do work in threads. + * @param pAssetAccessor The interface used to interact with the Cesium ion + * REST API. + * @param apiUrl The URL of the ion REST API to make requests against. * @return A future that resolves to the application information. */ static CesiumAsync::Future> appData( @@ -119,6 +123,22 @@ class CESIUMASYNC_API Connection { const std::shared_ptr& pAssetAccessor, const std::string& apiUrl = "https://api.cesium.com"); + /** + * @brief Attempts to retrieve the ion endpoint URL by looking for a + * `config.json` file on the server. + * + * This config file isn't present on `ion.cesium.com`, but will be present on + * Cesium ion self-hosted instances to allow the user to configure the URLs of + * their self-hosted instance as needed. + * + * @param asyncSystem The async system used to do work in threads. + * @param pAssetAccessor The interface used to interact with the Cesium ion + * REST API. + * @param ionUrl The URL of the Cesium ion instance to make this request + * against. + * @returns The Cesium ion REST API url for this ion instance, or + * `std::nullopt` if none found. + */ static CesiumAsync::Future> getApiUrl( const CesiumAsync::AsyncSystem& asyncSystem, const std::shared_ptr& pAssetAccessor, diff --git a/CesiumIonClient/include/CesiumIonClient/Response.h b/CesiumIonClient/include/CesiumIonClient/Response.h index 9668c7571..fe41023fc 100644 --- a/CesiumIonClient/include/CesiumIonClient/Response.h +++ b/CesiumIonClient/include/CesiumIonClient/Response.h @@ -17,18 +17,48 @@ namespace CesiumIonClient { * @tparam T The type of the response object. */ template struct Response final { + /** + * @brief Creates a new empty `Response`. + */ Response(); + /** + * @brief Creates a `Response` from a completed request and a response value. + * + * @param pRequest A completed request. The constructor will attempt to obtain + * the `httpStatusCode`, `previousPageUrl`, and `nextPageUrl` from this + * request. + * @param value The response value. + */ Response( const std::shared_ptr& pRequest, T&& value); + /** + * @brief Creates a `Response` from a response value, status code, and error + * information + * + * @param value The response value. + * @param httpStatusCode The HTTP status code of the response. + * @param errorCode The error code. See \ref Response::errorCode. If no error + * occurred, pass an empty string. + * @param errorMessage The error message. See \ref Response::errorMessage. If + * no error occurred, pass an empty string. + */ Response( T&& value, uint16_t httpStatusCode, const std::string& errorCode, const std::string& errorMessage); + /** + * @brief Creates a `Response` with no value, a status code, and error + * information. + * + * @param httpStatusCode The HTTP status code of the response. + * @param errorCode The error code. See \ref Response::errorCode. + * @param errorMessage The error message. See \ref Response::errorMessage. + */ Response( uint16_t httpStatusCode, const std::string& errorCode, diff --git a/CesiumJsonReader/include/CesiumJsonReader/IJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/IJsonHandler.h index b04a77a35..3bbbfb395 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/IJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/IJsonHandler.h @@ -8,9 +8,18 @@ #include namespace CesiumJsonReader { +/** + * @brief Base interface for all JSON handlers. Types that need to be + * deserialized from JSON should implement `IJsonHandler` or a class that + * derives from it. + */ class CESIUMJSONREADER_API IJsonHandler { public: virtual ~IJsonHandler(){}; + /** + * @brief Reading primitives + */ + /**@{*/ virtual IJsonHandler* readNull() = 0; virtual IJsonHandler* readBool(bool b) = 0; virtual IJsonHandler* readInt32(int32_t i) = 0; @@ -19,12 +28,32 @@ class CESIUMJSONREADER_API IJsonHandler { virtual IJsonHandler* readUint64(uint64_t i) = 0; virtual IJsonHandler* readDouble(double d) = 0; virtual IJsonHandler* readString(const std::string_view& str) = 0; + /**@}*/ + + /** + * @brief Reading objects + */ + /**@{*/ virtual IJsonHandler* readObjectStart() = 0; virtual IJsonHandler* readObjectKey(const std::string_view& str) = 0; virtual IJsonHandler* readObjectEnd() = 0; + /**@}*/ + + /** + * @brief Reading arrays + */ + /**@{*/ virtual IJsonHandler* readArrayStart() = 0; virtual IJsonHandler* readArrayEnd() = 0; + /**@}*/ + /** + * @brief Report a warning while reading JSON. + * + * @param warning The warning to report. + * @param context Context information to include with this warning to help + * debugging. + */ virtual void reportWarning( const std::string& warning, std::vector&& context = std::vector()) = 0; diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h b/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h index 65ceccdec..583018ce7 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h @@ -70,7 +70,7 @@ class JsonWriter { virtual void KeyPrimitive(std::string_view keyName, std::string_view value); /** - * @brief Floating point + * @name Floating point */ /**@{*/ virtual void KeyPrimitive(std::string_view keyName, float value); diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/PrettyJsonWriter.h b/CesiumJsonWriter/include/CesiumJsonWriter/PrettyJsonWriter.h index 44d26b1ab..2c2ee51ec 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/PrettyJsonWriter.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/PrettyJsonWriter.h @@ -21,7 +21,10 @@ class PrettyJsonWriter : public JsonWriter { PrettyJsonWriter() noexcept; ~PrettyJsonWriter() {} - // rapidjson methods + /** + * @name RapidJSON methods + */ + /**@{*/ bool Null() override; bool Bool(bool b) override; bool Int(int i) override; @@ -36,8 +39,12 @@ class PrettyJsonWriter : public JsonWriter { bool EndObject() override; bool StartArray() override; bool EndArray() override; + /**@}*/ - // Primitive overloads + /** + * @name Primitive overloads + */ + /**@{*/ void Primitive(std::int32_t value) override; void Primitive(std::uint32_t value) override; void Primitive(std::int64_t value) override; @@ -46,30 +53,47 @@ class PrettyJsonWriter : public JsonWriter { void Primitive(double value) override; void Primitive(std::nullptr_t value) override; void Primitive(std::string_view string) override; + /**@}*/ - // Integral + /** + * @name Integral + */ + /**@{*/ void KeyPrimitive(std::string_view keyName, std::int32_t value) override; void KeyPrimitive(std::string_view keyName, std::uint32_t value) override; void KeyPrimitive(std::string_view keyName, std::int64_t value) override; void KeyPrimitive(std::string_view keyName, std::uint64_t value) override; + /**@}*/ - // String + /** + * @brief String + */ void KeyPrimitive(std::string_view keyName, std::string_view value) override; - // Floating Point + /** + * @name Floating Point + */ + /**@{*/ void KeyPrimitive(std::string_view keyName, float value) override; void KeyPrimitive(std::string_view keyName, double value) override; + /**@}*/ - // Null + /** + * @brief Null + */ void KeyPrimitive(std::string_view keyName, std::nullptr_t value) override; - // Array / Objects + /** + * @name Array / Objects + */ + /**@{*/ void KeyArray(std::string_view keyName, std::function insideArray) override; void KeyObject( std::string_view keyName, std::function insideObject) override; + /**@}*/ std::string toString() override; std::string_view toStringView() override; diff --git a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangleReader.h b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangleReader.h index b78ba5e6a..ebeb76fde 100644 --- a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangleReader.h +++ b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/AvailabilityRectangleReader.h @@ -52,7 +52,7 @@ class CESIUMQUANTIZEDMESHTERRAIN_API AvailabilityRectangleReader { /** * @brief Reads an instance of AvailabilityRectangle from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult< @@ -63,7 +63,7 @@ class CESIUMQUANTIZEDMESHTERRAIN_API AvailabilityRectangleReader { * @brief Reads an array of instances of AvailabilityRectangle from a * rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerReader.h b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerReader.h index bbf20fdea..97f7fe47b 100644 --- a/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerReader.h +++ b/CesiumQuantizedMeshTerrain/generated/include/CesiumQuantizedMeshTerrain/LayerReader.h @@ -51,7 +51,7 @@ class CESIUMQUANTIZEDMESHTERRAIN_API LayerReader { /** * @brief Reads an instance of Layer from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult @@ -60,7 +60,7 @@ class CESIUMQUANTIZEDMESHTERRAIN_API LayerReader { /** * @brief Reads an array of instances of Layer from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult< diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlay.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlay.h index 77e9fb3cb..bdad340ce 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlay.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlay.h @@ -202,6 +202,13 @@ class RasterOverlay const CesiumGeospatial::Ellipsoid& ellipsoid CESIUM_DEFAULT_ELLIPSOID) const; + /** + * @brief A result from a call to \ref createTileProvider. This is expected to + * be an \ref CesiumUtility::IntrusivePointer "IntrusivePointer" to a \ref + * RasterOverlayTileProvider, but may be a \ref + * RasterOverlayLoadFailureDetails if creating the tile provider wasn't + * successful. + */ using CreateTileProviderResult = nonstd::expected< CesiumUtility::IntrusivePointer, RasterOverlayLoadFailureDetails>; diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h index 615f813d1..27348a30a 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h @@ -14,7 +14,7 @@ namespace CesiumRasterOverlays { class RasterOverlay; /** - * @brief The type of load that failed in {@link RasterOverlayLoadFailureDetails}. + * @brief The type of load that failed in \ref RasterOverlayLoadFailureDetails. */ enum class RasterOverlayLoadType { /** diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTile.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTile.h index 68faa050d..d932641b6 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTile.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTile.h @@ -72,9 +72,10 @@ class RasterOverlayTile final * * Values of this enumeration are returned by * {@link Cesium3DTilesSelection::RasterMappedTo3DTile::update}, which in turn is called by - * {@link Cesium3DTilesSelection::TilesetContentManager::updateDoneState}. These values are - * used to determine whether a leaf tile has been reached, but the associated - * raster tiles are not yet the most detailed ones that are available. + * \ref Cesium3DTilesSelection::TilesetContentManager + * "TilesetContentManager::updateDoneState". These values are used to + * determine whether a leaf tile has been reached, but the associated raster + * tiles are not yet the most detailed ones that are available. */ enum class MoreDetailAvailable { diff --git a/CesiumUtility/include/CesiumUtility/DoublyLinkedList.h b/CesiumUtility/include/CesiumUtility/DoublyLinkedList.h index d0000b7bd..c0e8c50ff 100644 --- a/CesiumUtility/include/CesiumUtility/DoublyLinkedList.h +++ b/CesiumUtility/include/CesiumUtility/DoublyLinkedList.h @@ -265,6 +265,9 @@ class DoublyLinkedListAdvanced final { T* _pTail = nullptr; }; +/** + * @brief An intrusive doubly-linked list. + */ template (T::*Pointers)> using DoublyLinkedList = DoublyLinkedListAdvanced; diff --git a/CesiumUtility/include/CesiumUtility/IntrusivePointer.h b/CesiumUtility/include/CesiumUtility/IntrusivePointer.h index 24bb22d0f..ebe34d9e6 100644 --- a/CesiumUtility/include/CesiumUtility/IntrusivePointer.h +++ b/CesiumUtility/include/CesiumUtility/IntrusivePointer.h @@ -219,6 +219,12 @@ template class IntrusivePointer final { template friend class IntrusivePointer; }; +/** + * @brief Casts a `const` \ref IntrusivePointer to its non-const equivalent. + * + * @param p The `const` \ref IntrusivePointer. + * @returns A non-const \ref IntrusivePointer with the same underlying pointer. + */ template IntrusivePointer const_intrusive_cast(const IntrusivePointer& p) noexcept { diff --git a/CesiumUtility/include/CesiumUtility/JsonValue.h b/CesiumUtility/include/CesiumUtility/JsonValue.h index b664fc5e6..48e2f0a94 100644 --- a/CesiumUtility/include/CesiumUtility/JsonValue.h +++ b/CesiumUtility/include/CesiumUtility/JsonValue.h @@ -210,8 +210,17 @@ class CESIUMUTILITY_API JsonValue final { JsonValue(std::initializer_list> v) : value(std::map(v)) {} + /** + * @brief Attempts to obtain a pointer to a \ref JsonValue for the given key + * on this object. + * + * @param key The key to lookup. + * @returns A pointer to the \ref JsonValue for the provided key, or + * `nullptr`. + */ [[nodiscard]] const JsonValue* getValuePtrForKey(const std::string& key) const; + /** @copydoc getValuePtrForKey */ [[nodiscard]] JsonValue* getValuePtrForKey(const std::string& key); /** diff --git a/CesiumUtility/include/CesiumUtility/Result.h b/CesiumUtility/include/CesiumUtility/Result.h index 71789e20a..20ab3567b 100644 --- a/CesiumUtility/include/CesiumUtility/Result.h +++ b/CesiumUtility/include/CesiumUtility/Result.h @@ -14,11 +14,29 @@ namespace CesiumUtility { * @tparam T The type of value included in the result. */ template struct Result { + /** + * @brief Creates a `Result` with the given value and an empty \ref ErrorList. + * + * @param value_ The value that will be contained in this `Result`. + */ Result(T value_) noexcept : value(std::move(value_)), errors() {} + /** + * @brief Creates a `Result` with the given value and \ref ErrorList. + * + * @param value_ The value that will be contained in this `Result`. + * @param errors_ The \ref ErrorList containing errors and warnings related to + * this `Result`. + */ Result(T value_, ErrorList errors_) noexcept : value(std::move(value_)), errors(std::move(errors_)) {} + /** + * @brief Creates a `Result` with an empty value and the given \ref ErrorList. + * + * @param errors_ The \ref ErrorList containing errors and warnings related to + * this `Result`. + */ Result(ErrorList errors_) noexcept : value(), errors(std::move(errors_)) {} /** @@ -47,12 +65,32 @@ template struct Result { * @tparam T The type of value included in the result. */ template struct Result> { + /** + * @brief Creates a `Result` with the given value and an empty \ref ErrorList. + * + * @param pValue_ An intrusive pointer to the value that will be contained in + * this `Result`. + */ Result(CesiumUtility::IntrusivePointer pValue_) noexcept : pValue(std::move(pValue_)), errors() {} + /** + * @brief Creates a `Result` with the given value and \ref ErrorList. + * + * @param pValue_ An intrusive pointer to the value that will be contained in + * this `Result`. + * @param errors_ The \ref ErrorList containing errors and warnings related to + * this `Result`. + */ Result(CesiumUtility::IntrusivePointer pValue_, ErrorList errors_) noexcept : pValue(std::move(pValue_)), errors(std::move(errors_)) {} + /** + * @brief Creates a `Result` with an empty value and the given \ref ErrorList. + * + * @param errors_ The \ref ErrorList containing errors and warnings related to + * this `Result`. + */ Result(ErrorList errors_) noexcept : pValue(nullptr), errors(std::move(errors_)) {} diff --git a/tools/generate-classes/generate.js b/tools/generate-classes/generate.js index ab422f5dc..118bb6087 100644 --- a/tools/generate-classes/generate.js +++ b/tools/generate-classes/generate.js @@ -101,17 +101,18 @@ function generate(options, schema, writers) { * @brief The original name of this type. */ static constexpr const char* TypeName = "${name}"; - ${thisConfig.extensionName ? `static constexpr const char* ExtensionName = "${thisConfig.extensionName}";` : ""} + ${thisConfig.extensionName ? `/** @brief The official name of the extension. This should be the same as its key in the \`extensions\` object. */ + static constexpr const char* ExtensionName = "${thisConfig.extensionName}";` : ""} ${indent(localTypes.join("\n\n"), 16)} ${indent( - properties - .map((property) => formatProperty(property)) - .filter(propertyText => propertyText !== undefined) - .join("\n\n"), - 16 - )} + properties + .map((property) => formatProperty(property)) + .filter(propertyText => propertyText !== undefined) + .join("\n\n"), + 16 + )} /** * @brief Calculates the size in bytes of this object, including the contents of all collections, pointers, and strings. @@ -203,11 +204,11 @@ function generate(options, schema, writers) { ${indent(readerLocalTypes.join("\n\n"), 12)} ${namespace}::${name}* _pObject = nullptr; ${indent( - properties - .map((property) => formatReaderProperty(property)) - .join("\n"), - 12 - )} + properties + .map((property) => formatReaderProperty(property)) + .join("\n"), + 12 + )} }; } // namespace ${readerNamespace} `; @@ -279,7 +280,7 @@ function generate(options, schema, writers) { /** * @brief Reads an instance of ${name} from a rapidJson::Value. * - * @param data The buffer from which to read the instance. + * @param value The value from which to read the instance. * @return The result of reading the instance. */ CesiumJsonReader::ReadJsonResult<${namespace}::${name}> readFromJson(const rapidjson::Value& value) const; @@ -287,7 +288,7 @@ function generate(options, schema, writers) { /** * @brief Reads an array of instances of ${name} from a rapidJson::Value. * - * @param data The buffer from which to read the array of instances. + * @param value The value from which to read the array of instances. * @return The result of reading the array of instances. */ CesiumJsonReader::ReadJsonResult> readArrayFromJson(const rapidjson::Value& value) const; @@ -389,11 +390,11 @@ function generate(options, schema, writers) { ${properties.length > 0 ? ` ${indent( - properties - .map((property) => formatReaderPropertyImpl(property)) - .join("\n"), - 10 - )}` : `(void)o;`} + properties + .map((property) => formatReaderPropertyImpl(property)) + .join("\n"), + 10 + )}` : `(void)o;`} return this->readObjectKey${NameFormatters.removeNamespace(base)}(objectType, str, *this->_pObject); } @@ -436,9 +437,10 @@ function generate(options, schema, writers) { using ValueType = ${namespace}::${name}; ${thisConfig.extensionName - ? `static constexpr const char* ExtensionName = "${thisConfig.extensionName}";` - : "" - } + ? `/** @brief The official name of the extension. This should be the same as its key in the \`extensions\` object. */ + static constexpr const char* ExtensionName = "${thisConfig.extensionName}";` + : "" + } static void write( const ${namespace}::${name}& obj, @@ -475,11 +477,11 @@ function generate(options, schema, writers) { const CesiumJsonWriter::ExtensionWriterContext& context) { ${indent( - properties - .map((property) => formatWriterPropertyImpl(property)) - .join("\n\n"), - 10 - )} + properties + .map((property) => formatWriterPropertyImpl(property)) + .join("\n\n"), + 10 + )} write${NameFormatters.getWriterName(base)}(obj, jsonWriter, context); } @@ -506,11 +508,11 @@ function generate(options, schema, writers) { jsonWriter.StartObject(); ${indent( - properties - .map((property) => formatWriterPropertyImpl(property)) - .join("\n\n"), - 10 - )} + properties + .map((property) => formatWriterPropertyImpl(property)) + .join("\n\n"), + 10 + )} write${NameFormatters.getWriterName(base)}(obj, jsonWriter, context); From 39e70379273bbd6c616059a1e9de5b29865c3595 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Fri, 13 Dec 2024 11:20:02 -0500 Subject: [PATCH 06/12] Enum value 'descriptions' for generated code --- .../include/Cesium3DTiles/Availability.h | 2 + .../include/Cesium3DTiles/ClassProperty.h | 20 +++++ .../generated/include/Cesium3DTiles/Enum.h | 8 ++ .../include/Cesium3DTiles/ImplicitTiling.h | 2 + .../Cesium3DTiles/PropertyTableProperty.h | 8 ++ .../generated/include/Cesium3DTiles/Tile.h | 2 + .../Cesium3DTilesSelection/ViewUpdateResult.h | 2 +- .../include/CesiumGeospatial/GlobeAnchor.h | 2 +- .../LocalHorizontalCoordinateSystem.h | 39 ++++----- .../CesiumGltf/AccessorSparseIndices.h | 3 + .../include/CesiumGltf/AccessorSpec.h | 17 ++++ .../CesiumGltf/AnimationChannelTarget.h | 4 + .../include/CesiumGltf/AnimationSampler.h | 3 + .../generated/include/CesiumGltf/BufferView.h | 2 + .../generated/include/CesiumGltf/Camera.h | 2 + .../include/CesiumGltf/ClassProperty.h | 20 +++++ .../generated/include/CesiumGltf/Enum.h | 8 ++ ...ExtensionBufferViewExtMeshoptCompression.h | 7 ++ .../generated/include/CesiumGltf/ImageSpec.h | 2 + .../generated/include/CesiumGltf/Material.h | 3 + .../include/CesiumGltf/MeshPrimitive.h | 7 ++ .../CesiumGltf/PropertyTableProperty.h | 8 ++ .../generated/include/CesiumGltf/Sampler.h | 14 ++++ .../CesiumJsonReader/BoolJsonHandler.h | 8 ++ .../CesiumJsonReader/DoubleJsonHandler.h | 12 +++ .../ExtensibleObjectJsonHandler.h | 23 ++++++ .../include/CesiumJsonReader/IJsonHandler.h | 81 ++++++++++++++++--- .../CesiumJsonReader/IntegerJsonHandler.h | 3 + .../include/CesiumJsonReader/JsonHandler.h | 28 +++++++ .../CesiumJsonReader/ObjectJsonHandler.h | 31 +++++++ .../CesiumJsonReader/StringJsonHandler.h | 12 +++ tools/generate-classes/resolveProperty.js | 11 ++- 32 files changed, 357 insertions(+), 37 deletions(-) diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h index 5a01b98a3..a3d161a73 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h @@ -24,8 +24,10 @@ struct CESIUM3DTILES_API Availability final * available (1) or all are unavailable (0). */ struct Constant { + /** @brief The UNAVAILABLE value. */ static constexpr int32_t UNAVAILABLE = 0; + /** @brief The AVAILABLE value. */ static constexpr int32_t AVAILABLE = 1; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h b/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h index acf9941cf..91c37a9ae 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h @@ -25,24 +25,34 @@ struct CESIUM3DTILES_API ClassProperty final * @brief Known values for The element type. */ struct Type { + /** @brief The SCALAR value. */ inline static const std::string SCALAR = "SCALAR"; + /** @brief The VEC2 value. */ inline static const std::string VEC2 = "VEC2"; + /** @brief The VEC3 value. */ inline static const std::string VEC3 = "VEC3"; + /** @brief The VEC4 value. */ inline static const std::string VEC4 = "VEC4"; + /** @brief The MAT2 value. */ inline static const std::string MAT2 = "MAT2"; + /** @brief The MAT3 value. */ inline static const std::string MAT3 = "MAT3"; + /** @brief The MAT4 value. */ inline static const std::string MAT4 = "MAT4"; + /** @brief The STRING value. */ inline static const std::string STRING = "STRING"; + /** @brief The BOOLEAN value. */ inline static const std::string BOOLEAN = "BOOLEAN"; + /** @brief The ENUM value. */ inline static const std::string ENUM = "ENUM"; }; @@ -51,24 +61,34 @@ struct CESIUM3DTILES_API ClassProperty final * for `SCALAR`, `VECN`, and `MATN` types, and disallowed for other types. */ struct ComponentType { + /** @brief The INT8 value. */ inline static const std::string INT8 = "INT8"; + /** @brief The UINT8 value. */ inline static const std::string UINT8 = "UINT8"; + /** @brief The INT16 value. */ inline static const std::string INT16 = "INT16"; + /** @brief The UINT16 value. */ inline static const std::string UINT16 = "UINT16"; + /** @brief The INT32 value. */ inline static const std::string INT32 = "INT32"; + /** @brief The UINT32 value. */ inline static const std::string UINT32 = "UINT32"; + /** @brief The INT64 value. */ inline static const std::string INT64 = "INT64"; + /** @brief The UINT64 value. */ inline static const std::string UINT64 = "UINT64"; + /** @brief The FLOAT32 value. */ inline static const std::string FLOAT32 = "FLOAT32"; + /** @brief The FLOAT64 value. */ inline static const std::string FLOAT64 = "FLOAT64"; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h index 67650d7ba..1dc147388 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h @@ -24,20 +24,28 @@ struct CESIUM3DTILES_API Enum final : public CesiumUtility::ExtensibleObject { * @brief Known values for The type of the integer enum value. */ struct ValueType { + /** @brief The INT8 value. */ inline static const std::string INT8 = "INT8"; + /** @brief The UINT8 value. */ inline static const std::string UINT8 = "UINT8"; + /** @brief The INT16 value. */ inline static const std::string INT16 = "INT16"; + /** @brief The UINT16 value. */ inline static const std::string UINT16 = "UINT16"; + /** @brief The INT32 value. */ inline static const std::string INT32 = "INT32"; + /** @brief The UINT32 value. */ inline static const std::string UINT32 = "UINT32"; + /** @brief The INT64 value. */ inline static const std::string INT64 = "INT64"; + /** @brief The UINT64 value. */ inline static const std::string UINT64 = "UINT64"; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h b/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h index d9bab74c5..d6d9be31d 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h @@ -27,8 +27,10 @@ struct CESIUM3DTILES_API ImplicitTiling final * within the tileset. */ struct SubdivisionScheme { + /** @brief The QUADTREE value. */ inline static const std::string QUADTREE = "QUADTREE"; + /** @brief The OCTREE value. */ inline static const std::string OCTREE = "OCTREE"; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h index ef2b8c294..5e4e20ae9 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h @@ -27,12 +27,16 @@ struct CESIUM3DTILES_API PropertyTableProperty final * @brief Known values for The type of values in `arrayOffsets`. */ struct ArrayOffsetType { + /** @brief The UINT8 value. */ inline static const std::string UINT8 = "UINT8"; + /** @brief The UINT16 value. */ inline static const std::string UINT16 = "UINT16"; + /** @brief The UINT32 value. */ inline static const std::string UINT32 = "UINT32"; + /** @brief The UINT64 value. */ inline static const std::string UINT64 = "UINT64"; }; @@ -40,12 +44,16 @@ struct CESIUM3DTILES_API PropertyTableProperty final * @brief Known values for The type of values in `stringOffsets`. */ struct StringOffsetType { + /** @brief The UINT8 value. */ inline static const std::string UINT8 = "UINT8"; + /** @brief The UINT16 value. */ inline static const std::string UINT16 = "UINT16"; + /** @brief The UINT32 value. */ inline static const std::string UINT32 = "UINT32"; + /** @brief The UINT64 value. */ inline static const std::string UINT64 = "UINT64"; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h index 378da3dfc..110361e44 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h @@ -30,8 +30,10 @@ struct CESIUM3DTILES_API Tile final : public CesiumUtility::ExtensibleObject { * default is to inherit from the parent tile. */ struct Refine { + /** @brief The ADD value. */ inline static const std::string ADD = "ADD"; + /** @brief The REPLACE value. */ inline static const std::string REPLACE = "REPLACE"; }; diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/ViewUpdateResult.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/ViewUpdateResult.h index b557bb162..e6497fe70 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/ViewUpdateResult.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/ViewUpdateResult.h @@ -73,7 +73,7 @@ class CESIUM3DTILESSELECTION_API ViewUpdateResult final { */ uint32_t tilesWaitingForOcclusionResults = 0; /** - * @brief The number of tiles kicked from the load queue this frame. + * @brief The number of tiles kicked from the render list this frame. */ uint32_t tilesKicked = 0; /** diff --git a/CesiumGeospatial/include/CesiumGeospatial/GlobeAnchor.h b/CesiumGeospatial/include/CesiumGeospatial/GlobeAnchor.h index e00bfe1b3..0a241e8a8 100644 --- a/CesiumGeospatial/include/CesiumGeospatial/GlobeAnchor.h +++ b/CesiumGeospatial/include/CesiumGeospatial/GlobeAnchor.h @@ -15,7 +15,7 @@ class LocalHorizontalCoordinateSystem; /** * @brief Anchors an object to the globe by defining a transformation from the * object's coordinate to the globe-fixed coordinate system (usually - * Earth-Centered, Earth-Fixed or ECEF). + * \ref glossary-ecef). * * This class allows the anchored coordinate system to be realized in any * {@link LocalHorizontalCoordinateSystem}. When the object is moved, either by diff --git a/CesiumGeospatial/include/CesiumGeospatial/LocalHorizontalCoordinateSystem.h b/CesiumGeospatial/include/CesiumGeospatial/LocalHorizontalCoordinateSystem.h index cf924f57d..cfb6466c0 100644 --- a/CesiumGeospatial/include/CesiumGeospatial/LocalHorizontalCoordinateSystem.h +++ b/CesiumGeospatial/include/CesiumGeospatial/LocalHorizontalCoordinateSystem.h @@ -55,8 +55,8 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { const Ellipsoid& ellipsoid = CesiumGeospatial::Ellipsoid::WGS84); /** - * @brief Create a new coordinate system centered at a Earth-Centered, - * Earth-Fixed position. + * @brief Create a new coordinate system centered at a \ref glossary-ecef + * "Earth-Centered, Earth-Fixed" position. * * @param originEcef The origin of the coordinate system. * @param xAxisDirection The local direction in which the X axis points at the @@ -80,8 +80,8 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { /** * @brief Create a new coordinate system with a specified transformation to - * the Earth-Centered, Earth-Fixed frame. This is an advanced constructor and - * should be avoided in most cases. + * the \ref glossary-ecef "Earth-Centered, Earth-Fixed" frame. This is an + * advanced constructor and should be avoided in most cases. * * This constructor can be used to save/restore the state of an instance. It * can also be used to create unusual coordinate systems that can't be created @@ -95,8 +95,9 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { /** * @brief Create a new coordinate system with the specified transformations - * between the local frame and the Earth-Centered, Earth-Fixed frame. This is - * an advanced constructor and should be avoided in most cases. + * between the local frame and the + * \ref glossary-ecef "Earth-Centered, Earth-Fixed" frame. This is an advanced + * constructor and should be avoided in most cases. * * This constructor can be used to save/restore the state of an instance. It * can also be used to create unusual coordinate systems that can't be created @@ -116,8 +117,7 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { /** * @brief Gets the transformation matrix from the local horizontal coordinate - * system managed by this instance to the Earth-Centered, Earth-fixed - * coordinate system. + * system managed by this instance to the \ref glossary-ecef. * * @return The transformation. */ @@ -126,9 +126,8 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { } /** - * @brief Gets the transformation matrix from the Earth-Centered, Earth-Fixed - * (ECEF) coordinate system to the local horizontal coordinate system managed - * by this instance. + * @brief Gets the transformation matrix from \ref glossary-ecef to the + * local horizontal coordinate system managed by this instance. * * @return The transformation. */ @@ -138,7 +137,8 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { /** * @brief Converts a position in the local horizontal coordinate system - * managed by this instance to Earth-Centered, Earth-Fixed (ECEF). + * managed by this instance to + * \ref glossary-ecef "Earth-Centered, Earth-Fixed (ECEF)". * * @param localPosition The position in the local coordinate system. * @return The equivalent position in the ECEF coordinate system. @@ -147,9 +147,9 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { localPositionToEcef(const glm::dvec3& localPosition) const noexcept; /** - * @brief Converts a position in the Earth-Centered, Earth-Fixed (ECEF) - * coordinate system to the local horizontal coordinate system managed by this - * instance. + * @brief Converts a position in the + * \ref glossary-ecef "Earth-Centered, Earth-Fixed (ECEF)" coordinate system + * to the local horizontal coordinate system managed by this instance. * * @param ecefPosition The position in the ECEF coordinate system. * @return The equivalent position in the local coordinate system. @@ -158,7 +158,8 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { /** * @brief Converts a direction in the local horizontal coordinate system - * managed by this instance to Earth-Centered, Earth-Fixed (ECEF). + * managed by this instance to + * \ref glossary-ecef "Earth-Centered, Earth-Fixed (ECEF)". * * Because the vector is treated as a direction only, the translation portion * of the transformation is ignored. @@ -170,9 +171,9 @@ class CESIUMGEOSPATIAL_API LocalHorizontalCoordinateSystem { localDirectionToEcef(const glm::dvec3& localDirection) const noexcept; /** - * @brief Converts a direction in the Earth-Centered, Earth-Fixed (ECEF) - * coordinate system to the local horizontal coordinate system managed by this - * instance. + * @brief Converts a direction in the + * \ref glossary-ecef "Earth-Centered, Earth-Fixed (ECEF)" coordinate system + * to the local horizontal coordinate system managed by this instance. * * Because the vector is treated as a direction only, the translation portion * of the transformation is ignored. diff --git a/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h b/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h index 404710034..f6d4c2cd1 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h +++ b/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h @@ -24,10 +24,13 @@ struct CESIUMGLTF_API AccessorSparseIndices final * @brief Known values for The indices data type. */ struct ComponentType { + /** @brief The UNSIGNED_BYTE value. */ static constexpr int32_t UNSIGNED_BYTE = 5121; + /** @brief The UNSIGNED_SHORT value. */ static constexpr int32_t UNSIGNED_SHORT = 5123; + /** @brief The UNSIGNED_INT value. */ static constexpr int32_t UNSIGNED_INT = 5125; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h b/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h index 8f9c21d03..57b930168 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h +++ b/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h @@ -25,24 +25,34 @@ struct CESIUMGLTF_API AccessorSpec : public CesiumGltf::NamedObject { * @brief Known values for The datatype of the accessor's components. */ struct ComponentType { + /** @brief The BYTE value. */ static constexpr int32_t BYTE = 5120; + /** @brief The UNSIGNED_BYTE value. */ static constexpr int32_t UNSIGNED_BYTE = 5121; + /** @brief The SHORT value. */ static constexpr int32_t SHORT = 5122; + /** @brief The UNSIGNED_SHORT value. */ static constexpr int32_t UNSIGNED_SHORT = 5123; + /** @brief The INT value. */ static constexpr int32_t INT = 5124; + /** @brief The UNSIGNED_INT value. */ static constexpr int32_t UNSIGNED_INT = 5125; + /** @brief The INT64 value. */ static constexpr int32_t INT64 = 5134; + /** @brief The UNSIGNED_INT64 value. */ static constexpr int32_t UNSIGNED_INT64 = 5135; + /** @brief The FLOAT value. */ static constexpr int32_t FLOAT = 5126; + /** @brief The DOUBLE value. */ static constexpr int32_t DOUBLE = 5130; }; @@ -51,18 +61,25 @@ struct CESIUMGLTF_API AccessorSpec : public CesiumGltf::NamedObject { * vectors, or matrices. */ struct Type { + /** @brief The SCALAR value. */ inline static const std::string SCALAR = "SCALAR"; + /** @brief The VEC2 value. */ inline static const std::string VEC2 = "VEC2"; + /** @brief The VEC3 value. */ inline static const std::string VEC3 = "VEC3"; + /** @brief The VEC4 value. */ inline static const std::string VEC4 = "VEC4"; + /** @brief The MAT2 value. */ inline static const std::string MAT2 = "MAT2"; + /** @brief The MAT3 value. */ inline static const std::string MAT3 = "MAT3"; + /** @brief The MAT4 value. */ inline static const std::string MAT4 = "MAT4"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h b/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h index 895188dff..f972f3698 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h +++ b/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h @@ -29,12 +29,16 @@ struct CESIUMGLTF_API AnimationChannelTarget final * along the X, Y, and Z axes. */ struct Path { + /** @brief The translation value. */ inline static const std::string translation = "translation"; + /** @brief The rotation value. */ inline static const std::string rotation = "rotation"; + /** @brief The scale value. */ inline static const std::string scale = "scale"; + /** @brief The weights value. */ inline static const std::string weights = "weights"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h b/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h index d21f5ed99..7c77b758f 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h +++ b/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h @@ -24,10 +24,13 @@ struct CESIUMGLTF_API AnimationSampler final * @brief Known values for Interpolation algorithm. */ struct Interpolation { + /** @brief The LINEAR value. */ inline static const std::string LINEAR = "LINEAR"; + /** @brief The STEP value. */ inline static const std::string STEP = "STEP"; + /** @brief The CUBICSPLINE value. */ inline static const std::string CUBICSPLINE = "CUBICSPLINE"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/BufferView.h b/CesiumGltf/generated/include/CesiumGltf/BufferView.h index de043d43d..084f91a80 100644 --- a/CesiumGltf/generated/include/CesiumGltf/BufferView.h +++ b/CesiumGltf/generated/include/CesiumGltf/BufferView.h @@ -23,8 +23,10 @@ struct CESIUMGLTF_API BufferView final : public CesiumGltf::NamedObject { * to use with this buffer view. */ struct Target { + /** @brief The ARRAY_BUFFER value. */ static constexpr int32_t ARRAY_BUFFER = 34962; + /** @brief The ELEMENT_ARRAY_BUFFER value. */ static constexpr int32_t ELEMENT_ARRAY_BUFFER = 34963; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/Camera.h b/CesiumGltf/generated/include/CesiumGltf/Camera.h index 044278a63..36b6a9fc2 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Camera.h +++ b/CesiumGltf/generated/include/CesiumGltf/Camera.h @@ -26,8 +26,10 @@ struct CESIUMGLTF_API Camera final : public CesiumGltf::NamedObject { * orthographic projection. */ struct Type { + /** @brief The perspective value. */ inline static const std::string perspective = "perspective"; + /** @brief The orthographic value. */ inline static const std::string orthographic = "orthographic"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h b/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h index b69c995f4..d4e29dd11 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h +++ b/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h @@ -25,24 +25,34 @@ struct CESIUMGLTF_API ClassProperty final * @brief Known values for The element type. */ struct Type { + /** @brief The SCALAR value. */ inline static const std::string SCALAR = "SCALAR"; + /** @brief The VEC2 value. */ inline static const std::string VEC2 = "VEC2"; + /** @brief The VEC3 value. */ inline static const std::string VEC3 = "VEC3"; + /** @brief The VEC4 value. */ inline static const std::string VEC4 = "VEC4"; + /** @brief The MAT2 value. */ inline static const std::string MAT2 = "MAT2"; + /** @brief The MAT3 value. */ inline static const std::string MAT3 = "MAT3"; + /** @brief The MAT4 value. */ inline static const std::string MAT4 = "MAT4"; + /** @brief The STRING value. */ inline static const std::string STRING = "STRING"; + /** @brief The BOOLEAN value. */ inline static const std::string BOOLEAN = "BOOLEAN"; + /** @brief The ENUM value. */ inline static const std::string ENUM = "ENUM"; }; @@ -51,24 +61,34 @@ struct CESIUMGLTF_API ClassProperty final * applicable to `SCALAR`, `VECN`, and `MATN` types. */ struct ComponentType { + /** @brief The INT8 value. */ inline static const std::string INT8 = "INT8"; + /** @brief The UINT8 value. */ inline static const std::string UINT8 = "UINT8"; + /** @brief The INT16 value. */ inline static const std::string INT16 = "INT16"; + /** @brief The UINT16 value. */ inline static const std::string UINT16 = "UINT16"; + /** @brief The INT32 value. */ inline static const std::string INT32 = "INT32"; + /** @brief The UINT32 value. */ inline static const std::string UINT32 = "UINT32"; + /** @brief The INT64 value. */ inline static const std::string INT64 = "INT64"; + /** @brief The UINT64 value. */ inline static const std::string UINT64 = "UINT64"; + /** @brief The FLOAT32 value. */ inline static const std::string FLOAT32 = "FLOAT32"; + /** @brief The FLOAT64 value. */ inline static const std::string FLOAT64 = "FLOAT64"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/Enum.h b/CesiumGltf/generated/include/CesiumGltf/Enum.h index b81ed988f..079725db2 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Enum.h +++ b/CesiumGltf/generated/include/CesiumGltf/Enum.h @@ -24,20 +24,28 @@ struct CESIUMGLTF_API Enum final : public CesiumUtility::ExtensibleObject { * @brief Known values for The type of the integer enum value. */ struct ValueType { + /** @brief The INT8 value. */ inline static const std::string INT8 = "INT8"; + /** @brief The UINT8 value. */ inline static const std::string UINT8 = "UINT8"; + /** @brief The INT16 value. */ inline static const std::string INT16 = "INT16"; + /** @brief The UINT16 value. */ inline static const std::string UINT16 = "UINT16"; + /** @brief The INT32 value. */ inline static const std::string INT32 = "INT32"; + /** @brief The UINT32 value. */ inline static const std::string UINT32 = "UINT32"; + /** @brief The INT64 value. */ inline static const std::string INT64 = "INT64"; + /** @brief The UINT64 value. */ inline static const std::string UINT64 = "UINT64"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h index 0c860296a..62c5c8220 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h @@ -27,10 +27,13 @@ struct CESIUMGLTF_API ExtensionBufferViewExtMeshoptCompression final * @brief Known values for The compression mode. */ struct Mode { + /** @brief The ATTRIBUTES value. */ inline static const std::string ATTRIBUTES = "ATTRIBUTES"; + /** @brief The TRIANGLES value. */ inline static const std::string TRIANGLES = "TRIANGLES"; + /** @brief The INDICES value. */ inline static const std::string INDICES = "INDICES"; }; @@ -38,12 +41,16 @@ struct CESIUMGLTF_API ExtensionBufferViewExtMeshoptCompression final * @brief Known values for The compression filter. */ struct Filter { + /** @brief The NONE value. */ inline static const std::string NONE = "NONE"; + /** @brief The OCTAHEDRAL value. */ inline static const std::string OCTAHEDRAL = "OCTAHEDRAL"; + /** @brief The QUATERNION value. */ inline static const std::string QUATERNION = "QUATERNION"; + /** @brief The EXPONENTIAL value. */ inline static const std::string EXPONENTIAL = "EXPONENTIAL"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h b/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h index 9843d88c8..e8733ed4a 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h +++ b/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h @@ -25,8 +25,10 @@ struct CESIUMGLTF_API ImageSpec : public CesiumGltf::NamedObject { * defined when `bufferView` is defined. */ struct MimeType { + /** @brief The image_jpeg value. */ inline static const std::string image_jpeg = "image/jpeg"; + /** @brief The image_png value. */ inline static const std::string image_png = "image/png"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/Material.h b/CesiumGltf/generated/include/CesiumGltf/Material.h index fe20e4906..eab9a209c 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Material.h +++ b/CesiumGltf/generated/include/CesiumGltf/Material.h @@ -27,10 +27,13 @@ struct CESIUMGLTF_API Material final : public CesiumGltf::NamedObject { * @brief Known values for The alpha rendering mode of the material. */ struct AlphaMode { + /** @brief The OPAQUE value. */ inline static const std::string OPAQUE = "OPAQUE"; + /** @brief The MASK value. */ inline static const std::string MASK = "MASK"; + /** @brief The BLEND value. */ inline static const std::string BLEND = "BLEND"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h b/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h index 2b2da93e1..10af85339 100644 --- a/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h +++ b/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h @@ -25,18 +25,25 @@ struct CESIUMGLTF_API MeshPrimitive final * @brief Known values for The topology type of primitives to render. */ struct Mode { + /** @brief The POINTS value. */ static constexpr int32_t POINTS = 0; + /** @brief The LINES value. */ static constexpr int32_t LINES = 1; + /** @brief The LINE_LOOP value. */ static constexpr int32_t LINE_LOOP = 2; + /** @brief The LINE_STRIP value. */ static constexpr int32_t LINE_STRIP = 3; + /** @brief The TRIANGLES value. */ static constexpr int32_t TRIANGLES = 4; + /** @brief The TRIANGLE_STRIP value. */ static constexpr int32_t TRIANGLE_STRIP = 5; + /** @brief The TRIANGLE_FAN value. */ static constexpr int32_t TRIANGLE_FAN = 6; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h b/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h index ebfe4f860..df49186d6 100644 --- a/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h +++ b/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h @@ -25,12 +25,16 @@ struct CESIUMGLTF_API PropertyTableProperty final * @brief Known values for The type of values in `arrayOffsets`. */ struct ArrayOffsetType { + /** @brief The UINT8 value. */ inline static const std::string UINT8 = "UINT8"; + /** @brief The UINT16 value. */ inline static const std::string UINT16 = "UINT16"; + /** @brief The UINT32 value. */ inline static const std::string UINT32 = "UINT32"; + /** @brief The UINT64 value. */ inline static const std::string UINT64 = "UINT64"; }; @@ -38,12 +42,16 @@ struct CESIUMGLTF_API PropertyTableProperty final * @brief Known values for The type of values in `stringOffsets`. */ struct StringOffsetType { + /** @brief The UINT8 value. */ inline static const std::string UINT8 = "UINT8"; + /** @brief The UINT16 value. */ inline static const std::string UINT16 = "UINT16"; + /** @brief The UINT32 value. */ inline static const std::string UINT32 = "UINT32"; + /** @brief The UINT64 value. */ inline static const std::string UINT64 = "UINT64"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/Sampler.h b/CesiumGltf/generated/include/CesiumGltf/Sampler.h index 488ec9ebd..97b7f868a 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Sampler.h +++ b/CesiumGltf/generated/include/CesiumGltf/Sampler.h @@ -21,8 +21,10 @@ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { * @brief Known values for Magnification filter. */ struct MagFilter { + /** @brief The NEAREST value. */ static constexpr int32_t NEAREST = 9728; + /** @brief The LINEAR value. */ static constexpr int32_t LINEAR = 9729; }; @@ -30,16 +32,22 @@ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { * @brief Known values for Minification filter. */ struct MinFilter { + /** @brief The NEAREST value. */ static constexpr int32_t NEAREST = 9728; + /** @brief The LINEAR value. */ static constexpr int32_t LINEAR = 9729; + /** @brief The NEAREST_MIPMAP_NEAREST value. */ static constexpr int32_t NEAREST_MIPMAP_NEAREST = 9984; + /** @brief The LINEAR_MIPMAP_NEAREST value. */ static constexpr int32_t LINEAR_MIPMAP_NEAREST = 9985; + /** @brief The NEAREST_MIPMAP_LINEAR value. */ static constexpr int32_t NEAREST_MIPMAP_LINEAR = 9986; + /** @brief The LINEAR_MIPMAP_LINEAR value. */ static constexpr int32_t LINEAR_MIPMAP_LINEAR = 9987; }; @@ -47,10 +55,13 @@ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { * @brief Known values for S (U) wrapping mode. */ struct WrapS { + /** @brief The CLAMP_TO_EDGE value. */ static constexpr int32_t CLAMP_TO_EDGE = 33071; + /** @brief The MIRRORED_REPEAT value. */ static constexpr int32_t MIRRORED_REPEAT = 33648; + /** @brief The REPEAT value. */ static constexpr int32_t REPEAT = 10497; }; @@ -58,10 +69,13 @@ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { * @brief Known values for T (V) wrapping mode. */ struct WrapT { + /** @brief The CLAMP_TO_EDGE value. */ static constexpr int32_t CLAMP_TO_EDGE = 33071; + /** @brief The MIRRORED_REPEAT value. */ static constexpr int32_t MIRRORED_REPEAT = 33648; + /** @brief The REPEAT value. */ static constexpr int32_t REPEAT = 10497; }; diff --git a/CesiumJsonReader/include/CesiumJsonReader/BoolJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/BoolJsonHandler.h index 1aa345856..20e76d1a5 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/BoolJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/BoolJsonHandler.h @@ -4,11 +4,19 @@ #include "Library.h" namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler for reading bool values. + */ class CESIUMJSONREADER_API BoolJsonHandler : public JsonHandler { public: BoolJsonHandler() noexcept; + /** + * @brief Resets the parent \ref IJsonHandler of this handler, and its bool + * value. + */ void reset(IJsonHandler* pParent, bool* pBool); + /** @copydoc IJsonHandler::readBool */ virtual IJsonHandler* readBool(bool b) override; private: diff --git a/CesiumJsonReader/include/CesiumJsonReader/DoubleJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/DoubleJsonHandler.h index 87abb8f74..3a33a2ac3 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/DoubleJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/DoubleJsonHandler.h @@ -4,15 +4,27 @@ #include "Library.h" namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler for reading double values. + */ class CESIUMJSONREADER_API DoubleJsonHandler : public JsonHandler { public: DoubleJsonHandler() noexcept; + /** + * @brief Resets the parent \ref IJsonHandler of this handler, and its double + * value. + */ void reset(IJsonHandler* pParent, double* pDouble); + /** @copydoc IJsonHandler::readInt32 */ virtual IJsonHandler* readInt32(int32_t i) override; + /** @copydoc IJsonHandler::readUint32 */ virtual IJsonHandler* readUint32(uint32_t i) override; + /** @copydoc IJsonHandler::readInt64 */ virtual IJsonHandler* readInt64(int64_t i) override; + /** @copydoc IJsonHandler::readUint64 */ virtual IJsonHandler* readUint64(uint64_t i) override; + /** @copydoc IJsonHandler::readDouble */ virtual IJsonHandler* readDouble(double d) override; private: diff --git a/CesiumJsonReader/include/CesiumJsonReader/ExtensibleObjectJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/ExtensibleObjectJsonHandler.h index d99de7ed5..be514c778 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/ExtensibleObjectJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/ExtensibleObjectJsonHandler.h @@ -11,13 +11,36 @@ namespace CesiumJsonReader { +/** + * @brief An \ref IJsonHandler for reading \ref CesiumUtility::ExtensibleObject + * "ExtensibleObject" types. + */ class ExtensibleObjectJsonHandler : public CesiumJsonReader::ObjectJsonHandler { public: + /** + * @brief Creates an \ref ExtensibleObjectJsonHandler with the specified + * options. + * + * @param context Options to configure how the JSON is parsed. + */ explicit ExtensibleObjectJsonHandler( const JsonReaderOptions& context) noexcept; protected: + /** + * @brief Resets the current parent of this handler, and the current object + * being handled. + */ void reset(IJsonHandler* pParent, CesiumUtility::ExtensibleObject* pObject); + /** + * @brief Reads a property of an \ref CesiumUtility::ExtensibleObject + * "ExtensibleObject" from the JSON. + * + * @param objectType The name of the ExtensibleObject's type. + * @param str The object key being read. + * @param o The \ref CesiumUtility::ExtensibleObject "ExtensibleObject" we're + * currently reading into. + */ IJsonHandler* readObjectKeyExtensibleObject( const std::string& objectType, const std::string_view& str, diff --git a/CesiumJsonReader/include/CesiumJsonReader/IJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/IJsonHandler.h index 3bbbfb395..bd03fe388 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/IJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/IJsonHandler.h @@ -11,41 +11,102 @@ namespace CesiumJsonReader { /** * @brief Base interface for all JSON handlers. Types that need to be * deserialized from JSON should implement `IJsonHandler` or a class that - * derives from it. + * derives from it. As the JSON is parsed, the corresponding `read...` method to + * the token that was parsed will be called. These methods can return themselves + * or a different handler to handle the value. */ class CESIUMJSONREADER_API IJsonHandler { public: virtual ~IJsonHandler(){}; /** - * @brief Reading primitives + * @brief Called when the JSON parser encounters a `null`. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. */ - /**@{*/ virtual IJsonHandler* readNull() = 0; + /** + * @brief Called when the JSON parser encounters a boolean value. + * @param b The boolean value. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readBool(bool b) = 0; + /** + * @brief Called when the JSON parser encounters an int32 value. + * @param i The int32 value. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readInt32(int32_t i) = 0; + /** + * @brief Called when the JSON parser encounters a uint32 value. + * @param i The uint32 value. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readUint32(uint32_t i) = 0; + /** + * @brief Called when the JSON parser encounters an int64 value. + * @param i The int64 value. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readInt64(int64_t i) = 0; + /** + * @brief Called when the JSON parser encounters a uint64 value. + * @param i The uint64 value. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readUint64(uint64_t i) = 0; + /** + * @brief Called when the JSON parser encounters a double value. + * @param d The double value. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readDouble(double d) = 0; + /** + * @brief Called when the JSON parser encounters a string value. + * @param str The string value. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readString(const std::string_view& str) = 0; - /**@}*/ /** - * @brief Reading objects + * @brief Called when the JSON parser encounters the beginning of an object. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. */ - /**@{*/ virtual IJsonHandler* readObjectStart() = 0; + /** + * @brief Called when the JSON parser encounters a key while reading an + * object. + * @param str The key. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readObjectKey(const std::string_view& str) = 0; + /** + * @brief Called when the JSON parser encounters the end of an object. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readObjectEnd() = 0; - /**@}*/ /** - * @brief Reading arrays + * @brief Called when the JSON parser encounters the start of an array. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. */ - /**@{*/ virtual IJsonHandler* readArrayStart() = 0; + /** + * @brief Called when the JSON parser encounters the end of an array. + * @returns A \ref IJsonHandler that will handle the next `read...` call. + * This can be the same handler as the current one. + */ virtual IJsonHandler* readArrayEnd() = 0; - /**@}*/ /** * @brief Report a warning while reading JSON. diff --git a/CesiumJsonReader/include/CesiumJsonReader/IntegerJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/IntegerJsonHandler.h index 15594f122..ca5520bdf 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/IntegerJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/IntegerJsonHandler.h @@ -7,6 +7,9 @@ #include namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler for reading integer values. + */ template class CESIUMJSONREADER_API IntegerJsonHandler : public JsonHandler { public: diff --git a/CesiumJsonReader/include/CesiumJsonReader/JsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/JsonHandler.h index e05c50258..b8863f516 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/JsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/JsonHandler.h @@ -8,30 +8,58 @@ #include namespace CesiumJsonReader { +/** + * @brief A dummy implementation of \ref IJsonHandler that will report a warning + * and return its parent when any of its `read...` methods are called. + * + * This class can be used as a base for any specialized JsonHandlers, overriding + * the methods required for the value you're handling and leaving the rest to + * report warnings if called. + */ class CESIUMJSONREADER_API JsonHandler : public IJsonHandler { public: JsonHandler() noexcept; + /** @copydoc IJsonHandler::readNull */ virtual IJsonHandler* readNull() override; + /** @copydoc IJsonHandler::readBool */ virtual IJsonHandler* readBool(bool b) override; + /** @copydoc IJsonHandler::readInt32 */ virtual IJsonHandler* readInt32(int32_t i) override; + /** @copydoc IJsonHandler::readUint32 */ virtual IJsonHandler* readUint32(uint32_t i) override; + /** @copydoc IJsonHandler::readInt64 */ virtual IJsonHandler* readInt64(int64_t i) override; + /** @copydoc IJsonHandler::readUint64 */ virtual IJsonHandler* readUint64(uint64_t i) override; + /** @copydoc IJsonHandler::readDouble */ virtual IJsonHandler* readDouble(double d) override; + /** @copydoc IJsonHandler::readString */ virtual IJsonHandler* readString(const std::string_view& str) override; + /** @copydoc IJsonHandler::readObjectStart */ virtual IJsonHandler* readObjectStart() override; + /** @copydoc IJsonHandler::readObjectKey */ virtual IJsonHandler* readObjectKey(const std::string_view& str) override; + /** @copydoc IJsonHandler::readObjectEnd */ virtual IJsonHandler* readObjectEnd() override; + /** @copydoc IJsonHandler::readArrayStart */ virtual IJsonHandler* readArrayStart() override; + /** @copydoc IJsonHandler::readArrayEnd */ virtual IJsonHandler* readArrayEnd() override; + /** @copydoc IJsonHandler::reportWarning */ virtual void reportWarning( const std::string& warning, std::vector&& context = std::vector()) override; protected: + /** + * @brief Resets the parent \ref IJsonHandler of this handler. + */ void reset(IJsonHandler* pParent); + /** + * @brief Obtains the parent \ref IJsonHandler of this handler. + */ IJsonHandler* parent(); /** diff --git a/CesiumJsonReader/include/CesiumJsonReader/ObjectJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/ObjectJsonHandler.h index 51a11b77f..0bcc37d35 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/ObjectJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/ObjectJsonHandler.h @@ -8,17 +8,41 @@ #include namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler for handling JSON objects. + */ class CESIUMJSONREADER_API ObjectJsonHandler : public JsonHandler { public: ObjectJsonHandler() noexcept : JsonHandler() {} + /** @copydoc IJsonHandler::readObjectStart */ virtual IJsonHandler* readObjectStart() override /* final */; + /** @copydoc IJsonHandler::readObjectEnd */ virtual IJsonHandler* readObjectEnd() override /* final */; protected: + /** + * @brief Called when \ref readObjectStart is called when the depth of the + * \ref ObjectJsonHandler is greater than 0. + */ virtual IJsonHandler* StartSubObject() noexcept; + /** + * @brief Called when \ref readObjectEnd is called when the depth of the + * \ref ObjectJsonHandler is greater than 0. + */ virtual IJsonHandler* EndSubObject() noexcept; + /** + * @brief Called from \ref IJsonHandler::readObjectKey to read a property into + * an object. + * + * @param currentKey The key that's currently being read. + * @param accessor An \ref IJsonHandler that can read the type of this + * property. + * @param value A reference to the location to store the read value. + * @returns The `accessor` \ref IJsonHandler that will read the next token + * into `value`. + */ template IJsonHandler* property(const char* currentKey, TAccessor& accessor, TProperty& value) { @@ -37,13 +61,20 @@ class CESIUMJSONREADER_API ObjectJsonHandler : public JsonHandler { return &accessor; } + /** + * @brief Obtains the most recent key handled by this JsonHandler. + */ const char* getCurrentKey() const noexcept; + /** @copydoc IJsonHandler::reportWarning */ virtual void reportWarning( const std::string& warning, std::vector&& context = std::vector()) override; protected: + /** + * @brief Sets the most recent key handled by this JsonHandler. + */ void setCurrentKey(const char* key) noexcept; private: diff --git a/CesiumJsonReader/include/CesiumJsonReader/StringJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/StringJsonHandler.h index 799950cd3..11e6b0474 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/StringJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/StringJsonHandler.h @@ -6,11 +6,23 @@ #include namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler for reading string values. + */ class CESIUMJSONREADER_API StringJsonHandler : public JsonHandler { public: StringJsonHandler() noexcept; + /** + * @brief Resets the parent \ref IJsonHandler of this handler, and its string + * value. + */ void reset(IJsonHandler* pParent, std::string* pString); + /** + * @brief Obtains the string value of this \ref IJsonHandler, or nullptr if no + * string has been read. + */ std::string* getObject() noexcept; + /** @copydoc IJsonHandler::readString */ virtual IJsonHandler* readString(const std::string_view& str) override; private: diff --git a/tools/generate-classes/resolveProperty.js b/tools/generate-classes/resolveProperty.js index 839b58237..a2fa3ff86 100644 --- a/tools/generate-classes/resolveProperty.js +++ b/tools/generate-classes/resolveProperty.js @@ -723,14 +723,13 @@ function createEnum(enumDetails) { return undefined; } + const identifier = createEnumIdentifier(enumDetails); + const comment = `/** @brief The ${identifier} value. */\n`; + if (enumDetails.type === "integer") { - return `static constexpr int32_t ${createEnumIdentifier( - enumDetails - )} = ${enumValue}`; + return comment + `static constexpr int32_t ${identifier} = ${enumValue}`; } else { - return `inline static const std::string ${createEnumIdentifier( - enumDetails - )} = \"${enumValue}\"`; + return comment + `inline static const std::string ${identifier} = \"${enumValue}\"`; } } From c580d5def66a65828e54bf7d402dc8b67708f1f2 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Fri, 13 Dec 2024 15:13:59 -0500 Subject: [PATCH 07/12] Fix even more warnings --- .../include/CesiumGltf/PropertyTypeTraits.h | 30 +++ .../include/CesiumIonClient/ApplicationData.h | 4 +- .../CesiumJsonReader/ArrayJsonHandler.h | 7 + .../CesiumJsonReader/BoolJsonHandler.h | 4 +- .../CesiumJsonReader/DictionaryJsonHandler.h | 26 +++ .../CesiumJsonReader/DoubleJsonHandler.h | 4 +- .../CesiumJsonReader/ExtensionsJsonHandler.h | 16 +- .../CesiumJsonReader/IExtensionJsonHandler.h | 18 ++ .../CesiumJsonReader/IgnoreValueJsonHandler.h | 28 +++ .../CesiumJsonReader/IntegerJsonHandler.h | 13 ++ .../CesiumJsonReader/JsonObjectJsonHandler.h | 21 ++ .../CesiumJsonReader/JsonReaderOptions.h | 8 + .../CesiumJsonReader/SharedAssetJsonHandler.h | 16 ++ .../CesiumJsonReader/StringJsonHandler.h | 8 +- .../include/CesiumJsonWriter/JsonWriter.h | 221 ++++++++++++++++-- .../CesiumJsonWriter/PrettyJsonWriter.h | 39 +--- .../RasterOverlayUtilities.h | 5 + .../include/CesiumUtility/JsonValue.h | 6 + 18 files changed, 405 insertions(+), 69 deletions(-) diff --git a/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h b/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h index 65881a374..880779859 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h @@ -426,91 +426,121 @@ template struct TypeToNormalizedType; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { + /** @brief The representation of an `int8_t` as a double type. */ using type = double; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { + /** @brief The representation of a `uint8_t` as a double type. */ using type = double; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { + /** @brief The representation of an `int16_t` as a double type. */ using type = double; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { + /** @brief The representation of a `uint16_t` as a double type. */ using type = double; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { + /** @brief The representation of an `int32_t` as a double type. */ using type = double; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { + /** @brief The representation of a `uint32_t` as a double type. */ using type = double; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { + /** @brief The representation of an `int64_t` as a double type. */ using type = double; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType { + /** @brief The representation of a `uint64_t` as a double type. */ using type = double; }; /** @copydoc TypeToNormalizedType */ template struct TypeToNormalizedType> { + /** @brief The representation of a `glm::vec` as a double type. */ using type = glm::vec; }; /** @copydoc TypeToNormalizedType */ template struct TypeToNormalizedType> { + /** @brief The representation of a `glm::mat` as a double type. */ using type = glm::mat; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { + /** @brief The representation of an array of `int8_t` types as an array of its + * double type equivalents. */ using type = PropertyArrayView; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { + /** @brief The representation of an array of `uint8_t` types as an array of + * its double type equivalents. */ using type = PropertyArrayView; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { + /** @brief The representation of an array of `int16_t` types as an array of + * its double type equivalents. */ using type = PropertyArrayView; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { + /** @brief The representation of an array of `uint16_t` types as an array of + * its double type equivalents. */ using type = PropertyArrayView; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { + /** @brief The representation of an array of `int32_t` types as an array of + * its double type equivalents. */ using type = PropertyArrayView; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { + /** @brief The representation of an array of `uint32_t` types as an array of + * its double type equivalents. */ using type = PropertyArrayView; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { + /** @brief The representation of an array of `int64_t` types as an array of + * its double type equivalents. */ using type = PropertyArrayView; }; /** @copydoc TypeToNormalizedType */ template <> struct TypeToNormalizedType> { + /** @brief The representation of an array of `uint64_t` types as an array of + * its double type equivalents. */ using type = PropertyArrayView; }; /** @copydoc TypeToNormalizedType */ template struct TypeToNormalizedType>> { + /** @brief The representation of an array of `glm::vec` types as an + * array of its double type equivalents. */ using type = PropertyArrayView>; }; /** @copydoc TypeToNormalizedType */ template struct TypeToNormalizedType>> { + /** @brief The representation of an array of `glm::mat` types as + * an array of its double type equivalents. */ using type = PropertyArrayView>; }; diff --git a/CesiumIonClient/include/CesiumIonClient/ApplicationData.h b/CesiumIonClient/include/CesiumIonClient/ApplicationData.h index cf090a72c..72f168a43 100644 --- a/CesiumIonClient/include/CesiumIonClient/ApplicationData.h +++ b/CesiumIonClient/include/CesiumIonClient/ApplicationData.h @@ -5,8 +5,8 @@ namespace CesiumIonClient { /** - * @brief An enumeration representing the values of \ref - * ApplicationData::authenticationMode. + * @brief An enumeration representing the values of the `authenticationMode` + * property in the `appData` response. */ enum AuthenticationMode { /** diff --git a/CesiumJsonReader/include/CesiumJsonReader/ArrayJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/ArrayJsonHandler.h index ca15dbf83..427003001 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/ArrayJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/ArrayJsonHandler.h @@ -12,9 +12,16 @@ #include namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler for reading a JSON array into an `std::vector`. + * + * @tparam T The element type of the destination vector. + * @tparam THandler The \ref IJsonHandler to handle each element. + */ template class CESIUMJSONREADER_API ArrayJsonHandler : public JsonHandler { public: + /** @brief The destination type. */ using ValueType = std::vector; template diff --git a/CesiumJsonReader/include/CesiumJsonReader/BoolJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/BoolJsonHandler.h index 20e76d1a5..7188cb4c7 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/BoolJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/BoolJsonHandler.h @@ -11,8 +11,8 @@ class CESIUMJSONREADER_API BoolJsonHandler : public JsonHandler { public: BoolJsonHandler() noexcept; /** - * @brief Resets the parent \ref IJsonHandler of this handler, and its bool - * value. + * @brief Resets the parent \ref IJsonHandler of this handler, and the pointer + * to its destination bool value. */ void reset(IJsonHandler* pParent, bool* pBool); diff --git a/CesiumJsonReader/include/CesiumJsonReader/DictionaryJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/DictionaryJsonHandler.h index c41c6d7aa..33b767442 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/DictionaryJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/DictionaryJsonHandler.h @@ -9,13 +9,34 @@ #include namespace CesiumJsonReader { +/** + * @brief Reads the keys and values of a JSON object into a + * `std::map` or an `std::unordered_map`. + * + * @tparam T The type of values in the map. + * @tparam THandler The type of the \ref IJsonHandler to handle the map values. + */ template class CESIUMJSONREADER_API DictionaryJsonHandler : public ObjectJsonHandler { public: + /** + * @brief Creates a new \ref DictionaryJsonHandler, passing the specified + * arguments to the constructor of THandler. + */ template DictionaryJsonHandler(Ts&&... args) noexcept : ObjectJsonHandler(), _item(std::forward(args)...) {} + /** + * @brief Resets the parent of this \ref IJsonHandler and sets the destination + * pointer of this handler to an `std::unordered_map`. + * + * @warning Technically, there is no reason why you can't call `reset` twice + * on the same \ref DictionaryJsonHandler, once with an `std::map` and once + * with an `std::unordered_map`. In practice, if a pointer to an + * `std::unordered_map` is present, it will always be used as the destination + * and the pointer to an `std::map` will be ignored. + */ void reset( IJsonHandler* pParent, std::unordered_map* pDictionary) { @@ -23,11 +44,16 @@ class CESIUMJSONREADER_API DictionaryJsonHandler : public ObjectJsonHandler { this->_pDictionary1 = pDictionary; } + /** + * @brief Resets the parent of this \ref IJsonHandler and sets the destination + * pointer of this handler to an `std::map`. + */ void reset(IJsonHandler* pParent, std::map* pDictionary) { ObjectJsonHandler::reset(pParent); this->_pDictionary2 = pDictionary; } + /** @copydoc IJsonHandler::readObjectKey */ virtual IJsonHandler* readObjectKey(const std::string_view& str) override { CESIUM_ASSERT(this->_pDictionary1 || this->_pDictionary2); diff --git a/CesiumJsonReader/include/CesiumJsonReader/DoubleJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/DoubleJsonHandler.h index 3a33a2ac3..c4b5d264b 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/DoubleJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/DoubleJsonHandler.h @@ -11,8 +11,8 @@ class CESIUMJSONREADER_API DoubleJsonHandler : public JsonHandler { public: DoubleJsonHandler() noexcept; /** - * @brief Resets the parent \ref IJsonHandler of this handler, and its double - * value. + * @brief Resets the parent \ref IJsonHandler of this handler, and the pointer + * to its destination double value. */ void reset(IJsonHandler* pParent, double* pDouble); diff --git a/CesiumJsonReader/include/CesiumJsonReader/ExtensionsJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/ExtensionsJsonHandler.h index 6534614ee..2a9391e13 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/ExtensionsJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/ExtensionsJsonHandler.h @@ -9,20 +9,34 @@ #include namespace CesiumJsonReader { - +/** + * @brief \ref IJsonHandler for reading extensions, such as those listed in an + * \ref CesiumUtility::ExtensibleObject "ExtensibleObject". + */ class ExtensionsJsonHandler : public CesiumJsonReader::ObjectJsonHandler { public: + /** + * @brief Creates a new \ref ExtensionsJsonHandler with the specified reader + * options. + * + * @param context Options to configure how the JSON is read. + */ explicit ExtensionsJsonHandler(const JsonReaderOptions& context) noexcept : ObjectJsonHandler(), _context(context), _pObject(nullptr), _currentExtensionHandler() {} + /** + * @brief Resets the \ref IJsonHandler's parent and pointer to destination, as + * well as the name of the object type that the extension is attached to. + */ void reset( IJsonHandler* pParent, CesiumUtility::ExtensibleObject* pObject, const std::string& objectType); + /** @copydoc IJsonHandler::readObjectKey */ virtual IJsonHandler* readObjectKey(const std::string_view& str) override; private: diff --git a/CesiumJsonReader/include/CesiumJsonReader/IExtensionJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/IExtensionJsonHandler.h index 6e0fec568..f01e4ff41 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/IExtensionJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/IExtensionJsonHandler.h @@ -9,13 +9,31 @@ namespace CesiumJsonReader { +/** + * @brief An interface for JSON handlers that handle extensions on \ref + * CesiumUtility::ExtensibleObject "ExtensibleObject" types. + * + * Usually, this will be a handler deriving from \ref ExtensionsJsonHandler that + * handles the specific extension found in the JSON. However, unknown extensions + * are read by a special \ref IExtensionJsonHandler returned by \ref + * JsonReaderOptions::createExtensionHandler, which reads the extension into the + * ExtensibleObject's `extensions` map as a \ref CesiumUtility::JsonValue + * "JsonValue". + */ class IExtensionJsonHandler { public: virtual ~IExtensionJsonHandler() noexcept = default; + /** + * @brief Resets this \ref IExtensionJsonHandler's parent handler, destination + * object, and extension name. + */ virtual void reset( IJsonHandler* pParentHandler, CesiumUtility::ExtensibleObject& o, const std::string_view& extensionName) = 0; + /** + * @brief Obtains an \ref IJsonHandler from this \ref IExtensionJsonHandler. + */ virtual IJsonHandler& getHandler() = 0; }; diff --git a/CesiumJsonReader/include/CesiumJsonReader/IgnoreValueJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/IgnoreValueJsonHandler.h index 2adc9f917..47f25d81d 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/IgnoreValueJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/IgnoreValueJsonHandler.h @@ -6,28 +6,56 @@ #include namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler that does nothing but ignore the next value. + * + * Each `read...` call will return the current parent of this JsonHandler, + * unless the value being read is an object or array, in which case it will + * continue until the object or array is ended before returning. + */ class CESIUMJSONREADER_API IgnoreValueJsonHandler : public IJsonHandler { public: + /** + * @brief Resets the parent of this \ref IJsonHandler. + */ void reset(IJsonHandler* pParent) noexcept; + /** @copydoc IJsonHandler::readNull */ virtual IJsonHandler* readNull() override; + /** @copydoc IJsonHandler::readBool */ virtual IJsonHandler* readBool(bool b) override; + /** @copydoc IJsonHandler::readInt32 */ virtual IJsonHandler* readInt32(int32_t i) override; + /** @copydoc IJsonHandler::readUint32 */ virtual IJsonHandler* readUint32(uint32_t i) override; + /** @copydoc IJsonHandler::readInt64 */ virtual IJsonHandler* readInt64(int64_t i) override; + /** @copydoc IJsonHandler::readUint64 */ virtual IJsonHandler* readUint64(uint64_t i) override; + /** @copydoc IJsonHandler::readDouble */ virtual IJsonHandler* readDouble(double d) override; + /** @copydoc IJsonHandler::readString */ virtual IJsonHandler* readString(const std::string_view& str) override; + /** @copydoc IJsonHandler::readObjectStart */ virtual IJsonHandler* readObjectStart() override; + /** @copydoc IJsonHandler::readObjectKey */ virtual IJsonHandler* readObjectKey(const std::string_view& str) override; + /** @copydoc IJsonHandler::readObjectEnd */ virtual IJsonHandler* readObjectEnd() override; + /** @copydoc IJsonHandler::readArrayStart */ virtual IJsonHandler* readArrayStart() override; + /** @copydoc IJsonHandler::readArrayEnd */ virtual IJsonHandler* readArrayEnd() override; + /** @copydoc IJsonHandler::reportWarning */ virtual void reportWarning( const std::string& warning, std::vector&& context = std::vector()) override; + /** + * @brief Obtains the currently set parent of this handler, or `nullptr` if + * `reset` hasn't yet been called. + */ IJsonHandler* parent() noexcept; private: diff --git a/CesiumJsonReader/include/CesiumJsonReader/IntegerJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/IntegerJsonHandler.h index ca5520bdf..27b146c2d 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/IntegerJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/IntegerJsonHandler.h @@ -15,33 +15,45 @@ class CESIUMJSONREADER_API IntegerJsonHandler : public JsonHandler { public: IntegerJsonHandler() noexcept : JsonHandler() {} + /** + * @brief Resets the parent \ref IJsonHandler of this instance and sets the + * pointer to its destination integer value. + */ void reset(IJsonHandler* pParent, T* pInteger) { JsonHandler::reset(pParent); this->_pInteger = pInteger; } + /** + * @brief Obtains the integer pointer set on this handler by \ref reset. + */ T* getObject() { return this->_pInteger; } + /** @copydoc IJsonHandler::readInt32 */ virtual IJsonHandler* readInt32(int32_t i) override { CESIUM_ASSERT(this->_pInteger); *this->_pInteger = static_cast(i); return this->parent(); } + /** @copydoc IJsonHandler::readUint32 */ virtual IJsonHandler* readUint32(uint32_t i) override { CESIUM_ASSERT(this->_pInteger); *this->_pInteger = static_cast(i); return this->parent(); } + /** @copydoc IJsonHandler::readInt64 */ virtual IJsonHandler* readInt64(int64_t i) override { CESIUM_ASSERT(this->_pInteger); *this->_pInteger = static_cast(i); return this->parent(); } + /** @copydoc IJsonHandler::readUint64 */ virtual IJsonHandler* readUint64(uint64_t i) override { CESIUM_ASSERT(this->_pInteger); *this->_pInteger = static_cast(i); return this->parent(); } + /** @copydoc IJsonHandler::readDouble */ virtual IJsonHandler* readDouble(double d) override { CESIUM_ASSERT(this->_pInteger); double intPart; @@ -53,6 +65,7 @@ class CESIUMJSONREADER_API IntegerJsonHandler : public JsonHandler { return this->parent(); } + /** @copydoc IJsonHandler::reportWarning */ virtual void reportWarning( const std::string& warning, std::vector&& context) override { diff --git a/CesiumJsonReader/include/CesiumJsonReader/JsonObjectJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/JsonObjectJsonHandler.h index 824e5b39b..1856aabc3 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/JsonObjectJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/JsonObjectJsonHandler.h @@ -7,24 +7,45 @@ namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler for arbitrary \ref CesiumUtility::JsonValue + * JsonValue objects. + */ class CESIUMJSONREADER_API JsonObjectJsonHandler : public JsonHandler { public: JsonObjectJsonHandler() noexcept; + /** + * @brief Resets this \ref IJsonHandler's parent handler, as well as its + * destination pointer. + */ void reset(IJsonHandler* pParent, CesiumUtility::JsonValue* pValue); + /** @copydoc IJsonHandler::readNull */ virtual IJsonHandler* readNull() override; + /** @copydoc IJsonHandler::readBool */ virtual IJsonHandler* readBool(bool b) override; + /** @copydoc IJsonHandler::readInt32 */ virtual IJsonHandler* readInt32(int32_t i) override; + /** @copydoc IJsonHandler::readUint32 */ virtual IJsonHandler* readUint32(uint32_t i) override; + /** @copydoc IJsonHandler::readInt64 */ virtual IJsonHandler* readInt64(int64_t i) override; + /** @copydoc IJsonHandler::readUint64 */ virtual IJsonHandler* readUint64(uint64_t i) override; + /** @copydoc IJsonHandler::readDouble */ virtual IJsonHandler* readDouble(double d) override; + /** @copydoc IJsonHandler::readString */ virtual IJsonHandler* readString(const std::string_view& str) override; + /** @copydoc IJsonHandler::readObjectStart */ virtual IJsonHandler* readObjectStart() override; + /** @copydoc IJsonHandler::readObjectKey */ virtual IJsonHandler* readObjectKey(const std::string_view& str) override; + /** @copydoc IJsonHandler::readObjectEnd */ virtual IJsonHandler* readObjectEnd() override; + /** @copydoc IJsonHandler::readArrayStart */ virtual IJsonHandler* readArrayStart() override; + /** @copydoc IJsonHandler::readArrayEnd */ virtual IJsonHandler* readArrayEnd() override; private: diff --git a/CesiumJsonReader/include/CesiumJsonReader/JsonReaderOptions.h b/CesiumJsonReader/include/CesiumJsonReader/JsonReaderOptions.h index c147e7ed2..bc6f2dcb0 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/JsonReaderOptions.h +++ b/CesiumJsonReader/include/CesiumJsonReader/JsonReaderOptions.h @@ -138,6 +138,14 @@ class CESIUMJSONREADER_API JsonReaderOptions { void setExtensionState(const std::string& extensionName, ExtensionState newState); + /** + * @brief Creates an extension handler for the given extension. + * + * @param extensionName The name of the extension to create a handler for. + * @param extendedObjectType The name of the type of the object that is being + * extended. + * @returns An \ref IExtensionJsonHandler to read the extension. + */ std::unique_ptr createExtensionHandler( const std::string_view& extensionName, const std::string& extendedObjectType) const; diff --git a/CesiumJsonReader/include/CesiumJsonReader/SharedAssetJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/SharedAssetJsonHandler.h index b2778fb6d..36287aa8b 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/SharedAssetJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/SharedAssetJsonHandler.h @@ -8,14 +8,30 @@ namespace CesiumJsonReader { +/** + * @brief \ref IJsonHandler for \ref CesiumUtility::SharedAsset "SharedAsset" + * values. + * + * This is more or less the same as directly using \ref + * ExtensibleObjectJsonHandler, and exists for compatibility with generated + * code. + */ class SharedAssetJsonHandler : public CesiumJsonReader::ExtensibleObjectJsonHandler { public: + /** + * @brief Creates an \ref SharedAssetJsonHandler with the specified + * options. + * + * @param context Options to configure how the JSON is parsed. + */ explicit SharedAssetJsonHandler( const CesiumJsonReader::JsonReaderOptions& context) noexcept; protected: + /** @copydoc ExtensibleObjectJsonHandler::reset */ void reset(IJsonHandler* pParent, CesiumUtility::ExtensibleObject* pObject); + /** @copydoc ExtensibleObjectJsonHandler::readObjectKeyExtensibleObject */ IJsonHandler* readObjectKeySharedAsset( const std::string& objectType, const std::string_view& str, diff --git a/CesiumJsonReader/include/CesiumJsonReader/StringJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/StringJsonHandler.h index 11e6b0474..5353f8b74 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/StringJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/StringJsonHandler.h @@ -13,13 +13,13 @@ class CESIUMJSONREADER_API StringJsonHandler : public JsonHandler { public: StringJsonHandler() noexcept; /** - * @brief Resets the parent \ref IJsonHandler of this handler, and its string - * value. + * @brief Resets the parent \ref IJsonHandler of this handler, and the pointer + * to its destination string value. */ void reset(IJsonHandler* pParent, std::string* pString); /** - * @brief Obtains the string value of this \ref IJsonHandler, or nullptr if no - * string has been read. + * @brief Obtains the pointer to the current destination string value of this + * handler. */ std::string* getObject() noexcept; /** @copydoc IJsonHandler::readString */ diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h b/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h index 583018ce7..9d754e66c 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h @@ -21,93 +21,268 @@ class JsonWriter { virtual ~JsonWriter() {} /** - * @name RapidJSON methods + * @brief Writes a `null` value to the output. + * @returns True if the write was successful. */ - /**@{*/ virtual bool Null(); + /** + * @brief Writes a boolean value to the output. + * @param b The boolean value to write. + * @returns True if the write was successful. + */ virtual bool Bool(bool b); + /** + * @brief Writes a signed integer value to the output. + * @param i The integer value to write. + * @returns True if the write was successful. + */ virtual bool Int(int i); + /** + * @brief Writes an unsigned integer value to the output. + * @param i The integer value to write. + * @returns True if the write was successful. + */ virtual bool Uint(unsigned int i); + /** + * @brief Writes an unsigned 64-bit integer value to the output. + * @param i The integer value to write. + * @returns True if the write was successful. + */ virtual bool Uint64(std::uint64_t i); + /** + * @brief Writes an signed 64-bit integer value to the output. + * @param i The integer value to write. + * @returns True if the write was successful. + */ virtual bool Int64(std::int64_t i); + /** + * @brief Writes a 64-bit floating point value to the output. + * @param d The double value to write. + * @returns True if the write was successful. + */ virtual bool Double(double d); + /** + * @brief Writes the given string as a number to the output without any kind + * of special handling. + * + * @param str The raw number to write directly to the output. + * @param length The length of the string. + * @param copy If true, the string will be copied. + * @returns True if the write was successful. + */ virtual bool RawNumber(const char* str, unsigned int length, bool copy); + /** + * @brief Writes the given string as an object key to the output. + * + * @param string The key to write. + * @returns True if the write was successful. + */ virtual bool Key(std::string_view string); + /** + * @brief Writes the given string as a value to the output. + * + * @param string The string to write. + * @returns True if the write was successful. + */ virtual bool String(std::string_view string); + /** + * @brief Writes the start of a JSON object to the output. + * + * @returns True if the write was successful. + */ virtual bool StartObject(); + /** + * @brief Writes the end of a JSON object to the output. + * + * @returns True if the write was successful. + */ virtual bool EndObject(); + /** + * @brief Writes the start of a JSON array to the output. + * + * @returns True if the write was successful. + */ virtual bool StartArray(); + /** + * @brief Writes the end of a JSON array to the output. + * + * @returns True if the write was successful. + */ virtual bool EndArray(); - /**@}*/ /** - * @name Primitive overloads + * @brief Writes the given primitive to the output. This is a convenience + * function for \ref Int. + * @param value The int32_t value to write. */ - /**@{*/ virtual void Primitive(std::int32_t value); + /** + * @brief Writes the given primitive to the output. This is a convenience + * function for \ref Uint. + * @param value The uint32_t value to write. + */ virtual void Primitive(std::uint32_t value); + /** + * @brief Writes the given primitive to the output. This is a convenience + * function for \ref Int64. + * @param value The int64_t value to write. + */ virtual void Primitive(std::int64_t value); + /** + * @brief Writes the given primitive to the output. This is a convenience + * function for \ref Uint64. + * @param value The uint64_t value to write. + */ virtual void Primitive(std::uint64_t value); + /** + * @brief Writes the given primitive to the output. This is a convenience + * function for \ref Double. + * @param value The float value to write. + */ virtual void Primitive(float value); + /** + * @brief Writes the given primitive to the output. This is a convenience + * function for \ref Double. + * @param value The double value to write. + */ virtual void Primitive(double value); + /** + * @brief Writes the given primitive to the output. This is a convenience + * function for \ref Null. + * @param value The null value to write. + */ virtual void Primitive(std::nullptr_t value); + /** + * @brief Writes the given primitive to the output. This is a convenience + * function for \ref String. + * @param value The string value to write. + */ virtual void Primitive(std::string_view string); - /**@}*/ /** - * @name Integral + * @brief Writes the given key and its corresponding value primitive to the + * output. This is a convenience function for calling \ref Key followed by + * \ref Int. + * @param keyName The key to write to the output. + * @param value The primitive value to write. */ - /**@{*/ virtual void KeyPrimitive(std::string_view keyName, std::int32_t value); + /** + * @brief Writes the given key and its corresponding value primitive to the + * output. This is a convenience function for calling \ref Key followed by + * \ref Uint. + * @param keyName The key to write to the output. + * @param value The primitive value to write. + */ virtual void KeyPrimitive(std::string_view keyName, std::uint32_t value); + /** + * @brief Writes the given key and its corresponding value primitive to the + * output. This is a convenience function for calling \ref Key followed by + * \ref Int64. + * @param keyName The key to write to the output. + * @param value The primitive value to write. + */ virtual void KeyPrimitive(std::string_view keyName, std::int64_t value); + /** + * @brief Writes the given key and its corresponding value primitive to the + * output. This is a convenience function for calling \ref Key followed by + * \ref Uint64. + * @param keyName The key to write to the output. + * @param value The primitive value to write. + */ virtual void KeyPrimitive(std::string_view keyName, std::uint64_t value); - /**@}*/ - /** - * @brief String + * @brief Writes the given key and its corresponding value primitive to the + * output. This is a convenience function for calling \ref Key followed by + * \ref String. + * @param keyName The key to write to the output. + * @param value The primitive value to write. */ virtual void KeyPrimitive(std::string_view keyName, std::string_view value); - /** - * @name Floating point + * @brief Writes the given key and its corresponding value primitive to the + * output. This is a convenience function for calling \ref Key followed by + * \ref Double. + * @param keyName The key to write to the output. + * @param value The primitive value to write. */ - /**@{*/ virtual void KeyPrimitive(std::string_view keyName, float value); + /** + * @brief Writes the given key and its corresponding value primitive to the + * output. This is a convenience function for calling \ref Key followed by + * \ref Double. + * @param keyName The key to write to the output. + * @param value The primitive value to write. + */ virtual void KeyPrimitive(std::string_view keyName, double value); - /**@}*/ - /** - * @brief Null + * @brief Writes the given key and its corresponding value primitive to the + * output. This is a convenience function for calling \ref Key followed by + * \ref Null. + * @param keyName The key to write to the output. + * @param value The primitive value to write. */ - /**@{*/ virtual void KeyPrimitive(std::string_view keyName, std::nullptr_t value); - /**@}*/ /** - * @name Array / Objects + * @brief Writes an array to the output with the given key and calls the + * provided callback to write values inside of the array. This is a + * convenience function for calling \ref Key followed by \ref StartArray + * followed by the values you wish to write and ending with \ref EndArray. + * + * @param keyName The key to write to the output. + * @param insideArray The callback to run, after \ref StartArray but before + * \ref EndArray. */ - /**@{*/ virtual void KeyArray(std::string_view keyName, std::function insideArray); - + /** + * @brief Writes an object to the output with the given key and calls the + * provided callback to write values inside of the object. This is a + * convenience function for calling \ref Key followed by \ref StartObject + * followed by the values you wish to write and ending with \ref EndObject. + * + * @param keyName The key to write to the output. + * @param insideObject The callback to run, after \ref StartObject but before + * \ref EndObject. + */ virtual void KeyObject(std::string_view keyName, std::function insideObject); - /**@}*/ + /** + * @brief Obtains the written output as a string. + */ virtual std::string toString(); + /** + * @brief Obtains the written output as a string_view. + */ virtual std::string_view toStringView(); + /** + * @brief Obtains the written output as a buffer of bytes. + */ virtual std::vector toBytes(); + /** + * @brief Emplaces a new error into the internal error buffer. + */ template void emplaceError(ErrorStr&& error) { _errors.emplace_back(std::forward(error)); } + /** + * @brief Emplaces a new warning into the internal warning buffer. + */ template void emplaceWarning(WarningStr&& warning) { _warnings.emplace_back(std::forward(warning)); } + /** + * @brief Obtains the current error buffer. + */ const std::vector& getErrors() const { return _errors; } + /** + * @brief Obtains the current warning buffer. + */ const std::vector& getWarnings() const { return _warnings; } private: diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/PrettyJsonWriter.h b/CesiumJsonWriter/include/CesiumJsonWriter/PrettyJsonWriter.h index 2c2ee51ec..0361ebf15 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/PrettyJsonWriter.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/PrettyJsonWriter.h @@ -13,6 +13,10 @@ namespace CesiumJsonWriter { +/** + * @brief Implementation of \ref JsonWriter that "pretty-prints" JSON to the + * output, formatted with new lines and indentation. + */ class PrettyJsonWriter : public JsonWriter { rapidjson::StringBuffer _prettyBuffer; std::unique_ptr> pretty; @@ -21,10 +25,6 @@ class PrettyJsonWriter : public JsonWriter { PrettyJsonWriter() noexcept; ~PrettyJsonWriter() {} - /** - * @name RapidJSON methods - */ - /**@{*/ bool Null() override; bool Bool(bool b) override; bool Int(int i) override; @@ -39,12 +39,7 @@ class PrettyJsonWriter : public JsonWriter { bool EndObject() override; bool StartArray() override; bool EndArray() override; - /**@}*/ - /** - * @name Primitive overloads - */ - /**@{*/ void Primitive(std::int32_t value) override; void Primitive(std::uint32_t value) override; void Primitive(std::int64_t value) override; @@ -53,47 +48,21 @@ class PrettyJsonWriter : public JsonWriter { void Primitive(double value) override; void Primitive(std::nullptr_t value) override; void Primitive(std::string_view string) override; - /**@}*/ - /** - * @name Integral - */ - /**@{*/ void KeyPrimitive(std::string_view keyName, std::int32_t value) override; void KeyPrimitive(std::string_view keyName, std::uint32_t value) override; void KeyPrimitive(std::string_view keyName, std::int64_t value) override; void KeyPrimitive(std::string_view keyName, std::uint64_t value) override; - /**@}*/ - - /** - * @brief String - */ void KeyPrimitive(std::string_view keyName, std::string_view value) override; - - /** - * @name Floating Point - */ - /**@{*/ void KeyPrimitive(std::string_view keyName, float value) override; void KeyPrimitive(std::string_view keyName, double value) override; - /**@}*/ - - /** - * @brief Null - */ void KeyPrimitive(std::string_view keyName, std::nullptr_t value) override; - /** - * @name Array / Objects - */ - /**@{*/ void KeyArray(std::string_view keyName, std::function insideArray) override; - void KeyObject( std::string_view keyName, std::function insideObject) override; - /**@}*/ std::string toString() override; std::string_view toStringView() override; diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h index 11b8bac43..cab308036 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h @@ -24,6 +24,11 @@ namespace CesiumRasterOverlays { * overlay tiles. */ struct CESIUMRASTEROVERLAYS_API RasterOverlayUtilities { + /** + * @brief Texture coordinates will be stored in the glTF under the following + * name, appended with a number. See \ref + * createRasterOverlayTextureCoordinates. + */ static constexpr std::string_view DEFAULT_TEXTURE_COORDINATE_BASE_NAME = "_CESIUMOVERLAY_"; diff --git a/CesiumUtility/include/CesiumUtility/JsonValue.h b/CesiumUtility/include/CesiumUtility/JsonValue.h index 48e2f0a94..3641f64df 100644 --- a/CesiumUtility/include/CesiumUtility/JsonValue.h +++ b/CesiumUtility/include/CesiumUtility/JsonValue.h @@ -16,11 +16,17 @@ namespace CesiumUtility { +/** + * @deprecated JSON parsing no longer throws this exception. + */ struct JsonValueMissingKey : public std::runtime_error { JsonValueMissingKey(const std::string& key) : std::runtime_error(key + " is not present in Object") {} }; +/** + * @deprecated JSON parsing no longer throws this exception. + */ struct JsonValueNotRealValue : public std::runtime_error { JsonValueNotRealValue() : std::runtime_error("this->value was not double, uint64_t or int64_t") {} From f934b407171fff76dd13ba014c10980b3ee3a3a7 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Tue, 17 Dec 2024 11:30:58 -0500 Subject: [PATCH 08/12] All warnings resolved --- .../RasterMappedTo3DTile.h | 5 +- .../TilesetLoadFailureDetails.h | 2 +- CesiumAsync/include/CesiumAsync/Future.h | 3 + CesiumAsync/include/CesiumAsync/HttpHeaders.h | 2 + .../CesiumAsync/NetworkAssetDescriptor.h | 3 + .../clipTriangleAtAxisAlignedThreshold.h | 8 +++ .../CesiumGeospatial/S2CellBoundingVolume.h | 12 ++-- .../ExtensionModelKhrMaterialsVariantsValue.h | 4 +- .../include/CesiumGltf/AccessorUtility.h | 44 +++++++++++++- CesiumGltf/include/CesiumGltf/AccessorView.h | 2 +- .../include/CesiumGltf/KhrTextureTransform.h | 4 ++ .../include/CesiumGltf/MetadataConversions.h | 8 +++ .../include/CesiumGltf/PropertyArrayView.h | 48 ++++++++++++++++ .../PropertyAttributePropertyView.h | 3 +- .../CesiumGltf/PropertyTablePropertyView.h | 5 +- .../CesiumGltf/PropertyTexturePropertyView.h | 16 ++++-- .../include/CesiumGltf/PropertyTextureView.h | 2 +- .../include/CesiumGltf/PropertyTypeTraits.h | 12 +++- .../include/CesiumGltf/SamplerUtility.h | 2 +- .../NetworkImageAssetDescriptor.h | 4 ++ .../NetworkSchemaAssetDescriptor.h | 4 ++ .../CesiumJsonReader/ArrayJsonHandler.h | 57 +++++++++++++++++++ .../CesiumJsonWriter/ExtensionWriterContext.h | 14 +++++ .../CesiumJsonWriter/JsonObjectWriter.h | 8 ++- .../include/CesiumJsonWriter/JsonWriter.h | 2 +- .../CesiumJsonWriter/writeJsonExtensions.h | 28 +++++++++ .../RasterOverlayLoadFailureDetails.h | 2 +- .../CesiumRasterOverlays/RasterOverlayTile.h | 3 +- .../RasterOverlayTileProvider.h | 4 ++ .../RasterOverlayUtilities.h | 2 +- .../include/CesiumUtility/IntrusivePointer.h | 7 +++ .../include/CesiumUtility/JsonValue.h | 23 ++++++++ CesiumUtility/include/CesiumUtility/Log.h | 2 + .../include/CesiumUtility/ScopeGuard.h | 7 ++- .../include/CesiumUtility/SharedAsset.h | 4 ++ doc/CMakeLists.txt | 3 +- doc/topics/style-guide.md | 4 +- tools/generate-classes/resolveProperty.js | 14 ++++- 38 files changed, 335 insertions(+), 42 deletions(-) diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/RasterMappedTo3DTile.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/RasterMappedTo3DTile.h index a88447e4d..d8951a67c 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/RasterMappedTo3DTile.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/RasterMappedTo3DTile.h @@ -153,9 +153,8 @@ class RasterMappedTo3DTile final { /** * @brief Update this tile during the update of its owner. * - * This is only supposed to be called by \ref - * Cesium3DTilesSelection::TilesetContentManager - * "TilesetContentManager::updateDoneState". It will return whether there is a + * This is only supposed to be called by + * `TilesetContentManager::updateDoneState`. It will return whether there is a * more detailed version of the raster data available. * * @param prepareRendererResources The {@link IPrepareRendererResources} used to diff --git a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h index eb6a3d667..d31595555 100644 --- a/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h +++ b/Cesium3DTilesSelection/include/Cesium3DTilesSelection/TilesetLoadFailureDetails.h @@ -12,7 +12,7 @@ namespace Cesium3DTilesSelection { class Tileset; /** - * @brief The type of load that failed in \ref TilesetLoadFailureDetails. + * @brief The type of load that failed in `TilesetLoadFailureDetails`. */ enum class TilesetLoadType { /** diff --git a/CesiumAsync/include/CesiumAsync/Future.h b/CesiumAsync/include/CesiumAsync/Future.h index 0d358acc9..ffe4ec63c 100644 --- a/CesiumAsync/include/CesiumAsync/Future.h +++ b/CesiumAsync/include/CesiumAsync/Future.h @@ -35,6 +35,9 @@ template class Future final { : _pSchedulers(std::move(rhs._pSchedulers)), _task(std::move(rhs._task)) {} + /** + * @brief Move assignment operator. + */ Future& operator=(Future&& rhs) noexcept { this->_pSchedulers = std::move(rhs._pSchedulers); this->_task = std::move(rhs._task); diff --git a/CesiumAsync/include/CesiumAsync/HttpHeaders.h b/CesiumAsync/include/CesiumAsync/HttpHeaders.h index bd2874892..0ed00c35f 100644 --- a/CesiumAsync/include/CesiumAsync/HttpHeaders.h +++ b/CesiumAsync/include/CesiumAsync/HttpHeaders.h @@ -14,6 +14,8 @@ namespace CesiumAsync { * non-ASCII strings unspecified). */ struct CaseInsensitiveCompare { + /** @brief Performs a case-insensitive comparison of the two strings using + * `std::lexicographical_compare`. */ bool operator()(const std::string& s1, const std::string& s2) const; }; diff --git a/CesiumAsync/include/CesiumAsync/NetworkAssetDescriptor.h b/CesiumAsync/include/CesiumAsync/NetworkAssetDescriptor.h index de2c71778..69eaaff18 100644 --- a/CesiumAsync/include/CesiumAsync/NetworkAssetDescriptor.h +++ b/CesiumAsync/include/CesiumAsync/NetworkAssetDescriptor.h @@ -61,7 +61,10 @@ struct NetworkAssetDescriptor { } // namespace CesiumAsync +/** @brief Hash implementation for \ref CesiumAsync::NetworkAssetDescriptor. */ template <> struct std::hash { + /** @brief Returns a `size_t` hash of the provided \ref + * CesiumAsync::NetworkAssetDescriptor. */ std::size_t operator()(const CesiumAsync::NetworkAssetDescriptor& key) const noexcept; }; diff --git a/CesiumGeometry/include/CesiumGeometry/clipTriangleAtAxisAlignedThreshold.h b/CesiumGeometry/include/CesiumGeometry/clipTriangleAtAxisAlignedThreshold.h index 8c4d4b598..02294b334 100644 --- a/CesiumGeometry/include/CesiumGeometry/clipTriangleAtAxisAlignedThreshold.h +++ b/CesiumGeometry/include/CesiumGeometry/clipTriangleAtAxisAlignedThreshold.h @@ -31,12 +31,20 @@ struct InterpolatedVertex { */ double t; + /** + * @brief Compares this \ref InterpolatedVertex against another. + * + * Two \ref InterpolatedVertex instances are considered equivalent if their + * \ref first and \ref second fields are equivalent and the difference between + * their \ref t fields is less than `std::numeric_limits::epsilon()`. + */ constexpr bool operator==(const InterpolatedVertex& other) const noexcept { return this->first == other.first && this->second == other.second && std::fabs(this->t - other.t) <= std::numeric_limits::epsilon(); } + /** @brief The inverse of \ref InterpolatedVertex::operator== */ constexpr bool operator!=(const InterpolatedVertex& other) const noexcept { return !(*this == other); } diff --git a/CesiumGeospatial/include/CesiumGeospatial/S2CellBoundingVolume.h b/CesiumGeospatial/include/CesiumGeospatial/S2CellBoundingVolume.h index 8244b5610..54456bcc3 100644 --- a/CesiumGeospatial/include/CesiumGeospatial/S2CellBoundingVolume.h +++ b/CesiumGeospatial/include/CesiumGeospatial/S2CellBoundingVolume.h @@ -19,14 +19,16 @@ namespace CesiumGeospatial { * A tile bounding volume specified as an S2 cell token with minimum and maximum * heights. The bounding volume is a k DOP. A k-DOP is the Boolean intersection * of extents along k directions. - * - * @param cellID The S2 cell ID. - * @param minimumHeight The minimum height of the bounding volume. - * @param maximumHeight The maximum height of the bounding volume. - * @param ellipsoid The ellipsoid. */ class CESIUMGEOSPATIAL_API S2CellBoundingVolume final { public: + /** @brief Creates a new \ref S2CellBoundingVolume. + * + * @param cellID The S2 cell ID. + * @param minimumHeight The minimum height of the bounding volume. + * @param maximumHeight The maximum height of the bounding volume. + * @param ellipsoid The ellipsoid. + */ S2CellBoundingVolume( const S2CellID& cellID, double minimumHeight, diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariantsValue.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariantsValue.h index 2943ff62a..fd1270183 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariantsValue.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionModelKhrMaterialsVariantsValue.h @@ -20,9 +20,7 @@ struct CESIUMGLTF_API ExtensionModelKhrMaterialsVariantsValue final "ExtensionModelKhrMaterialsVariantsValue"; /** - * @brief The name of the material variant - * - * . + * @brief The name of the material variant. */ std::string name; diff --git a/CesiumGltf/include/CesiumGltf/AccessorUtility.h b/CesiumGltf/include/CesiumGltf/AccessorUtility.h index f3067c268..267839d8b 100644 --- a/CesiumGltf/include/CesiumGltf/AccessorUtility.h +++ b/CesiumGltf/include/CesiumGltf/AccessorUtility.h @@ -15,8 +15,11 @@ namespace CesiumGltf { * type as an int64_t. */ struct CountFromAccessor { + /** @brief Attempts to obtain an element count from an empty accessor variant, + * resulting in -1. */ int64_t operator()(std::monostate) { return 0; } + /** @brief Attempts to obtain an element count from an \ref AccessorView. */ template int64_t operator()(const AccessorView& value) { return value.size(); } @@ -27,10 +30,15 @@ struct CountFromAccessor { * invalid status for a std::monostate (interpreted as a nonexistent accessor). */ struct StatusFromAccessor { + /** @brief Attempts to obtain an \ref AccessorViewStatus from an empty + * accessor variant, resulting in \ref + * AccessorViewStatus::InvalidAccessorIndex. */ AccessorViewStatus operator()(std::monostate) { return AccessorViewStatus::InvalidAccessorIndex; } + /** @brief Attempts to obtain an \ref AccessorViewStatus from an \ref + * AccessorView. */ template AccessorViewStatus operator()(const AccessorView& value) { return value.status(); @@ -105,6 +113,9 @@ FeatureIdAccessorType getFeatureIdAccessorView( * index was out-of-bounds. */ struct FeatureIdFromAccessor { + /** @brief Attempts to obtain a feature ID from an \ref AccessorView over + * float values, returning the float value rounded to the nearest `int64_t`. + */ int64_t operator()(const AccessorView& value) { if (index < 0 || index >= value.size()) { return -1; @@ -112,6 +123,7 @@ struct FeatureIdFromAccessor { return static_cast(glm::round(value[index])); } + /** @brief Attempts to obtain a feature ID from an \ref AccessorView. */ template int64_t operator()(const AccessorView& value) { if (index < 0 || index >= value.size()) { return -1; @@ -119,6 +131,7 @@ struct FeatureIdFromAccessor { return static_cast(value[index]); } + /** @brief The index of the vertex whose feature ID is being queried. */ int64_t index; }; @@ -153,6 +166,8 @@ getIndexAccessorView(const Model& model, const MeshPrimitive& primitive); * index was out-of-bounds. */ struct IndicesForFaceFromAccessor { + /** @brief Attempts to obtain the indices for the given face from an empty + * accessor variant, using the \ref vertexCount property. */ std::array operator()(std::monostate) { int64_t firstVertex = faceIndex; int64_t numFaces = 0; @@ -194,6 +209,9 @@ struct IndicesForFaceFromAccessor { return result; } + /** @brief Attempts to obtain the indices for the given face from an \ref + * AccessorView, using the view's size and contents rather than the \ref + * vertexCount property. */ template std::array operator()(const AccessorView& value) { int64_t firstIndex = faceIndex; @@ -236,8 +254,11 @@ struct IndicesForFaceFromAccessor { return result; } + /** @brief The index of the face to obtain indices for. */ int64_t faceIndex; + /** @brief The total number of vertices in the data being accessed. */ int64_t vertexCount; + /** @brief The \ref MeshPrimitive::Mode of the data being accessed. */ int32_t primitiveMode; }; // namespace CesiumGltf @@ -250,8 +271,12 @@ struct IndicesForFaceFromAccessor { * index was out-of-bounds. */ struct IndexFromAccessor { + /** @brief Attempts to obtain a vertex index from an empty \ref + * IndexAccessorType, resulting in -1. */ int64_t operator()(std::monostate) { return -1; } + /** @brief Attempts to obtain a vertex index from an \ref + * CesiumGltf::AccessorView. */ template int64_t operator()(const CesiumGltf::AccessorView& value) { if (index < 0 || index >= value.size()) { @@ -261,6 +286,7 @@ struct IndexFromAccessor { return value[index]; } + /** @brief The index of the vertex index within the accessor itself. */ int64_t index; }; @@ -291,6 +317,11 @@ TexCoordAccessorType getTexCoordAccessorView( * behavior, so we use std::nullopt to denote an erroneous value. */ struct TexCoordFromAccessor { + /** + * @brief Attempts to obtain a `glm::dvec2` at the given index from an + * accessor over a vec2 of floats. If the index is invalid, `std::nullopt` is + * returned instead. + */ std::optional operator()(const AccessorView>& value) { if (index < 0 || index >= value.size()) { @@ -300,6 +331,12 @@ struct TexCoordFromAccessor { return glm::dvec2(value[index].value[0], value[index].value[1]); } + /** + * @brief Attempts to obtain a `glm::dvec2` at the given index from an + * accessor over a vec2. The values will be cast to `double` and normalized + * based on `std::numeric_limits::max()`. If the index is invalid, + * `std::nullopt` is returned instead. + */ template std::optional operator()(const AccessorView>& value) { @@ -317,6 +354,7 @@ struct TexCoordFromAccessor { return glm::dvec2(u, v); } + /** @brief The index of texcoords to obtain. */ int64_t index; }; @@ -339,7 +377,7 @@ typedef std::variant< * @param model The model containing the quaternion. * @param accessor An accessor from which the quaternion will be obtained. * @returns A quaternion from the data in `accessor`. If no quaternion could be - * obtained, the default value for \ref QuaternionAccessType will be returned + * obtained, the default value for \ref QuaternionAccessorType will be returned * instead. */ QuaternionAccessorType @@ -353,8 +391,8 @@ getQuaternionAccessorView(const Model& model, const Accessor* accessor); * @param accessorIndex An index to the accessor from which the quaternion will * be obtained. * @returns A quaternion from the data in the accessor at `accessorIndex`. If no - * quaternion could be obtained, the default value for \ref QuaternionAccessType - * will be returned instead. + * quaternion could be obtained, the default value for \ref + * QuaternionAccessorType will be returned instead. */ QuaternionAccessorType getQuaternionAccessorView(const Model& model, int32_t accessorIndex); diff --git a/CesiumGltf/include/CesiumGltf/AccessorView.h b/CesiumGltf/include/CesiumGltf/AccessorView.h index 004877721..b98a01b18 100644 --- a/CesiumGltf/include/CesiumGltf/AccessorView.h +++ b/CesiumGltf/include/CesiumGltf/AccessorView.h @@ -56,7 +56,7 @@ enum class AccessorViewStatus { WrongSizeT, /** - * @brief The {@link AccessorSpec:type} is invalid. + * @brief The `AccessorSpec:type` is invalid. */ InvalidType, diff --git a/CesiumGltf/include/CesiumGltf/KhrTextureTransform.h b/CesiumGltf/include/CesiumGltf/KhrTextureTransform.h index e048e0cfe..4505b6d68 100644 --- a/CesiumGltf/include/CesiumGltf/KhrTextureTransform.h +++ b/CesiumGltf/include/CesiumGltf/KhrTextureTransform.h @@ -34,6 +34,10 @@ class KhrTextureTransform { */ KhrTextureTransform(const ExtensionKhrTextureTransform& extension) noexcept; + /** + * @brief The current \ref KhrTextureTransformStatus of the transform + * operation. + */ KhrTextureTransformStatus status() const noexcept { return this->_status; } /** diff --git a/CesiumGltf/include/CesiumGltf/MetadataConversions.h b/CesiumGltf/include/CesiumGltf/MetadataConversions.h index 739fc924c..8c5b5d747 100644 --- a/CesiumGltf/include/CesiumGltf/MetadataConversions.h +++ b/CesiumGltf/include/CesiumGltf/MetadataConversions.h @@ -27,6 +27,10 @@ namespace CesiumGltf { */ template struct MetadataConversions { + /** + * @brief Converts between `TFrom` and `TTo` where no actual conversion is + * defined, returning `std::nullopt`. + */ static std::optional convert(TFrom /*from*/) { return std::nullopt; } }; @@ -34,6 +38,10 @@ struct MetadataConversions { * @brief Trivially converts any type to itself. */ template struct MetadataConversions { + /** + * @brief Converts an instance of `T` to an instance of `T`, always returning + * the same value that was passed in. + */ static std::optional convert(T from) { return from; } }; diff --git a/CesiumGltf/include/CesiumGltf/PropertyArrayView.h b/CesiumGltf/include/CesiumGltf/PropertyArrayView.h index 11ecd26e6..fcfb8e703 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyArrayView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyArrayView.h @@ -98,34 +98,61 @@ template class PropertyArrayCopy { this->_view = PropertyArrayView(this->_storage); } + /** @brief Default move constructor */ PropertyArrayCopy(PropertyArrayCopy&&) = default; + /** @brief Default move assignment operator */ PropertyArrayCopy& operator=(PropertyArrayCopy&&) = default; + /** @brief Creates a new \ref PropertyArrayCopy directly from a buffer of + * bytes, which will be moved into this copy. */ PropertyArrayCopy(std::vector&& buffer) noexcept : _storage(std::move(buffer)), _view(this->_storage) {} + /** @brief Copy constructor */ PropertyArrayCopy(const PropertyArrayCopy& rhs) : _storage(rhs._storage), _view(this->_storage) {} + /** @brief Copy assignment operator */ PropertyArrayCopy& operator=(const PropertyArrayCopy& rhs) { this->_storage = rhs._storage; this->_view = PropertyArrayView(this->_storage); return *this; } + /** + * @brief Returns the `ElementType` at the given index from this copy. + * + * @param index The index to obtain. + * @returns The `ElementType` at that index from the internal view. + */ const ElementType& operator[](int64_t index) const noexcept { return this->_view[index]; } + /** @copydoc PropertyArrayView::size */ int64_t size() const noexcept { return this->_view.size(); } + /** @copydoc PropertyArrayView::begin */ auto begin() { return this->_view.begin(); } + /** @copydoc PropertyArrayView::end */ auto end() { return this->_view.end(); } + /** @copydoc PropertyArrayView::begin */ auto begin() const { return this->_view.begin(); } + /** @copydoc PropertyArrayView::end */ auto end() const { return this->_view.end(); } + /** + * @brief Obtains a \ref PropertyArrayView over the contents of this copy. + */ const PropertyArrayView& view() const { return this->_view; } + /** + * @brief Obtains a buffer and view from the copied data, leaving this \ref + * PropertyArrayCopy empty. + * + * @param outBuffer The destination where this copy's internal buffer will be + * moved to. + */ PropertyArrayView toViewAndExternalBuffer(std::vector& outBuffer) && { outBuffer = std::move(this->_storage); @@ -252,6 +279,9 @@ template <> class PropertyArrayView { int64_t _size; }; +/** @brief Compares two \ref PropertyArrayView instances by comparing their + * values. If the two arrays aren't the same size, this comparison will return + * false. */ template bool operator==( const PropertyArrayView& lhs, @@ -270,6 +300,8 @@ bool operator==( return true; } +/** @brief Compares a \ref PropertyArrayView with a \ref + * PropertyArrayCopy by creating a view from the copy and comparing the two. */ template bool operator==( const PropertyArrayView& lhs, @@ -277,6 +309,8 @@ bool operator==( return lhs == PropertyArrayView(rhs); } +/** @brief Compares a \ref PropertyArrayView with a \ref + * PropertyArrayCopy by creating a view from the copy and comparing the two. */ template bool operator==( const PropertyArrayCopy& lhs, @@ -284,6 +318,8 @@ bool operator==( return lhs.view() == rhs; } +/** @brief Compares two \ref PropertyArrayCopy instances by creating + * views from each instance and comparing the two. */ template bool operator==( const PropertyArrayCopy& lhs, @@ -291,6 +327,9 @@ bool operator==( return lhs.view() == rhs.view(); } +/** + * @brief Compares two \ref PropertyArrayView instances and returns the inverse. + */ template bool operator!=( const PropertyArrayView& lhs, @@ -298,6 +337,9 @@ bool operator!=( return !(lhs == rhs); } +/** @brief Compares a \ref PropertyArrayView with a \ref + * PropertyArrayCopy by creating a view from the copy and returning the inverse + * of comparing the two. */ template bool operator!=( const PropertyArrayView& lhs, @@ -305,6 +347,9 @@ bool operator!=( return !(lhs == rhs); } +/** @brief Compares a \ref PropertyArrayView with a \ref + * PropertyArrayCopy by creating a view from the copy and returning the inverse + * of comparing the two. */ template bool operator!=( const PropertyArrayCopy& lhs, @@ -312,6 +357,9 @@ bool operator!=( return !(lhs == rhs); } +/** @brief Compares two \ref + * PropertyArrayCopy instances by creating views from both instances and + * returning the inverse of comparing the two. */ template bool operator!=( const PropertyArrayCopy& lhs, diff --git a/CesiumGltf/include/CesiumGltf/PropertyAttributePropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyAttributePropertyView.h index aa5457b00..a30b38cfd 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyAttributePropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyAttributePropertyView.h @@ -296,8 +296,7 @@ class PropertyAttributePropertyView /** * @brief Constructs an instance of an empty property that specifies a default * value. Although this property has no data, it can return the default value - * when {@link PropertyAttributePropertyView::get} is called. However, - * {@link PropertyAttributePropertyView::getRaw} cannot be used. + * when \ref get is called. However, \ref getRaw cannot be used. * * @param classProperty The {@link ClassProperty} this property conforms to. * @param size The number of elements in the primitive's POSITION accessor. diff --git a/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h index 2b11a4880..f37d0642d 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTablePropertyView.h @@ -19,8 +19,7 @@ namespace CesiumGltf { * * The {@link PropertyTablePropertyView} constructor always completes successfully. * However, it may not always reflect the actual content of the - * {@link PropertyTableProperty}, but instead indicate that its - * {@link PropertyTablePropertyView::size} is 0. + * {@link PropertyTableProperty}, but instead indicate that its `size` is 0. * This enumeration provides the reason. */ class PropertyTablePropertyViewStatus : public PropertyViewStatus { @@ -510,7 +509,7 @@ class PropertyTablePropertyView * * It provides utility to retrieve the actual data stored in the * {@link PropertyTableProperty::values} like an array of elements. Data of each - * instance can be accessed through the {@link PropertyTablePropertyView::get} method. + * instance can be accessed through the \ref get method. * * @param ElementType must be one of the following: an integer scalar (uint8_t, * int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t), a glm vecN diff --git a/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h b/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h index 79cdca87b..52583abf2 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTexturePropertyView.h @@ -199,6 +199,15 @@ assembleArrayValue(const std::span bytes) noexcept { return PropertyArrayCopy(std::move(result)); } +/** + * @brief Assembles the given type from the provided channel values of sampling + * a texture. + * + * @tparam ElementType The type of element to assemble. + * @param bytes The byte values of the sampled channels of the texture. + * @returns The result of \ref assembleScalarValue, \ref assembleVecNValue, or + * \ref assembleArrayValue depending on `ElementType`. + */ template PropertyValueViewToCopy assembleValueFromChannels(const std::span bytes) noexcept { @@ -277,8 +286,7 @@ class PropertyTexturePropertyView /** * @brief Constructs an instance of an empty property that specifies a default * value. Although this property has no data, it can return the default value - * when {@link PropertyTablePropertyView::get} is called. However, - * {@link PropertyTablePropertyView::getRaw} cannot be used. + * when \ref get is called. However, \ref getRaw cannot be used. * * @param classProperty The {@link ClassProperty} this property conforms to. */ @@ -509,8 +517,8 @@ class PropertyTexturePropertyView /** * @brief Constructs an instance of an empty property that specifies a * default value. Although this property has no data, it can return the - * default value when {@link PropertyTexturePropertyView::get} is called. - * However, {@link PropertyTexturePropertyView::getRaw} cannot be used. + * default value when {@link PropertyTexturePropertyView::get} is called. + * However, {@link PropertyTexturePropertyView::getRaw} cannot be used. * * @param classProperty The {@link ClassProperty} this property conforms to. */ diff --git a/CesiumGltf/include/CesiumGltf/PropertyTextureView.h b/CesiumGltf/include/CesiumGltf/PropertyTextureView.h index 5a9ae5f5f..d5d35c16e 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTextureView.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTextureView.h @@ -283,7 +283,7 @@ class PropertyTextureView { * view will be passed to the callback. * * @param callback A callback function that accepts property id and - * {@link PropertyTexturePropertyView} + * {@link PropertyTexturePropertyView} * @param propertyOptions The options to apply to each property in the * property texture. * @tparam Callback The type of the callback function. diff --git a/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h b/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h index 880779859..df357f600 100644 --- a/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h +++ b/CesiumGltf/include/CesiumGltf/PropertyTypeTraits.h @@ -101,6 +101,9 @@ template struct IsMetadataNumeric; * @copydoc IsMetadataNumeric */ template struct IsMetadataNumeric { + /** + * @brief Whether the given metadata type is a scalar, a vector, or a matrix. + */ static constexpr bool value = IsMetadataScalar::value || IsMetadataVecN::value || IsMetadataMatN::value; @@ -146,10 +149,12 @@ template struct IsMetadataNumericArray; template struct IsMetadataNumericArray : std::false_type {}; /** @copydoc IsMetadataNumericArray */ template struct IsMetadataNumericArray> { + /** @brief Whether the component of this \ref PropertyArrayView is numeric. */ static constexpr bool value = IsMetadataNumeric::value; }; /** @copydoc IsMetadataNumericArray */ template struct IsMetadataNumericArray> { + /** @brief Whether the component of this \ref PropertyArrayCopy is numeric. */ static constexpr bool value = IsMetadataNumeric::value; }; @@ -180,16 +185,19 @@ struct IsMetadataStringArray> * @brief Retrieve the component type of a metadata array */ template struct MetadataArrayType { + /** @brief The component type of this metadata array. */ using type = void; }; /** @copydoc MetadataArrayType */ template struct MetadataArrayType> { + /** @brief The component type of this metadata array. */ using type = T; }; /** @copydoc MetadataArrayType */ template struct MetadataArrayType> { + /** @brief The component type of this metadata array. */ using type = T; }; @@ -551,7 +559,7 @@ struct TypeToNormalizedType>> { * transforms numeric `PropertyArrayView` to `PropertyArrayCopy` because a * `PropertyArrayView` only has a pointer to the value it is viewing. * - * See \ref propertyValueViewToCopy + * See `propertyValueViewToCopy`. * * @remarks This is the inverse of \ref PropertyValueCopyToView * @tparam T The type of the property value view. @@ -568,7 +576,7 @@ using PropertyValueViewToCopy = std::conditional_t< * transformation, because most property types are held by value. However, it * transforms numeric `PropertyArrayCopy` to `PropertyArrayView`. * - * See \ref propertyValueCopyToView + * See `propertyValueCopyToView`. * * @remarks This is the inverse of \ref PropertyValueViewToCopy * @tparam T The type of the property value copy. diff --git a/CesiumGltf/include/CesiumGltf/SamplerUtility.h b/CesiumGltf/include/CesiumGltf/SamplerUtility.h index 69e0f2342..ac62b8404 100644 --- a/CesiumGltf/include/CesiumGltf/SamplerUtility.h +++ b/CesiumGltf/include/CesiumGltf/SamplerUtility.h @@ -18,7 +18,7 @@ double applySamplerWrapS(const double u, const int32_t wrapS); * coordinate. * * @param v The V coordinate to apply the sampler wrap value to. - * @param wrapS The sampler's WrapT value, matching a member of \ref + * @param wrapT The sampler's WrapT value, matching a member of \ref * Sampler::WrapT, to apply. * @returns The V coordinate after applying the WrapT operation. */ diff --git a/CesiumGltfReader/include/CesiumGltfReader/NetworkImageAssetDescriptor.h b/CesiumGltfReader/include/CesiumGltfReader/NetworkImageAssetDescriptor.h index b4016531f..3417c7d2d 100644 --- a/CesiumGltfReader/include/CesiumGltfReader/NetworkImageAssetDescriptor.h +++ b/CesiumGltfReader/include/CesiumGltfReader/NetworkImageAssetDescriptor.h @@ -50,7 +50,11 @@ struct NetworkImageAssetDescriptor } // namespace CesiumGltfReader +/** @brief Hash implementation for \ref + * CesiumGltfReader::NetworkImageAssetDescriptor. */ template <> struct std::hash { + /** @brief Returns a `size_t` hash of the provided \ref + * CesiumGltfReader::NetworkImageAssetDescriptor. */ std::size_t operator()( const CesiumGltfReader::NetworkImageAssetDescriptor& key) const noexcept; }; diff --git a/CesiumGltfReader/include/CesiumGltfReader/NetworkSchemaAssetDescriptor.h b/CesiumGltfReader/include/CesiumGltfReader/NetworkSchemaAssetDescriptor.h index 2a5eb81a0..c74b0ad37 100644 --- a/CesiumGltfReader/include/CesiumGltfReader/NetworkSchemaAssetDescriptor.h +++ b/CesiumGltfReader/include/CesiumGltfReader/NetworkSchemaAssetDescriptor.h @@ -42,7 +42,11 @@ struct NetworkSchemaAssetDescriptor } // namespace CesiumGltfReader +/** @brief Hash implementation for \ref + * CesiumGltfReader::NetworkSchemaAssetDescriptor. */ template <> struct std::hash { + /** @brief Returns a `size_t` hash of the provided \ref + * CesiumGltfReader::NetworkSchemaAssetDescriptor. */ std::size_t operator()( const CesiumGltfReader::NetworkSchemaAssetDescriptor& key) const noexcept; }; diff --git a/CesiumJsonReader/include/CesiumJsonReader/ArrayJsonHandler.h b/CesiumJsonReader/include/CesiumJsonReader/ArrayJsonHandler.h index 427003001..ff0037456 100644 --- a/CesiumJsonReader/include/CesiumJsonReader/ArrayJsonHandler.h +++ b/CesiumJsonReader/include/CesiumJsonReader/ArrayJsonHandler.h @@ -24,6 +24,12 @@ class CESIUMJSONREADER_API ArrayJsonHandler : public JsonHandler { /** @brief The destination type. */ using ValueType = std::vector; + /** + * @brief Creates a new \ref ArrayJsonHandler. + * + * @param args The arguments that will be passed to the constructor of + * THandler when it's instantiated. + */ template ArrayJsonHandler(Ts&&... args) noexcept : JsonHandler(), @@ -31,6 +37,10 @@ class CESIUMJSONREADER_API ArrayJsonHandler : public JsonHandler { std::bind(handlerFactory, std::forward(args)...)), _objectHandler() {} + /** + * @brief Resets the parent and destination array of this \ref + * ArrayJsonHandler. + */ void reset(IJsonHandler* pParent, std::vector* pArray) { JsonHandler::reset(pParent); this->_pArray = pArray; @@ -134,14 +144,25 @@ class CESIUMJSONREADER_API ArrayJsonHandler : public JsonHandler { std::unique_ptr _objectHandler; }; +/** + * @brief Special case of \ref ArrayJsonHandler for handling arrays of double + * values. This will read every scalar value as a double, regardless of whether + * it's floating point or not. Attempting to read other values will cause a + * warning. + */ template <> class CESIUMJSONREADER_API ArrayJsonHandler : public JsonHandler { public: + /** @brief The destination type. */ using ValueType = std::vector; ArrayJsonHandler() noexcept : JsonHandler() {} + /** + * @brief Resets the parent and destination array of this \ref + * ArrayJsonHandler. + */ void reset(IJsonHandler* pParent, std::vector* pArray) { JsonHandler::reset(pParent); this->_pArray = pArray; @@ -253,14 +274,23 @@ class CESIUMJSONREADER_API ArrayJsonHandler bool _arrayIsOpen = false; }; +/** + * @brief Special case of \ref ArrayJsonHandler for handling arrays of integer + * values. Attempting to read other values will cause a warning. + */ template class CESIUMJSONREADER_API ArrayJsonHandler> : public JsonHandler { public: + /** @brief The destination type. */ using ValueType = std::vector; ArrayJsonHandler() noexcept : JsonHandler() {} + /** + * @brief Resets the parent and destination array of this \ref + * ArrayJsonHandler. + */ void reset(IJsonHandler* pParent, std::vector* pArray) { JsonHandler::reset(pParent); this->_pArray = pArray; @@ -366,14 +396,23 @@ class CESIUMJSONREADER_API ArrayJsonHandler> bool _arrayIsOpen = false; }; +/** + * @brief Special case of \ref ArrayJsonHandler for reading arrays of string + * values. Attempting to read other values will cause a warning. + */ template <> class CESIUMJSONREADER_API ArrayJsonHandler : public JsonHandler { public: + /** @brief The destination type. */ using ValueType = std::vector; ArrayJsonHandler() noexcept : JsonHandler() {} + /** + * @brief Resets the parent and destination array of this \ref + * ArrayJsonHandler. + */ void reset(IJsonHandler* pParent, std::vector* pArray) { JsonHandler::reset(pParent); this->_pArray = pArray; @@ -461,13 +500,27 @@ class CESIUMJSONREADER_API ArrayJsonHandler bool _arrayIsOpen = false; }; +/** + * @brief Special case of \ref ArrayJsonHandler for reading arrays of arrays. + * Attempting to read other values will cause a warning. + * + * @tparam T The inner type of the nested array. + * @tparam THandler The handler of the inner type of the array. + */ template class CESIUMJSONREADER_API ArrayJsonHandler, ArrayJsonHandler> : public JsonHandler { public: + /** @brief The destination type. */ using ValueType = std::vector; + /** + * @brief Creates a new \ref ArrayJsonHandler. + * + * @param args The arguments passed to the constructor of THandler when it's + * instantiated. + */ template ArrayJsonHandler(Ts&&... args) noexcept : JsonHandler(), @@ -475,6 +528,10 @@ class CESIUMJSONREADER_API std::bind(handlerFactory, std::forward(args)...)), _elementHandler() {} + /** + * @brief Resets the parent and destination array of this \ref + * ArrayJsonHandler. + */ void reset(IJsonHandler* pParent, std::vector>* pArray) { JsonHandler::reset(pParent); this->_pArray = pArray; diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/ExtensionWriterContext.h b/CesiumJsonWriter/include/CesiumJsonWriter/ExtensionWriterContext.h index 14edb4ea1..431795618 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/ExtensionWriterContext.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/ExtensionWriterContext.h @@ -32,6 +32,10 @@ enum class ExtensionState { Disabled }; +/** + * @brief A context for writing extensions where known extensions and their + * handlers can be registered. + */ class CESIUMJSONWRITER_API ExtensionWriterContext { private: template @@ -102,6 +106,16 @@ class CESIUMJSONWRITER_API ExtensionWriterContext { void setExtensionState(const std::string& extensionName, ExtensionState newState); + /** + * @brief Attempts to create an `ExtensionHandler` for the given object, + * returning `nullptr` if no handler could be found. + * + * @param extensionName The name of the extension. + * @param obj The object of unknown type to create the handler for. + * @param extendedObjectType The `TypeName` of the extended object. + * @returns The handler for this extension, or `nullptr` if none could be + * created. + */ ExtensionHandler createExtensionHandler( const std::string_view& extensionName, const std::any& obj, diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/JsonObjectWriter.h b/CesiumJsonWriter/include/CesiumJsonWriter/JsonObjectWriter.h index 2866bfd3b..b023eef3f 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/JsonObjectWriter.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/JsonObjectWriter.h @@ -11,5 +11,11 @@ class JsonValue; } namespace CesiumJsonWriter { +/** + * @brief Writes the given \ref CesiumUtility::JsonValue to the provided writer. + * + * @param value The value to write. + * @param writer The writer used to write the provided value. + */ void writeJsonValue(const CesiumUtility::JsonValue& value, JsonWriter& writer); -} +} // namespace CesiumJsonWriter diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h b/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h index 9d754e66c..b9b1b07a0 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/JsonWriter.h @@ -155,7 +155,7 @@ class JsonWriter { /** * @brief Writes the given primitive to the output. This is a convenience * function for \ref String. - * @param value The string value to write. + * @param string The string value to write. */ virtual void Primitive(std::string_view string); diff --git a/CesiumJsonWriter/include/CesiumJsonWriter/writeJsonExtensions.h b/CesiumJsonWriter/include/CesiumJsonWriter/writeJsonExtensions.h index 5c4bda54e..25d332649 100644 --- a/CesiumJsonWriter/include/CesiumJsonWriter/writeJsonExtensions.h +++ b/CesiumJsonWriter/include/CesiumJsonWriter/writeJsonExtensions.h @@ -6,6 +6,20 @@ #include namespace CesiumJsonWriter { + +/** + * @brief Writes the extensions attached to the provided object as a new JSON + * object. + * + * @tparam TExtended The type with extensions attached to write. This type must + * have an `extensions` property of type `std::unordered_map` or a similar type with an `empty()` method that returns pairs of + * `` when iterated. + * @param obj The object with extensions to write. + * @param jsonWriter The writer to write the extensions object to. + * @param context The \ref ExtensionWriterContext that provides information on + * how to write each extension. + */ template void writeJsonExtensions( const TExtended& obj, @@ -28,6 +42,20 @@ void writeJsonExtensions( jsonWriter.EndObject(); } +/** + * @brief Checks if the provided object has any extensions attached that have + * been registered with the provided \ref ExtensionWriterContext. + * + * @tparam TExtended The type with extensions attached to write. This type must + * have an `extensions` property of type `std::unordered_map` or a similar type with an `empty()` method that returns pairs of + * `` when iterated. + * @param obj The object with extensions to write. + * @param jsonWriter The writer to write the extensions object to. + * @param context The \ref ExtensionWriterContext with registered extensions. + * @returns True if any extensions attached to `obj` have been registered, false + * otherwise. + */ template bool hasRegisteredExtensions( const TExtended& obj, diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h index 27348a30a..210739de0 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayLoadFailureDetails.h @@ -14,7 +14,7 @@ namespace CesiumRasterOverlays { class RasterOverlay; /** - * @brief The type of load that failed in \ref RasterOverlayLoadFailureDetails. + * @brief The type of load that failed in `RasterOverlayLoadFailureDetails`. */ enum class RasterOverlayLoadType { /** diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTile.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTile.h index d932641b6..2d14dde78 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTile.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTile.h @@ -72,8 +72,7 @@ class RasterOverlayTile final * * Values of this enumeration are returned by * {@link Cesium3DTilesSelection::RasterMappedTo3DTile::update}, which in turn is called by - * \ref Cesium3DTilesSelection::TilesetContentManager - * "TilesetContentManager::updateDoneState". These values are used to + * `TilesetContentManager::updateDoneState`. These values are used to * determine whether a leaf tile has been reached, but the associated raster * tiles are not yet the most detailed ones that are available. */ diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTileProvider.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTileProvider.h index 729ba7bc4..cac05ee52 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTileProvider.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayTileProvider.h @@ -127,7 +127,11 @@ class RasterOverlayTileProvider; * value of {@link RasterOverlayTileProvider::loadTile}. */ struct TileProviderAndTile { + /** @brief A \ref CesiumUtility::IntrusivePointer to the \ref + * RasterOverlayTileProvider used for this tile. */ CesiumUtility::IntrusivePointer pTileProvider; + /** @brief A \ref CesiumUtility::IntrusivePointer to the \ref + * RasterOverlayTile used for this tile. */ CesiumUtility::IntrusivePointer pTile; ~TileProviderAndTile() noexcept; diff --git a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h index cab308036..0d0366416 100644 --- a/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h +++ b/CesiumRasterOverlays/include/CesiumRasterOverlays/RasterOverlayUtilities.h @@ -154,7 +154,7 @@ struct CESIUMRASTEROVERLAYS_API RasterOverlayUtilities { * this method. * * The `target screen pixels` returned here may be further modified by the - * raster overlay's {@link RasterOverlay::getTile} method. In particular, it + * raster overlay's {@link RasterOverlayTileProvider::getTile} method. In particular, it * will usually be divided by the raster overlay's `maximum screen space * error` of the raster overlay (not to be confused with the `maximum screen * space error` of the tileset, mentioned above). diff --git a/CesiumUtility/include/CesiumUtility/IntrusivePointer.h b/CesiumUtility/include/CesiumUtility/IntrusivePointer.h index ebe34d9e6..fc5114cb8 100644 --- a/CesiumUtility/include/CesiumUtility/IntrusivePointer.h +++ b/CesiumUtility/include/CesiumUtility/IntrusivePointer.h @@ -106,6 +106,11 @@ template class IntrusivePointer final { return *this; } + + /** + * @brief Assigns an \ref IntrusivePointer of another type to this \ref + * IntrusivePointer. + */ template IntrusivePointer& operator=(const IntrusivePointer& rhs) noexcept { if (this->_p != rhs._p) { @@ -178,6 +183,8 @@ template class IntrusivePointer final { bool operator==(const IntrusivePointer& rhs) const noexcept { return this->_p == rhs._p; } + + /** @brief Returns `true` if two pointers are equal. */ template bool operator==(const IntrusivePointer& rhs) const noexcept { return this->_p == rhs._p; diff --git a/CesiumUtility/include/CesiumUtility/JsonValue.h b/CesiumUtility/include/CesiumUtility/JsonValue.h index 3641f64df..ceaed58a2 100644 --- a/CesiumUtility/include/CesiumUtility/JsonValue.h +++ b/CesiumUtility/include/CesiumUtility/JsonValue.h @@ -20,6 +20,9 @@ namespace CesiumUtility { * @deprecated JSON parsing no longer throws this exception. */ struct JsonValueMissingKey : public std::runtime_error { + /** + * @brief Creates a new \ref JsonValueMissingKey exception for the given key. + */ JsonValueMissingKey(const std::string& key) : std::runtime_error(key + " is not present in Object") {} }; @@ -32,6 +35,15 @@ struct JsonValueNotRealValue : public std::runtime_error { : std::runtime_error("this->value was not double, uint64_t or int64_t") {} }; +/** + * @brief Attempts a narrowing conversion of `U` into `T` without losing + * information. If a lossless conversion can't be performed, `std::nullopt` is + * returned. + * + * @tparam U The type to convert from. + * @tparam T The type to convert to. + * @param u The value to perform the conversion on. + */ template constexpr std::optional losslessNarrow(U u) noexcept { constexpr const bool is_different_signedness = @@ -47,6 +59,17 @@ constexpr std::optional losslessNarrow(U u) noexcept { return t; } +/** + * @brief Attempts a narrowing conversion of `U` into `T` without losing + * information. If a lossless conversion can't be performed, `defaultValue` is + * returned. + * + * @tparam U The type to convert from. + * @tparam T The type to convert to. + * @param u The value to perform the conversion on. + * @param defaultValue The value that will be returned if a lossless conversion + * can't be performed. + */ template constexpr T losslessNarrowOrDefault(U u, T defaultValue) noexcept { constexpr const bool is_different_signedness = diff --git a/CesiumUtility/include/CesiumUtility/Log.h b/CesiumUtility/include/CesiumUtility/Log.h index b0e5a11e0..19fddc517 100644 --- a/CesiumUtility/include/CesiumUtility/Log.h +++ b/CesiumUtility/include/CesiumUtility/Log.h @@ -2,6 +2,7 @@ #include #include +/** @cond Doxygen_Exclude */ template <> struct fmt::formatter : formatter { // parse is inherited from formatter. @@ -69,3 +70,4 @@ struct fmt::formatter : formatter { return formatter::format(name, ctx); } }; +/** @endcond */ \ No newline at end of file diff --git a/CesiumUtility/include/CesiumUtility/ScopeGuard.h b/CesiumUtility/include/CesiumUtility/ScopeGuard.h index 3d61f9ddc..111551917 100644 --- a/CesiumUtility/include/CesiumUtility/ScopeGuard.h +++ b/CesiumUtility/include/CesiumUtility/ScopeGuard.h @@ -79,6 +79,9 @@ template class ScopeGuard { ExitFunction _exitFunc; }; -template -ScopeGuard(ExistFunction) -> ScopeGuard; +/** @brief Template deduction guide for \ref ScopeGuard to help the compiler + * figure out that the type of `ExitFunction` should be the type of the + * function passed to the constructor. */ +template +ScopeGuard(ExitFunction) -> ScopeGuard; } // namespace CesiumUtility diff --git a/CesiumUtility/include/CesiumUtility/SharedAsset.h b/CesiumUtility/include/CesiumUtility/SharedAsset.h index 907e63a29..4a2c4a5be 100644 --- a/CesiumUtility/include/CesiumUtility/SharedAsset.h +++ b/CesiumUtility/include/CesiumUtility/SharedAsset.h @@ -107,6 +107,10 @@ class CESIUMUTILITY_API SharedAsset : public CesiumUtility::ExtensibleObject { return *this; } + /** + * Assignment does not affect the asset's relationship with the depot, but is + * useful to assign the data in derived classes. + */ SharedAsset& operator=(SharedAsset&& rhs) { CesiumUtility::ExtensibleObject::operator=(std::move(rhs)); return *this; diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 1af199be3..64bf7cb4b 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -42,7 +42,6 @@ if(DOXYGEN_FOUND) ../CesiumGltfReader/test ../CesiumGltfWriter/test ../CesiumIonClient/test - ../CesiumJsonReader/test ../CesiumJsonWriter/test ../CesiumQuantizedMeshTerrain/test ../CesiumRasterOverlays/test @@ -86,6 +85,8 @@ if(DOXYGEN_FOUND) set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "../README.md") set(DOXYGEN_EXCLUDE_PATTERNS "*/node_modules/*") set(DOXYGEN_IMAGE_PATH "./") + set(DOXYGEN_DOT_GRAPH_MAX_NODES 100) + set(DOXYGEN_WARN_AS_ERROR FAIL_ON_WARNINGS_PRINT) # Add support for Mermaid charts using the @mermaid command. set(DOXYGEN_HTML_EXTRA_FILES "${CMAKE_CURRENT_LIST_DIR}/assets/mermaid.min.js ${CMAKE_CURRENT_LIST_DIR}/assets/mingcute.json.js") diff --git a/doc/topics/style-guide.md b/doc/topics/style-guide.md index f1ebed5ae..7a79ec07a 100644 --- a/doc/topics/style-guide.md +++ b/doc/topics/style-guide.md @@ -54,8 +54,8 @@ Use `#pragma once` at the top of header files rather than manual inclusion guard Not covered by C++ Core Guidelines. -* Forward declare types in our own libraries whenever you can. Only #include when you must. -* For third-party libraries, prefer to #include a fwd.h type of file if one is provided. #include the full implementation only when you must. +* Forward declare types in our own libraries whenever you can. Only `#include` when you must. +* For third-party libraries, prefer to `#include` a fwd.h type of file if one is provided. `#include` the full implementation only when you must. * If you find yourself writing complicated forward declarations for our own types or for third-party ones that don't include a fwd.h, consider making a fwd.h file for it. ## 🛑 Exceptions diff --git a/tools/generate-classes/resolveProperty.js b/tools/generate-classes/resolveProperty.js index a2fa3ff86..16c9028ec 100644 --- a/tools/generate-classes/resolveProperty.js +++ b/tools/generate-classes/resolveProperty.js @@ -329,7 +329,7 @@ function toPascalCase(name) { } function propertyDefaults(propertyName, cppSafeName, propertyDetails) { - const fullDoc = + let fullDoc = propertyDetails.gltf_detailedDescription && propertyDetails.gltf_detailedDescription.indexOf( propertyDetails.description @@ -338,6 +338,16 @@ function propertyDefaults(propertyName, cppSafeName, propertyDetails) { .substr(propertyDetails.description.length) .trim() : propertyDetails.gltf_detailedDescription; + let briefDoc = propertyDetails.description; + // Removing the description from the detailed description can have some + // unintended consequences, like if the difference between the two lines + // is as small as a single period. If it's that small, just append it to + // the brief. + if (fullDoc && fullDoc.length < 10) { + briefDoc += fullDoc; + fullDoc = null; + } + return { name: propertyName, cppSafeName: cppSafeName, @@ -354,7 +364,7 @@ function propertyDefaults(propertyName, cppSafeName, propertyDetails) { localTypes: [], readerLocalTypes: [], readerLocalTypesImpl: [], - briefDoc: propertyDetails.description, + briefDoc: briefDoc, fullDoc: fullDoc, }; } From 89b00e2cc0c7bdcfddb873c22ae49d19512b22e9 Mon Sep 17 00:00:00 2001 From: Ashley Rogers Date: Tue, 17 Dec 2024 13:43:45 -0500 Subject: [PATCH 09/12] Fix warnings from merge with main --- CONTRIBUTING.md | 2 +- .../B3dmToGltfConverter.h | 15 +++ .../BinaryToGltfConverter.h | 12 ++ .../CmptToGltfConverter.h | 15 +++ .../Cesium3DTilesContent/GltfConverters.h | 55 +++++++- .../I3dmToGltfConverter.h | 15 +++ .../ImplicitTilingUtilities.h | 125 +++++++++++++++++- .../PntsToGltfConverter.h | 15 +++ .../SubtreeAvailability.h | 5 +- .../registerAllTileContentTypes.h | 7 +- .../include/CesiumAsync/SqliteHelper.h | 2 + doc/CMakeLists.txt | 3 +- doc/topics/selection-algorithm-details.md | 2 +- 13 files changed, 261 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b0c37370b..8d356776d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,7 +52,7 @@ Before we can review a pull request, we require a signed Contributor License Agr - [individuals](https://docs.google.com/forms/d/e/1FAIpQLScU-yvQdcdjCFHkNXwdNeEXx5Qhu45QXuWX_uF5qiLGFSEwlA/viewform) and - [corporations](https://docs.google.com/forms/d/e/1FAIpQLSeYEaWlBl1tQEiegfHMuqnH9VxyfgXGyIw13C2sN7Fj3J3GVA/viewform). -This only needs to be completed once, and enables contributions to all of the projects under the [CesiumGS](https://github.com/CesiumGS) organization, including Cesium Native. The CLA ensures you retain copyright to your contributions, and provides us the right to use, modify, and redistribute your contributions using the [Apache 2.0 License](LICENSE.md). +This only needs to be completed once, and enables contributions to all of the projects under the [CesiumGS](https://github.com/CesiumGS) organization, including Cesium Native. The CLA ensures you retain copyright to your contributions, and provides us the right to use, modify, and redistribute your contributions using the [Apache 2.0 License](LICENSE). If you have any questions, feel free to reach out to hello@cesium.com! diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/B3dmToGltfConverter.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/B3dmToGltfConverter.h index 496663861..b442cbc98 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/B3dmToGltfConverter.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/B3dmToGltfConverter.h @@ -12,7 +12,22 @@ namespace Cesium3DTilesContent { struct AssetFetcher; +/** + * @brief Converts a b3dm (Batched 3D Model) file to a glTF. + * + * For more information on the b3dm format, see + * https://github.com/CesiumGS/3d-tiles/blob/main/specification/TileFormats/Batched3DModel/README.adoc + */ struct B3dmToGltfConverter { + /** + * @brief Converts a b3dm binary file to a glTF model. + * + * @param b3dmBinary The bytes loaded for the b3dm model. + * @param options Options for how the glTF should be loaded. + * @param assetFetcher The \ref AssetFetcher containing information used by + * loaded assets. + * @returns A future that resolves to a \ref GltfConverterResult. + */ static CesiumAsync::Future convert( const std::span& b3dmBinary, const CesiumGltfReader::GltfReaderOptions& options, diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/BinaryToGltfConverter.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/BinaryToGltfConverter.h index 7f0d517b3..adf4b552a 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/BinaryToGltfConverter.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/BinaryToGltfConverter.h @@ -10,8 +10,20 @@ namespace Cesium3DTilesContent { struct AssetFetcher; +/** + * @brief Converts a binary glTF model (glb) to a \ref CesiumGltf::Model. + */ struct BinaryToGltfConverter { public: + /** + * @brief Converts a glb binary file to a glTF model. + * + * @param gltfBinary The bytes loaded for the glb model. + * @param options Options for how the glTF should be loaded. + * @param assetFetcher The \ref AssetFetcher containing information used by + * loaded assets. + * @returns A future that resolves to a \ref GltfConverterResult. + */ static CesiumAsync::Future convert( const std::span& gltfBinary, const CesiumGltfReader::GltfReaderOptions& options, diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/CmptToGltfConverter.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/CmptToGltfConverter.h index de5da1b52..8f4b5c185 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/CmptToGltfConverter.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/CmptToGltfConverter.h @@ -10,7 +10,22 @@ namespace Cesium3DTilesContent { struct AssetFetcher; +/** + * @brief Converts a cmpt (Composite) file into a glTF model. + * + * For more information on the Composite format, see + * https://github.com/CesiumGS/3d-tiles/blob/main/specification/TileFormats/Composite/README.adoc + */ struct CmptToGltfConverter { + /** + * @brief Converts a cmpt binary file to a glTF model. + * + * @param cmptBinary The bytes loaded for the cmpt model. + * @param options Options for how the glTF should be loaded. + * @param assetFetcher The \ref AssetFetcher containing information used by + * loaded assets. + * @returns A future that resolves to a \ref GltfConverterResult. + */ static CesiumAsync::Future convert( const std::span& cmptBinary, const CesiumGltfReader::GltfReaderOptions& options, diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/GltfConverters.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/GltfConverters.h index 037052483..986691b30 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/GltfConverters.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/GltfConverters.h @@ -15,8 +15,18 @@ namespace Cesium3DTilesContent { +/** + * @brief The result of an \ref AssetFetcher::get call. + */ struct AssetFetcherResult { + /** + * @brief The byte buffer obtained from a URL. This will be empty if fetching + * the asset failed. + */ std::vector bytes; + /** + * @brief The errors and warnings reported while fetching the asset. + */ CesiumUtility::ErrorList errorList; }; @@ -25,6 +35,20 @@ struct AssetFetcherResult { * benefit of i3dm files. */ struct CESIUM3DTILESCONTENT_API AssetFetcher { + /** + * @brief Creates an \ref AssetFetcher with the given base URL and settings. + * + * @param asyncSystem_ The \ref CesiumAsync::AsyncSystem used for fetching + * assets asynchronously. + * @param pAssetAccessor_ The \ref CesiumAsync::IAssetAccessor providing the + * implementation for fetching assets from a remote server. + * @param baseUrl_ The base URL that relative URLs passed to \ref get will be + * relative to. + * @param tileTransform_ A transformation matrix applied to this tile. + * @param requestHeaders_ The headers to be used for a request made with the + * \ref AssetFetcher. + * @param upAxis_ The `gltfUpAxis` property to be set on loaded glTFs. + */ AssetFetcher( const CesiumAsync::AsyncSystem& asyncSystem_, const std::shared_ptr& pAssetAccessor_, @@ -39,14 +63,43 @@ struct CESIUM3DTILESCONTENT_API AssetFetcher { requestHeaders(requestHeaders_), upAxis(upAxis_) {} + /** + * @brief Gets a buffer of bytes from the given relative URL. + * + * @param relativeUrl The URL of the asset to fetch, relative to the \ref + * baseUrl property. + * @returns A future that resolves into an \ref AssetFetcherResult. + */ CesiumAsync::Future get(const std::string& relativeUrl) const; + /** + * @brief The \ref CesiumAsync::AsyncSystem used for this \ref AssetFetcher. + */ CesiumAsync::AsyncSystem asyncSystem; + /** + * @brief The \ref CesiumAsync::IAssetAccessor used for this \ref + * AssetFetcher. + */ std::shared_ptr pAssetAccessor; + /** + * @brief The base URL that this \ref AssetFetcher's requests will be relative + * to. + */ std::string baseUrl; - glm::dmat4 tileTransform; // For ENU transforms in i3dm + /** + * @brief The transformation matrix applied to this tile. Used for + * East-North-Up transforms in i3dm. + */ + glm::dmat4 tileTransform; + /** + * @brief Headers that will be attached to each request made with this \ref + * AssetFetcher. + */ std::vector requestHeaders; + /** + * @brief The `gltfUpAxis` property that will be specified for loaded assets. + */ CesiumGeometry::Axis upAxis; }; diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/I3dmToGltfConverter.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/I3dmToGltfConverter.h index bbbfa1622..a4bbc9448 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/I3dmToGltfConverter.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/I3dmToGltfConverter.h @@ -11,7 +11,22 @@ namespace Cesium3DTilesContent { struct AssetFetcher; +/** + * @brief Converts an i3dm (Instanced 3D Model) file to a glTF model. + * + * For more information on the i3dm format, see + * https://github.com/CesiumGS/3d-tiles/blob/main/specification/TileFormats/Instanced3DModel/README.adoc + */ struct I3dmToGltfConverter { + /** + * @brief Converts an i3dm binary file to a glTF model. + * + * @param instancesBinary The bytes loaded for the i3dm model. + * @param options Options for how the glTF should be loaded. + * @param assetFetcher The \ref AssetFetcher containing information used by + * loaded assets. + * @returns A future that resolves to a \ref GltfConverterResult. + */ static CesiumAsync::Future convert( const std::span& instancesBinary, const CesiumGltfReader::GltfReaderOptions& options, diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/ImplicitTilingUtilities.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/ImplicitTilingUtilities.h index b941ef334..fa2c83bd4 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/ImplicitTilingUtilities.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/ImplicitTilingUtilities.h @@ -29,40 +29,97 @@ namespace Cesium3DTilesContent { */ class QuadtreeChildren { public: + /** + * @brief An STL-compatible iterator over the children of a quadtree tile. + */ class iterator { public: + /** + * @brief The iterator category tag denoting this is a forward iterator. + */ using iterator_category = std::forward_iterator_tag; + /** + * @brief The type of value that is being iterated over. + */ using value_type = CesiumGeometry::QuadtreeTileID; + /** + * @brief The type used to identify distance between iterators. + * + * This is `void` as the distance between two QuadtreeTileIDs isn't + * particularly useful. + */ using difference_type = void; + /** + * @brief A pointer to the type being iterated over. + */ using pointer = CesiumGeometry::QuadtreeTileID*; + /** + * @brief A reference to the type being iterated over. + */ using reference = CesiumGeometry::QuadtreeTileID&; + /** + * @brief Creates a new iterator over the children of a quadtree tile. + * + * @param parentTileID The \ref CesiumGeometry::QuadtreeTileID of the parent + * tile whose children will be iterated over. + * @param isEnd If true, this iterator will start at the end of the data + * it's iterating over. + */ explicit iterator( const CesiumGeometry::QuadtreeTileID& parentTileID, - bool isFirst) noexcept; + bool isEnd) noexcept; + /** + * @brief Returns a reference to the current \ref + * CesiumGeometry::QuadtreeTileID being iterated. + */ const CesiumGeometry::QuadtreeTileID& operator*() const { return this->_current; } + /** + * @brief Returns a pointer to the current \ref + * CesiumGeometry::QuadtreeTileID being iterated. + */ const CesiumGeometry::QuadtreeTileID* operator->() const { return &this->_current; } + /** + * @brief Advances the iterator to the next child. + */ iterator& operator++(); + /** + * @brief Advances the iterator to the next child. + */ iterator operator++(int); + /** @brief Checks if two iterators are at the same child. */ bool operator==(const iterator& rhs) const noexcept; + /** @brief Checks if two iterators are NOT at the same child. */ bool operator!=(const iterator& rhs) const noexcept; private: CesiumGeometry::QuadtreeTileID _current; }; + /** @brief A const equivalent to `iterator`. */ using const_iterator = iterator; + /** + * @brief Creates a \ref QuadtreeChildren instance from the provided parent + * tile. + */ QuadtreeChildren(const CesiumGeometry::QuadtreeTileID& tileID) noexcept : _tileID(tileID) {} + + /** @brief Returns an iterator starting at the first child. */ iterator begin() const noexcept; + /** @brief Returns an iterator starting at the last child. */ iterator end() const noexcept; + /** + * @brief Returns the total number of \ref CesiumGeometry::QuadtreeTileID + * children for this tile, which will always be four. + */ constexpr int64_t size() const noexcept { return 4; } private: @@ -75,40 +132,96 @@ class QuadtreeChildren { */ class OctreeChildren { public: + /** + * @brief An STL-compatible iterator over the children of an octree tile. + */ class iterator { public: + /** + * @brief The iterator category tag denoting this is a forward iterator. + */ using iterator_category = std::forward_iterator_tag; + /** + * @brief The type of value that is being iterated over. + */ using value_type = CesiumGeometry::OctreeTileID; + /** + * @brief The type used to identify distance between iterators. + * + * This is `void` as the distance between two OctreeTileIDs isn't + * particularly useful. + */ using difference_type = void; + /** + * @brief A pointer to the type being iterated over. + */ using pointer = CesiumGeometry::OctreeTileID*; + /** + * @brief A reference to the type being iterated over. + */ using reference = CesiumGeometry::OctreeTileID&; + /** + * @brief Creates a new iterator over the children of a octree tile. + * + * @param parentTileID The \ref CesiumGeometry::OctreeTileID of the parent + * tile whose children will be iterated over. + * @param isEnd If true, this iterator will start at the end of the data + * it's iterating over. + */ explicit iterator( const CesiumGeometry::OctreeTileID& parentTileID, - bool isFirst) noexcept; + bool isEnd) noexcept; + /** + * @brief Returns a reference to the current \ref + * CesiumGeometry::OctreeTileID being iterated. + */ const CesiumGeometry::OctreeTileID& operator*() const { return this->_current; } + /** + * @brief Returns a pointer to the current \ref + * CesiumGeometry::OctreeTileID being iterated. + */ const CesiumGeometry::OctreeTileID* operator->() const { return &this->_current; } + /** + * @brief Advances the iterator to the next child. + */ iterator& operator++(); + /** + * @brief Advances the iterator to the next child. + */ iterator operator++(int); + /** @brief Checks if two iterators are at the same child. */ bool operator==(const iterator& rhs) const noexcept; + /** @brief Checks if two iterators are NOT at the same child. */ bool operator!=(const iterator& rhs) const noexcept; private: CesiumGeometry::OctreeTileID _current; }; + /** @brief A const equivalent to `iterator`. */ using const_iterator = iterator; + /** + * @brief Creates a \ref OctreeChildren instance from the provided parent + * tile. + */ OctreeChildren(const CesiumGeometry::OctreeTileID& tileID) noexcept : _tileID(tileID) {} + /** @brief Returns an iterator starting at the first child. */ iterator begin() const noexcept; + /** @brief Returns an iterator starting at the last child. */ iterator end() const noexcept; + /** + * @brief Returns the total number of \ref CesiumGeometry::OctreeTileID + * children for this tile, which will always be eight. + */ constexpr int64_t size() const noexcept { return 8; } private: @@ -198,7 +311,7 @@ class ImplicitTilingUtilities { * @brief Computes the relative Morton index for a given octree tile within * its level of a subtree rooted at the tile with the given octree ID. * - * @param subtreeID The ID of the subtree the contains the tile. + * @param subtreeRootID The ID of the subtree the contains the tile. * @param tileID The ID of the tile. * @return The relative Morton index. */ @@ -298,6 +411,7 @@ class ImplicitTilingUtilities { * * @param rootBoundingVolume The bounding volume of the root tile. * @param tileID The tile ID for which to compute the bounding volume. + * @param ellipsoid The ellipsoid to use for this calculation. * @return The bounding volume for the given implicit tile. */ static Cesium3DTiles::BoundingVolume computeBoundingVolume( @@ -312,6 +426,7 @@ class ImplicitTilingUtilities { * * @param rootBoundingVolume The bounding volume of the root tile. * @param tileID The tile ID for which to compute the bounding volume. + * @param ellipsoid The ellipsoid to use for this calculation. * @return The bounding volume for the given implicit tile. */ static Cesium3DTiles::BoundingVolume computeBoundingVolume( @@ -326,6 +441,7 @@ class ImplicitTilingUtilities { * * @param rootBoundingVolume The bounding region of the root tile. * @param tileID The tile ID for which to compute the bounding region. + * @param ellipsoid The ellipsoid to use for this calculation. * @return The bounding region for the given implicit tile. */ static CesiumGeospatial::BoundingRegion computeBoundingVolume( @@ -340,6 +456,7 @@ class ImplicitTilingUtilities { * * @param rootBoundingVolume The bounding region of the root tile. * @param tileID The tile ID for which to compute the bounding region. + * @param ellipsoid The ellipsoid to use for this calculation. * @return The bounding region for the given implicit tile. */ static CesiumGeospatial::BoundingRegion computeBoundingVolume( @@ -378,6 +495,7 @@ class ImplicitTilingUtilities { * * @param rootBoundingVolume The S2 cell bounding volume of the root tile. * @param tileID The tile ID for which to compute the S2 cell bounding volume. + * @param ellipsoid The ellipsoid to use for this calculation. * @return The S2 cell bounding volume for the given implicit tile. */ static CesiumGeospatial::S2CellBoundingVolume computeBoundingVolume( @@ -392,6 +510,7 @@ class ImplicitTilingUtilities { * * @param rootBoundingVolume The S2 cell bounding volume of the root tile. * @param tileID The tile ID for which to compute the S2 cell bounding volume. + * @param ellipsoid The ellipsoid to use for this calculation. * @return The S2 cell bounding volume for the given implicit tile. */ static CesiumGeospatial::S2CellBoundingVolume computeBoundingVolume( diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/PntsToGltfConverter.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/PntsToGltfConverter.h index a26cf3a26..7443940aa 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/PntsToGltfConverter.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/PntsToGltfConverter.h @@ -12,7 +12,22 @@ namespace Cesium3DTilesContent { struct AssetFetcher; +/** + * @brief Converts a pnts (Point Cloud) file to a glTF model. + * + * For more information on the pnts format, see + * https://github.com/CesiumGS/3d-tiles/blob/main/specification/TileFormats/PointCloud/README.adoc + */ struct PntsToGltfConverter { + /** + * @brief Converts an pnts binary file to a glTF model. + * + * @param pntsBinary The bytes loaded for the pnts model. + * @param options Options for how the glTF should be loaded. + * @param assetFetcher The \ref AssetFetcher containing information used by + * loaded assets. + * @returns A future that resolves to a \ref GltfConverterResult. + */ static CesiumAsync::Future convert( const std::span& pntsBinary, const CesiumGltfReader::GltfReaderOptions& options, diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/SubtreeAvailability.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/SubtreeAvailability.h index 646d2a36d..5c42003bb 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/SubtreeAvailability.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/SubtreeAvailability.h @@ -346,7 +346,7 @@ class SubtreeAvailability { * The provided `relativeSubtreeMortonId` must refer to a child of the leaves * of this subtree. * - * @param relativeTileMortonId The Morton ID of the tile for which to check + * @param relativeSubtreeMortonId The Morton ID of the tile for which to check * subtree availability. See * {@link ImplicitTilingUtilities::computeRelativeMortonIndex}. * @return True if the subtree is available; otherwise, false. @@ -394,9 +394,10 @@ class SubtreeAvailability { * The provided `relativeSubtreeMortonId` must refer to a child of the leaves * of this subtree. * - * @param relativeTileMortonId The Morton ID of the tile for which to set + * @param relativeSubtreeMortonId The Morton ID of the tile for which to set * subtree availability. See * {@link ImplicitTilingUtilities::computeRelativeMortonIndex}. + * @param isAvailable The new availability state. */ void setSubtreeAvailable( uint64_t relativeSubtreeMortonId, diff --git a/Cesium3DTilesContent/include/Cesium3DTilesContent/registerAllTileContentTypes.h b/Cesium3DTilesContent/include/Cesium3DTilesContent/registerAllTileContentTypes.h index 1f4a1fcee..c6e9a5002 100644 --- a/Cesium3DTilesContent/include/Cesium3DTilesContent/registerAllTileContentTypes.h +++ b/Cesium3DTilesContent/include/Cesium3DTilesContent/registerAllTileContentTypes.h @@ -3,11 +3,12 @@ namespace Cesium3DTilesContent { /** - * @brief Register all {@link Tile} content types that can be loaded. + * @brief Register all \ref Cesium3DTilesSelection::Tile "Tile" content types + * that can be loaded. * * This is supposed to be called during the initialization, before - * any {@link Tileset} is loaded. It will register loaders for the - * different types of tiles that can be encountered. + * any \ref Cesium3DTilesSelection::Tileset "Tileset" is loaded. It will + * register loaders for the different types of tiles that can be encountered. */ CESIUM3DTILESCONTENT_API void registerAllTileContentTypes(); diff --git a/CesiumAsync/include/CesiumAsync/SqliteHelper.h b/CesiumAsync/include/CesiumAsync/SqliteHelper.h index 9633e8011..bfc40b69d 100644 --- a/CesiumAsync/include/CesiumAsync/SqliteHelper.h +++ b/CesiumAsync/include/CesiumAsync/SqliteHelper.h @@ -15,6 +15,7 @@ namespace CesiumAsync { * a SQLite connection when it is no longer needed. */ struct DeleteSqliteConnection { + /** @brief Closes the provided sqlite connection when called. */ void operator()(CESIUM_SQLITE(sqlite3*) pConnection) noexcept; }; @@ -23,6 +24,7 @@ struct DeleteSqliteConnection { * a SQLite prepared statement when it is no longer needed. */ struct DeleteSqliteStatement { + /** @brief Finalizes the provided sqlite statement when called. */ void operator()(CESIUM_SQLITE(sqlite3_stmt*) pStatement) noexcept; }; diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index a73405473..38950de2f 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -86,7 +86,8 @@ if(DOXYGEN_FOUND) set(DOXYGEN_SOURCE_BROWSER YES) set(DOXYGEN_BUILTIN_STL_SUPPORT YES) set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "../README.md") - set(DOXYGEN_EXCLUDE_PATTERNS "*/node_modules/*") + list(APPEND DOXYGEN_EXCLUDE_PATTERNS "*/node_modules/*") + list(APPEND DOXYGEN_EXCLUDE_PATTERNS "*/build/*") set(DOXYGEN_DOT_GRAPH_MAX_NODES 100) set(DOXYGEN_WARN_AS_ERROR FAIL_ON_WARNINGS_PRINT) diff --git a/doc/topics/selection-algorithm-details.md b/doc/topics/selection-algorithm-details.md index 104c967dc..ff8cc4cbf 100644 --- a/doc/topics/selection-algorithm-details.md +++ b/doc/topics/selection-algorithm-details.md @@ -144,7 +144,7 @@ Once the current tile finishes loading and is rendered, only then will the tiles Here are some additional selection algorithm topics that are not yet covered here, but should be in the future: * Load prioritization -* Forbid Holes {#forbid-holes} +* Forbid Holes * Unconditionally-Refined Tiles * Occlusion Culling * External Tilesets and Implicit Tiles From 0c295d610b105b3d5d37f392dcdc22e164ece7ff Mon Sep 17 00:00:00 2001 From: Kevin Ring Date: Wed, 18 Dec 2024 16:04:28 +1100 Subject: [PATCH 10/12] Better doc for enums where possible. --- .../include/Cesium3DTiles/Availability.h | 4 +- .../include/Cesium3DTiles/ClassProperty.h | 40 +++++++++---------- .../generated/include/Cesium3DTiles/Enum.h | 16 ++++---- .../include/Cesium3DTiles/ImplicitTiling.h | 4 +- .../Cesium3DTiles/PropertyTableProperty.h | 16 ++++---- .../generated/include/Cesium3DTiles/Tile.h | 4 +- .../CesiumGltf/AccessorSparseIndices.h | 6 +-- .../include/CesiumGltf/AccessorSpec.h | 34 ++++++++-------- .../CesiumGltf/AnimationChannelTarget.h | 8 ++-- .../include/CesiumGltf/AnimationSampler.h | 16 ++++++-- .../generated/include/CesiumGltf/BufferView.h | 4 +- .../generated/include/CesiumGltf/Camera.h | 4 +- .../include/CesiumGltf/ClassProperty.h | 40 +++++++++---------- .../generated/include/CesiumGltf/Enum.h | 16 ++++---- ...ExtensionBufferViewExtMeshoptCompression.h | 14 +++---- .../generated/include/CesiumGltf/ImageSpec.h | 4 +- .../generated/include/CesiumGltf/Material.h | 12 ++++-- .../include/CesiumGltf/MeshPrimitive.h | 14 +++---- .../CesiumGltf/PropertyTableProperty.h | 16 ++++---- .../generated/include/CesiumGltf/Sampler.h | 28 ++++++------- tools/generate-classes/resolveProperty.js | 17 +++++++- 21 files changed, 173 insertions(+), 144 deletions(-) diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h index a3d161a73..183f186f2 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Availability.h @@ -24,10 +24,10 @@ struct CESIUM3DTILES_API Availability final * available (1) or all are unavailable (0). */ struct Constant { - /** @brief The UNAVAILABLE value. */ + /** @brief UNAVAILABLE (`0`) */ static constexpr int32_t UNAVAILABLE = 0; - /** @brief The AVAILABLE value. */ + /** @brief AVAILABLE (`1`) */ static constexpr int32_t AVAILABLE = 1; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h b/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h index 91c37a9ae..11e49f808 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/ClassProperty.h @@ -25,34 +25,34 @@ struct CESIUM3DTILES_API ClassProperty final * @brief Known values for The element type. */ struct Type { - /** @brief The SCALAR value. */ + /** @brief `SCALAR` */ inline static const std::string SCALAR = "SCALAR"; - /** @brief The VEC2 value. */ + /** @brief `VEC2` */ inline static const std::string VEC2 = "VEC2"; - /** @brief The VEC3 value. */ + /** @brief `VEC3` */ inline static const std::string VEC3 = "VEC3"; - /** @brief The VEC4 value. */ + /** @brief `VEC4` */ inline static const std::string VEC4 = "VEC4"; - /** @brief The MAT2 value. */ + /** @brief `MAT2` */ inline static const std::string MAT2 = "MAT2"; - /** @brief The MAT3 value. */ + /** @brief `MAT3` */ inline static const std::string MAT3 = "MAT3"; - /** @brief The MAT4 value. */ + /** @brief `MAT4` */ inline static const std::string MAT4 = "MAT4"; - /** @brief The STRING value. */ + /** @brief `STRING` */ inline static const std::string STRING = "STRING"; - /** @brief The BOOLEAN value. */ + /** @brief `BOOLEAN` */ inline static const std::string BOOLEAN = "BOOLEAN"; - /** @brief The ENUM value. */ + /** @brief `ENUM` */ inline static const std::string ENUM = "ENUM"; }; @@ -61,34 +61,34 @@ struct CESIUM3DTILES_API ClassProperty final * for `SCALAR`, `VECN`, and `MATN` types, and disallowed for other types. */ struct ComponentType { - /** @brief The INT8 value. */ + /** @brief `INT8` */ inline static const std::string INT8 = "INT8"; - /** @brief The UINT8 value. */ + /** @brief `UINT8` */ inline static const std::string UINT8 = "UINT8"; - /** @brief The INT16 value. */ + /** @brief `INT16` */ inline static const std::string INT16 = "INT16"; - /** @brief The UINT16 value. */ + /** @brief `UINT16` */ inline static const std::string UINT16 = "UINT16"; - /** @brief The INT32 value. */ + /** @brief `INT32` */ inline static const std::string INT32 = "INT32"; - /** @brief The UINT32 value. */ + /** @brief `UINT32` */ inline static const std::string UINT32 = "UINT32"; - /** @brief The INT64 value. */ + /** @brief `INT64` */ inline static const std::string INT64 = "INT64"; - /** @brief The UINT64 value. */ + /** @brief `UINT64` */ inline static const std::string UINT64 = "UINT64"; - /** @brief The FLOAT32 value. */ + /** @brief `FLOAT32` */ inline static const std::string FLOAT32 = "FLOAT32"; - /** @brief The FLOAT64 value. */ + /** @brief `FLOAT64` */ inline static const std::string FLOAT64 = "FLOAT64"; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h index 1dc147388..d5021ba99 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Enum.h @@ -24,28 +24,28 @@ struct CESIUM3DTILES_API Enum final : public CesiumUtility::ExtensibleObject { * @brief Known values for The type of the integer enum value. */ struct ValueType { - /** @brief The INT8 value. */ + /** @brief `INT8` */ inline static const std::string INT8 = "INT8"; - /** @brief The UINT8 value. */ + /** @brief `UINT8` */ inline static const std::string UINT8 = "UINT8"; - /** @brief The INT16 value. */ + /** @brief `INT16` */ inline static const std::string INT16 = "INT16"; - /** @brief The UINT16 value. */ + /** @brief `UINT16` */ inline static const std::string UINT16 = "UINT16"; - /** @brief The INT32 value. */ + /** @brief `INT32` */ inline static const std::string INT32 = "INT32"; - /** @brief The UINT32 value. */ + /** @brief `UINT32` */ inline static const std::string UINT32 = "UINT32"; - /** @brief The INT64 value. */ + /** @brief `INT64` */ inline static const std::string INT64 = "INT64"; - /** @brief The UINT64 value. */ + /** @brief `UINT64` */ inline static const std::string UINT64 = "UINT64"; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h b/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h index d6d9be31d..b9e2c5571 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/ImplicitTiling.h @@ -27,10 +27,10 @@ struct CESIUM3DTILES_API ImplicitTiling final * within the tileset. */ struct SubdivisionScheme { - /** @brief The QUADTREE value. */ + /** @brief `QUADTREE` */ inline static const std::string QUADTREE = "QUADTREE"; - /** @brief The OCTREE value. */ + /** @brief `OCTREE` */ inline static const std::string OCTREE = "OCTREE"; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h index 5e4e20ae9..a5f633d79 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/PropertyTableProperty.h @@ -27,16 +27,16 @@ struct CESIUM3DTILES_API PropertyTableProperty final * @brief Known values for The type of values in `arrayOffsets`. */ struct ArrayOffsetType { - /** @brief The UINT8 value. */ + /** @brief `UINT8` */ inline static const std::string UINT8 = "UINT8"; - /** @brief The UINT16 value. */ + /** @brief `UINT16` */ inline static const std::string UINT16 = "UINT16"; - /** @brief The UINT32 value. */ + /** @brief `UINT32` */ inline static const std::string UINT32 = "UINT32"; - /** @brief The UINT64 value. */ + /** @brief `UINT64` */ inline static const std::string UINT64 = "UINT64"; }; @@ -44,16 +44,16 @@ struct CESIUM3DTILES_API PropertyTableProperty final * @brief Known values for The type of values in `stringOffsets`. */ struct StringOffsetType { - /** @brief The UINT8 value. */ + /** @brief `UINT8` */ inline static const std::string UINT8 = "UINT8"; - /** @brief The UINT16 value. */ + /** @brief `UINT16` */ inline static const std::string UINT16 = "UINT16"; - /** @brief The UINT32 value. */ + /** @brief `UINT32` */ inline static const std::string UINT32 = "UINT32"; - /** @brief The UINT64 value. */ + /** @brief `UINT64` */ inline static const std::string UINT64 = "UINT64"; }; diff --git a/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h b/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h index 110361e44..a8bcc6c99 100644 --- a/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h +++ b/Cesium3DTiles/generated/include/Cesium3DTiles/Tile.h @@ -30,10 +30,10 @@ struct CESIUM3DTILES_API Tile final : public CesiumUtility::ExtensibleObject { * default is to inherit from the parent tile. */ struct Refine { - /** @brief The ADD value. */ + /** @brief `ADD` */ inline static const std::string ADD = "ADD"; - /** @brief The REPLACE value. */ + /** @brief `REPLACE` */ inline static const std::string REPLACE = "REPLACE"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h b/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h index f6d4c2cd1..3d85f0d10 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h +++ b/CesiumGltf/generated/include/CesiumGltf/AccessorSparseIndices.h @@ -24,13 +24,13 @@ struct CESIUMGLTF_API AccessorSparseIndices final * @brief Known values for The indices data type. */ struct ComponentType { - /** @brief The UNSIGNED_BYTE value. */ + /** @brief UNSIGNED_BYTE (`5121`) */ static constexpr int32_t UNSIGNED_BYTE = 5121; - /** @brief The UNSIGNED_SHORT value. */ + /** @brief UNSIGNED_SHORT (`5123`) */ static constexpr int32_t UNSIGNED_SHORT = 5123; - /** @brief The UNSIGNED_INT value. */ + /** @brief UNSIGNED_INT (`5125`) */ static constexpr int32_t UNSIGNED_INT = 5125; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h b/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h index 57b930168..ad682aeca 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h +++ b/CesiumGltf/generated/include/CesiumGltf/AccessorSpec.h @@ -25,34 +25,34 @@ struct CESIUMGLTF_API AccessorSpec : public CesiumGltf::NamedObject { * @brief Known values for The datatype of the accessor's components. */ struct ComponentType { - /** @brief The BYTE value. */ + /** @brief BYTE (`5120`) */ static constexpr int32_t BYTE = 5120; - /** @brief The UNSIGNED_BYTE value. */ + /** @brief UNSIGNED_BYTE (`5121`) */ static constexpr int32_t UNSIGNED_BYTE = 5121; - /** @brief The SHORT value. */ + /** @brief SHORT (`5122`) */ static constexpr int32_t SHORT = 5122; - /** @brief The UNSIGNED_SHORT value. */ + /** @brief UNSIGNED_SHORT (`5123`) */ static constexpr int32_t UNSIGNED_SHORT = 5123; - /** @brief The INT value. */ + /** @brief INT (`5124`) */ static constexpr int32_t INT = 5124; - /** @brief The UNSIGNED_INT value. */ + /** @brief UNSIGNED_INT (`5125`) */ static constexpr int32_t UNSIGNED_INT = 5125; - /** @brief The INT64 value. */ + /** @brief INT64 (`5134`) */ static constexpr int32_t INT64 = 5134; - /** @brief The UNSIGNED_INT64 value. */ + /** @brief UNSIGNED_INT64 (`5135`) */ static constexpr int32_t UNSIGNED_INT64 = 5135; - /** @brief The FLOAT value. */ + /** @brief FLOAT (`5126`) */ static constexpr int32_t FLOAT = 5126; - /** @brief The DOUBLE value. */ + /** @brief DOUBLE (`5130`) */ static constexpr int32_t DOUBLE = 5130; }; @@ -61,25 +61,25 @@ struct CESIUMGLTF_API AccessorSpec : public CesiumGltf::NamedObject { * vectors, or matrices. */ struct Type { - /** @brief The SCALAR value. */ + /** @brief `SCALAR` */ inline static const std::string SCALAR = "SCALAR"; - /** @brief The VEC2 value. */ + /** @brief `VEC2` */ inline static const std::string VEC2 = "VEC2"; - /** @brief The VEC3 value. */ + /** @brief `VEC3` */ inline static const std::string VEC3 = "VEC3"; - /** @brief The VEC4 value. */ + /** @brief `VEC4` */ inline static const std::string VEC4 = "VEC4"; - /** @brief The MAT2 value. */ + /** @brief `MAT2` */ inline static const std::string MAT2 = "MAT2"; - /** @brief The MAT3 value. */ + /** @brief `MAT3` */ inline static const std::string MAT3 = "MAT3"; - /** @brief The MAT4 value. */ + /** @brief `MAT4` */ inline static const std::string MAT4 = "MAT4"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h b/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h index f972f3698..9bdbc8962 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h +++ b/CesiumGltf/generated/include/CesiumGltf/AnimationChannelTarget.h @@ -29,16 +29,16 @@ struct CESIUMGLTF_API AnimationChannelTarget final * along the X, Y, and Z axes. */ struct Path { - /** @brief The translation value. */ + /** @brief `translation` */ inline static const std::string translation = "translation"; - /** @brief The rotation value. */ + /** @brief `rotation` */ inline static const std::string rotation = "rotation"; - /** @brief The scale value. */ + /** @brief `scale` */ inline static const std::string scale = "scale"; - /** @brief The weights value. */ + /** @brief `weights` */ inline static const std::string weights = "weights"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h b/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h index 7c77b758f..2799bad43 100644 --- a/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h +++ b/CesiumGltf/generated/include/CesiumGltf/AnimationSampler.h @@ -24,13 +24,23 @@ struct CESIUMGLTF_API AnimationSampler final * @brief Known values for Interpolation algorithm. */ struct Interpolation { - /** @brief The LINEAR value. */ + /** @brief The animated values are linearly interpolated between keyframes. + * When targeting a rotation, spherical linear interpolation (slerp) + * **SHOULD** be used to interpolate quaternions. The number of output + * elements **MUST** equal the number of input elements. */ inline static const std::string LINEAR = "LINEAR"; - /** @brief The STEP value. */ + /** @brief The animated values remain constant to the output of the first + * keyframe, until the next keyframe. The number of output elements **MUST** + * equal the number of input elements. */ inline static const std::string STEP = "STEP"; - /** @brief The CUBICSPLINE value. */ + /** @brief The animation's interpolation is computed using a cubic spline + * with specified tangents. The number of output elements **MUST** equal + * three times the number of input elements. For each input element, the + * output stores three elements, an in-tangent, a spline vertex, and an + * out-tangent. There **MUST** be at least two keyframes when using this + * interpolation. */ inline static const std::string CUBICSPLINE = "CUBICSPLINE"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/BufferView.h b/CesiumGltf/generated/include/CesiumGltf/BufferView.h index 084f91a80..d50f20080 100644 --- a/CesiumGltf/generated/include/CesiumGltf/BufferView.h +++ b/CesiumGltf/generated/include/CesiumGltf/BufferView.h @@ -23,10 +23,10 @@ struct CESIUMGLTF_API BufferView final : public CesiumGltf::NamedObject { * to use with this buffer view. */ struct Target { - /** @brief The ARRAY_BUFFER value. */ + /** @brief ARRAY_BUFFER (`34962`) */ static constexpr int32_t ARRAY_BUFFER = 34962; - /** @brief The ELEMENT_ARRAY_BUFFER value. */ + /** @brief ELEMENT_ARRAY_BUFFER (`34963`) */ static constexpr int32_t ELEMENT_ARRAY_BUFFER = 34963; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/Camera.h b/CesiumGltf/generated/include/CesiumGltf/Camera.h index 36b6a9fc2..6e893f55e 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Camera.h +++ b/CesiumGltf/generated/include/CesiumGltf/Camera.h @@ -26,10 +26,10 @@ struct CESIUMGLTF_API Camera final : public CesiumGltf::NamedObject { * orthographic projection. */ struct Type { - /** @brief The perspective value. */ + /** @brief `perspective` */ inline static const std::string perspective = "perspective"; - /** @brief The orthographic value. */ + /** @brief `orthographic` */ inline static const std::string orthographic = "orthographic"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h b/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h index d4e29dd11..11a8d914c 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h +++ b/CesiumGltf/generated/include/CesiumGltf/ClassProperty.h @@ -25,34 +25,34 @@ struct CESIUMGLTF_API ClassProperty final * @brief Known values for The element type. */ struct Type { - /** @brief The SCALAR value. */ + /** @brief `SCALAR` */ inline static const std::string SCALAR = "SCALAR"; - /** @brief The VEC2 value. */ + /** @brief `VEC2` */ inline static const std::string VEC2 = "VEC2"; - /** @brief The VEC3 value. */ + /** @brief `VEC3` */ inline static const std::string VEC3 = "VEC3"; - /** @brief The VEC4 value. */ + /** @brief `VEC4` */ inline static const std::string VEC4 = "VEC4"; - /** @brief The MAT2 value. */ + /** @brief `MAT2` */ inline static const std::string MAT2 = "MAT2"; - /** @brief The MAT3 value. */ + /** @brief `MAT3` */ inline static const std::string MAT3 = "MAT3"; - /** @brief The MAT4 value. */ + /** @brief `MAT4` */ inline static const std::string MAT4 = "MAT4"; - /** @brief The STRING value. */ + /** @brief `STRING` */ inline static const std::string STRING = "STRING"; - /** @brief The BOOLEAN value. */ + /** @brief `BOOLEAN` */ inline static const std::string BOOLEAN = "BOOLEAN"; - /** @brief The ENUM value. */ + /** @brief `ENUM` */ inline static const std::string ENUM = "ENUM"; }; @@ -61,34 +61,34 @@ struct CESIUMGLTF_API ClassProperty final * applicable to `SCALAR`, `VECN`, and `MATN` types. */ struct ComponentType { - /** @brief The INT8 value. */ + /** @brief `INT8` */ inline static const std::string INT8 = "INT8"; - /** @brief The UINT8 value. */ + /** @brief `UINT8` */ inline static const std::string UINT8 = "UINT8"; - /** @brief The INT16 value. */ + /** @brief `INT16` */ inline static const std::string INT16 = "INT16"; - /** @brief The UINT16 value. */ + /** @brief `UINT16` */ inline static const std::string UINT16 = "UINT16"; - /** @brief The INT32 value. */ + /** @brief `INT32` */ inline static const std::string INT32 = "INT32"; - /** @brief The UINT32 value. */ + /** @brief `UINT32` */ inline static const std::string UINT32 = "UINT32"; - /** @brief The INT64 value. */ + /** @brief `INT64` */ inline static const std::string INT64 = "INT64"; - /** @brief The UINT64 value. */ + /** @brief `UINT64` */ inline static const std::string UINT64 = "UINT64"; - /** @brief The FLOAT32 value. */ + /** @brief `FLOAT32` */ inline static const std::string FLOAT32 = "FLOAT32"; - /** @brief The FLOAT64 value. */ + /** @brief `FLOAT64` */ inline static const std::string FLOAT64 = "FLOAT64"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/Enum.h b/CesiumGltf/generated/include/CesiumGltf/Enum.h index 079725db2..f0d567f23 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Enum.h +++ b/CesiumGltf/generated/include/CesiumGltf/Enum.h @@ -24,28 +24,28 @@ struct CESIUMGLTF_API Enum final : public CesiumUtility::ExtensibleObject { * @brief Known values for The type of the integer enum value. */ struct ValueType { - /** @brief The INT8 value. */ + /** @brief `INT8` */ inline static const std::string INT8 = "INT8"; - /** @brief The UINT8 value. */ + /** @brief `UINT8` */ inline static const std::string UINT8 = "UINT8"; - /** @brief The INT16 value. */ + /** @brief `INT16` */ inline static const std::string INT16 = "INT16"; - /** @brief The UINT16 value. */ + /** @brief `UINT16` */ inline static const std::string UINT16 = "UINT16"; - /** @brief The INT32 value. */ + /** @brief `INT32` */ inline static const std::string INT32 = "INT32"; - /** @brief The UINT32 value. */ + /** @brief `UINT32` */ inline static const std::string UINT32 = "UINT32"; - /** @brief The INT64 value. */ + /** @brief `INT64` */ inline static const std::string INT64 = "INT64"; - /** @brief The UINT64 value. */ + /** @brief `UINT64` */ inline static const std::string UINT64 = "UINT64"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h index 62c5c8220..485ad38d8 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h +++ b/CesiumGltf/generated/include/CesiumGltf/ExtensionBufferViewExtMeshoptCompression.h @@ -27,13 +27,13 @@ struct CESIUMGLTF_API ExtensionBufferViewExtMeshoptCompression final * @brief Known values for The compression mode. */ struct Mode { - /** @brief The ATTRIBUTES value. */ + /** @brief `ATTRIBUTES` */ inline static const std::string ATTRIBUTES = "ATTRIBUTES"; - /** @brief The TRIANGLES value. */ + /** @brief `TRIANGLES` */ inline static const std::string TRIANGLES = "TRIANGLES"; - /** @brief The INDICES value. */ + /** @brief `INDICES` */ inline static const std::string INDICES = "INDICES"; }; @@ -41,16 +41,16 @@ struct CESIUMGLTF_API ExtensionBufferViewExtMeshoptCompression final * @brief Known values for The compression filter. */ struct Filter { - /** @brief The NONE value. */ + /** @brief `NONE` */ inline static const std::string NONE = "NONE"; - /** @brief The OCTAHEDRAL value. */ + /** @brief `OCTAHEDRAL` */ inline static const std::string OCTAHEDRAL = "OCTAHEDRAL"; - /** @brief The QUATERNION value. */ + /** @brief `QUATERNION` */ inline static const std::string QUATERNION = "QUATERNION"; - /** @brief The EXPONENTIAL value. */ + /** @brief `EXPONENTIAL` */ inline static const std::string EXPONENTIAL = "EXPONENTIAL"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h b/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h index e8733ed4a..48e02616a 100644 --- a/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h +++ b/CesiumGltf/generated/include/CesiumGltf/ImageSpec.h @@ -25,10 +25,10 @@ struct CESIUMGLTF_API ImageSpec : public CesiumGltf::NamedObject { * defined when `bufferView` is defined. */ struct MimeType { - /** @brief The image_jpeg value. */ + /** @brief `image/jpeg` */ inline static const std::string image_jpeg = "image/jpeg"; - /** @brief The image_png value. */ + /** @brief `image/png` */ inline static const std::string image_png = "image/png"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/Material.h b/CesiumGltf/generated/include/CesiumGltf/Material.h index eab9a209c..c64c9a143 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Material.h +++ b/CesiumGltf/generated/include/CesiumGltf/Material.h @@ -27,13 +27,19 @@ struct CESIUMGLTF_API Material final : public CesiumGltf::NamedObject { * @brief Known values for The alpha rendering mode of the material. */ struct AlphaMode { - /** @brief The OPAQUE value. */ + /** @brief The alpha value is ignored, and the rendered output is fully + * opaque. */ inline static const std::string OPAQUE = "OPAQUE"; - /** @brief The MASK value. */ + /** @brief The rendered output is either fully opaque or fully transparent + * depending on the alpha value and the specified `alphaCutoff` value; the + * exact appearance of the edges **MAY** be subject to + * implementation-specific techniques such as "`Alpha-to-Coverage`". */ inline static const std::string MASK = "MASK"; - /** @brief The BLEND value. */ + /** @brief The alpha value is used to composite the source and destination + * areas. The rendered output is combined with the background using the + * normal painting operation (i.e. the Porter and Duff over operator). */ inline static const std::string BLEND = "BLEND"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h b/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h index 10af85339..1dd714a49 100644 --- a/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h +++ b/CesiumGltf/generated/include/CesiumGltf/MeshPrimitive.h @@ -25,25 +25,25 @@ struct CESIUMGLTF_API MeshPrimitive final * @brief Known values for The topology type of primitives to render. */ struct Mode { - /** @brief The POINTS value. */ + /** @brief POINTS (`0`) */ static constexpr int32_t POINTS = 0; - /** @brief The LINES value. */ + /** @brief LINES (`1`) */ static constexpr int32_t LINES = 1; - /** @brief The LINE_LOOP value. */ + /** @brief LINE_LOOP (`2`) */ static constexpr int32_t LINE_LOOP = 2; - /** @brief The LINE_STRIP value. */ + /** @brief LINE_STRIP (`3`) */ static constexpr int32_t LINE_STRIP = 3; - /** @brief The TRIANGLES value. */ + /** @brief TRIANGLES (`4`) */ static constexpr int32_t TRIANGLES = 4; - /** @brief The TRIANGLE_STRIP value. */ + /** @brief TRIANGLE_STRIP (`5`) */ static constexpr int32_t TRIANGLE_STRIP = 5; - /** @brief The TRIANGLE_FAN value. */ + /** @brief TRIANGLE_FAN (`6`) */ static constexpr int32_t TRIANGLE_FAN = 6; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h b/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h index df49186d6..d378abd20 100644 --- a/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h +++ b/CesiumGltf/generated/include/CesiumGltf/PropertyTableProperty.h @@ -25,16 +25,16 @@ struct CESIUMGLTF_API PropertyTableProperty final * @brief Known values for The type of values in `arrayOffsets`. */ struct ArrayOffsetType { - /** @brief The UINT8 value. */ + /** @brief `UINT8` */ inline static const std::string UINT8 = "UINT8"; - /** @brief The UINT16 value. */ + /** @brief `UINT16` */ inline static const std::string UINT16 = "UINT16"; - /** @brief The UINT32 value. */ + /** @brief `UINT32` */ inline static const std::string UINT32 = "UINT32"; - /** @brief The UINT64 value. */ + /** @brief `UINT64` */ inline static const std::string UINT64 = "UINT64"; }; @@ -42,16 +42,16 @@ struct CESIUMGLTF_API PropertyTableProperty final * @brief Known values for The type of values in `stringOffsets`. */ struct StringOffsetType { - /** @brief The UINT8 value. */ + /** @brief `UINT8` */ inline static const std::string UINT8 = "UINT8"; - /** @brief The UINT16 value. */ + /** @brief `UINT16` */ inline static const std::string UINT16 = "UINT16"; - /** @brief The UINT32 value. */ + /** @brief `UINT32` */ inline static const std::string UINT32 = "UINT32"; - /** @brief The UINT64 value. */ + /** @brief `UINT64` */ inline static const std::string UINT64 = "UINT64"; }; diff --git a/CesiumGltf/generated/include/CesiumGltf/Sampler.h b/CesiumGltf/generated/include/CesiumGltf/Sampler.h index 97b7f868a..79e5143a1 100644 --- a/CesiumGltf/generated/include/CesiumGltf/Sampler.h +++ b/CesiumGltf/generated/include/CesiumGltf/Sampler.h @@ -21,10 +21,10 @@ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { * @brief Known values for Magnification filter. */ struct MagFilter { - /** @brief The NEAREST value. */ + /** @brief NEAREST (`9728`) */ static constexpr int32_t NEAREST = 9728; - /** @brief The LINEAR value. */ + /** @brief LINEAR (`9729`) */ static constexpr int32_t LINEAR = 9729; }; @@ -32,22 +32,22 @@ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { * @brief Known values for Minification filter. */ struct MinFilter { - /** @brief The NEAREST value. */ + /** @brief NEAREST (`9728`) */ static constexpr int32_t NEAREST = 9728; - /** @brief The LINEAR value. */ + /** @brief LINEAR (`9729`) */ static constexpr int32_t LINEAR = 9729; - /** @brief The NEAREST_MIPMAP_NEAREST value. */ + /** @brief NEAREST_MIPMAP_NEAREST (`9984`) */ static constexpr int32_t NEAREST_MIPMAP_NEAREST = 9984; - /** @brief The LINEAR_MIPMAP_NEAREST value. */ + /** @brief LINEAR_MIPMAP_NEAREST (`9985`) */ static constexpr int32_t LINEAR_MIPMAP_NEAREST = 9985; - /** @brief The NEAREST_MIPMAP_LINEAR value. */ + /** @brief NEAREST_MIPMAP_LINEAR (`9986`) */ static constexpr int32_t NEAREST_MIPMAP_LINEAR = 9986; - /** @brief The LINEAR_MIPMAP_LINEAR value. */ + /** @brief LINEAR_MIPMAP_LINEAR (`9987`) */ static constexpr int32_t LINEAR_MIPMAP_LINEAR = 9987; }; @@ -55,13 +55,13 @@ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { * @brief Known values for S (U) wrapping mode. */ struct WrapS { - /** @brief The CLAMP_TO_EDGE value. */ + /** @brief CLAMP_TO_EDGE (`33071`) */ static constexpr int32_t CLAMP_TO_EDGE = 33071; - /** @brief The MIRRORED_REPEAT value. */ + /** @brief MIRRORED_REPEAT (`33648`) */ static constexpr int32_t MIRRORED_REPEAT = 33648; - /** @brief The REPEAT value. */ + /** @brief REPEAT (`10497`) */ static constexpr int32_t REPEAT = 10497; }; @@ -69,13 +69,13 @@ struct CESIUMGLTF_API Sampler final : public CesiumGltf::NamedObject { * @brief Known values for T (V) wrapping mode. */ struct WrapT { - /** @brief The CLAMP_TO_EDGE value. */ + /** @brief CLAMP_TO_EDGE (`33071`) */ static constexpr int32_t CLAMP_TO_EDGE = 33071; - /** @brief The MIRRORED_REPEAT value. */ + /** @brief MIRRORED_REPEAT (`33648`) */ static constexpr int32_t MIRRORED_REPEAT = 33648; - /** @brief The REPEAT value. */ + /** @brief REPEAT (`10497`) */ static constexpr int32_t REPEAT = 10497; }; diff --git a/tools/generate-classes/resolveProperty.js b/tools/generate-classes/resolveProperty.js index 16c9028ec..484a1f2b8 100644 --- a/tools/generate-classes/resolveProperty.js +++ b/tools/generate-classes/resolveProperty.js @@ -339,7 +339,7 @@ function propertyDefaults(propertyName, cppSafeName, propertyDetails) { .trim() : propertyDetails.gltf_detailedDescription; let briefDoc = propertyDetails.description; - // Removing the description from the detailed description can have some + // Removing the description from the detailed description can have some // unintended consequences, like if the difference between the two lines // is as small as a single period. If it's that small, just append it to // the brief. @@ -734,7 +734,20 @@ function createEnum(enumDetails) { } const identifier = createEnumIdentifier(enumDetails); - const comment = `/** @brief The ${identifier} value. */\n`; + + const valueMatchesIdentifier = enumValue === identifier; + const valueMatchesDescription = !enumDetails.description || enumValue === enumDetails.description; + + let description; + if (valueMatchesDescription) { + description = `\`${enumValue}\``; + } else if (valueMatchesIdentifier) { + description = enumDetails.description ?? `\`${identifier}\``; + } else { + description = `${enumDetails.description ?? identifier} (\`${enumValue}\`)`; + } + + const comment = `/** @brief ${description} */\n`; if (enumDetails.type === "integer") { return comment + `static constexpr int32_t ${identifier} = ${enumValue}`; From d96a10d560c81f798e95eefa89750bf3a4f20262 Mon Sep 17 00:00:00 2001 From: Kevin Ring Date: Wed, 18 Dec 2024 16:08:04 +1100 Subject: [PATCH 11/12] Tiny cleanup. --- tools/generate-classes/resolveProperty.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/generate-classes/resolveProperty.js b/tools/generate-classes/resolveProperty.js index 484a1f2b8..df3708588 100644 --- a/tools/generate-classes/resolveProperty.js +++ b/tools/generate-classes/resolveProperty.js @@ -747,12 +747,12 @@ function createEnum(enumDetails) { description = `${enumDetails.description ?? identifier} (\`${enumValue}\`)`; } - const comment = `/** @brief ${description} */\n`; + const comment = `/** @brief ${description} */`; if (enumDetails.type === "integer") { - return comment + `static constexpr int32_t ${identifier} = ${enumValue}`; + return `${comment}\nstatic constexpr int32_t ${identifier} = ${enumValue}`; } else { - return comment + `inline static const std::string ${identifier} = \"${enumValue}\"`; + return `${comment}\ninline static const std::string ${identifier} = \"${enumValue}\"`; } } From 4fb30630220b8cae05d5f3d598ecc822c6505015 Mon Sep 17 00:00:00 2001 From: Kevin Ring Date: Wed, 18 Dec 2024 19:46:18 +1100 Subject: [PATCH 12/12] Remove unused types, and fix doc/code mismatch. --- CHANGES.md | 6 +++++- .../include/CesiumGltf/AccessorUtility.h | 2 +- .../include/CesiumUtility/JsonValue.h | 19 ------------------- 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 9c7eb4851..01735a117 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,10 @@ ### ? - ? +##### Breaking Changes :mega: + +- Removed unused types `JsonValueMissingKey` and `JsonValueNotRealValue` from `CesiumUtility`. + ##### Additions :tada: - Added `offset` getter to `AccessorView`. @@ -1123,4 +1127,4 @@ In addition to the above, this release updates the following third-party librari ### v0.1.0 - 2021-03-30 -- Initial release. \ No newline at end of file +- Initial release. diff --git a/CesiumGltf/include/CesiumGltf/AccessorUtility.h b/CesiumGltf/include/CesiumGltf/AccessorUtility.h index 267839d8b..b2dfa40ae 100644 --- a/CesiumGltf/include/CesiumGltf/AccessorUtility.h +++ b/CesiumGltf/include/CesiumGltf/AccessorUtility.h @@ -16,7 +16,7 @@ namespace CesiumGltf { */ struct CountFromAccessor { /** @brief Attempts to obtain an element count from an empty accessor variant, - * resulting in -1. */ + * resulting in 0. */ int64_t operator()(std::monostate) { return 0; } /** @brief Attempts to obtain an element count from an \ref AccessorView. */ diff --git a/CesiumUtility/include/CesiumUtility/JsonValue.h b/CesiumUtility/include/CesiumUtility/JsonValue.h index ceaed58a2..3adca37a8 100644 --- a/CesiumUtility/include/CesiumUtility/JsonValue.h +++ b/CesiumUtility/include/CesiumUtility/JsonValue.h @@ -16,25 +16,6 @@ namespace CesiumUtility { -/** - * @deprecated JSON parsing no longer throws this exception. - */ -struct JsonValueMissingKey : public std::runtime_error { - /** - * @brief Creates a new \ref JsonValueMissingKey exception for the given key. - */ - JsonValueMissingKey(const std::string& key) - : std::runtime_error(key + " is not present in Object") {} -}; - -/** - * @deprecated JSON parsing no longer throws this exception. - */ -struct JsonValueNotRealValue : public std::runtime_error { - JsonValueNotRealValue() - : std::runtime_error("this->value was not double, uint64_t or int64_t") {} -}; - /** * @brief Attempts a narrowing conversion of `U` into `T` without losing * information. If a lossless conversion can't be performed, `std::nullopt` is