41 const std::string& name,
43 const std::string& ionAccessToken,
45 const std::string& ionAssetEndpointUrl =
"https://api.cesium.com/");
66 const
std::shared_ptr<
CesiumAsync::IAssetAccessor>& pAssetAccessor,
69 pPrepareRendererResources,
70 const
std::shared_ptr<spdlog::logger>& pLogger,
91 const
std::
string& name,
92 const
std::
string& overlayUrl,
93 const
std::
string& ionAccessToken,
98 std::string _overlayUrl;
99 std::string _ionAccessToken;
100 bool _needsAuthHeader;
101 std::optional<std::string> _assetOptions;
105 struct AssetEndpointAttribution {
107 bool collapsible =
true;
110 struct ExternalAssetEndpoint
112 ExternalAssetEndpoint() noexcept = default;
113 ~ExternalAssetEndpoint() noexcept = default;
114 ExternalAssetEndpoint(const ExternalAssetEndpoint&) noexcept = default;
115 ExternalAssetEndpoint(ExternalAssetEndpoint&&) noexcept = default;
117 std::chrono::steady_clock::time_point requestTime{};
118 std::string externalType{};
119 std::vector<AssetEndpointAttribution> attributions{};
120 std::shared_ptr<CesiumAsync::IAssetRequest> pRequestThatFailed{};
123 struct TileMapService {
125 std::string accessToken;
132 std::string mapStyle;
142 std::string imageFormat;
147 std::variant<std::monostate, TileMapService, Bing, Google2D> options{};
150 static std::unordered_map<std::string, ExternalAssetEndpoint> endpointCache;
152 using EndpointDepot = CesiumAsync::SharedAssetDepot<
153 ExternalAssetEndpoint,
154 CesiumAsync::NetworkAssetDescriptor,
155 RasterOverlayExternals>;
157 static CesiumUtility::IntrusivePointer<EndpointDepot> getEndpointCache();
IonRasterOverlay(const std::string &name, int64_t ionAssetID, const std::string &ionAccessToken, const RasterOverlayOptions &overlayOptions={}, const std::string &ionAssetEndpointUrl="https://api.cesium.com/")
Creates a new instance.
virtual CesiumAsync::Future< CreateTileProviderResult > createTileProvider(const CesiumAsync::AsyncSystem &asyncSystem, const std::shared_ptr< CesiumAsync::IAssetAccessor > &pAssetAccessor, const std::shared_ptr< CesiumUtility::CreditSystem > &pCreditSystem, const std::shared_ptr< IPrepareRasterOverlayRendererResources > &pPrepareRendererResources, const std::shared_ptr< spdlog::logger > &pLogger, CesiumUtility::IntrusivePointer< const RasterOverlay > pOwner) const override
Begins asynchronous creation of a tile provider for this overlay and eventually returns it via a Futu...