Files
UnrealEngine/Engine/Plugins/Animation/PoseSearch/Source/Editor/Private/PoseSearchDebuggerDatabaseRowData.h
2025-05-18 13:04:45 +08:00

50 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "PoseSearch/PoseSearchContext.h"
#include "PoseSearch/PoseSearchIndex.h"
#include "Templates/SharedPointer.h"
namespace UE::PoseSearch
{
class FDebuggerDatabaseSharedData : public TSharedFromThis<FDebuggerDatabaseSharedData>
{
public:
TWeakObjectPtr<const UPoseSearchDatabase> SourceDatabase;
FString DatabaseName = "";
FString DatabasePath = "";
TAlignedArray<float> QueryVector;
TAlignedArray<float> PCAQueryVector;
};
class FDebuggerDatabaseRowData : public TSharedFromThis<FDebuggerDatabaseRowData>
{
public:
explicit FDebuggerDatabaseRowData(TSharedRef<FDebuggerDatabaseSharedData> InSharedData) : SharedData(InSharedData) {}
int32 PoseIdx = 0;
EPoseCandidateFlags PoseCandidateFlags = EPoseCandidateFlags::None;
FString AssetName = "";
FString AssetPath = "";
int32 DbAssetIdx = 0;
int32 AnimFrame = 0;
float AnimPercentage = 0.0f;
float AssetTime = 0.0f;
bool bMirrored = false;
bool bLooping = false;
FVector BlendParameters = FVector::Zero();
FPoseSearchCost PoseCost;
FLinearColor CostColor = FLinearColor::White;
float PosePCACost = 0.f;
FLinearColor PCACostColor = FLinearColor::White;
TArray<float> CostBreakdowns;
TArray<FLinearColor> CostBreakdownsColors;
TArray<float> CostVector;
TSharedRef<FDebuggerDatabaseSharedData> SharedData;
};
} // namespace UE::PoseSearch