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
10#include "I3DHDataTypes.h"
11#include "I3DHError.h"
12#include "I3DHVersion.h"
13
14#include "Kismet/BlueprintFunctionLibrary.h"
15
16#include "I3DHUtilities.generated.h"
17
18class AI3DHConnector;
19
23UCLASS()
24class INSTANT3DHUB_API UI3DHUtilities : public UBlueprintFunctionLibrary
25{
26 GENERATED_BODY()
27
28public:
137public:
147 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
148 static float GetOriginalToUnrealScale();
149
154 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
155 static const FMatrix& GetOriginalToUnrealMatrix();
156
161 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
162 static const FMatrix& GetUnrealToOriginalMatrix();
163
172 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
173 static const FMatrix& GetOriginalToUnrealNormalMatrix();
174
183 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
184 static const FMatrix& GetUnrealToOriginalNormalMatrix();
185
191 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
192 static UPARAM(DisplayName = "Unreal Transform") FMatrix ConvertTransformOriginalToUnreal(const FMatrix& OriginalTransform);
193
199 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
200 static UPARAM(DisplayName = "Original Transform") FMatrix ConvertTransformUnrealToOriginal(const FMatrix& UnrealTransform);
201
212 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (DisplayName = "Convert Transform Original to Unreal (Pure)"))
213 static UPARAM(DisplayName = "Unreal Transform") FMatrix ConvertTransformOriginalToUnrealPure(const FMatrix& OriginalTransform);
214
225 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (DisplayName = "Convert Transform Unreal to Original (Pure)"))
226 static UPARAM(DisplayName = "Original Transform") FMatrix ConvertTransformUnrealToOriginalPure(const FMatrix& UnrealTransform);
227
233 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
234 static UPARAM(DisplayName = "Unreal Volume") FBox ConvertVolumeOriginalToUnreal(const FBox& OriginalVolume);
235
241 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
242 static UPARAM(DisplayName = "Original Volume") FBox ConvertVolumeUnrealToOriginal(const FBox& UnrealVolume);
243
254 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (DisplayName = "Convert Volume Original to Unreal (Pure)"))
255 static UPARAM(DisplayName = "Unreal Volume") FBox ConvertVolumeOriginalToUnrealPure(const FBox& OriginalVolume);
256
267 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (DisplayName = "Convert Volume Unreal to Original (Pure)"))
268 static UPARAM(DisplayName = "Original Volume") FBox ConvertVolumeUnrealToOriginalPure(const FBox& UnrealVolume);
269
272public:
279 UFUNCTION(BlueprintCallable, meta = (AutoCreateRefTerm = "Color"), Category = "{instant3Dhub}|Utilities")
280 static FString UEColorToWebvisAppearanceURI(const FLinearColor& Color, EAppearanceURIMode Mode);
281
289 UFUNCTION(BlueprintCallable, meta = (AutoCreateRefTerm = "InURI"), Category = "{instant3Dhub}|Utilities")
290 static bool WebvisAppearanceURIToUEColor(const FString& InURI, FLinearColor& OutColor, EAppearanceURIMode& OutMode);
291
292public:
301 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
302 static bool AnalyzeHitResult(const struct FHitResult& HitResult, FI3DHHitResult& OutI3DHHitResult);
303
304public:
312 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
313 static FPlane MakePlaneFromClipPlaneActor(const AActor* ClipPlaneActor);
314
324 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
325 static bool ClipLineSegmentByPlane(UPARAM(ref) FVector& Start, UPARAM(ref) FVector& End, const FPlane& Plane);
326
336 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities", meta = (DefaultToSelf = "HubConnector"))
337 static bool ClipLineSegmentByMainClipPlane(AI3DHConnector* HubConnector, UPARAM(ref) FVector& Start, UPARAM(ref) FVector& End);
338
348 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities", meta = (DefaultToSelf = "HubConnector"))
349 static bool ClipLineSegmentByClipPlanes(AI3DHConnector* HubConnector, UPARAM(ref) FVector& Start, UPARAM(ref) FVector& End);
350
351public:
356 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities")
357 static bool IsWithEditor();
358
365 UFUNCTION(BlueprintPure, Category = "{instant3Dhub}|Utilities", meta = (WorldContext = "WorldContextObject"))
366 static bool IsEditorStandaloneGame(const UObject* WorldContextObject);
367
375 UFUNCTION(BlueprintCallable, Category = "{instant3Dhub}|Utilities")
376 static TMap<FString, FString> GetURLQueryParams(const FString& URL);
377
378 // These functions cannot be exposed via UFUNCTION because of the callback parameter.
379 // Instead, they have matching async blueprint nodes declared in I3DHAppUtilitiesNodes.h.
380public:
390 static void FindFirstUnselectedAncestor(TSharedPtr<class FI3DHConnectorAPI> API, int32 NodeId, TUniqueFunction<void(int32 AncestorId, EI3DHErrorCode ErrorCode)> OnComplete);
391
392private:
393 static void FindFirstUnselectedAncestor_GameThread(TSharedPtr<class FI3DHConnectorAPI> API, int32 CurrentNodeId, bool IsCurrentNodeSelected, TUniqueFunction<void(int32 AncestorId, EI3DHErrorCode ErrorCode)> OnComplete);
394};
@ 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:121
Utility functions for using Unreal Engine with Instant3DHub.
Definition I3DHUtilities.h:25