#pragma once namespace CesiumIonClient { /** * @brief The default assets. */ struct DefaultAssets { /** * @brief The asset id of the default imagery asset. */ int64_t imagery = -1; /** * @brief The asset id of the default terrain asset. */ int64_t terrain = -1; /** * @brief The asset id of the default buildings asset. */ int64_t buildings = -1; }; /** * @brief A raster overlay available for use with a quick add asset. */ struct QuickAddRasterOverlay { /** * @brief The name of this asset. */ std::string name{}; /** * @brief The unique identifier for this asset. */ int64_t assetId = -1; /** * @brief `true` if the user is subscribed to the asset, `false` otherwise. */ bool subscribed = false; }; /** * @brief A quick add asset. */ struct QuickAddAsset { /** * @brief The name of this asset. */ std::string name{}; /** * @brief The name of the main asset. In most cases this will be the same as * `name`, but in the cases of assets with raster overlays, this will be the * non-imagery asset. */ std::string objectName{}; /** * @brief A Markdown compatible string describing this asset. */ std::string description{}; /** * @brief The unique identifier for this asset. */ int64_t assetId = -1; /** * @brief This asset's type. * * Valid values are: `3DTILES`, `GLTF`, `IMAGERY`, `TERRAIN`, `KML`, `CZML`, * `GEOJSON`. */ std::string type{}; /** * @brief `true` if the user is subscribed to the asset, `false` otherwise. */ bool subscribed = false; /** * @brief The raster overlays available for this asset */ std::vector rasterOverlays{}; }; /** * @brief The data returned by Cesium ion's `v1/defaults` service. It includes * information about default imagery, terrain and building assets along with * quick add assets that can be useful to use within other applications. */ struct Defaults { /** * @brief The default assets */ DefaultAssets defaultAssets{}; /** * @brief The quick add assets */ std::vector quickAddAssets{}; }; } // namespace CesiumIonClient