Files
UnrealEngineUWP/Engine/Source/Runtime/InteractiveToolsFramework/Public/TargetInterfaces/PhysicsDataSource.h
ryan schmidt f0828c943b Expose component/asset physics data via a ToolTarget interface
ToolsFramework:
- add PhysicsDataSource ToolTarget Interface, that exposes UBodySetup and CollisionDataProvider interfaces
ModelingComponents:
- Add tooltarget accessor/utility functions in UE::ToolTarget namespace.
- Implement PhysicsDataSource for StaticMeshComponentToolTarget and DynamicMeshCompnentToolTarget.
- Update FPhysicsDataCollection::InitializeFromComponent() to support DynamicMeshComponent and BrushComponent.
ModelingTools:
- update ExtractCollisionGeometryTool and PhysicsInspectorTool

#rb lonnie.li
#rnx
#jira none
#preflight 61a150004803629015d5a09b

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18302043 in //UE5/Release-5.0/... via CL 18302049
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18302051 by ryan schmidt in ue5-release-engine-test branch]
2021-11-26 16:37:25 -05:00

40 lines
929 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/Interface.h"
#include "PhysicsDataSource.generated.h"
class UBodySetup;
class IInterface_CollisionDataProvider;
UINTERFACE()
class INTERACTIVETOOLSFRAMEWORK_API UPhysicsDataSource : public UInterface
{
GENERATED_BODY()
};
/**
* IPhysicsDataSource is a ToolTarget Interface that provides read/write access to physics-related data structures.
*/
class INTERACTIVETOOLSFRAMEWORK_API IPhysicsDataSource
{
GENERATED_BODY()
public:
/**
* @return The UBodySetup for this physics data source. If Nullptr, no physics data exists or is available.
*/
virtual UBodySetup* GetBodySetup() const = 0;
/**
* @return The CollisionDataProvider for this physics data source. If Nullptr, no physics data exists or is available.
*/
virtual IInterface_CollisionDataProvider* GetComplexCollisionProvider() const = 0;
};