Skip to content

Commit c4f213e

Browse files
committed
Remove ITwinResource stuff
1 parent 158c84c commit c4f213e

File tree

3 files changed

+4
-240
lines changed

3 files changed

+4
-240
lines changed

Source/CesiumRuntime/Private/Cesium3DTileset.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
#include "Cesium3DTilesSelection/TilesetLoadFailureDetails.h"
1010
#include "Cesium3DTilesSelection/TilesetOptions.h"
1111
#include "Cesium3DTilesSelection/TilesetSharedAssetSystem.h"
12+
#include "Cesium3DTilesSelection/CesiumIonTilesetContentLoaderFactory.h"
13+
#include "Cesium3DTilesSelection/IModelMeshExportContentLoaderFactory.h"
14+
#include "Cesium3DTilesSelection/ITwinCesiumCuratedContentLoaderFactory.h"
15+
#include "Cesium3DTilesSelection/ITwinRealityDataContentLoaderFactory.h"
1216
#include "Cesium3DTilesetLoadFailureDetails.h"
1317
#include "Cesium3DTilesetRoot.h"
1418
#include "CesiumActors.h"

Source/CesiumRuntime/Private/CesiumITwinAPIBlueprintLibrary.cpp

Lines changed: 0 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -4,68 +4,6 @@
44
#include "CesiumRuntime.h"
55
#include <CesiumUtility/Result.h>
66

