6#include "CesiumUtility/IntrusivePointer.h"
7#include "CesiumVectorData/GeoJsonDocument.h"
8#include "Kismet/BlueprintAsyncActionBase.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
10#include "Templates/SharedPointer.h"
11#include "UObject/ObjectMacros.h"
16#include "CesiumGeoJsonDocument.generated.h"
35 std::shared_ptr<CesiumVectorData::GeoJsonDocument>&& document);
46 const
std::shared_ptr<CesiumVectorData::GeoJsonDocument>&
GetDocument() const;
49 std::shared_ptr<CesiumVectorData::GeoJsonDocument> _pDocument;
60 : public UBlueprintFunctionLibrary {
73 Category =
"Cesium|Vector|Document",
74 meta = (DisplayName =
"Load GeoJSON Document From String"))
75 static
UPARAM(DisplayName =
"Success")
bool LoadGeoJsonFromString(
76 const FString& InString,
85 Category =
"Cesium|Vector|Document",
86 meta = (DisplayName =
"Get Root Node"))
91DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(
100 : public UBlueprintAsyncActionBase {
115 Category =
"Cesium|Vector|Document",
117 (BlueprintInternalUseOnly =
true,
118 DisplayName =
"Load GeoJSON Document from Cesium ion"))
124 UPROPERTY(BlueprintAssignable)
138 : public UBlueprintAsyncActionBase {
149 Category =
"Cesium|Vector|Document",
151 (BlueprintInternalUseOnly =
true,
152 DisplayName =
"Load GeoJSON Document from URL"))
156 UPROPERTY(BlueprintAssignable)
A Blueprint Function Library providing functions for interacting with a FCesiumGeoJsonDocument.
static FCesiumGeoJsonDocument & OutGeoJsonDocument
static FCesiumGeoJsonObject GetRootObject(const FCesiumGeoJsonDocument &InGeoJsonDocument)
Obtains the root node of the provided GeoJSON document.
static UPARAM(DisplayName="Success") bool LoadGeoJsonFromString(const FString &InString
Attempts to load a FCesiumGeoJsonDocument from a string containing GeoJSON data.
Defines a Cesium ion Server.
const UCesiumIonServer * CesiumIonServer
static UCesiumLoadGeoJsonDocumentFromIonAsyncAction * LoadFromIon(int64 AssetId, const UCesiumIonServer *CesiumIonServer, const FString &IonAccessToken)
Attempts to load a GeoJSON document from a Cesium ion asset.
virtual void Activate() override
FCesiumGeoJsonDocumentAsyncLoadDelegate OnLoadResult
FCesiumGeoJsonDocumentAsyncLoadDelegate OnLoadResult
TMap< FString, FString > Headers
static UCesiumLoadGeoJsonDocumentFromUrlAsyncAction * LoadFromUrl(const FString &Url, const TMap< FString, FString > &Headers)
Attempts to load a GeoJSON document from a URL.
virtual void Activate() override
A GeoJSON document containing a tree of FCesiumGeoJsonObject values.
bool IsValid() const
Checks if this FCesiumGeoJsonDocument is valid (document is not nullptr).
const std::shared_ptr< CesiumVectorData::GeoJsonDocument > & GetDocument() const
Returns the CesiumVectorData::GeoJsonDocument this wraps.
friend class UCesiumGeoJsonDocumentBlueprintLibrary
FCesiumGeoJsonDocument()
Creates an empty FCesiumGeoJsonDocument.
A single object in the GeoJSON document.