Navigation
Unreal Engine C++ API Reference > Runtime > Chaos
References
Module | Chaos |
Header | /Engine/Source/Runtime/Experimental/Chaos/Public/BoneHierarchy.h |
Include | #include "BoneHierarchy.h" |
Syntax
class FBoneHierarchy
Remarks
A hierarchy of transforms (bones) that tracks the state of transforms within the hierarchy, to do partial updates.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
FTransform | ActorLocalToWorld | The current top level local-to-world transform. |
![]() |
bool | ActorLocalToWorldDirty | |
![]() |
TArray< uint8 > | AnimDirty | Dirty flags for each bone in the hierarchy, plus sub group structures. |
![]() |
TArray< int32 > | BoneIndices | |
![]() |
TMap< int32, FAnalyticImplicitGroup * > | BoneToShapeGroup | A mapping from Bone index to implicit shape group. |
![]() |
TMap< int32, int32 > | BoneToTransformIndex | Mapping from Bone index to our local transform array indices. |
![]() |
TArray< TArray< int32 > > | ChildIndices | |
![]() |
TArray< TUniquePtr< FAnalyticImplicitGroup > > | ImplicitGroups | Owner of all implicit shape groups. |
![]() |
TArray< FTransform > | LocalSpaceTransforms | Local, component, and world space transforms of each bone in the hierarchy, plus sub group structures. |
![]() |
TArray< int32 > | ParentIndices | Parenting hierarchy for each bone and sub group structure. |
![]() |
TArray< FTransform > | PrevWorldSpaceTransforms | |
![]() |
TArray< FAnalyticImplicitGroup * > | Roots | All implicit groups in the hierarchy that have no parents. |
![]() |
TArray< int32 > | SocketIndices | |
![]() |
TArray< int32 > | TempTargetIndices | The working set of indices. |
![]() |
TMap< int32, int32 > | TransformToBoneIndex | |
![]() |
TArray< FTransform > | WorldSpaceTransforms | TArray |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
|||
![]() |
FBoneHierarchy
(
const FBoneHierarchy& |
||
![]() |
FBoneHierarchy
(
FBoneHierarchy&& Other |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | Add
(
TUniquePtr< FAnalyticImplicitGroup >&& AnalyticShapeGroupIn |
Add a structure to the hierarchy. |
![]() ![]() |
const FAnalyticImplicitGroup * | GetAnalyticShapeGroup
(
const int32 BoneIndex |
|
![]() |
FAnalyticImplicitGroup * | GetAnalyticShapeGroup
(
const int32 BoneIndex |
|
![]() |
TArray< TUniquePtr< FAnalyticImplicitGroup > > & | ||
![]() ![]() |
const TArray< TUniquePtr< FAnalyticImplicitGroup > > & | ||
![]() ![]() |
bool | GetAnimLocalDirty
(
const int32 TransformIndex |
|
![]() ![]() |
const FTransform * | GetAnimWorldSpaceTransformsForBone
(
const int32 BoneIndex |
Get all world space transforms associated with `BoneIndex_. |
![]() ![]() |
const TArray< int32 > & | ||
![]() |
void | GetDirtyAnimIndices
(
TArray< int32 >& TargetIndices |
|
![]() ![]() |
void | GetDirtyIndices
(
TArray< int32 >& TargetIndices, |
Get a list of all transform indices that are dirty. |
![]() ![]() |
const FTransform * | GetPrevAnimWorldSpaceTransformForBone
(
const int32 BoneIndex |
|
![]() ![]() |
int32 | GetSocketIndexForBone
(
const uint32 BoneIndex |
|
![]() ![]() |
int32 | GetTransformIndex
(
const int32 BoneIndex |
|
![]() ![]() |
bool | HasBoneIndex
(
const uint32 BoneIndex |
|
![]() |
void | Update each implicit group with parent and child information, and find root nodes. | |
![]() |
void | InitPostAdd () |
Build the hierarchy. Must be done after adding structures, and before updating or sampling. |
![]() |
void | InitPreAdd
(
const int32 NumBones |
Initialization. |
![]() |
bool | Update all world space transforms for sampling. | |
![]() |
void | ||
![]() |
void | Propagate bone space dirty flags from parents to sub structures and children. | |
![]() |
void | SetActorWorldSpaceTransform
(
const FTransform& InActorLocalToWorld |
Update the local-to-world transform of the actor the bones this hierarchy represents belongs to. |
![]() |
void | SetAnimLocalClean
(
const int32 TransformIndex |
|
![]() |
void | SetAnimLocalDirty
(
const int32 TransformIndex |
|
![]() |
void | SetAnimLocalSpaceTransform
(
const int32 BoneIndex, |
Updates the local/bone space transform of a bone. |
![]() |
void | SetSocketIndexForBone
(
const uint32 BoneIndex, |
|
![]() |
bool | UpdateAnimWorldSpaceTransforms
(
const TArray< int32 >& TargetIndices |
Update the component space transforms of the specified indices. |
Operators
Type | Name | Description | |
---|---|---|---|
![]() |
FBoneHierarchy & | operator=
(
FBoneHierarchy&& Other |
|
![]() |
FBoneHierarchy & | operator=
(
const FBoneHierarchy& |