Files
UnrealEngineUWP/Engine/Source/Runtime/InteractiveToolsFramework/Public/TargetInterfaces/PrimitiveComponentBackedTarget.h
christopher waters f8147b1889 Full set of fixes for non-unity non-pch builds after EngineTypes cleanup. This includes adjusting previous build fixes that introduced new includes that weren't actually necessary. Restored a few includes and wrapped them in UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_1 checks to maintain compatability.
Also includes fixes for other build issues as it's hard to separate them all.

#jira too many to list
#rb none
#preflight 6247d21073665f7d5e6c5a6c

[CL 19600818 by christopher waters in ue5-main branch]
2022-04-02 01:04:02 -04:00

55 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_1
#include "Engine/EngineTypes.h" // FHitResult
#endif
#include "UObject/Interface.h"
#include "PrimitiveComponentBackedTarget.generated.h"
class UPrimitiveComponent;
class AActor;
struct FHitResult;
UINTERFACE()
class INTERACTIVETOOLSFRAMEWORK_API UPrimitiveComponentBackedTarget : public UInterface
{
GENERATED_BODY()
};
class INTERACTIVETOOLSFRAMEWORK_API IPrimitiveComponentBackedTarget
{
GENERATED_BODY()
public:
/** @return the Component this is a Source for */
virtual UPrimitiveComponent* GetOwnerComponent() const = 0;
/** @return the Actor that owns this Component */
virtual AActor* GetOwnerActor() const = 0;
/**
* Set the visibility of the Component associated with this Source (ie to hide during Tool usage)
* @param bVisible desired visibility
*/
virtual void SetOwnerVisibility(bool bVisible) const = 0;
/**
* @return the transform on this component
* @todo Do we need to return a list of transforms here?
*/
virtual FTransform GetWorldTransform() const = 0;
/**
* Compute ray intersection with the MeshDescription this Source is providing
* @param WorldRay ray in world space
* @param OutHit hit test data
* @return true if ray intersected Component
*/
virtual bool HitTestComponent(const FRay& WorldRay, FHitResult& OutHit) const = 0;
};