7-
void UCesiumITwinResource::Spawn() {
8-
UWorld* pWorld = GetWorld();
9-
check(pWorld);
10-
11-
ACesiumGeoreference* pParent =
12-
ACesiumGeoreference::GetDefaultGeoreference(pWorld);
13-
14-
check(pParent);
15-
16-
if (_resource.resourceType == CesiumITwinClient::ResourceType::Imagery) {
17-
// TODO: don't just attach imagery to the last tileset spawned!
18-
TArray<AActor*> ChildActors;
19-
pParent->GetAttachedActors(ChildActors);
20-
for (auto It = ChildActors.rbegin(); It != ChildActors.rend(); ++It) {
21-
ACesium3DTileset* pChildTileset = Cast<ACesium3DTileset>(*It);
22-
if (IsValid(pChildTileset) &&
23-
pChildTileset->GetTilesetSource() ==
24-
ETilesetSource::FromITwinCesiumCuratedContent) {
25-
26-
UCesiumITwinCesiumCuratedContentRasterOverlay* pOverlay =
27-
NewObject<UCesiumITwinCesiumCuratedContentRasterOverlay>(
28-
pChildTileset,
29-
FName(TEXT("Overlay0")),
30-
RF_Transactional);
31-
pOverlay->MaterialLayerKey = "Overlay0";
32-
pOverlay->ITwinAccessToken = UTF8_TO_TCHAR(
33-
this->_pConnection->getAccessToken().getToken().c_str());
34-
pOverlay->AssetID = std::stoi(_resource.id);
35-
pOverlay->SetActive(true);
36-
pOverlay->OnComponentCreated();
37-
pChildTileset->AddInstanceComponent(pOverlay);
38-
break;
39-
}
40-
}
41-
return;
42-
}
43-
44-
ACesium3DTileset* pTileset = pWorld->SpawnActor<ACesium3DTileset>();
45-
pTileset->AttachToActor(
46-
pParent,
47-
FAttachmentTransformRules::KeepRelativeTransform);
48-
49-
pTileset->SetITwinAccessToken(
50-
UTF8_TO_TCHAR(this->_pConnection->getAccessToken().getToken().c_str()));
51-
52-
switch (_resource.source) {
53-
case CesiumITwinClient::ResourceSource::CesiumCuratedContent:
54-
pTileset->SetTilesetSource(ETilesetSource::FromITwinCesiumCuratedContent);
55-
pTileset->SetITwinCesiumContentID(std::stoi(_resource.id));
56-
break;
57-
case CesiumITwinClient::ResourceSource::MeshExport:
58-
pTileset->SetTilesetSource(ETilesetSource::FromIModelMeshExportService);
59-
pTileset->SetIModelID(UTF8_TO_TCHAR(_resource.parentId->c_str()));
60-
break;
61-
case CesiumITwinClient::ResourceSource::RealityData:
62-
pTileset->SetTilesetSource(ETilesetSource::FromITwinRealityData);
63-
pTileset->SetITwinID(UTF8_TO_TCHAR(_resource.parentId->c_str()));
64-
pTileset->SetRealityDataID(UTF8_TO_TCHAR(_resource.id.c_str()));
65-
break;
66-
}
67-
}
68-
697
UCesiumITwinAPIAuthorizeAsyncAction*
708
UCesiumITwinAPIAuthorizeAsyncAction::Authorize(const FString& ClientID) {
719
UCesiumITwinAPIAuthorizeAsyncAction* pAsyncAction =
@@ -180,87 +118,3 @@ void UCesiumITwinAPIGetProfileAsyncAction::Activate() {
180118
}
181119
});
182120
}
183-
184-
UCesiumITwinAPIGetResourcesAsyncAction*
185-
UCesiumITwinAPIGetResourcesAsyncAction::GetResources(
186-
const UObject* WorldContextObject,
187-
UCesiumITwinConnection* pConnection) {
188-
UCesiumITwinAPIGetResourcesAsyncAction* pAsyncAction =
189-
NewObject<UCesiumITwinAPIGetResourcesAsyncAction>(
190-
WorldContextObject->GetWorld());
191-
pAsyncAction->pConnection = pConnection->pConnection;
192-
return pAsyncAction;
193-
}
194-
195-
void UCesiumITwinAPIGetResourcesAsyncAction::Activate() {
196-
if (!this->pConnection) {
197-
TArray<FString> Errors;
198-
Errors.Push("No connection to iTwin.");
199-
OnResourcesEvent.Broadcast(
200-
EGetResourcesCallbackType::Failure,
201-
TArray<UCesiumITwinResource*>(),
202-
0,
203-
0,
204-
Errors);
205-
return;
206-
}
207-
208-
this->pConnection
209-
->listAllAvailableResources([this](
210-
const std::atomic_int& finished,
211-
const std::atomic_int& total) {
212-
AsyncTask(ENamedThreads::GameThread, [&finished, &total, this]() {
213-
this->OnResourcesEvent.Broadcast(
214-
EGetResourcesCallbackType::Status,
215-
{},
216-
finished.load(),
217-
total.load(),
218-
{});
219-
});
220-
})
221-
.thenInMainThread([this](CesiumUtility::Result<
222-
std::vector<CesiumITwinClient::ITwinResource>>&&
223-
result) {
224-
if (!IsValid(this)) {
225-
UE_LOG(
226-
LogCesium,
227-
Warning,
228-
TEXT(
229-
"Authorization finished but authorize async action is no longer valid."));
230-
return;
231-
}
232-
233-
if (!result.value) {
234-
TArray<FString> Errors;
235-
for (const std::string& error : result.errors.errors) {
236-
Errors.Emplace(UTF8_TO_TCHAR(error.c_str()));
237-
}
238-
239-
for (const std::string& warning : result.errors.warnings) {
240-
Errors.Emplace(UTF8_TO_TCHAR(warning.c_str()));
241-
}
242-
243-
this->OnResourcesEvent
244-
.Broadcast(EGetResourcesCallbackType::Failure, {}, 0, 0, Errors);
245-
} else {
246-
TArray<UCesiumITwinResource*> Resources;
247-
Resources.Reserve(result.value->size());
248-
249-
for (const CesiumITwinClient::ITwinResource& resource :
250-
*result.value) {
251-
UCesiumITwinResource* pNewResource =
252-
NewObject<UCesiumITwinResource>(GetWorld());
253-
pNewResource->SetResource(resource);
254-
pNewResource->SetConnection(this->pConnection);
255-
Resources.Push(pNewResource);
256-
}
257-
258-
this->OnResourcesEvent.Broadcast(
259-
EGetResourcesCallbackType::Success,
260-
Resources,
261-
0,
262-
0,
263-
{});
264-
}
265-
});
266-
}

Source/CesiumRuntime/Public/CesiumITwinAPIBlueprintLibrary.h

Lines changed: 0 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -68,64 +68,6 @@ class UCesiumITwinConnection : public UObject {
6868
TSharedPtr<CesiumITwinClient::Connection> pConnection;
6969
};
7070

71-
UCLASS(BlueprintType)
72-
class UCesiumITwinResource : public UObject {
73-
GENERATED_BODY()
74-
public:
75-
UCesiumITwinResource() : UObject() {}
76-
77-
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Cesium|iTwin")
78-
FString GetID() { return UTF8_TO_TCHAR(_resource.id.c_str()); }
79-
80-
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Cesium|iTwin")
81-
FString GetDisplayName() {
82-
return UTF8_TO_TCHAR(_resource.displayName.c_str());
83-
}
84-
85-
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Cesium|iTwin")
86-
FString GetSource() {
87-
switch (_resource.source) {
88-
case CesiumITwinClient::ResourceSource::CesiumCuratedContent:
89-
return FString(TEXT("Cesium Curated Content"));
90-
case CesiumITwinClient::ResourceSource::MeshExport:
91-
return FString(TEXT("Mesh Export"));
92-
case CesiumITwinClient::ResourceSource::RealityData:
93-
return FString(TEXT("Reality Data"));
94-
}
95-
96-
return FString(TEXT("Unknown"));
97-
}
98-
99-
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "Cesium|iTwin")
100-
FString GetType() {
101-
switch (_resource.resourceType) {
102-
case CesiumITwinClient::ResourceType::Tileset:
103-
return FString(TEXT("Tileset"));
104-
case CesiumITwinClient::ResourceType::Imagery:
105-
return FString(TEXT("Imagery"));
106-
case CesiumITwinClient::ResourceType::Terrain:
107-
return FString(TEXT("Terrain"));
108-
}
109-
110-
return FString(TEXT("Unknown"));
111-
}
112-
113-
UFUNCTION(BlueprintCallable, Category = "Cesium|iTwin")
114-
void Spawn();
115-
116-
void SetResource(const CesiumITwinClient::ITwinResource& resource) {
117-
this->_resource = resource;
118-
}
119-
120-
void SetConnection(TSharedPtr<CesiumITwinClient::Connection> pConnection) {
121-
this->_pConnection = pConnection;
122-
}
123-
124-
private:
125-
CesiumITwinClient::ITwinResource _resource;
126-
TSharedPtr<CesiumITwinClient::Connection> _pConnection;
127-
};
128-
12971
UENUM(BlueprintType)
13072
enum class ECesiumITwinDelegateType : uint8 {
13173
Invalid = 0,
@@ -196,39 +138,3 @@ class CESIUMRUNTIME_API UCesiumITwinAPIGetProfileAsyncAction
196138

197139
UENUM(BlueprintType)
198140
enum class EGetResourcesCallbackType : uint8 { Status, Success, Failure };
199-
200-
DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(
201-
FCesiumITwinGetResourcesDelegate,
202-
EGetResourcesCallbackType,
203-
Type,
204-
const TArray<UCesiumITwinResource*>&,
205-
Resources,
206-
int32,
207-
FinishedRequests,
208-
int32,
209-
TotalRequests,
210-
const TArray<FString>&,
211-
Errors);
212-
213-
UCLASS()
214-
class CESIUMRUNTIME_API UCesiumITwinAPIGetResourcesAsyncAction
215-
: public UBlueprintAsyncActionBase {
216-
GENERATED_BODY()
217-
public:
218-
UFUNCTION(
219-
BlueprintCallable,
220-
Category = "Cesium|iTwin",
221-
meta =
222-
(BlueprintInternalUseOnly = true,
223-
WorldContext = "WorldContextObject"))
224-
static UCesiumITwinAPIGetResourcesAsyncAction* GetResources(
225-
const UObject* WorldContextObject,
226-
UCesiumITwinConnection* pConnection);
227-
228-
UPROPERTY(BlueprintAssignable)
229-
FCesiumITwinGetResourcesDelegate OnResourcesEvent;
230-
231-
virtual void Activate() override;
232-
233-
TSharedPtr<CesiumITwinClient::Connection> pConnection;
234-
};

0 commit comments

Comments
 (0)