fix ext_feature_metadata schema url + regenerate
This commit is contained in:
parent
6e4b4b9faa
commit
1906b68bc6
|
|
@ -3,27 +3,32 @@
|
|||
#pragma once
|
||||
|
||||
#include "CesiumGltf/Library.h"
|
||||
|
||||
#include <CesiumUtility/ExtensibleObject.h>
|
||||
|
||||
#include <cstdint>
|
||||
#include <unordered_map>
|
||||
|
||||
namespace CesiumGltf {
|
||||
/**
|
||||
* @brief KHR_draco_mesh_compression extension
|
||||
*/
|
||||
struct CESIUMGLTF_API ExtensionKhrDracoMeshCompression final : public CesiumUtility::ExtensibleObject {
|
||||
static inline constexpr const char* TypeName = "ExtensionKhrDracoMeshCompression";
|
||||
static inline constexpr const char* ExtensionName = "KHR_draco_mesh_compression";
|
||||
/**
|
||||
* @brief KHR_draco_mesh_compression extension
|
||||
*/
|
||||
struct CESIUMGLTF_API ExtensionKhrDracoMeshCompression final
|
||||
: public CesiumUtility::ExtensibleObject {
|
||||
static inline constexpr const char* TypeName =
|
||||
"ExtensionKhrDracoMeshCompression";
|
||||
static inline constexpr const char* ExtensionName =
|
||||
"KHR_draco_mesh_compression";
|
||||
|
||||
/**
|
||||
* @brief The index of the bufferView.
|
||||
*/
|
||||
int32_t bufferView = -1;
|
||||
/**
|
||||
* @brief The index of the bufferView.
|
||||
*/
|
||||
int32_t bufferView = -1;
|
||||
|
||||
/**
|
||||
* @brief A dictionary object, where each key corresponds to an attribute and its unique attribute id stored in the compressed geometry.
|
||||
*/
|
||||
std::unordered_map<std::string, int32_t> attributes;
|
||||
|
||||
};
|
||||
}
|
||||
/**
|
||||
* @brief A dictionary object, where each key corresponds to an attribute and
|
||||
* its unique attribute id stored in the compressed geometry.
|
||||
*/
|
||||
std::unordered_map<std::string, int32_t> attributes;
|
||||
};
|
||||
} // namespace CesiumGltf
|
||||
|
|
|
|||
|
|
@ -7,43 +7,48 @@
|
|||
#include "CesiumGltf/Library.h"
|
||||
#include "CesiumGltf/Schema.h"
|
||||
#include "CesiumGltf/Statistics.h"
|
||||
|
||||
#include <CesiumUtility/ExtensibleObject.h>
|
||||
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
|
||||
namespace CesiumGltf {
|
||||
/**
|
||||
* @brief glTF extension that assigns metadata to features in a model.
|
||||
*/
|
||||
struct CESIUMGLTF_API ExtensionModelExtFeatureMetadata final : public CesiumUtility::ExtensibleObject {
|
||||
static inline constexpr const char* TypeName = "ExtensionModelExtFeatureMetadata";
|
||||
static inline constexpr const char* ExtensionName = "EXT_feature_metadata";
|
||||
/**
|
||||
* @brief glTF extension that assigns metadata to features in a model.
|
||||
*/
|
||||
struct CESIUMGLTF_API ExtensionModelExtFeatureMetadata final
|
||||
: public CesiumUtility::ExtensibleObject {
|
||||
static inline constexpr const char* TypeName =
|
||||
"ExtensionModelExtFeatureMetadata";
|
||||
static inline constexpr const char* ExtensionName = "EXT_feature_metadata";
|
||||
|
||||
/**
|
||||
* @brief An object defining classes and enums.
|
||||
*/
|
||||
std::optional<CesiumGltf::Schema> schema;
|
||||
/**
|
||||
* @brief An object defining classes and enums.
|
||||
*/
|
||||
std::optional<CesiumGltf::Schema> schema;
|
||||
|
||||
/**
|
||||
* @brief The URI (or IRI) of the external schema file.
|
||||
*/
|
||||
std::optional<std::string> schemaUri;
|
||||
/**
|
||||
* @brief The URI (or IRI) of the external schema file.
|
||||
*/
|
||||
std::optional<std::string> schemaUri;
|
||||
|
||||
/**
|
||||
* @brief An object containing statistics about features.
|
||||
*/
|
||||
std::optional<CesiumGltf::Statistics> statistics;
|
||||
/**
|
||||
* @brief An object containing statistics about features.
|
||||
*/
|
||||
std::optional<CesiumGltf::Statistics> statistics;
|
||||
|
||||
/**
|
||||
* @brief A dictionary, where each key is a feature table ID and each value is an object defining the feature table.
|
||||
*/
|
||||
std::unordered_map<std::string, CesiumGltf::FeatureTable> featureTables;
|
||||
/**
|
||||
* @brief A dictionary, where each key is a feature table ID and each value is
|
||||
* an object defining the feature table.
|
||||
*/
|
||||
std::unordered_map<std::string, CesiumGltf::FeatureTable> featureTables;
|
||||
|
||||
/**
|
||||
* @brief A dictionary, where each key is a feature texture ID and each value is an object defining the feature texture.
|
||||
*/
|
||||
std::unordered_map<std::string, CesiumGltf::FeatureTexture> featureTextures;
|
||||
|
||||
};
|
||||
}
|
||||
/**
|
||||
* @brief A dictionary, where each key is a feature texture ID and each value
|
||||
* is an object defining the feature texture.
|
||||
*/
|
||||
std::unordered_map<std::string, CesiumGltf::FeatureTexture> featureTextures;
|
||||
};
|
||||
} // namespace CesiumGltf
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
// This file was generated by generate-classes.
|
||||
// DO NOT EDIT THIS FILE!
|
||||
#pragma once
|
||||
|
||||
#include "CesiumGltf/Library.h"
|
||||
|
||||
#include <CesiumUtility/ExtensibleObject.h>
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace CesiumGltf {
|
||||
/**
|
||||
* @brief glTF extension to specify textures using the KTX v2 images with Basis
|
||||
* Universal supercompression.
|
||||
*/
|
||||
struct CESIUMGLTF_API ExtensionTextureBasisU final
|
||||
: public CesiumUtility::ExtensibleObject {
|
||||
static inline constexpr const char* TypeName = "ExtensionTextureBasisU";
|
||||
static inline constexpr const char* ExtensionName = "KHR_texture_basisu";
|
||||
|
||||
/**
|
||||
* @brief The index of the image which points to a KTX v2 resource with Basis
|
||||
* Universal supercompression.
|
||||
*/
|
||||
int32_t source = -1;
|
||||
};
|
||||
} // namespace CesiumGltf
|
||||
|
|
@ -8,70 +8,89 @@
|
|||
#include <CesiumJsonReader/IntegerJsonHandler.h>
|
||||
|
||||
namespace CesiumJsonReader {
|
||||
class ExtensionReaderContext;
|
||||
class ExtensionReaderContext;
|
||||
}
|
||||
|
||||
namespace CesiumGltfReader {
|
||||
class ExtensionKhrDracoMeshCompressionJsonHandler : public CesiumJsonReader::ExtensibleObjectJsonHandler, public CesiumJsonReader::IExtensionJsonHandler {
|
||||
public:
|
||||
using ValueType = CesiumGltf::ExtensionKhrDracoMeshCompression;
|
||||
class ExtensionKhrDracoMeshCompressionJsonHandler
|
||||
: public CesiumJsonReader::ExtensibleObjectJsonHandler,
|
||||
public CesiumJsonReader::IExtensionJsonHandler {
|
||||
public:
|
||||
using ValueType = CesiumGltf::ExtensionKhrDracoMeshCompression;
|
||||
|
||||
static inline constexpr const char* ExtensionName = "KHR_draco_mesh_compression";
|
||||
static inline constexpr const char* ExtensionName =
|
||||
"KHR_draco_mesh_compression";
|
||||
|
||||
ExtensionKhrDracoMeshCompressionJsonHandler(const CesiumJsonReader::ExtensionReaderContext& context) noexcept;
|
||||
void reset(IJsonHandler* pParentHandler, CesiumGltf::ExtensionKhrDracoMeshCompression* pObject);
|
||||
ExtensionKhrDracoMeshCompressionJsonHandler(
|
||||
const CesiumJsonReader::ExtensionReaderContext& context) noexcept;
|
||||
void reset(
|
||||
IJsonHandler* pParentHandler,
|
||||
CesiumGltf::ExtensionKhrDracoMeshCompression* pObject);
|
||||
|
||||
virtual IJsonHandler* readObjectKey(const std::string_view& str) override;
|
||||
virtual IJsonHandler* readObjectKey(const std::string_view& str) override;
|
||||
|
||||
virtual void reset(IJsonHandler* pParentHandler, CesiumUtility::ExtensibleObject& o, const std::string_view& extensionName) override;
|
||||
virtual void reset(
|
||||
IJsonHandler* pParentHandler,
|
||||
CesiumUtility::ExtensibleObject& o,
|
||||
const std::string_view& extensionName) override;
|
||||
|
||||
virtual IJsonHandler* readNull() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readNull();
|
||||
};
|
||||
virtual IJsonHandler* readBool(bool b) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readBool(b);
|
||||
}
|
||||
virtual IJsonHandler* readInt32(int32_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readInt32(i);
|
||||
}
|
||||
virtual IJsonHandler* readUint32(uint32_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readUint32(i);
|
||||
}
|
||||
virtual IJsonHandler* readInt64(int64_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readInt64(i);
|
||||
}
|
||||
virtual IJsonHandler* readUint64(uint64_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readUint64(i);
|
||||
}
|
||||
virtual IJsonHandler* readDouble(double d) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readDouble(d);
|
||||
}
|
||||
virtual IJsonHandler* readString(const std::string_view& str) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readString(str);
|
||||
}
|
||||
virtual IJsonHandler* readObjectStart() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readObjectStart();
|
||||
}
|
||||
virtual IJsonHandler* readObjectEnd() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readObjectEnd();
|
||||
}
|
||||
virtual IJsonHandler* readArrayStart() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readArrayStart();
|
||||
}
|
||||
virtual IJsonHandler* readArrayEnd() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readArrayEnd();
|
||||
}
|
||||
virtual void reportWarning(const std::string& warning, std::vector<std::string>&& context = std::vector<std::string>()) override {
|
||||
CesiumJsonReader::ExtensibleObjectJsonHandler::reportWarning(warning, std::move(context));
|
||||
}
|
||||
|
||||
protected:
|
||||
IJsonHandler* readObjectKeyExtensionKhrDracoMeshCompression(const std::string& objectType, const std::string_view& str, CesiumGltf::ExtensionKhrDracoMeshCompression& o);
|
||||
|
||||
private:
|
||||
|
||||
CesiumGltf::ExtensionKhrDracoMeshCompression* _pObject = nullptr;
|
||||
CesiumJsonReader::IntegerJsonHandler<int32_t> _bufferView;
|
||||
CesiumJsonReader::DictionaryJsonHandler<int32_t, CesiumJsonReader::IntegerJsonHandler<int32_t>> _attributes;
|
||||
virtual IJsonHandler* readNull() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readNull();
|
||||
};
|
||||
}
|
||||
virtual IJsonHandler* readBool(bool b) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readBool(b);
|
||||
}
|
||||
virtual IJsonHandler* readInt32(int32_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readInt32(i);
|
||||
}
|
||||
virtual IJsonHandler* readUint32(uint32_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readUint32(i);
|
||||
}
|
||||
virtual IJsonHandler* readInt64(int64_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readInt64(i);
|
||||
}
|
||||
virtual IJsonHandler* readUint64(uint64_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readUint64(i);
|
||||
}
|
||||
virtual IJsonHandler* readDouble(double d) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readDouble(d);
|
||||
}
|
||||
virtual IJsonHandler* readString(const std::string_view& str) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readString(str);
|
||||
}
|
||||
virtual IJsonHandler* readObjectStart() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readObjectStart();
|
||||
}
|
||||
virtual IJsonHandler* readObjectEnd() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readObjectEnd();
|
||||
}
|
||||
virtual IJsonHandler* readArrayStart() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readArrayStart();
|
||||
}
|
||||
virtual IJsonHandler* readArrayEnd() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readArrayEnd();
|
||||
}
|
||||
virtual void reportWarning(
|
||||
const std::string& warning,
|
||||
std::vector<std::string>&& context =
|
||||
std::vector<std::string>()) override {
|
||||
CesiumJsonReader::ExtensibleObjectJsonHandler::reportWarning(
|
||||
warning,
|
||||
std::move(context));
|
||||
}
|
||||
|
||||
protected:
|
||||
IJsonHandler* readObjectKeyExtensionKhrDracoMeshCompression(
|
||||
const std::string& objectType,
|
||||
const std::string_view& str,
|
||||
CesiumGltf::ExtensionKhrDracoMeshCompression& o);
|
||||
|
||||
private:
|
||||
CesiumGltf::ExtensionKhrDracoMeshCompression* _pObject = nullptr;
|
||||
CesiumJsonReader::IntegerJsonHandler<int32_t> _bufferView;
|
||||
CesiumJsonReader::DictionaryJsonHandler<
|
||||
int32_t,
|
||||
CesiumJsonReader::IntegerJsonHandler<int32_t>>
|
||||
_attributes;
|
||||
};
|
||||
} // namespace CesiumGltfReader
|
||||
|
|
|
|||
|
|
@ -6,79 +6,100 @@
|
|||
#include "FeatureTextureJsonHandler.h"
|
||||
#include "SchemaJsonHandler.h"
|
||||
#include "StatisticsJsonHandler.h"
|
||||
|
||||
#include <CesiumGltf/ExtensionModelExtFeatureMetadata.h>
|
||||
#include <CesiumJsonReader/DictionaryJsonHandler.h>
|
||||
#include <CesiumJsonReader/ExtensibleObjectJsonHandler.h>
|
||||
#include <CesiumJsonReader/StringJsonHandler.h>
|
||||
|
||||
namespace CesiumJsonReader {
|
||||
class ExtensionReaderContext;
|
||||
class ExtensionReaderContext;
|
||||
}
|
||||
|
||||
namespace CesiumGltfReader {
|
||||
class ExtensionModelExtFeatureMetadataJsonHandler : public CesiumJsonReader::ExtensibleObjectJsonHandler, public CesiumJsonReader::IExtensionJsonHandler {
|
||||
public:
|
||||
using ValueType = CesiumGltf::ExtensionModelExtFeatureMetadata;
|
||||
class ExtensionModelExtFeatureMetadataJsonHandler
|
||||
: public CesiumJsonReader::ExtensibleObjectJsonHandler,
|
||||
public CesiumJsonReader::IExtensionJsonHandler {
|
||||
public:
|
||||
using ValueType = CesiumGltf::ExtensionModelExtFeatureMetadata;
|
||||
|
||||
static inline constexpr const char* ExtensionName = "EXT_feature_metadata";
|
||||
static inline constexpr const char* ExtensionName = "EXT_feature_metadata";
|
||||
|
||||
ExtensionModelExtFeatureMetadataJsonHandler(const CesiumJsonReader::ExtensionReaderContext& context) noexcept;
|
||||
void reset(IJsonHandler* pParentHandler, CesiumGltf::ExtensionModelExtFeatureMetadata* pObject);
|
||||
ExtensionModelExtFeatureMetadataJsonHandler(
|
||||
const CesiumJsonReader::ExtensionReaderContext& context) noexcept;
|
||||
void reset(
|
||||
IJsonHandler* pParentHandler,
|
||||
CesiumGltf::ExtensionModelExtFeatureMetadata* pObject);
|
||||
|
||||
virtual IJsonHandler* readObjectKey(const std::string_view& str) override;
|
||||
virtual IJsonHandler* readObjectKey(const std::string_view& str) override;
|
||||
|
||||
virtual void reset(IJsonHandler* pParentHandler, CesiumUtility::ExtensibleObject& o, const std::string_view& extensionName) override;
|
||||
virtual void reset(
|
||||
IJsonHandler* pParentHandler,
|
||||
CesiumUtility::ExtensibleObject& o,
|
||||
const std::string_view& extensionName) override;
|
||||
|
||||
virtual IJsonHandler* readNull() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readNull();
|
||||
};
|
||||
virtual IJsonHandler* readBool(bool b) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readBool(b);
|
||||
}
|
||||
virtual IJsonHandler* readInt32(int32_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readInt32(i);
|
||||
}
|
||||
virtual IJsonHandler* readUint32(uint32_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readUint32(i);
|
||||
}
|
||||
virtual IJsonHandler* readInt64(int64_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readInt64(i);
|
||||
}
|
||||
virtual IJsonHandler* readUint64(uint64_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readUint64(i);
|
||||
}
|
||||
virtual IJsonHandler* readDouble(double d) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readDouble(d);
|
||||
}
|
||||
virtual IJsonHandler* readString(const std::string_view& str) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readString(str);
|
||||
}
|
||||
virtual IJsonHandler* readObjectStart() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readObjectStart();
|
||||
}
|
||||
virtual IJsonHandler* readObjectEnd() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readObjectEnd();
|
||||
}
|
||||
virtual IJsonHandler* readArrayStart() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readArrayStart();
|
||||
}
|
||||
virtual IJsonHandler* readArrayEnd() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readArrayEnd();
|
||||
}
|
||||
virtual void reportWarning(const std::string& warning, std::vector<std::string>&& context = std::vector<std::string>()) override {
|
||||
CesiumJsonReader::ExtensibleObjectJsonHandler::reportWarning(warning, std::move(context));
|
||||
}
|
||||
|
||||
protected:
|
||||
IJsonHandler* readObjectKeyExtensionModelExtFeatureMetadata(const std::string& objectType, const std::string_view& str, CesiumGltf::ExtensionModelExtFeatureMetadata& o);
|
||||
|
||||
private:
|
||||
|
||||
CesiumGltf::ExtensionModelExtFeatureMetadata* _pObject = nullptr;
|
||||
SchemaJsonHandler _schema;
|
||||
CesiumJsonReader::StringJsonHandler _schemaUri;
|
||||
StatisticsJsonHandler _statistics;
|
||||
CesiumJsonReader::DictionaryJsonHandler<CesiumGltf::FeatureTable, FeatureTableJsonHandler> _featureTables;
|
||||
CesiumJsonReader::DictionaryJsonHandler<CesiumGltf::FeatureTexture, FeatureTextureJsonHandler> _featureTextures;
|
||||
virtual IJsonHandler* readNull() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readNull();
|
||||
};
|
||||
}
|
||||
virtual IJsonHandler* readBool(bool b) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readBool(b);
|
||||
}
|
||||
virtual IJsonHandler* readInt32(int32_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readInt32(i);
|
||||
}
|
||||
virtual IJsonHandler* readUint32(uint32_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readUint32(i);
|
||||
}
|
||||
virtual IJsonHandler* readInt64(int64_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readInt64(i);
|
||||
}
|
||||
virtual IJsonHandler* readUint64(uint64_t i) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readUint64(i);
|
||||
}
|
||||
virtual IJsonHandler* readDouble(double d) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readDouble(d);
|
||||
}
|
||||
virtual IJsonHandler* readString(const std::string_view& str) override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readString(str);
|
||||
}
|
||||
virtual IJsonHandler* readObjectStart() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readObjectStart();
|
||||
}
|
||||
virtual IJsonHandler* readObjectEnd() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readObjectEnd();
|
||||
}
|
||||
virtual IJsonHandler* readArrayStart() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readArrayStart();
|
||||
}
|
||||
virtual IJsonHandler* readArrayEnd() override {
|
||||
return CesiumJsonReader::ExtensibleObjectJsonHandler::readArrayEnd();
|
||||
}
|
||||
virtual void reportWarning(
|
||||
const std::string& warning,
|
||||
std::vector<std::string>&& context =
|
||||
std::vector<std::string>()) override {
|
||||
CesiumJsonReader::ExtensibleObjectJsonHandler::reportWarning(
|
||||
warning,
|
||||
std::move(context));
|
||||
}
|
||||
|
||||
protected:
|
||||
IJsonHandler* readObjectKeyExtensionModelExtFeatureMetadata(
|
||||
const std::string& objectType,
|
||||
const std::string_view& str,
|
||||
CesiumGltf::ExtensionModelExtFeatureMetadata& o);
|
||||
|
||||
private:
|
||||
CesiumGltf::ExtensionModelExtFeatureMetadata* _pObject = nullptr;
|
||||
SchemaJsonHandler _schema;
|
||||
CesiumJsonReader::StringJsonHandler _schemaUri;
|
||||
StatisticsJsonHandler _statistics;
|
||||
CesiumJsonReader::
|
||||
DictionaryJsonHandler<CesiumGltf::FeatureTable, FeatureTableJsonHandler>
|
||||
_featureTables;
|
||||
CesiumJsonReader::DictionaryJsonHandler<
|
||||
CesiumGltf::FeatureTexture,
|
||||
FeatureTextureJsonHandler>
|
||||
_featureTextures;
|
||||
};
|
||||
} // namespace CesiumGltfReader
|
||||
|
|
|
|||
|
|
@ -10,18 +10,20 @@ namespace CesiumJsonReader {
|
|||
class ExtensionReaderContext;
|
||||
}
|
||||
|
||||
namespace CesiumGltf {
|
||||
namespace CesiumGltfReader {
|
||||
class ExtensionTextureBasisUJsonHandler
|
||||
: public CesiumJsonReader::ExtensibleObjectJsonHandler,
|
||||
public CesiumJsonReader::IExtensionJsonHandler {
|
||||
public:
|
||||
using ValueType = ExtensionTextureBasisU;
|
||||
using ValueType = CesiumGltf::ExtensionTextureBasisU;
|
||||
|
||||
static inline constexpr const char* ExtensionName = "KHR_texture_basisu";
|
||||
|
||||
ExtensionTextureBasisUJsonHandler(
|
||||
const CesiumJsonReader::ExtensionReaderContext& context) noexcept;
|
||||
void reset(IJsonHandler* pParentHandler, ExtensionTextureBasisU* pObject);
|
||||
void reset(
|
||||
IJsonHandler* pParentHandler,
|
||||
CesiumGltf::ExtensionTextureBasisU* pObject);
|
||||
|
||||
virtual IJsonHandler* readObjectKey(const std::string_view& str) override;
|
||||
|
||||
|
|
@ -79,10 +81,10 @@ protected:
|
|||
IJsonHandler* readObjectKeyExtensionTextureBasisU(
|
||||
const std::string& objectType,
|
||||
const std::string_view& str,
|
||||
ExtensionTextureBasisU& o);
|
||||
CesiumGltf::ExtensionTextureBasisU& o);
|
||||
|
||||
private:
|
||||
ExtensionTextureBasisU* _pObject = nullptr;
|
||||
CesiumGltf::ExtensionTextureBasisU* _pObject = nullptr;
|
||||
CesiumJsonReader::IntegerJsonHandler<int32_t> _source;
|
||||
};
|
||||
} // namespace CesiumGltf
|
||||
} // namespace CesiumGltfReader
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -26,5 +26,8 @@ void registerExtensions(CesiumJsonReader::ExtensionReaderContext& context) {
|
|||
context.registerExtension<
|
||||
CesiumGltf::Model,
|
||||
ExtensionModelExtFeatureMetadataJsonHandler>();
|
||||
context.registerExtension<
|
||||
CesiumGltf::Texture,
|
||||
ExtensionTextureBasisUJsonHandler>();
|
||||
}
|
||||
} // namespace CesiumGltfReader
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@ void postprocess(
|
|||
|
||||
if (options.decodeEmbeddedImages) {
|
||||
CESIUM_TRACE("CesiumGltf::decodeEmbeddedImages");
|
||||
for (Image& image : model.images) {
|
||||
for (CesiumGltf::Image& image : model.images) {
|
||||
// Ignore external images for now.
|
||||
if (image.uri) {
|
||||
continue;
|
||||
|
|
@ -234,7 +234,8 @@ void postprocess(
|
|||
|
||||
const BufferView& bufferView =
|
||||
Model::getSafe(model.bufferViews, image.bufferView);
|
||||
const Buffer& buffer = Model::getSafe(model.buffers, bufferView.buffer);
|
||||
const CesiumGltf::Buffer& buffer =
|
||||
Model::getSafe(model.buffers, bufferView.buffer);
|
||||
|
||||
if (bufferView.byteOffset + bufferView.byteLength >
|
||||
static_cast<int64_t>(buffer.cesium.data.size())) {
|
||||
|
|
@ -329,13 +330,13 @@ Future<ModelReaderResult> GltfReader::resolveExternalData(
|
|||
// Get a rough count of how many external buffers we may have.
|
||||
// Some of these may be data uris though.
|
||||
size_t uriBuffersCount = 0;
|
||||
for (const Buffer& buffer : result.model->buffers) {
|
||||
for (const CesiumGltf::Buffer& buffer : result.model->buffers) {
|
||||
if (buffer.uri) {
|
||||
++uriBuffersCount;
|
||||
}
|
||||
}
|
||||
|
||||
for (const Image& image : result.model->images) {
|
||||
for (const CesiumGltf::Image& image : result.model->images) {
|
||||
if (image.uri) {
|
||||
++uriBuffersCount;
|
||||
}
|
||||
|
|
@ -359,7 +360,7 @@ Future<ModelReaderResult> GltfReader::resolveExternalData(
|
|||
constexpr std::string_view dataPrefix = "data:";
|
||||
constexpr size_t dataPrefixLength = dataPrefix.size();
|
||||
|
||||
for (Buffer& buffer : pResult->model->buffers) {
|
||||
for (CesiumGltf::Buffer& buffer : pResult->model->buffers) {
|
||||
if (buffer.uri && buffer.uri->substr(0, dataPrefixLength) != dataPrefix) {
|
||||
resolvedBuffers.push_back(
|
||||
pAssetAccessor
|
||||
|
|
@ -387,7 +388,7 @@ Future<ModelReaderResult> GltfReader::resolveExternalData(
|
|||
}
|
||||
}
|
||||
|
||||
for (Image& image : pResult->model->images) {
|
||||
for (CesiumGltf::Image& image : pResult->model->images) {
|
||||
if (image.uri && image.uri->substr(0, dataPrefixLength) != dataPrefix) {
|
||||
resolvedBuffers.push_back(
|
||||
pAssetAccessor
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,498 @@
|
|||
// This file was generated by generate-classes.
|
||||
// DO NOT EDIT THIS FILE!
|
||||
#pragma once
|
||||
|
||||
// forward declarations
|
||||
namespace CesiumJsonWriter {
|
||||
class JsonWriter;
|
||||
class ExtensionWriterContext;
|
||||
} // namespace CesiumJsonWriter
|
||||
|
||||
// forward declarations
|
||||
namespace CesiumGltf {
|
||||
struct ExtensionKhrDracoMeshCompression;
|
||||
struct ExtensionModelExtFeatureMetadata;
|
||||
struct ExtensionMeshPrimitiveExtFeatureMetadata;
|
||||
struct ExtensionTextureBasisU;
|
||||
struct FeatureIDTexture;
|
||||
struct TextureAccessor;
|
||||
struct TextureInfo;
|
||||
struct FeatureIDAttribute;
|
||||
struct FeatureIDs;
|
||||
struct FeatureTexture;
|
||||
struct FeatureTable;
|
||||
struct FeatureTableProperty;
|
||||
struct Statistics;
|
||||
struct ClassStatistics;
|
||||
struct PropertyStatistics;
|
||||
struct Schema;
|
||||
struct Enum;
|
||||
struct EnumValue;
|
||||
struct Class;
|
||||
struct ClassProperty;
|
||||
struct Model;
|
||||
struct Texture;
|
||||
struct Skin;
|
||||
struct Scene;
|
||||
struct Sampler;
|
||||
struct Node;
|
||||
struct Mesh;
|
||||
struct MeshPrimitive;
|
||||
struct Material;
|
||||
struct MaterialOcclusionTextureInfo;
|
||||
struct MaterialNormalTextureInfo;
|
||||
struct MaterialPBRMetallicRoughness;
|
||||
struct Image;
|
||||
struct Camera;
|
||||
struct CameraPerspective;
|
||||
struct CameraOrthographic;
|
||||
struct BufferView;
|
||||
struct Buffer;
|
||||
struct Asset;
|
||||
struct Animation;
|
||||
struct AnimationSampler;
|
||||
struct AnimationChannel;
|
||||
struct AnimationChannelTarget;
|
||||
struct Accessor;
|
||||
struct AccessorSparse;
|
||||
struct AccessorSparseValues;
|
||||
struct AccessorSparseIndices;
|
||||
} // namespace CesiumGltf
|
||||
|
||||
namespace CesiumGltfWriter {
|
||||
|
||||
struct ExtensionKhrDracoMeshCompressionJsonWriter {
|
||||
using ValueType = CesiumGltf::ExtensionKhrDracoMeshCompression;
|
||||
|
||||
static inline constexpr const char* ExtensionName =
|
||||
"KHR_draco_mesh_compression";
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::ExtensionKhrDracoMeshCompression& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct ExtensionModelExtFeatureMetadataJsonWriter {
|
||||
using ValueType = CesiumGltf::ExtensionModelExtFeatureMetadata;
|
||||
|
||||
static inline constexpr const char* ExtensionName = "EXT_feature_metadata";
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::ExtensionModelExtFeatureMetadata& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct ExtensionMeshPrimitiveExtFeatureMetadataJsonWriter {
|
||||
using ValueType = CesiumGltf::ExtensionMeshPrimitiveExtFeatureMetadata;
|
||||
|
||||
static inline constexpr const char* ExtensionName = "EXT_feature_metadata";
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::ExtensionMeshPrimitiveExtFeatureMetadata& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct ExtensionTextureBasisUJsonWriter {
|
||||
using ValueType = CesiumGltf::ExtensionTextureBasisU;
|
||||
|
||||
static inline constexpr const char* ExtensionName = "KHR_texture_basisu";
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::ExtensionTextureBasisU& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct FeatureIDTextureJsonWriter {
|
||||
using ValueType = CesiumGltf::FeatureIDTexture;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::FeatureIDTexture& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct TextureAccessorJsonWriter {
|
||||
using ValueType = CesiumGltf::TextureAccessor;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::TextureAccessor& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct TextureInfoJsonWriter {
|
||||
using ValueType = CesiumGltf::TextureInfo;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::TextureInfo& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct FeatureIDAttributeJsonWriter {
|
||||
using ValueType = CesiumGltf::FeatureIDAttribute;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::FeatureIDAttribute& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct FeatureIDsJsonWriter {
|
||||
using ValueType = CesiumGltf::FeatureIDs;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::FeatureIDs& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct FeatureTextureJsonWriter {
|
||||
using ValueType = CesiumGltf::FeatureTexture;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::FeatureTexture& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct FeatureTableJsonWriter {
|
||||
using ValueType = CesiumGltf::FeatureTable;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::FeatureTable& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct FeatureTablePropertyJsonWriter {
|
||||
using ValueType = CesiumGltf::FeatureTableProperty;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::FeatureTableProperty& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct StatisticsJsonWriter {
|
||||
using ValueType = CesiumGltf::Statistics;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Statistics& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct ClassStatisticsJsonWriter {
|
||||
using ValueType = CesiumGltf::ClassStatistics;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::ClassStatistics& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct PropertyStatisticsJsonWriter {
|
||||
using ValueType = CesiumGltf::PropertyStatistics;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::PropertyStatistics& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct SchemaJsonWriter {
|
||||
using ValueType = CesiumGltf::Schema;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Schema& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct EnumJsonWriter {
|
||||
using ValueType = CesiumGltf::Enum;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Enum& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct EnumValueJsonWriter {
|
||||
using ValueType = CesiumGltf::EnumValue;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::EnumValue& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct ClassJsonWriter {
|
||||
using ValueType = CesiumGltf::Class;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Class& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct ClassPropertyJsonWriter {
|
||||
using ValueType = CesiumGltf::ClassProperty;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::ClassProperty& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct ModelJsonWriter {
|
||||
using ValueType = CesiumGltf::Model;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Model& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct TextureJsonWriter {
|
||||
using ValueType = CesiumGltf::Texture;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Texture& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct SkinJsonWriter {
|
||||
using ValueType = CesiumGltf::Skin;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Skin& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct SceneJsonWriter {
|
||||
using ValueType = CesiumGltf::Scene;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Scene& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct SamplerJsonWriter {
|
||||
using ValueType = CesiumGltf::Sampler;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Sampler& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct NodeJsonWriter {
|
||||
using ValueType = CesiumGltf::Node;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Node& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct MeshJsonWriter {
|
||||
using ValueType = CesiumGltf::Mesh;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Mesh& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct MeshPrimitiveJsonWriter {
|
||||
using ValueType = CesiumGltf::MeshPrimitive;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::MeshPrimitive& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct MaterialJsonWriter {
|
||||
using ValueType = CesiumGltf::Material;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Material& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct MaterialOcclusionTextureInfoJsonWriter {
|
||||
using ValueType = CesiumGltf::MaterialOcclusionTextureInfo;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::MaterialOcclusionTextureInfo& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct MaterialNormalTextureInfoJsonWriter {
|
||||
using ValueType = CesiumGltf::MaterialNormalTextureInfo;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::MaterialNormalTextureInfo& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct MaterialPBRMetallicRoughnessJsonWriter {
|
||||
using ValueType = CesiumGltf::MaterialPBRMetallicRoughness;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::MaterialPBRMetallicRoughness& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct ImageJsonWriter {
|
||||
using ValueType = CesiumGltf::Image;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Image& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct CameraJsonWriter {
|
||||
using ValueType = CesiumGltf::Camera;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Camera& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct CameraPerspectiveJsonWriter {
|
||||
using ValueType = CesiumGltf::CameraPerspective;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::CameraPerspective& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct CameraOrthographicJsonWriter {
|
||||
using ValueType = CesiumGltf::CameraOrthographic;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::CameraOrthographic& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct BufferViewJsonWriter {
|
||||
using ValueType = CesiumGltf::BufferView;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::BufferView& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct BufferJsonWriter {
|
||||
using ValueType = CesiumGltf::Buffer;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Buffer& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AssetJsonWriter {
|
||||
using ValueType = CesiumGltf::Asset;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Asset& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AnimationJsonWriter {
|
||||
using ValueType = CesiumGltf::Animation;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Animation& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AnimationSamplerJsonWriter {
|
||||
using ValueType = CesiumGltf::AnimationSampler;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::AnimationSampler& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AnimationChannelJsonWriter {
|
||||
using ValueType = CesiumGltf::AnimationChannel;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::AnimationChannel& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AnimationChannelTargetJsonWriter {
|
||||
using ValueType = CesiumGltf::AnimationChannelTarget;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::AnimationChannelTarget& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AccessorJsonWriter {
|
||||
using ValueType = CesiumGltf::Accessor;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::Accessor& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AccessorSparseJsonWriter {
|
||||
using ValueType = CesiumGltf::AccessorSparse;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::AccessorSparse& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AccessorSparseValuesJsonWriter {
|
||||
using ValueType = CesiumGltf::AccessorSparseValues;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::AccessorSparseValues& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
struct AccessorSparseIndicesJsonWriter {
|
||||
using ValueType = CesiumGltf::AccessorSparseIndices;
|
||||
|
||||
static void write(
|
||||
const CesiumGltf::AccessorSparseIndices& obj,
|
||||
CesiumJsonWriter::JsonWriter& jsonWriter,
|
||||
const CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
};
|
||||
|
||||
void registerExtensions(CesiumJsonWriter::ExtensionWriterContext& context);
|
||||
|
||||
} // namespace CesiumGltfWriter
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
{
|
||||
"className": "ExtensionMeshPrimitiveExtFeatureMetadata",
|
||||
"extensionName": "EXT_feature_metadata",
|
||||
"schema": "Vendor/EXT_feature_metadata/schema/primitive.EXT_feature_metadata.schema.json",
|
||||
"schema": "Vendor/EXT_feature_metadata/schema/mesh.primitive.EXT_feature_metadata.schema.json",
|
||||
"attachTo": [
|
||||
"mesh.primitive"
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in New Issue