初始提交: UE5.3项目基础框架

This commit is contained in:
2025-10-14 11:14:54 +08:00
commit 721d9fd98e
5334 changed files with 316782 additions and 0 deletions

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Asset.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Asset;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Asset "Asset" instances from JSON.
*/
class CESIUM3DTILESREADER_API AssetReader {
public:
/**
* @brief Constructs a new instance.
*/
AssetReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Asset from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Asset>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Asset from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Asset>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Asset from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Asset>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,73 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Availability.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Availability;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Availability "Availability" instances from
* JSON.
*/
class CESIUM3DTILESREADER_API AvailabilityReader {
public:
/**
* @brief Constructs a new instance.
*/
AvailabilityReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Availability from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Availability>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Availability from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Availability>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Availability from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Availability>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,74 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/BoundingVolume.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct BoundingVolume;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::BoundingVolume "BoundingVolume" instances
* from JSON.
*/
class CESIUM3DTILESREADER_API BoundingVolumeReader {
public:
/**
* @brief Constructs a new instance.
*/
BoundingVolumeReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of BoundingVolume from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::BoundingVolume>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of BoundingVolume from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::BoundingVolume>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of BoundingVolume from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::BoundingVolume>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Buffer.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Buffer;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Buffer "Buffer" instances from JSON.
*/
class CESIUM3DTILESREADER_API BufferReader {
public:
/**
* @brief Constructs a new instance.
*/
BufferReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Buffer from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Buffer>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Buffer from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Buffer>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Buffer from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Buffer>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/BufferView.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct BufferView;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::BufferView "BufferView" instances from JSON.
*/
class CESIUM3DTILESREADER_API BufferViewReader {
public:
/**
* @brief Constructs a new instance.
*/
BufferViewReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of BufferView from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::BufferView>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of BufferView from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::BufferView>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of BufferView from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::BufferView>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,74 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/ClassProperty.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct ClassProperty;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::ClassProperty "ClassProperty" instances from
* JSON.
*/
class CESIUM3DTILESREADER_API ClassPropertyReader {
public:
/**
* @brief Constructs a new instance.
*/
ClassPropertyReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of ClassProperty from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::ClassProperty>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of ClassProperty from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::ClassProperty>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of ClassProperty from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::ClassProperty>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Class.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Class;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Class "Class" instances from JSON.
*/
class CESIUM3DTILESREADER_API ClassReader {
public:
/**
* @brief Constructs a new instance.
*/
ClassReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Class from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Class>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Class from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Class>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Class from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Class>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,74 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/ClassStatistics.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct ClassStatistics;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::ClassStatistics "ClassStatistics" instances
* from JSON.
*/
class CESIUM3DTILESREADER_API ClassStatisticsReader {
public:
/**
* @brief Constructs a new instance.
*/
ClassStatisticsReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of ClassStatistics from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::ClassStatistics>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of ClassStatistics from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::ClassStatistics>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of ClassStatistics from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::ClassStatistics>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Content.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Content;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Content "Content" instances from JSON.
*/
class CESIUM3DTILESREADER_API ContentReader {
public:
/**
* @brief Constructs a new instance.
*/
ContentReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Content from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Content>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Content from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Content>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Content from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Content>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Enum.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Enum;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Enum "Enum" instances from JSON.
*/
class CESIUM3DTILESREADER_API EnumReader {
public:
/**
* @brief Constructs a new instance.
*/
EnumReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Enum from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Enum>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Enum from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Enum>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Enum from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Enum>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/EnumValue.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct EnumValue;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::EnumValue "EnumValue" instances from JSON.
*/
class CESIUM3DTILESREADER_API EnumValueReader {
public:
/**
* @brief Constructs a new instance.
*/
EnumValueReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of EnumValue from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::EnumValue>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of EnumValue from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::EnumValue>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of EnumValue from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::EnumValue>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,79 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Extension3dTilesBoundingVolumeS2.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Extension3dTilesBoundingVolumeS2;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Extension3dTilesBoundingVolumeS2
* "Extension3dTilesBoundingVolumeS2" instances from JSON.
*/
class CESIUM3DTILESREADER_API Extension3dTilesBoundingVolumeS2Reader {
public:
/**
* @brief Constructs a new instance.
*/
Extension3dTilesBoundingVolumeS2Reader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Extension3dTilesBoundingVolumeS2 from a byte
* buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<
Cesium3DTiles::Extension3dTilesBoundingVolumeS2>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Extension3dTilesBoundingVolumeS2 from a
* rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<
Cesium3DTiles::Extension3dTilesBoundingVolumeS2>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Extension3dTilesBoundingVolumeS2 from
* a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<
std::vector<Cesium3DTiles::Extension3dTilesBoundingVolumeS2>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,74 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/GroupMetadata.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct GroupMetadata;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::GroupMetadata "GroupMetadata" instances from
* JSON.
*/
class CESIUM3DTILESREADER_API GroupMetadataReader {
public:
/**
* @brief Constructs a new instance.
*/
GroupMetadataReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of GroupMetadata from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::GroupMetadata>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of GroupMetadata from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::GroupMetadata>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of GroupMetadata from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::GroupMetadata>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,74 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/ImplicitTiling.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct ImplicitTiling;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::ImplicitTiling "ImplicitTiling" instances
* from JSON.
*/
class CESIUM3DTILESREADER_API ImplicitTilingReader {
public:
/**
* @brief Constructs a new instance.
*/
ImplicitTilingReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of ImplicitTiling from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::ImplicitTiling>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of ImplicitTiling from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::ImplicitTiling>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of ImplicitTiling from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::ImplicitTiling>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,18 @@
#pragma once
/**
* @brief Classes for reading [3D Tiles](https://github.com/CesiumGS/3d-tiles).
*
* @mermaid-interactive{dependencies/Cesium3DTilesReader}
*/
namespace Cesium3DTilesReader {}
#if defined(_WIN32) && defined(CESIUM_SHARED)
#ifdef CESIUM3DTILESREADER_BUILDING
#define CESIUM3DTILESREADER_API __declspec(dllexport)
#else
#define CESIUM3DTILESREADER_API __declspec(dllimport)
#endif
#else
#define CESIUM3DTILESREADER_API
#endif

View File

@ -0,0 +1,74 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/MetadataEntity.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct MetadataEntity;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::MetadataEntity "MetadataEntity" instances
* from JSON.
*/
class CESIUM3DTILESREADER_API MetadataEntityReader {
public:
/**
* @brief Constructs a new instance.
*/
MetadataEntityReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of MetadataEntity from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::MetadataEntity>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of MetadataEntity from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::MetadataEntity>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of MetadataEntity from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::MetadataEntity>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Properties.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Properties;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Properties "Properties" instances from JSON.
*/
class CESIUM3DTILESREADER_API PropertiesReader {
public:
/**
* @brief Constructs a new instance.
*/
PropertiesReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Properties from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Properties>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Properties from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Properties>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Properties from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Properties>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,75 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/PropertyStatistics.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct PropertyStatistics;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::PropertyStatistics "PropertyStatistics"
* instances from JSON.
*/
class CESIUM3DTILESREADER_API PropertyStatisticsReader {
public:
/**
* @brief Constructs a new instance.
*/
PropertyStatisticsReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of PropertyStatistics from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::PropertyStatistics>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of PropertyStatistics from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::PropertyStatistics>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of PropertyStatistics from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<
std::vector<Cesium3DTiles::PropertyStatistics>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,75 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/PropertyTableProperty.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct PropertyTableProperty;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::PropertyTableProperty
* "PropertyTableProperty" instances from JSON.
*/
class CESIUM3DTILESREADER_API PropertyTablePropertyReader {
public:
/**
* @brief Constructs a new instance.
*/
PropertyTablePropertyReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of PropertyTableProperty from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::PropertyTableProperty>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of PropertyTableProperty from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::PropertyTableProperty>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of PropertyTableProperty from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<
std::vector<Cesium3DTiles::PropertyTableProperty>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,74 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/PropertyTable.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct PropertyTable;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::PropertyTable "PropertyTable" instances from
* JSON.
*/
class CESIUM3DTILESREADER_API PropertyTableReader {
public:
/**
* @brief Constructs a new instance.
*/
PropertyTableReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of PropertyTable from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::PropertyTable>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of PropertyTable from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::PropertyTable>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of PropertyTable from a
* rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::PropertyTable>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Schema.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Schema;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Schema "Schema" instances from JSON.
*/
class CESIUM3DTILESREADER_API SchemaReader {
public:
/**
* @brief Constructs a new instance.
*/
SchemaReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Schema from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Schema>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Schema from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Schema>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Schema from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Schema>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Statistics.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Statistics;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Statistics "Statistics" instances from JSON.
*/
class CESIUM3DTILESREADER_API StatisticsReader {
public:
/**
* @brief Constructs a new instance.
*/
StatisticsReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Statistics from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Statistics>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Statistics from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Statistics>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Statistics from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Statistics>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,141 @@
#pragma once
#include <Cesium3DTilesReader/Library.h>
#include <Cesium3DTilesReader/SubtreeReader.h>
#include <CesiumAsync/AsyncSystem.h>
#include <CesiumAsync/Future.h>
#include <CesiumAsync/IAssetAccessor.h>
namespace Cesium3DTilesReader {
/**
* @brief Reads 3D Tiles subtrees from a binary or JSON subtree file.
*
* While {@link SubtreeReader} can parse a {@link Cesium3DTiles::Subtree} from
* a binary buffer as well, `SubtreeFileReader` additionally supports:
*
* 1. Loading binary subtree files.
* 2. Loading external buffers asynchronously.
* 3. Decoding buffers from data URIs.
*
* The subtree file need not be an actual file on disk.
*/
class CESIUM3DTILESREADER_API SubtreeFileReader {
public:
/**
* @brief Constructs a new instance.
*/
SubtreeFileReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Asynchronously loads a subtree 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 to get the subtree file.
* @param headers Headers to include in the request for the initial subtree
* file and any additional resources that are required.
* @return A future that resolves to the result of loading the subtree.
*/
CesiumAsync::Future<CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>>
load(
const CesiumAsync::AsyncSystem& asyncSystem,
const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
const std::string& url,
const std::vector<CesiumAsync::IAssetAccessor::THeader>& 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<CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>>
load(
const CesiumAsync::AsyncSystem& asyncSystem,
const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
const std::shared_ptr<CesiumAsync::IAssetRequest>& 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<CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>>
load(
const CesiumAsync::AsyncSystem& asyncSystem,
const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
const std::string& url,
const std::vector<CesiumAsync::IAssetAccessor::THeader>& requestHeaders,
const std::span<const std::byte>& data) const noexcept;
private:
CesiumAsync::Future<CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>>
loadBinary(
const CesiumAsync::AsyncSystem& asyncSystem,
const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
const std::string& url,
const std::vector<CesiumAsync::IAssetAccessor::THeader>& requestHeaders,
const std::span<const std::byte>& data) const noexcept;
CesiumAsync::Future<CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>>
loadJson(
const CesiumAsync::AsyncSystem& asyncSystem,
const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
const std::string& url,
const std::vector<CesiumAsync::IAssetAccessor::THeader>& requestHeaders,
const std::span<const std::byte>& data) const noexcept;
CesiumAsync::Future<CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>>
postprocess(
const CesiumAsync::AsyncSystem& asyncSystem,
const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
const std::string& url,
const std::vector<CesiumAsync::IAssetAccessor::THeader>& requestHeaders,
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>&& loaded)
const noexcept;
SubtreeReader _reader;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Subtree.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Subtree;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Subtree "Subtree" instances from JSON.
*/
class CESIUM3DTILESREADER_API SubtreeReader {
public:
/**
* @brief Constructs a new instance.
*/
SubtreeReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Subtree from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Subtree from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtree>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Subtree from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Subtree>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Subtrees.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Subtrees;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Subtrees "Subtrees" instances from JSON.
*/
class CESIUM3DTILESREADER_API SubtreesReader {
public:
/**
* @brief Constructs a new instance.
*/
SubtreesReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Subtrees from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtrees>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Subtrees from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Subtrees>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Subtrees from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Subtrees>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Tile.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Tile;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Tile "Tile" instances from JSON.
*/
class CESIUM3DTILESREADER_API TileReader {
public:
/**
* @brief Constructs a new instance.
*/
TileReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Tile from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Tile>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Tile from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Tile>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Tile from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Tile>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader

View File

@ -0,0 +1,72 @@
// This file was generated by generate-classes.
// DO NOT EDIT THIS FILE!
#pragma once
#include <Cesium3DTiles/Tileset.h>
#include <Cesium3DTilesReader/Library.h>
#include <CesiumJsonReader/JsonReader.h>
#include <CesiumJsonReader/JsonReaderOptions.h>
#include <rapidjson/fwd.h>
#include <span>
#include <vector>
namespace Cesium3DTiles {
struct Tileset;
} // namespace Cesium3DTiles
namespace Cesium3DTilesReader {
/**
* @brief Reads \ref Cesium3DTiles::Tileset "Tileset" instances from JSON.
*/
class CESIUM3DTILESREADER_API TilesetReader {
public:
/**
* @brief Constructs a new instance.
*/
TilesetReader();
/**
* @brief Gets the options controlling how the JSON is read.
*/
CesiumJsonReader::JsonReaderOptions& getOptions();
/**
* @brief Gets the options controlling how the JSON is read.
*/
const CesiumJsonReader::JsonReaderOptions& getOptions() const;
/**
* @brief Reads an instance of Tileset from a byte buffer.
*
* @param data The buffer from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Tileset>
readFromJson(const std::span<const std::byte>& data) const;
/**
* @brief Reads an instance of Tileset from a rapidJson::Value.
*
* @param value The value from which to read the instance.
* @return The result of reading the instance.
*/
CesiumJsonReader::ReadJsonResult<Cesium3DTiles::Tileset>
readFromJson(const rapidjson::Value& value) const;
/**
* @brief Reads an array of instances of Tileset from a rapidJson::Value.
*
* @param value The value from which to read the array of instances.
* @return The result of reading the array of instances.
*/
CesiumJsonReader::ReadJsonResult<std::vector<Cesium3DTiles::Tileset>>
readArrayFromJson(const rapidjson::Value& value) const;
private:
CesiumJsonReader::JsonReaderOptions _options;
};
} // namespace Cesium3DTilesReader