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

#include <RewindData.h>

Public Member Functions

PRAGMA_DISABLE_DEPRECATION_WARNINGS FGeometryParticleStateBase (int32 NumFrames)
 
 FGeometryParticleStateBase (int32 NumFrames, bool bCacheOnePhase)
 
 FGeometryParticleStateBase (const FGeometryParticleStateBase &Other)=delete
 
 FGeometryParticleStateBase (FGeometryParticleStateBase &&Other)=default
 
 ~FGeometryParticleStateBase ()=default
 
 FGeometryParticleStateBase ()=delete
 
FGeometryParticleStateBaseoperator= (const FGeometryParticleStateBase &)=delete
 
FGeometryParticleStateBaseoperator= (FGeometryParticleStateBase &&)=delete
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS void Release (FDirtyPropertiesPool &Manager)
 
void Reset ()
 
void ClearEntryAndFuture (const FFrameAndPhase FrameAndPhase)
 
void ExtractHistoryState (int32 &PositionValidCount, int32 &VelocityValidCount, int32 &PositionNextIterator, int32 &VelocityNextIterator) const
 
void RestoreHistoryState (const int32 &PositionValidCount, const int32 &VelocityValidCount, const int32 &PositionNextIterator, const int32 &VelocityNextIterator)
 
bool IsClean (const FFrameAndPhase FrameAndPhase) const
 
bool IsCleanExcludingDynamics (const FFrameAndPhase FrameAndPhase) const
 
template<bool bSkipDynamics = false>
bool IsInSync (const FGeometryParticleHandle &Handle, const FFrameAndPhase FrameAndPhase, const FDirtyPropertiesPool &Pool) const
 
void SyncSimWritablePropsFromSim (FDirtyPropData Manager, const TPBDRigidParticleHandle< FReal, 3 > &Rigid)
 
void SyncDirtyDynamics (FDirtyPropData &DestManager, const FDirtyChaosProperties &Dirty, const FConstDirtyPropData &SrcManager)
 
template<typename TParticle >
void CachePreCorrectionState (const TParticle &Particle)
 

Static Public Member Functions

template<typename TParticle >
static TShapesArrayState< TParticleShapesArray (const FGeometryParticleStateBase *State, const TParticle &Particle)
 

Public Attributes

TParticlePropertyBuffer< FParticlePositionRotation, EChaosProperty::XR > ParticlePositionRotation
 
TParticlePropertyBuffer< FParticleNonFrequentData, EChaosProperty::NonFrequentData > NonFrequentData
 
TParticlePropertyBuffer< FParticleVelocities, EChaosProperty::Velocities > Velocities
 
TParticlePropertyBuffer< FParticleDynamics, EChaosProperty::Dynamics, falseDynamics
 
TParticlePropertyBuffer< FParticleDynamicMisc, EChaosProperty::DynamicMisc > DynamicsMisc
 
TParticlePropertyBuffer< FParticleMassProps, EChaosProperty::MassProps > MassProps
 
TParticlePropertyBuffer< FKinematicTarget, EChaosProperty::KinematicTarget, falseKinematicTarget
 
TParticlePropertyBuffer< FParticlePositionRotation, EChaosProperty::XR, falseTargetPositions
 
TParticlePropertyBuffer< FParticleVelocities, EChaosProperty::Velocities, falseTargetVelocities
 
TParticlePropertyBuffer< FParticleDynamicMisc, EChaosProperty::DynamicMisc, falseTargetStates
 
FShapesArrayStateBase ShapesArrayState
 
FParticlePositionRotation PreCorrectionXR
 

Constructor & Destructor Documentation

◆ FGeometryParticleStateBase() [1/5]

PRAGMA_DISABLE_DEPRECATION_WARNINGS Chaos::FGeometryParticleStateBase::FGeometryParticleStateBase ( int32  NumFrames)
inlineexplicit

◆ FGeometryParticleStateBase() [2/5]

Chaos::FGeometryParticleStateBase::FGeometryParticleStateBase ( int32  NumFrames,
bool  bCacheOnePhase 
)
inlineexplicit

◆ FGeometryParticleStateBase() [3/5]

Chaos::FGeometryParticleStateBase::FGeometryParticleStateBase ( const FGeometryParticleStateBase Other)
delete

◆ FGeometryParticleStateBase() [4/5]

Chaos::FGeometryParticleStateBase::FGeometryParticleStateBase ( FGeometryParticleStateBase &&  Other)
default

◆ ~FGeometryParticleStateBase()

Chaos::FGeometryParticleStateBase::~FGeometryParticleStateBase ( )
default

◆ FGeometryParticleStateBase() [5/5]

Chaos::FGeometryParticleStateBase::FGeometryParticleStateBase ( )
delete

Member Function Documentation

◆ CachePreCorrectionState()

template<typename TParticle >
void Chaos::FGeometryParticleStateBase::CachePreCorrectionState ( const TParticle Particle)
inline

◆ ClearEntryAndFuture()

void Chaos::FGeometryParticleStateBase::ClearEntryAndFuture ( const FFrameAndPhase  FrameAndPhase)
inline

