FBoneHierarchy

A hierarchy of transforms (bones) that tracks the state of transforms within the hierarchy, to do partial updates.

Windows
MacOS
Linux

References

Module

ChaosSolvers

Header

/Engine/Source/Runtime/Experimental/ChaosSolvers/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

Name Description

Protected variable

FTransform

 

ActorLocalToWorld

The current top level local-to-world transform.

Protected variable

bool

 

ActorLocalToWorldDirty

Protected variable

TArray < uint8 >

 

AnimDirty

Dirty flags for each bone in the hierarchy, plus sub group structures.

Protected variable

TArray < int32 >

 

BoneIndices

Protected variable

TMap < int32 , FA ...

 

BoneToShapeGroup

A mapping from Bone index to implicit shape group.

Protected variable

TMap < int32 , in ...

 

BoneToTransformIndex

Mapping from Bone index to our local transform array indices.

Protected variable

TArray < TArray <...

 

ChildIndices

Protected variable

TArray < TUnique ...

 

ImplicitGroups

Owner of all implicit shape groups.

Protected variable

TArray < FTransf ...

 

LocalSpaceTransforms

Local, component, and world space transforms of each bone in the hierarchy, plus sub group structures.

Protected variable

TArray < int32 >

 

ParentIndices

Parenting hierarchy for each bone and sub group structure.

Protected variable

TArray < FTransf ...

 

PrevWorldSpaceTransforms

Protected variable

TArray < FAnalyt ...

 

Roots

All implicit groups in the hierarchy that have no parents.

Protected variable

TArray < int32 >

 

SocketIndices

Protected variable

TArray < int32 >

 

TempTargetIndices

The working set of indices.

Protected variable

TMap < int32 , in ...

 

TransformToBoneIndex

Protected variable

TArray < FTransf ...

 

WorldSpaceTransforms

TArray ComponentSpaceTransforms;.

Constructors

Name Description

Public function

FBoneHierarchy()

Public function

FBoneHierarchy

(
    const FBoneHierarchy &
)

Public function

FBoneHierarchy

(
    FBoneHierarchy && Other
)

Functions

Name Description

Public function

void

 

Add

Add a structure to the hierarchy.

Public function Const

const FAnaly ...

 

GetAnalyticShapeGroup

(
    const int32 BoneIndex
)

Public function

FAnalyticImp ...

 

GetAnalyticShapeGroup

(
    const int32 BoneIndex
)

Public function

TArray < TUni ...

 

GetAnalyticShapeGroups()

Public function Const

const TArray ...

 

GetAnalyticShapeGroups()

Protected function Const

bool

 

GetAnimLocalDirty

(
    const int32 TransformIndex
)

Public function Const

const FTrans ...

 

GetAnimWorldSpaceTransformsForBone

(
    const int32 BoneIndex
)

Get all world space transforms associated with `BoneIndex_.

Public function Const

const TArray ...

 

GetBoneIndices()

Protected function

void

 

GetDirtyAnimIndices

(
    TArray < int32 >& TargetIndices
)

Protected function Const

void

 

GetDirtyIndices

(
    TArray < int32 >& TargetIndices,
    const uint8 Mask
)

Get a list of all transform indices that are dirty.

Public function Const

const FTrans ...

 

GetPrevAnimWorldSpaceTransformForBone

(
    const int32 BoneIndex
)

Public function Const

int32

 

GetSocketIndexForBone

(
    const uint32 BoneIndex
)

Public function Const

int32

 

GetTransformIndex

(
    const int32 BoneIndex
)

Public function Const

bool

 

HasBoneIndex

(
    const uint32 BoneIndex
)

Protected function

void

 

InitHierarchy()

Update each implicit group with parent and child information, and find root nodes.

Public function

void

 

InitPostAdd()

Build the hierarchy. Must be done after adding structures, and before updating or sampling.

Public function

void

 

InitPreAdd

(
    const int32 NumBones
)

Initialization.

Public function

bool

 

PrepareAnimWorldSpaceTransforms()

Update all world space transforms for sampling.

Public function

void

 

PrepareForUpdate()

Protected function

void

 

PropagateAnimDirtyFlags()

Propagate bone space dirty flags from parents to sub structures and children.

Public function

void

 

SetActorWorldSpaceTransform

(
    const FTransform & InActorLocalToWo...
)

Update the local-to-world transform of the actor the bones this hierarchy represents belongs to.

Protected function

void

 

SetAnimLocalClean

(
    const int32 TransformIndex
)

Protected function

void

 

SetAnimLocalDirty

(
    const int32 TransformIndex
)

Public function

void

 

SetAnimLocalSpaceTransform

(
    const int32 BoneIndex,
    const FTransform & BoneXf
)

Updates the local/bone space transform of a bone.

Public function

void

 

SetSocketIndexForBone

(
    const uint32 BoneIndex,
    const int32 SocketIndex
)

Protected function

bool

 

UpdateAnimWorldSpaceTransforms

(
    const TArray < int32 >& TargetIndic...
)

Update the component space transforms of the specified indices.

Operators

Name Description

Public function

FBoneHierarc ...

 

operator=

(
    FBoneHierarchy && Other
)

Public function

FBoneHierarc ...

 

operator=

(
    const FBoneHierarchy &
)

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback