3#include <CesiumAsync/AsyncSystem.h>
4#include <CesiumAsync/Future.h>
5#include <CesiumAsync/IAssetAccessor.h>
6#include <CesiumUtility/IntrusivePointer.h>
7#include <CesiumUtility/JsonValue.h>
8#include <CesiumUtility/ReferenceCounted.h>
9#include <CesiumUtility/Result.h>
10#include <CesiumVectorData/GeoJsonObject.h>
11#include <CesiumVectorData/Library.h>
13#include <glm/ext/vector_double3.hpp>
50 const std::span<const std::byte>& bytes,
51 std::vector<VectorDocumentAttribution>&&
attributions = {});
63 const rapidjson::Document& document,
64 std::vector<VectorDocumentAttribution>&&
attributions = {});
83 const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
85 const std::string& ionAccessToken,
86 const std::string& ionAssetEndpointUrl =
"https://api.cesium.com/");
103 const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
104 const std::string& url,
105 const std::vector<CesiumAsync::IAssetAccessor::THeader>& headers = {});
129 parseGeoJson(
const rapidjson::Document& doc);
131 parseGeoJson(
const std::span<const std::byte>& bytes);
A system for managing asynchronous requests and tasks.
A value that will be available in the future, as produced by AsyncSystem.
GeoJsonDocument(GeoJsonObject &&rootObject, std::vector< VectorDocumentAttribution > &&attributions)
Creates a new GeoJsonDocument directly from a GeoJsonObject.
std::vector< VectorDocumentAttribution > attributions
Attribution information for this document.
static CesiumUtility::Result< GeoJsonDocument > fromGeoJson(const rapidjson::Document &document, std::vector< VectorDocumentAttribution > &&attributions={})
Attempts to parse a GeoJsonDocument from the provided JSON document.
static CesiumAsync::Future< CesiumUtility::Result< GeoJsonDocument > > fromCesiumIonAsset(const CesiumAsync::AsyncSystem &asyncSystem, const std::shared_ptr< CesiumAsync::IAssetAccessor > &pAssetAccessor, int64_t ionAssetID, const std::string &ionAccessToken, const std::string &ionAssetEndpointUrl="https://api.cesium.com/")
Attempts to load a GeoJsonDocument from a Cesium ion asset.
static CesiumUtility::Result< GeoJsonDocument > fromGeoJson(const std::span< const std::byte > &bytes, std::vector< VectorDocumentAttribution > &&attributions={})
Attempts to parse a GeoJsonDocument from the provided GeoJSON.
GeoJsonObject rootObject
The root object of the parsed GeoJSON.
static CesiumAsync::Future< CesiumUtility::Result< GeoJsonDocument > > fromUrl(const CesiumAsync::AsyncSystem &asyncSystem, const std::shared_ptr< CesiumAsync::IAssetAccessor > &pAssetAccessor, const std::string &url, const std::vector< CesiumAsync::IAssetAccessor::THeader > &headers={})
Attempts to load a GeoJsonDocument from the provided URL.
Classes for loading vector data such as GeoJSON.
Holds the result of an operation. If the operation succeeds, it will provide a value....
An object in a GeoJSON document.
Attribution that must be included with a vector document.
bool showOnScreen
If true, the attribution must be shown on screen. If false, it can be included in a popover instead.
std::string html
The HTML string containing attribution information to show.