UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TransformCollection.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"
7#include "Misc/Crc.h"
8
17{
18public:
20
28
29 /***
30 * Attribute Groups
31 *
32 * These attribute groups are predefined data member of the FTransformCollection.
33 *
34 * TransformGroup ("Transform")
35 * Default Attributes :
36 *
37 * FTransform3fArray Transform = GetAttribute<FTransform3f>("Transform", TransformGroup)
38 * FInt32Array Level = GetAttribute<int32>("Level", TransformGroup) FIX
39 * FInt32Array Parent = GetAttribute<int32>("Parent", TransformGroup) FIX
40 * FInt32Array Children = GetAttribute<TSet<int32>>("Children", TransformGroup) FIX
41 *
42 * The TransformGroup defines transform information for each Vertex. All positional
43 * information stored within Vertices and Geometry groups should be relative to its
44 * TransformGroup Transform.
45 * Parent defines the parent index of one transform node relative to another (Invalid is no parent exists, i.e. is root)
46 * Children defines the child indices of the transform node in the transform hierarchy (leaf nodes will have no children)
47 * Level is the distance from the root node at level 0. Leaf nodes will have the highest level number.
48 */
61
64
65
67 CHAOS_API virtual void Serialize(Chaos::FChaosArchive& Ar) override;
68
69 /*
70 * SingleTransform:
71 * Create a single transform.
72 */
74
79 CHAOS_API virtual void Append(const FManagedArrayCollection& Collection) override;
80
86
87 /*
88 * AppendTransform:
89 * Append a transform at the end of the collection without
90 * parenting.
91 */
93
94 /*
95 * ParentTransforms
96 * Parent Transforms under the specified node using local parent
97 * hierarchy compensation. .
98 */
99 CHAOS_API void ParentTransforms(const int32 TransformIndex, const int32 ChildIndex);
100 CHAOS_API void ParentTransforms(const int32 TransformIndex, const TArray<int32>& SelectedBones);
101 CHAOS_API void UnparentTransform(const int32 ChildIndex);
102
103 /*
104 * RelativeTransformation
105 * Modify the specified index by the local matrix offset.
106 */
107 CHAOS_API void RelativeTransformation(const int32& Index, const FTransform& LocalOffset);
108
116
123
127 CHAOS_API virtual void Reset() override;
128
129 // Transform Group
135
136
137protected:
138
140 CHAOS_API void Construct();
141};
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
Definition ChaosArchive.h:167
Definition NameTypes.h:617
Definition TransformCollection.h:17
static CHAOS_API const FName TransformGroup
Definition TransformCollection.h:49
CHAOS_API void Construct()
Definition TransformCollection.cpp:41
virtual CHAOS_API void Reset() override
Definition TransformCollection.cpp:51
static CHAOS_API void DefineTransformSchema(FManagedArrayCollection &)
Definition TransformCollection.cpp:31
TManagedArray< FTransform3f > Transform
Definition TransformCollection.h:130
FTransformCollection(FTransformCollection &&)=default
static CHAOS_API const FName BoneColorAttribute
Definition TransformCollection.h:58
CHAOS_API ~FTransformCollection()
CHAOS_API FTransformCollection()
Definition TransformCollection.cpp:23
CHAOS_API void RelativeTransformation(const int32 &Index, const FTransform &LocalOffset)
Definition TransformCollection.cpp:183
FManagedArrayCollection Super
Definition TransformCollection.h:19
static CHAOS_API FTransformCollection SingleTransform(const FTransform &TransformRoot=FTransform::Identity)
Definition TransformCollection.cpp:79
static CHAOS_API const FName ChildrenAttribute
Definition TransformCollection.h:52
static CHAOS_API const FName ConvexGroup
Definition TransformCollection.h:55
virtual CHAOS_API void RemoveElements(const FName &Group, const TArray< int32 > &SortedDeletionList, FProcessingParameters Params=FProcessingParameters()) override
Definition TransformCollection.cpp:204
CHAOS_API int32 AppendTransform(const FTransformCollection &GeometryCollection, const FTransform &TransformRoot=FTransform::Identity)
Definition TransformCollection.cpp:120
static CHAOS_API const FName GeometryIndexAttribute
Definition TransformCollection.h:60
TManagedArray< FLinearColor > BoneColor
Definition TransformCollection.h:132
CHAOS_API void AppendCollection(const FTransformCollection &Collection)
TManagedArray< int32 > Parent
Definition TransformCollection.h:133
static CHAOS_API const FName TransformAttribute
Definition TransformCollection.h:50
static CHAOS_API const FName BoneNameAttribute
Definition TransformCollection.h:57
MANAGED_ARRAY_COLLECTION_INTERNAL(FTransformCollection)
CHAOS_API void ParentTransforms(const int32 TransformIndex, const int32 ChildIndex)
Definition TransformCollection.cpp:166
TManagedArray< TSet< int32 > > Children
Definition TransformCollection.h:134
CHAOS_API void UnparentTransform(const int32 ChildIndex)
Definition TransformCollection.cpp:176
static CHAOS_API const FName ParentAttribute
Definition TransformCollection.h:51
static CHAOS_API const FName BoneHierarchyAttribute
Definition TransformCollection.h:59
FTransformCollection & operator=(const FTransformCollection &)=delete
FTransformCollection(FTransformCollection &)=delete
TManagedArray< FString > BoneName
Definition TransformCollection.h:131
virtual CHAOS_API void MergeElements(const FName &Group, const TArray< int32 > &SortedMergeList, const TArray< int32 > &MergeRemapIndex, FProcessingParameters Params=FProcessingParameters()) override
Definition TransformCollection.cpp:285
FTransformCollection & operator=(FTransformCollection &&)=default
static CHAOS_API const FName ParticlesAttribute
Definition TransformCollection.h:53
static CHAOS_API const FName LevelAttribute
Definition TransformCollection.h:54
static CHAOS_API const FName ConvexHullAttribute
Definition TransformCollection.h:56
Definition Array.h:670
Definition ManagedArray.h:1099
Definition CollectionBoundsFacade.cpp:13
U16 Index
Definition radfft.cpp:71
Definition ManagedArrayCollection.h:93
Definition ManagedArrayCollection.h:56
static CORE_API const TTransform< double > Identity
Definition TransformNonVectorized.h:58