◆ ExtractHistoryState()

void Chaos::FGeometryParticleStateBase::ExtractHistoryState ( int32 PositionValidCount,
int32 VelocityValidCount,
int32 PositionNextIterator,
int32 VelocityNextIterator 
) const
inline

◆ IsClean()

bool Chaos::FGeometryParticleStateBase::IsClean ( const FFrameAndPhase  FrameAndPhase) const
inline

◆ IsCleanExcludingDynamics()

bool Chaos::FGeometryParticleStateBase::IsCleanExcludingDynamics ( const FFrameAndPhase  FrameAndPhase) const
inline

◆ IsInSync()

template<bool bSkipDynamics>
bool Chaos::FGeometryParticleStateBase::IsInSync ( const FGeometryParticleHandle Handle,
const FFrameAndPhase  FrameAndPhase,
const FDirtyPropertiesPool Pool 
) const

◆ operator=() [1/2]

FGeometryParticleStateBase & Chaos::FGeometryParticleStateBase::operator= ( const FGeometryParticleStateBase )
delete

◆ operator=() [2/2]

FGeometryParticleStateBase & Chaos::FGeometryParticleStateBase::operator= ( FGeometryParticleStateBase &&  )
delete

◆ Release()

PRAGMA_ENABLE_DEPRECATION_WARNINGS void Chaos::FGeometryParticleStateBase::Release ( FDirtyPropertiesPool Manager)
inline

◆ Reset()

void Chaos::FGeometryParticleStateBase::Reset ( )
inline

◆ RestoreHistoryState()

void Chaos::FGeometryParticleStateBase::RestoreHistoryState ( const int32 PositionValidCount,
const int32 VelocityValidCount,
const int32 PositionNextIterator,
const int32 VelocityNextIterator 
)
inline

◆ ShapesArray()

template<typename TParticle >
static TShapesArrayState< TParticle > Chaos::FGeometryParticleStateBase::ShapesArray ( const FGeometryParticleStateBase State,
const TParticle Particle 
)
inlinestatic

◆ SyncDirtyDynamics()

void Chaos::FGeometryParticleStateBase::SyncDirtyDynamics ( FDirtyPropData DestManager,
const FDirtyChaosProperties Dirty,
const FConstDirtyPropData SrcManager 
)

◆ SyncSimWritablePropsFromSim()

void Chaos::FGeometryParticleStateBase::SyncSimWritablePropsFromSim ( FDirtyPropData  Manager,
const TPBDRigidParticleHandle< FReal, 3 > &  Rigid 
)

Member Data Documentation

◆ Dynamics

TParticlePropertyBuffer<FParticleDynamics,EChaosProperty::Dynamics, false> Chaos::FGeometryParticleStateBase::Dynamics

◆ DynamicsMisc

TParticlePropertyBuffer<FParticleDynamicMisc,EChaosProperty::DynamicMisc> Chaos::FGeometryParticleStateBase::DynamicsMisc

◆ KinematicTarget

TParticlePropertyBuffer<FKinematicTarget, EChaosProperty::KinematicTarget, false> Chaos::FGeometryParticleStateBase::KinematicTarget

◆ MassProps

TParticlePropertyBuffer<FParticleMassProps,EChaosProperty::MassProps> Chaos::FGeometryParticleStateBase::MassProps

◆ NonFrequentData

TParticlePropertyBuffer<FParticleNonFrequentData,EChaosProperty::NonFrequentData> Chaos::FGeometryParticleStateBase::NonFrequentData

◆ ParticlePositionRotation

TParticlePropertyBuffer<FParticlePositionRotation,EChaosProperty::XR> Chaos::FGeometryParticleStateBase::ParticlePositionRotation

Setting bNoEntryIsHead = false in TParticlePropertyBuffer allows us to not cache the data each frame and it will only return entries for a specific frame when fetched For example, we don't need to cache a kinematic target that is set to None, instead we only cache when it's not set to None and if we don't have an entry for a specific frame we can expect it to be a None kinematic target. Note that bNoEntryIsHead = true (which is default) will return the latest cached entry closest to the requested frame and phase without returning an earlier entry.

◆ PreCorrectionXR

FParticlePositionRotation Chaos::FGeometryParticleStateBase::PreCorrectionXR

◆ ShapesArrayState

FShapesArrayStateBase Chaos::FGeometryParticleStateBase::ShapesArrayState

◆ TargetPositions

TParticlePropertyBuffer<FParticlePositionRotation, EChaosProperty::XR, false> Chaos::FGeometryParticleStateBase::TargetPositions

◆ TargetStates

TParticlePropertyBuffer<FParticleDynamicMisc, EChaosProperty::DynamicMisc, false> Chaos::FGeometryParticleStateBase::TargetStates

◆ TargetVelocities

TParticlePropertyBuffer<FParticleVelocities, EChaosProperty::Velocities, false> Chaos::FGeometryParticleStateBase::TargetVelocities

◆ Velocities

TParticlePropertyBuffer<FParticleVelocities,EChaosProperty::Velocities> Chaos::FGeometryParticleStateBase::Velocities

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