UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CollectionTransformFacade.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8
10{
15 {
16 public:
19
21 void DefineSchema() {}
22
24 CHAOS_API bool IsValid() const;
25
27 bool IsConst() const { return ParentAttribute.IsConst(); }
28
30 CHAOS_API int32 Num() const;
31
32
35
38
42 const TManagedArray< int32 >* GetParents() const { return ParentAttribute.Find(); }
43
47 const TManagedArray< TSet<int32> >* FindChildren() const { return ChildrenAttribute.Find(); }
48
52 const TManagedArray<FTransform3f>* FindTransforms() const { return TransformAttribute.Find(); }
53
57 const TManagedArray<FString>* FindBoneNames() const { return BoneNameAttribute.Find(); }
58
64
70
73
76
79
82
84 CHAOS_API FString BoneName(int32 Index) const;
85
88
91 const uint8 RotationOrder,
92 const FVector& Rotate,
93 const FVector& Scale,
94 const FVector& Shear,
95 const float UniformScale,
96 const FVector& RotatePivot,
97 const FVector& ScalePivot,
98 const bool InvertTransformation);
99
102 const uint8 RotationOrder,
103 const FVector& Rotate,
104 const FVector& Scale,
105 const float UniformScale,
106 const FVector& RotatePivot,
107 const FVector& ScalePivot,
108 const bool InvertTransformation);
109
112
114 static CHAOS_API bool HasCycle(const TManagedArray<int32>& Parents, int32 Node);
115
117 static CHAOS_API bool HasCycle(const TManagedArray<int32>& Parents, const TArray<int32>& SelectedBones);
118
120 CHAOS_API void ParentTransform(const int32 TransformIndex, const int32 ChildIndex);
121
123 CHAOS_API void ParentTransforms(const int32 TransformIndex, const TArray<int32>& SelectedBones);
124
126 CHAOS_API void UnparentTransform(const int32 ChildIndex);
127
129 CHAOS_API void EnforceSingleRoot(const FString & RootName);
130
133
134 private:
135 const FManagedArrayCollection& ConstCollection;
136 FManagedArrayCollection* Collection = nullptr;
137
138 TManagedArrayAccessor<int32> ParentAttribute;
139 TManagedArrayAccessor<TSet<int32>> ChildrenAttribute;
140 TManagedArrayAccessor<FTransform3f> TransformAttribute;
141 TManagedArrayAccessor<FString> BoneNameAttribute;
142 };
143}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
D3D12_DESCRIPTOR_HEAP_TYPE Translate(ERHIDescriptorHeapType InHeapType)
Definition D3D12Descriptors.h:19
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition CollectionTransformFacade.h:15
CHAOS_API int32 Num() const
Definition CollectionTransformFacade.cpp:33
CHAOS_API FString BoneName(int32 Index) const
Definition CollectionTransformFacade.cpp:43
CHAOS_API void ParentTransforms(const int32 TransformIndex, const TArray< int32 > &SelectedBones)
Definition CollectionTransformFacade.cpp:320
static CHAOS_API FTransform BuildTransform(const FVector &Translate, const uint8 RotationOrder, const FVector &Rotate, const FVector &Scale, const float UniformScale, const FVector &RotatePivot, const FVector &ScalePivot, const bool InvertTransformation)
Definition CollectionTransformFacade.cpp:258
const TManagedArray< int32 > * GetParents() const
Definition CollectionTransformFacade.h:42
CHAOS_API TArray< FTransform > ComputeCollectionSpaceTransforms() const
Definition CollectionTransformFacade.cpp:84
CHAOS_API bool IsValid() const
Definition CollectionTransformFacade.cpp:28
CHAOS_API void ComputeLevelsBounds(float &LevelsMin, float &LevelsMax)
Definition CollectionTransformFacade.cpp:431
CHAOS_API TMap< FString, int32 > BoneNameIndexMap() const
Definition CollectionTransformFacade.cpp:52
const TManagedArray< FString > * FindBoneNames() const
Definition CollectionTransformFacade.h:57
CHAOS_API void EnforceSingleRoot(const FString &RootName)
Definition CollectionTransformFacade.cpp:399
bool IsConst() const
Definition CollectionTransformFacade.h:27
static CHAOS_API bool HasCycle(const TManagedArray< int32 > &Parents, int32 Node)
Definition CollectionTransformFacade.cpp:288
CHAOS_API void SetPivot(const FTransform &InTransform)
Definition CollectionTransformFacade.cpp:107
CHAOS_API TArray< int32 > GetRootIndices() const
Definition CollectionTransformFacade.cpp:65
CHAOS_API void UnparentTransform(const int32 ChildIndex)
Definition CollectionTransformFacade.cpp:375
const TManagedArray< TSet< int32 > > * FindChildren() const
Definition CollectionTransformFacade.h:47
CHAOS_API FTransform GetRootTransform() const
Definition CollectionTransformFacade.cpp:70
CHAOS_API FTransform ComputeCollectionSpaceTransform(int32 BoneIdx) const
Definition CollectionTransformFacade.cpp:99
CHAOS_API void SetBoneTransformToIdentity(int32 BoneIdx)
Definition CollectionTransformFacade.cpp:279
CHAOS_API bool HasBoneNameAttribute() const
Definition CollectionTransformFacade.cpp:38
CHAOS_API void ParentTransform(const int32 TransformIndex, const int32 ChildIndex)
Definition CollectionTransformFacade.cpp:311
void DefineSchema()
Definition CollectionTransformFacade.h:21
static CHAOS_API FMatrix BuildMatrix(const FVector &Translate, const uint8 RotationOrder, const FVector &Rotate, const FVector &Scale, const FVector &Shear, const float UniformScale, const FVector &RotatePivot, const FVector &ScalePivot, const bool InvertTransformation)
Definition CollectionTransformFacade.cpp:161
const TManagedArray< FTransform3f > * FindTransforms() const
Definition CollectionTransformFacade.h:52
Definition Array.h:670
Definition ManagedArray.h:1130
Definition ManagedArray.h:1099
Definition UnrealString.h.inl:34
Definition CollectionBoundsFacade.cpp:13
U16 Index
Definition radfft.cpp:71
Definition ManagedArrayCollection.h:56
Definition ManagedArrayAccessor.h:20
bool IsConst() const
Definition ManagedArrayAccessor.h:51
const TManagedArray< T > * Find() const
Definition ManagedArrayAccessor.h:108