// This file was generated by generate-classes. // DO NOT EDIT THIS FILE! #pragma once #include "CesiumGltf/ExtensionExtFeatureMetadataFeatureTable.h" #include "CesiumGltf/ExtensionExtFeatureMetadataFeatureTexture.h" #include "CesiumGltf/ExtensionExtFeatureMetadataSchema.h" #include "CesiumGltf/ExtensionExtFeatureMetadataStatistics.h" #include "CesiumGltf/Library.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 An object defining classes and enums. */ std::optional<CesiumGltf::ExtensionExtFeatureMetadataSchema> schema; /** * @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::ExtensionExtFeatureMetadataStatistics> 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::ExtensionExtFeatureMetadataFeatureTable> 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::ExtensionExtFeatureMetadataFeatureTexture> featureTextures; }; } // namespace CesiumGltf