UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ARTypes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Engine/DataAsset.h"
7#include "ARTypes.generated.h"
8
9#define UE_API AUGMENTEDREALITY_API
10
11class USceneComponent;
12class UARPin;
15struct FARTraceResult;
16class UTexture2D;
17
19typedef FOnTrackableAdded::FDelegate FOnTrackableAddedDelegate;
20
22typedef FOnTrackableUpdated::FDelegate FOnTrackableUpdatedDelegate;
23
25typedef FOnTrackableRemoved::FDelegate FOnTrackableRemovedDelegate;
26
27
28UENUM(BlueprintType, Category="AR AugmentedReality", meta=(Experimental))
30{
32 Unknown,
33
36
39
42};
43
44
45UENUM(BlueprintType, Category = "AR AugmentedReality", meta = (Experimental))
47{
49 Camera,
50
52 QRCode,
53
56
59
62};
63
64
68UENUM( BlueprintType, Category="AR AugmentedReality|Trace Result", meta=(Bitflags) )
70{
71 None = 0,
72
74 FeaturePoint = 1,
75
77 GroundPlane = 2,
78
81
84};
86
87
88
89UENUM(BlueprintType, Category="AR AugmentedReality", meta=(Experimental))
101
102UENUM(BlueprintType, Category="AR AugmentedReality", meta=(Experimental))
104{
106 None,
107
110
113
116
119
122
125};
126
130UENUM(BlueprintType, meta=(ScriptName="ARSessionStatusType"))
148
150UENUM(BlueprintType, Category="AR AugmentedReality", meta=(Experimental))
162
164UENUM(BlueprintType)
166{
168 Vertical,
170 Diagonal,
171};
172
174UENUM(BlueprintType)
176{
180 Unknown,
182 Wall,
184 Ceiling,
186 Floor,
188 Table,
190 Seat,
192 Face,
194 Image,
196 World,
200 HandMesh,
202 Door,
204 Window,
205 // Add other types here...
206};
207
209UENUM(BlueprintType)
211{
213 NotApplicable = 0,
215 Visible = 1 << 0,
217 Collision = 1 << 1
218};
219
221UENUM(BlueprintType)
223{
229 Model,
230
235};
236
237UENUM(BlueprintType)
239{
240 // The framework sets the altitude using a high-resolution digital-elevation model.
241 Precise,
242
243 // The framework sets the altitude using a coarse digital-elevation model.
244 Coarse,
245
246 // The app defines the alitude.
248
249 // Altitude is not yet set.
250 Unknown,
251};
252
254USTRUCT(BlueprintType)
256{
257public:
258
260
264
266 : AdditionalInfo(InExtraInfo)
267 , Status(InStatus)
268 {
269
270 }
271
273 UPROPERTY(BlueprintReadOnly, Category="AR AugmentedReality|Session")
274 FString AdditionalInfo;
275
277 UPROPERTY(BlueprintReadOnly, Category = "AR AugmentedReality|Session")
279};
280
283
284UCLASS()
289
292{
293public:
294 virtual void AddRef() = 0;
295 virtual void RemoveRef() = 0;
296public:
297 virtual ~IARRef() {}
298
299};
300
302UENUM(BlueprintType)
308
310UCLASS(MinimalAPI, BlueprintType)
313{
315
316public:
317
329
331 UFUNCTION(BlueprintPure, Category = "AR AugmentedReality|Image Detection")
332 UTexture2D* GetCandidateTexture() const { return CandidateTexture; }
333
335 UFUNCTION(BlueprintPure, Category = "AR AugmentedReality|Image Detection")
336 const FString& GetFriendlyName() const { return FriendlyName; }
337
339 UFUNCTION(BlueprintPure, Category = "AR AugmentedReality|Image Detection")
340 float GetPhysicalWidth() const { return Width; }
341
343 UFUNCTION(BlueprintPure, Category = "AR AugmentedReality|Image Detection")
344 float GetPhysicalHeight() const { return Height; }
345
347 UFUNCTION(BlueprintPure, Category = "AR AugmentedReality|Image Detection")
348 EARCandidateImageOrientation GetOrientation() const { return Orientation; }
349
350protected:
351#if WITH_EDITOR
353 UE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
354#endif
355
357 UPROPERTY(EditAnywhere, Category = "AR Candidate Image")
358 TObjectPtr<UTexture2D> CandidateTexture;
359
361 UPROPERTY(EditAnywhere, Category = "AR Candidate Image")
362 FString FriendlyName;
363
365 UPROPERTY(EditAnywhere, Category = "AR Candidate Image")
366 float Width;
367
369 UPROPERTY(EditAnywhere, Category = "AR Candidate Image")
370 float Height;
371
373 UPROPERTY(EditAnywhere, Category = "AR Candidate Image")
375};
376
378UCLASS(MinimalAPI, BlueprintType)
381{
383
384public:
386 UFUNCTION(BlueprintPure, Category = "AR AugmentedReality|Object Detection")
387 const TArray<uint8>& GetCandidateObjectData() const { return CandidateObjectData; }
388
389 UFUNCTION(BlueprintCallable, Category = "AR AugmentedReality|Object Detection")
390 void SetCandidateObjectData(const TArray<uint8>& InCandidateObject) { CandidateObjectData = InCandidateObject; }
391
393 UFUNCTION(BlueprintPure, Category = "AR AugmentedReality|Object Detection")
394 const FString& GetFriendlyName() const { return FriendlyName; }
395 UFUNCTION(BlueprintCallable, Category = "AR AugmentedReality|Object Detection")
396 void SetFriendlyName(const FString& NewName) { FriendlyName = NewName; }
397
399 UFUNCTION(BlueprintPure, Category = "AR AugmentedReality|Object Detection")
400 const FBox& GetBoundingBox() const { return BoundingBox; }
401
402 UFUNCTION(BlueprintCallable, Category = "AR AugmentedReality|Object Detection")
403 void SetBoundingBox(const FBox& InBoundingBox) { BoundingBox = InBoundingBox; }
404
405private:
407 UPROPERTY(EditAnywhere, Category = "AR Candidate Object")
408 TArray<uint8> CandidateObjectData;
409
411 UPROPERTY(EditAnywhere, Category = "AR Candidate Object")
412 FString FriendlyName;
413
415 UPROPERTY(EditAnywhere, Category = "AR Candidate Image")
417};
418
423{
424public:
425 virtual ~FARAsyncTask() {}
426
428 UE_API bool HadError() const;
430 UE_API FString GetErrorString() const;
432 UE_API bool IsDone() const;
433
434protected:
437 FString Error;
438};
439
442 public FARAsyncTask
443{
444public:
447
448protected:
450};
451
454 public FARAsyncTask
455{
456public:
459};
460
463{
464public:
466 {
467 Error = InError;
468 bHadError = true;
469 bIsDone = true;
470 }
471 virtual UARCandidateObject* GetCandidateObject() override { return nullptr; }
472};
473
476{
477public:
479 {
480 Error = InError;
481 bHadError = true;
482 bIsDone = true;
483 }
484};
485
487USTRUCT(BlueprintType)
489{
491
492public:
494 : FPS(0)
495 , Width(0)
496 , Height(0)
497 {
498
499 }
500
502 : FPS(InFPS)
503 , Width(InWidth)
504 , Height(InHeight)
505 {
506
507 }
508
509 bool operator==(const FARVideoFormat& Other) const
510 {
511 return FPS == Other.FPS && Width == Other.Width && Height == Other.Height;
512 }
513
515 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category="AR AugmentedReality|Session")
516 int32 FPS;
517
519 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "AR AugmentedReality|Session")
520 int32 Width;
521
523 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "AR AugmentedReality|Session")
524 int32 Height;
525
526 bool IsValidFormat() { return FPS > 0 && Width > 0 && Height > 0; }
527
529 {
530 return Ar << Format.FPS << Format.Width << Format.Height;
531 }
532};
533
535USTRUCT(BlueprintType)
537{
539
540public:
542 UPROPERTY(BlueprintReadOnly, Category="AR AugmentedReality|Pose Tracking")
543 int32 NumJoints = 0;
544
546 UPROPERTY(BlueprintReadOnly, Category = "AR AugmentedReality|Pose Tracking")
547 TArray<FName> JointNames;
548
550 UPROPERTY(BlueprintReadOnly, Category = "AR AugmentedReality|Pose Tracking")
551 TArray<int32> ParentIndices;
552};
553
555USTRUCT(BlueprintType)
557{
559
560public:
562 UPROPERTY(BlueprintReadOnly, Category="AR AugmentedReality|Pose Tracking")
563 FARSkeletonDefinition SkeletonDefinition;
564
566 UPROPERTY(BlueprintReadOnly, Category = "AR AugmentedReality|Pose Tracking")
567 TArray<FVector2D> JointLocations;
568
570 UPROPERTY(BlueprintReadOnly, Category = "AR AugmentedReality|Pose Tracking")
571 TArray<bool> IsJointTracked;
572};
573
575USTRUCT(BlueprintType)
577{
579
580public:
582 UPROPERTY(BlueprintReadOnly, Category="AR AugmentedReality|Pose Tracking")
583 FARSkeletonDefinition SkeletonDefinition;
584
586 UPROPERTY(BlueprintReadOnly, Category = "AR AugmentedReality|Pose Tracking")
587 TArray<FTransform> JointTransforms;
588
590 UPROPERTY(BlueprintReadOnly, Category = "AR AugmentedReality|Pose Tracking")
591 TArray<bool> IsJointTracked;
592
593 UPROPERTY(BlueprintReadOnly, Category = "AR AugmentedReality|Pose Tracking")
595};
596
597
599USTRUCT(BlueprintType)
601{
603
604public:
606 UPROPERTY(BlueprintReadOnly, Category="AR AugmentedReality|Camera")
607 FIntPoint ImageResolution = FIntPoint::ZeroValue;
608
610 UPROPERTY(BlueprintReadOnly, Category="AR AugmentedReality|Camera")
611 FVector2D FocalLength = FVector2D::ZeroVector;
612
614 UPROPERTY(BlueprintReadOnly, Category="AR AugmentedReality|Camera")
615 FVector2D PrincipalPoint = FVector2D::ZeroVector;
616};
617
618#undef UE_API
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
EARJointTransformSpace
Definition ARTypes.h:223
EARWorldMappingState
Definition ARTypes.h:152
EARTrackingState
Definition ARTypes.h:30
EARPlaneOrientation
Definition ARTypes.h:166
EARSpatialMeshUsageFlags
Definition ARTypes.h:211
FOnTrackableRemoved::FDelegate FOnTrackableRemovedDelegate
Definition ARTypes.h:25
EARCaptureType
Definition ARTypes.h:47
#define UE_API
Definition ARTypes.h:9
EARTrackingQualityReason
Definition ARTypes.h:104
EARObjectClassification
Definition ARTypes.h:176
EARSessionStatus
Definition ARTypes.h:132
EARLineTraceChannels
Definition ARTypes.h:70
FOnTrackableUpdated::FDelegate FOnTrackableUpdatedDelegate
Definition ARTypes.h:22
EARTrackingQuality
Definition ARTypes.h:91
EARCandidateImageOrientation
Definition ARTypes.h:304
EARAltitudeSource
Definition ARTypes.h:239
FOnTrackableAdded::FDelegate FOnTrackableAddedDelegate
Definition ARTypes.h:19
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type, Param1Name)
Definition DelegateCombinations.h:53
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition ARTypes.h:423
FThreadSafeBool bHadError
Definition ARTypes.h:436
FString Error
Definition ARTypes.h:437
FThreadSafeBool bIsDone
Definition ARTypes.h:435
virtual ~FARAsyncTask()
Definition ARTypes.h:425
Definition ARTypes.h:463
virtual UARCandidateObject * GetCandidateObject() override
Definition ARTypes.h:471
FARErrorGetCandidateObjectAsyncTask(FString InError)
Definition ARTypes.h:465
Definition ARTypes.h:476
FARErrorSaveWorldAsyncTask(FString InError)
Definition ARTypes.h:478
Definition ARTypes.h:455
virtual UARCandidateObject * GetCandidateObject()=0
Definition ARTypes.h:443
TArray< uint8 > WorldData
Definition ARTypes.h:449
UE_API TArray< uint8 > GetSavedWorldData()
Definition ARTypes.cpp:29
Definition Archive.h:1208
Definition NameTypes.h:617
Definition ThreadSafeBool.h:17
Definition ARTypes.h:292
virtual void RemoveRef()=0
virtual ~IARRef()
Definition ARTypes.h:297
virtual void AddRef()=0
Definition Array.h:670
Definition ARTypes.h:313
static UARCandidateImage * CreateNewARCandidateImage(UTexture2D *InCandidateTexture, FString InFriendlyName, float InPhysicalWidth, float InPhysicalHeight, EARCandidateImageOrientation InOrientation)
Definition ARTypes.h:318
Definition ARTypes.h:381
Definition ARLightEstimate.h:20
Definition ARPin.h:15
Definition ARTrackable.h:17
Definition ARTypes.h:286
Definition DataAsset.h:21
Definition Object.h:95
Definition Texture2D.h:26
Definition RobinHoodHashTable.h:18
Definition ARTypes.h:601
Definition ARTypes.h:557
Definition ARTypes.h:577
Definition ARTypes.h:256
FARSessionStatus(EARSessionStatus InStatus, FString InExtraInfo=FString())
Definition ARTypes.h:265
Definition ARTypes.h:537
Definition ARTraceResult.h:17
Definition ARTypes.h:489
FARVideoFormat(int32 InFPS, int32 InWidth, int32 InHeight)
Definition ARTypes.h:501
bool operator==(const FARVideoFormat &Other) const
Definition ARTypes.h:509
friend FArchive & operator<<(FArchive &Ar, FARVideoFormat &Format)
Definition ARTypes.h:528
FARVideoFormat()
Definition ARTypes.h:493
Definition UnrealType.h:6865
Definition ObjectPtr.h:488
Definition IntPoint.h:25