36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "SkeletonTreeBuilder.h"
|
|
|
|
class UPhysicsAsset;
|
|
|
|
class FPhysicsAssetEditorSkeletonTreeBuilder : public FSkeletonTreeBuilder
|
|
{
|
|
public:
|
|
FPhysicsAssetEditorSkeletonTreeBuilder(UPhysicsAsset* InPhysicsAsset, const FSkeletonTreeBuilderArgs& InSkeletonTreeBuilderArgs = FSkeletonTreeBuilderArgs(true, false, true, false));
|
|
|
|
/** ISkeletonTreeBuilder interface */
|
|
virtual void Build(FSkeletonTreeBuilderOutput& Output) override;
|
|
virtual ESkeletonTreeFilterResult FilterItem(const FSkeletonTreeFilterArgs& InArgs, const TSharedPtr<class ISkeletonTreeItem>& InItem) override;
|
|
|
|
/** Flags used for filtering */
|
|
bool bShowBodies;
|
|
bool bShowKinematicBodies;
|
|
bool bShowSimulatedBodies;
|
|
bool bShowConstraints;
|
|
bool bShowConstraintsOnParentBodies;
|
|
bool bShowCrossConstraints;
|
|
bool bShowParentChildConstraints;
|
|
bool bShowPrimitives;
|
|
|
|
private:
|
|
/** Add bodies & their shapes to the tree */
|
|
void AddBodies(FSkeletonTreeBuilderOutput& Output);
|
|
|
|
private:
|
|
/** The physics asset we use to populate the tree */
|
|
UPhysicsAsset* PhysicsAsset;
|
|
}; |