UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FSimModuleTree Class Reference

#include <SimModuleTree.h>

Classes

struct  FSimModuleNode
 

Public Member Functions

 FSimModuleTree ()
 
 ~FSimModuleTree ()
 
void Reset ()
 
bool IsEmpty () const
 
int GetParent (int Index) const
 
const TSet< int > & GetChildren (int Index) const
 
const ISimulationModuleBaseGetSimModule (int Index) const
 
ISimulationModuleBaseAccessSimModule (int Index) const
 
bool IsValidNode (int Index) const
 
int NumActiveNodes () const
 
UE_API void GetRootNodes (TArray< int > &RootNodesOut)
 
int GetNumNodes () const
 
ESimTreeProcessingOrder GetSimTreeProcessingOrder () const
 
UE_API int AddRoot (ISimulationModuleBase *SimModule)
 
UE_API void Reparent (int Index, int ParentIndex)
 
FSimModuleNodeGetNode (int Index)
 
UE_API int AddNodeBelow (int AtIndex, ISimulationModuleBase *SimModule)
 
UE_API int InsertNodeAbove (int AtIndex, ISimulationModuleBase *SimModule)
 
UE_API void DeleteNode (int AtIndex)
 
UE_API void AppendTreeUpdates (const FSimTreeUpdates &TreeUpdates)
 
UE_API void Simulate (float DeltaTime, FAllInputs &Inputs, IPhysicsProxyBase *PhysicsProxy, Chaos::FPBDRigidParticleHandle *RootParticle)
 
UE_API void OnContactModification (FCollisionContactModifier &Modifier, IPhysicsProxyBase *PhysicsProxy)
 
void SetSimTreeProcessingOrder (ESimTreeProcessingOrder OrderIn)
 
FDeferredForcesModularAccessDeferredForces ()
 
const FDeferredForcesModularGetDeferredForces () const
 
const TArray< FSimModuleNode > & GetSimulationModuleTree ()
 
void SetAnimationEnabled (bool bInEnabled)
 
bool IsAnimationEnabled ()
 
void SetSimulationEnabled (bool bInEnabled)
 
bool IsSimulationEnabled ()
 
const FVehicleStateGetVehicleState () const
 
template<typename T >
FSimModuleNodeLocateNodeByType ()
 
int GetLargestComponentIndex ()
 
UE_API void GenerateReplicationStructure (Chaos::FModuleNetDataArray &NetData)
 
UE_API void SetNetState (Chaos::FModuleNetDataArray &ModuleDatas)
 
UE_API void SetSimState (const Chaos::FModuleNetDataArray &ModuleDatas)
 
UE_API void InterpolateState (const float LerpFactor, Chaos::FModuleNetDataArray &LerpDatas, const Chaos::FModuleNetDataArray &MinDatas, const Chaos::FModuleNetDataArray &MaxDatas)
 
FVehicleBlackboardGetSimBlackboard ()
 
UE_API void SimulateNode (float DeltaTime, FAllInputs &Inputs, int NodeIdx, IPhysicsProxyBase *PhysicsProxy, Chaos::FPBDRigidParticleHandle *ParticleHandle)
 

Protected Member Functions

UE_API void OnContactModificationInternal (int NodeIndex, FCollisionContactModifier &Modifier, IPhysicsProxyBase *PhysicsProxy)
 
UE_API void SimulateNodeBFS (float DeltaTime, FAllInputs &Inputs, const TArray< int > &RootNodes, IPhysicsProxyBase *PhysicsProxy, Chaos::FPBDRigidParticleHandle *ParticleHandle)
 
UE_API void DeleteNodesBelow (int NodeIdx)
 
UE_API int GetNextIndex ()
 
UE_API void UpdateClusterUnionTransformsIfRequired (IPhysicsProxyBase *PhysicsProxy, ISimulationModuleBase *Module)
 
UE_API void UpdateModuleVelocites (IPhysicsProxyBase *PhysicsProxy, Chaos::FPBDRigidParticleHandle *RootParticle, bool bWake)
 
UE_API void UpdateVehicleState (Chaos::FPBDRigidParticleHandle *RootParticle)
 

Protected Attributes

TArray< FSimModuleNodeSimulationModuleTree
 
TArray< int > FreeList
 
FDeferredForcesModular DeferredForces
 
Chaos::FAllInputs AllInputs
 
