|
| | FRewindData (FPBDRigidsSolver *InSolver, int32 NumFrames, bool InRewindDataOptimization, int32 InCurrentFrame) |
| |
| | FRewindData (FPBDRigidsSolver *InSolver, int32 NumFrames, int32 InCurrentFrame) |
| |
| void | Init (FPBDRigidsSolver *InSolver, int32 NumFrames, bool InRewindDataOptimization, int32 InCurrentFrame) |
| |
| void | Init (FPBDRigidsSolver *InSolver, int32 NumFrames, int32 InCurrentFrame) |
| |
| int32 | Capacity () const |
| |
| int32 | CurrentFrame () const |
| |
| int32 | GetLatestFrame () const |
| |
| int32 | GetFramesSaved () const |
| |
| FReal | GetDeltaTimeForFrame (int32 Frame) const |
| |
| void | RemoveObject (const FGeometryParticleHandle *Particle, const EAllowShrinking AllowShrinking=EAllowShrinking::Default) |
| |
| FORCEINLINE void | RemoveObject (const FGeometryParticleHandle *Particle, const bool bAllowShrinking) |
| |
| void | RemoveObject (const FPBDJointConstraintHandle *Joint, const EAllowShrinking AllowShrinking=EAllowShrinking::Default) |
| |
| FORCEINLINE void | RemoveObject (const FPBDJointConstraintHandle *Joint, const bool bAllowShrinking) |
| |
| int32 | GetEarliestFrame_Internal () const |
| |
| void CHAOS_API | ExtendHistoryWithFrame (const int32 Frame) |
| |
| void CHAOS_API | ClearPhaseAndFuture (FGeometryParticleHandle &Handle, int32 Frame, FFrameAndPhase::EParticleHistoryPhase Phase) |
| |
| void CHAOS_API | PushStateAtFrame (FGeometryParticleHandle &Handle, int32 Frame, FFrameAndPhase::EParticleHistoryPhase Phase, const FVector &Position, const FQuat &Quaternion, const FVector &LinVelocity, const FVector &AngVelocity, const bool bShouldSleep) |
| |
| void CHAOS_API | SetTargetStateAtFrame (FGeometryParticleHandle &Handle, const int32 Frame, FFrameAndPhase::EParticleHistoryPhase Phase, const FVector &Position, const FQuat &Quaternion, const FVector &LinVelocity, const FVector &AngVelocity, const bool bShouldSleep) |
| |
| void | ExtractHistoryState (FGeometryParticleHandle &Handle, int32 &PositionValidCount, int32 &VelocityValidCount, int32 &PositionNextIterator, int32 &VelocityNextIterator) |
| |
| void | RestoreHistoryState (FGeometryParticleHandle &Handle, const int32 &PositionValidCount, const int32 &VelocityValidCount, const int32 &PositionNextIterator, const int32 &VelocityNextIterator) |
| |
| FGeometryParticleState CHAOS_API | GetPastStateAtFrame (const FGeometryParticleHandle &Handle, int32 Frame, FFrameAndPhase::EParticleHistoryPhase Phase=FFrameAndPhase::EParticleHistoryPhase::PostPushData) const |
| |
| FJointState CHAOS_API | GetPastJointStateAtFrame (const FPBDJointConstraintHandle &Handle, int32 Frame, FFrameAndPhase::EParticleHistoryPhase Phase=FFrameAndPhase::EParticleHistoryPhase::PostPushData) const |
| |
| IResimCacheBase * | GetCurrentStepResimCache () const |
| |
| void CHAOS_API | DumpHistory_Internal (const int32 FramePrintOffset, const FString &Filename=FString(TEXT("Dump"))) |
| |
| bool | GetUseCollisionResimCache () const |
| |
| template<typename CreateCache > |
| void | AdvanceFrame (FReal DeltaTime, const CreateCache &CreateCacheFunc) |
| |
| void | FinishFrame () |
| |
| bool | IsResim () const |
| |
| bool | IsFinalResim () const |
| |
| int32 | GetNumDirtyParticles () const |
| |
| void | PushGTDirtyData (const FDirtyPropertiesManager &SrcManager, const int32 SrcDataIdx, const FDirtyProxy &Dirty, const FShapeDirtyData *ShapeDirtyData) |
| |
| void | PushPTDirtyData (TPBDRigidParticleHandle< FReal, 3 > &Rigid, const int32 SrcDataIdx) |
| |
| void CHAOS_API | MarkDirtyFromPT (FGeometryParticleHandle &Handle) |
| |
| void CHAOS_API | MarkDirtyJointFromPT (FPBDJointConstraintHandle &Handle) |
| |
| void CHAOS_API | SpawnProxyIfNeeded (FSingleParticlePhysicsProxy &Proxy) |
| |
| void | AddInputHistory (const TSharedPtr< FBaseRewindHistory > &InputHistory) |
| |
| void | RemoveInputHistory (const TSharedPtr< FBaseRewindHistory > &InputHistory) |
| |
| void | AddInputHistory (const TSharedPtr< FBaseRewindHistory > &InputHistory, Chaos::FGeometryParticleHandle *Particle) |
| |
| void | RemoveInputHistory (const TSharedPtr< FBaseRewindHistory > &InputHistory, Chaos::FGeometryParticleHandle *Particle) |
| |
| void | AddStateHistory (const TSharedPtr< FBaseRewindHistory > &StateHistory) |
| |
| void | RemoveStateHistory (const TSharedPtr< FBaseRewindHistory > &StateHistory) |
| |
| void | AddStateHistory (const TSharedPtr< FBaseRewindHistory > &StateHistory, Chaos::FGeometryParticleHandle *Particle) |
| |
| void | RemoveStateHistory (const TSharedPtr< FBaseRewindHistory > &StateHistory, Chaos::FGeometryParticleHandle *Particle) |
| |
| void | ApplyInputs (const int32 ApplyFrame, const bool bResetSolver) |
| |
| void | RewindStates (const int32 RewindFrame, const bool bResetSolver) |
| |
| void | BufferPhysicsResults (TMap< const IPhysicsProxyBase *, struct FDirtyRigidParticleReplicationErrorData > &DirtyRigidErrors) |
| |
| const FPBDRigidsSolver * | GetSolver () const |
| |
| int32 CHAOS_API | FindValidResimFrame (const int32 RequestedFrame) |
| |
| const int32 | GetResimFrame () const |
| |
| void | SetResimFrame (int32 Frame) |
| |
| bool | IsFrameWithinRewindHistory (int32 Frame) |
| |
| void CHAOS_API | RequestResimulation (int32 RequestedFrame, Chaos::FGeometryParticleHandle *Particle=nullptr) |
| |
| void | BlockResim () |
| |
| const int32 | GetBlockedResimFrame () const |
| |
| void | SetRewindDataOptimization (bool InRewindDataOptimization) |
| |
| const int32 CHAOS_API | CompareTargetsToLastFrame () |
| |
| template<> |
| void | AccumulateErrorIfNecessary (FGeometryParticleHandle &Obj, const FFrameAndPhase FrameAndPhase) |
| |
Called just before Proxy::PushToPhysicsState is called
When using optimization, if this is the first time the particle is dirtied, cache the particles current state and register as dirty
When using optimization, if this is the first time the joint is dirtied, cache the joints current state and register as dirty
Called post solve but just before PQ are applied to XR
When using optimization, mark particle as dirty and then rely on FRewindData::CacheCurrentDirtyData() to cache PrePushData If this is a new entry in the dirty particles collection, cache now since CacheCurrentDirtyData for PrePushData has already happened this frame
This is called post-solve but before PQ are applied on XR If this is a kinematic moving object XR have been updated already in the integrate step via KinematicTarget and the velocity has been updated based on the XR change Get the pre-solve state of moving kinematic particles by stepping their XR back one step via their velocities.