I3DHUtilities.h Source File

instant3Dhub: I3DHUtilities.h Source File
instant3Dhub
I3DHUtilities.h
Go to the documentation of this file.
1
6#pragma once
7
8#include "CoreMinimal.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
10
11#include "I3DHDataTypes.h"
12#include "I3DHError.h"
13#include "I3DHVersion.h"
14
15#include "I3DHUtilities.generated.h"
16
17class AI3DHConnector;
18
22UCLASS()
23class INSTANT3DHUB_API UI3DHUtilities : public UBlueprintFunctionLibrary
24{
25 GENERATED_BODY()
26
27public:
28
137public:
138
148 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
149 static float GetOriginalToUnrealScale();
150
155 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
156 static const FMatrix& GetOriginalToUnrealMatrix();
157
162 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
163 static const FMatrix& GetUnrealToOriginalMatrix();
164
173 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
174 static const FMatrix& GetOriginalToUnrealNormalMatrix();
175
184 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
185 static const FMatrix& GetUnrealToOriginalNormalMatrix();
186
192 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
193 static UPARAM(DisplayName="Unreal Transform") FMatrix ConvertTransformOriginalToUnreal(const FMatrix& OriginalTransform);
194
200 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
201 static UPARAM(DisplayName="Original Transform") FMatrix ConvertTransformUnrealToOriginal(const FMatrix& UnrealTransform);
202
213 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (DisplayName = "Convert Transform Original to Unreal (Pure)"))
214 static UPARAM(DisplayName="Unreal Transform") FMatrix ConvertTransformOriginalToUnrealPure(const FMatrix& OriginalTransform);
215
226 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (DisplayName = "Convert Transform Unreal to Original (Pure)"))
227 static UPARAM(DisplayName="Original Transform") FMatrix ConvertTransformUnrealToOriginalPure(const FMatrix& UnrealTransform);
228
234 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
235 static UPARAM(DisplayName="Unreal Volume") FBox ConvertVolumeOriginalToUnreal(const FBox& OriginalVolume);
236
242 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
243 static UPARAM(DisplayName="Original Volume") FBox ConvertVolumeUnrealToOriginal(const FBox& UnrealVolume);
244
255 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (DisplayName = "Convert Volume Original to Unreal (Pure)"))
256 static UPARAM(DisplayName="Unreal Volume") FBox ConvertVolumeOriginalToUnrealPure(const FBox& OriginalVolume);
257
268 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (DisplayName = "Convert Volume Unreal to Original (Pure)"))
269 static UPARAM(DisplayName="Original Volume") FBox ConvertVolumeUnrealToOriginalPure(const FBox& UnrealVolume);
270
273public:
274
281 UFUNCTION(BlueprintCallable, meta = (AutoCreateRefTerm = "Color"), Category = "{instant3Dhub}|Utilities")
282 static FString UEColorToWebvisAppearanceURI(const FLinearColor& Color, EAppearanceURIMode Mode);
283
291 UFUNCTION(BlueprintCallable, meta = (AutoCreateRefTerm = "InURI"), Category = "{instant3Dhub}|Utilities")
292 static bool WebvisAppearanceURIToUEColor(const FString& InURI, FLinearColor& OutColor, EAppearanceURIMode& OutMode);
293
294public:
295
304 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
305 static bool AnalyzeHitResult(const struct FHitResult& HitResult, FI3DHHitResult& OutI3DHHitResult);
306
307public:
308
316 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
317 static FPlane MakePlaneFromClipPlaneActor(const AActor* ClipPlaneActor);
318
328 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
329 static bool ClipLineSegmentByPlane(UPARAM(ref) FVector& Start, UPARAM(ref) FVector& End, const FPlane& Plane);
330
340 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities", meta = (DefaultToSelf = "HubConnector"))
341 static bool ClipLineSegmentByMainClipPlane(AI3DHConnector* HubConnector, UPARAM(ref) FVector& Start, UPARAM(ref) FVector& End);
342
352 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities", meta = (DefaultToSelf = "HubConnector"))
353 static bool ClipLineSegmentByClipPlanes(AI3DHConnector* HubConnector, UPARAM(ref) FVector& Start, UPARAM(ref) FVector& End);
354
355public:
360 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
361 static bool IsWithEditor();
362
369 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta=(WorldContext="WorldContextObject"))
370 static bool IsEditorStandaloneGame(const UObject* WorldContextObject);
371
379 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
380 static TMap<FString, FString> GetURLQueryParams(const FString& URL);
381
382 // These functions cannot be exposed via UFUNCTION because of the callback parameter.
383 // Instead, they have matching async blueprint nodes declared in I3DHAppUtilitiesNodes.h.
384public:
385
395 static void FindFirstUnselectedAncestor(TSharedPtr<class FI3DHConnectorAPI> API, int NodeId, TUniqueFunction<void(int AncestorId, EI3DHErrorCode ErrorCode)> OnComplete);
396
397private:
398
399 static void FindFirstUnselectedAncestor_GameThread(TSharedPtr<class FI3DHConnectorAPI> API, int CurrentNodeId, bool IsCurrentNodeSelected, TUniqueFunction<void(int AncestorId, EI3DHErrorCode ErrorCode)> OnComplete);
400};
@ Transform
Transform (represented as FMatrix in Unreal)
@ Volume
Volume (represented as FBox in Unreal)
The HubConnector is the central actor for communication with an instant3Dhub instance in your network...
Definition I3DHConnector.h:98
Utility functions for using Unreal Engine with Instant3DHub.
Definition I3DHUtilities.h:24