bool bAnimationEnabled
 
bool bSimulationEnabled
 
FVehicleState VehicleState
 
ESimTreeProcessingOrder SimTreeProcessingOrder
 
TUniquePtr< FVehicleBlackboardSimBlackboard
 

Friends

class FModularVehicleBuilder
 

Constructor & Destructor Documentation

◆ FSimModuleTree()

Chaos::FSimModuleTree::FSimModuleTree ( )
inline

◆ ~FSimModuleTree()

Chaos::FSimModuleTree::~FSimModuleTree ( )
inline

Member Function Documentation

◆ AccessDeferredForces()

FDeferredForcesModular & Chaos::FSimModuleTree::AccessDeferredForces ( )
inline

◆ AccessSimModule()

ISimulationModuleBase * Chaos::FSimModuleTree::AccessSimModule ( int  Index) const
inline

◆ AddNodeBelow()

int Chaos::FSimModuleTree::AddNodeBelow ( int  AtIndex,
ISimulationModuleBase SimModule 
)

◆ AddRoot()

int Chaos::FSimModuleTree::AddRoot ( ISimulationModuleBase SimModule)

◆ AppendTreeUpdates()

void Chaos::FSimModuleTree::AppendTreeUpdates ( const FSimTreeUpdates TreeUpdates)

◆ DeleteNode()

void Chaos::FSimModuleTree::DeleteNode ( int  AtIndex)

◆ DeleteNodesBelow()

void Chaos::FSimModuleTree::DeleteNodesBelow ( int  NodeIdx)
protected

◆ GenerateReplicationStructure()

void Chaos::FSimModuleTree::GenerateReplicationStructure ( Chaos::FModuleNetDataArray NetData)

◆ GetChildren()

const TSet< int > & Chaos::FSimModuleTree::GetChildren ( int  Index) const
inline

◆ GetDeferredForces()

const FDeferredForcesModular & Chaos::FSimModuleTree::GetDeferredForces ( ) const
inline

◆ GetLargestComponentIndex()

int Chaos::FSimModuleTree::GetLargestComponentIndex ( )
inline

◆ GetNextIndex()

int Chaos::FSimModuleTree::GetNextIndex ( )
protected

◆ GetNode()

FSimModuleNode & Chaos::FSimModuleTree::GetNode ( int  Index)
inline

◆ GetNumNodes()

int Chaos::FSimModuleTree::GetNumNodes ( ) const
inline

◆ GetParent()

int Chaos::FSimModuleTree::GetParent ( int  Index) const
inline

◆ GetRootNodes()

void Chaos::FSimModuleTree::GetRootNodes ( TArray< int > &  RootNodesOut)

◆ GetSimBlackboard()

FVehicleBlackboard * Chaos::FSimModuleTree::GetSimBlackboard ( )
inline

◆ GetSimModule()

const ISimulationModuleBase * Chaos::FSimModuleTree::GetSimModule ( int  Index) const
inline

◆ GetSimTreeProcessingOrder()

ESimTreeProcessingOrder Chaos::FSimModuleTree::GetSimTreeProcessingOrder ( ) const
inline

◆ GetSimulationModuleTree()

const TArray< FSimModuleNode > & Chaos::FSimModuleTree::GetSimulationModuleTree ( )
inline

◆ GetVehicleState()

const FVehicleState & Chaos::FSimModuleTree::GetVehicleState ( ) const
inline

◆ InsertNodeAbove()

int Chaos::FSimModuleTree::InsertNodeAbove ( int  AtIndex,
ISimulationModuleBase SimModule 
)

◆ InterpolateState()

void Chaos::FSimModuleTree::InterpolateState ( const float  LerpFactor,
Chaos::FModuleNetDataArray LerpDatas,
const Chaos::FModuleNetDataArray MinDatas,
const Chaos::FModuleNetDataArray MaxDatas 
)

◆ IsAnimationEnabled()

bool Chaos::FSimModuleTree::IsAnimationEnabled ( )
inline

◆ IsEmpty()

bool Chaos::FSimModuleTree::IsEmpty ( ) const
inline

◆ IsSimulationEnabled()

bool Chaos::FSimModuleTree::IsSimulationEnabled ( )
inline

◆ IsValidNode()

bool Chaos::FSimModuleTree::IsValidNode ( int  Index) const
inline

◆ LocateNodeByType()

