19#define DEFINE_AR_DELEGATE_BASE(DelegateName) \
21 F##DelegateName DelegateName##Delegates; \
23 virtual FDelegateHandle Add##DelegateName##Delegate_Handle(const F##DelegateName##Delegate& Delegate) \
25 DelegateName##Delegates.Add(Delegate); \
26 return Delegate.GetHandle(); \
28 virtual void Clear##DelegateName##Delegate_Handle(FDelegateHandle& Handle) \
30 DelegateName##Delegates.Remove(Handle); \
33 virtual void Clear##DelegateName##Delegates(FDelegateUserObject Object) \
35 DelegateName##Delegates.RemoveAll(Object); \
39#define DEFINE_AR_DELEGATE_ONE_PARAM(DelegateName, Param1Type) \
40 DEFINE_AR_DELEGATE_BASE(DelegateName) \
42 virtual void Trigger##DelegateName##Delegates(Param1Type Param1) \
44 DelegateName##Delegates.Broadcast(Param1); \
EARSessionType
Definition ARSessionConfig.h:37
EARSessionTrackingFeature
Definition ARSessionConfig.h:142
EARSceneReconstruction
Definition ARSessionConfig.h:167
EARTextureType
Definition ARTextures.h:13
EARWorldMappingState
Definition ARTypes.h:152
EARCaptureType
Definition ARTypes.h:47
EARTrackingQualityReason
Definition ARTypes.h:104
EARLineTraceChannels
Definition ARTypes.h:70
EARTrackingQuality
Definition ARTypes.h:91
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FInt32Point FIntPoint
Definition MathFwd.h:124
Definition NameTypes.h:617
virtual void RemoveSavedARPin(FName InName)
Definition ARSystem.h:269
virtual void OnPauseARSession()=0
virtual EARTrackingQuality OnGetTrackingQuality() const =0
virtual bool OnAddTrackedPointWithName(const FTransform &WorldTransform, const FString &PointName, bool bDeletePointsWithSameName)
Definition ARSystem.h:214
virtual TArray< UARTrackedGeometry * > OnGetAllTrackedGeometries() const =0
virtual bool SaveARPin(FName InName, UARPin *InPin)
Definition ARSystem.h:264
virtual UARPin * FindARPinByComponent(const USceneComponent *Component) const =0
DEFINE_AR_DELEGATE_ONE_PARAM(OnTrackableUpdated, UARTrackedGeometry *)
virtual int32 OnGetNumberOfTrackedFacesSupported() const
Definition ARSystem.h:217
virtual void RemoveAllSavedARPins()
Definition ARSystem.h:273
virtual UARLightEstimate * OnGetCurrentLightEstimate() const =0
virtual EARTrackingQualityReason OnGetTrackingQualityReason() const =0
virtual TSharedPtr< FARGetCandidateObjectAsyncTask, ESPMode::ThreadSafe > OnGetCandidateObject(FVector Location, FVector Extent) const =0
virtual bool IsLocalPinSaveSupported() const
Definition ARSystem.h:249
virtual void OnSetAlignmentTransform(const FTransform &InAlignmentTransform)=0
virtual void * GetGameThreadARFrameRawPointer()=0
virtual void OnRemovePin(UARPin *PinToRemove)=0
virtual bool OnPinComponentToARPin(USceneComponent *ComponentToPin, UARPin *Pin)=0
virtual UARPin * OnPinComponent(USceneComponent *ComponentToPin, const FTransform &PinToWorldTransform, UARTrackedGeometry *TrackedGeometry=nullptr, const FName DebugName=NAME_None)=0
virtual void OnARSystemInitialized()
Definition ARSystem.h:81
virtual ~IARSystemSupport()
Definition ARSystem.h:222
virtual void OnSetEnabledXRCamera(bool bOnOff)
Definition ARSystem.h:140
virtual void OnStartARSession(UARSessionConfig *SessionConfig)=0
virtual TArray< UARPin * > OnGetAllPins() const =0
virtual FARSessionStatus OnGetARSessionStatus() const =0
virtual bool ArePinsReadyToLoad()
Definition ARSystem.h:254
virtual TSharedPtr< FARSaveWorldAsyncTask, ESPMode::ThreadSafe > OnSaveWorld() const =0
DEFINE_AR_DELEGATE_ONE_PARAM(OnTrackableAdded, UARTrackedGeometry *)
virtual TArray< FARVideoFormat > OnGetSupportedVideoFormats(EARSessionType SessionType) const =0
virtual bool OnGetCameraIntrinsics(FARCameraIntrinsics &OutCameraIntrinsics) const
Definition ARSystem.h:278
virtual bool OnIsSceneReconstructionSupported(EARSessionType SessionType, EARSceneReconstruction SceneReconstructionMethod) const
Definition ARSystem.h:212
virtual bool OnTryGetOrCreatePinForNativeResource(void *InNativeResource, const FString &InPinName, UARPin *&OutPin)
Definition ARSystem.h:179
virtual EARWorldMappingState OnGetWorldMappingStatus() const =0
virtual TArray< FARTraceResult > OnLineTraceTrackedObjects(const FVector Start, const FVector End, EARLineTraceChannels TraceChannels)=0
virtual UARTexture * OnGetARTexture(EARTextureType TextureType) const
Definition ARSystem.h:220
virtual FIntPoint OnResizeXRCamera(const FIntPoint &InSize)
Definition ARSystem.h:141
virtual bool OnAddManualEnvironmentCaptureProbe(FVector Location, FVector Extent)=0
virtual bool OnStartARGameFrame(FWorldContext &WorldContext)
Definition ARSystem.h:83
virtual TArray< FVector > OnGetPointCloud() const =0
virtual TArray< FARPose2D > OnGetTracked2DPose() const
Definition ARSystem.h:209
virtual void * GetARSessionRawPointer()=0
virtual void OnStopARSession()=0
DEFINE_AR_DELEGATE_ONE_PARAM(OnTrackableRemoved, UARTrackedGeometry *)
virtual bool IsARAvailable() const =0
virtual bool OnAddRuntimeCandidateImage(UARSessionConfig *SessionConfig, UTexture2D *CandidateTexture, FString FriendlyName, float PhysicalWidth)=0
virtual bool OnIsTrackingTypeSupported(EARSessionType SessionType) const =0
virtual TArray< FARTraceResult > OnLineTraceTrackedObjects(const FVector2D ScreenCoord, EARLineTraceChannels TraceChannels)=0
virtual void LoadARPins(TMap< FName, UARPin * > &LoadedPins)
Definition ARSystem.h:260
virtual bool OnToggleARCapture(const bool bOnOff, const EARCaptureType CaptureType)
Definition ARSystem.h:138
virtual bool OnIsSessionTrackingFeatureSupported(EARSessionType SessionType, EARSessionTrackingFeature SessionTrackingFeature) const
Definition ARSystem.h:206
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition ARLightEstimate.h:20
Definition ARSessionConfig.h:183
Definition ARTextures.h:107
Definition ARTextures.h:78
Definition ARTextures.h:31
Definition ARTrackable.h:17
Definition Texture2D.h:26
Definition ARTraceResult.h:17