template<typename T >
FSimModuleNode * Chaos::FSimModuleTree::LocateNodeByType ( )
inline

◆ NumActiveNodes()

int Chaos::FSimModuleTree::NumActiveNodes ( ) const
inline

◆ OnContactModification()

void Chaos::FSimModuleTree::OnContactModification ( FCollisionContactModifier Modifier,
IPhysicsProxyBase PhysicsProxy 
)

◆ OnContactModificationInternal()

void Chaos::FSimModuleTree::OnContactModificationInternal ( int  NodeIndex,
FCollisionContactModifier Modifier,
IPhysicsProxyBase PhysicsProxy 
)
protected

◆ Reparent()

void Chaos::FSimModuleTree::Reparent ( int  Index,
int  ParentIndex 
)

◆ Reset()

void Chaos::FSimModuleTree::Reset ( )
inline

◆ SetAnimationEnabled()

void Chaos::FSimModuleTree::SetAnimationEnabled ( bool  bInEnabled)
inline

◆ SetNetState()

void Chaos::FSimModuleTree::SetNetState ( Chaos::FModuleNetDataArray ModuleDatas)

◆ SetSimState()

void Chaos::FSimModuleTree::SetSimState ( const Chaos::FModuleNetDataArray ModuleDatas)

◆ SetSimTreeProcessingOrder()

void Chaos::FSimModuleTree::SetSimTreeProcessingOrder ( ESimTreeProcessingOrder  OrderIn)
inline

◆ SetSimulationEnabled()

void Chaos::FSimModuleTree::SetSimulationEnabled ( bool  bInEnabled)
inline

◆ Simulate()

void Chaos::FSimModuleTree::Simulate ( float  DeltaTime,
FAllInputs Inputs,
IPhysicsProxyBase PhysicsProxy,
Chaos::FPBDRigidParticleHandle RootParticle 
)

◆ SimulateNode()

void Chaos::FSimModuleTree::SimulateNode ( float  DeltaTime,
FAllInputs Inputs,
int  NodeIdx,
IPhysicsProxyBase PhysicsProxy,
Chaos::FPBDRigidParticleHandle ParticleHandle 
)

◆ SimulateNodeBFS()

void Chaos::FSimModuleTree::SimulateNodeBFS ( float  DeltaTime,
FAllInputs Inputs,
const TArray< int > &  RootNodes,
IPhysicsProxyBase PhysicsProxy,
Chaos::FPBDRigidParticleHandle ParticleHandle 
)
protected

◆ UpdateClusterUnionTransformsIfRequired()

void Chaos::FSimModuleTree::UpdateClusterUnionTransformsIfRequired ( IPhysicsProxyBase PhysicsProxy,
ISimulationModuleBase Module 
)
protected

◆ UpdateModuleVelocites()

void Chaos::FSimModuleTree::UpdateModuleVelocites ( IPhysicsProxyBase PhysicsProxy,
Chaos::FPBDRigidParticleHandle RootParticle,
bool  bWake 
)
protected

◆ UpdateVehicleState()

void Chaos::FSimModuleTree::UpdateVehicleState ( Chaos::FPBDRigidParticleHandle RootParticle)
protected

Friends And Related Symbol Documentation

◆ FModularVehicleBuilder

friend class FModularVehicleBuilder
friend

Member Data Documentation

◆ AllInputs

Chaos::FAllInputs Chaos::FSimModuleTree::AllInputs
protected

◆ bAnimationEnabled

bool Chaos::FSimModuleTree::bAnimationEnabled
protected

◆ bSimulationEnabled

bool Chaos::FSimModuleTree::bSimulationEnabled
protected

◆ DeferredForces

FDeferredForcesModular Chaos::FSimModuleTree::DeferredForces
protected

◆ FreeList

TArray<int> Chaos::FSimModuleTree::FreeList
protected

◆ SimBlackboard

TUniquePtr<FVehicleBlackboard> Chaos::FSimModuleTree::SimBlackboard
protected

◆ SimTreeProcessingOrder

ESimTreeProcessingOrder Chaos::FSimModuleTree::SimTreeProcessingOrder
protected

◆ SimulationModuleTree

TArray<FSimModuleNode> Chaos::FSimModuleTree::SimulationModuleTree
protected

◆ VehicleState

FVehicleState Chaos::FSimModuleTree::VehicleState
protected

The documentation for this class was generated from the following files: