Navigation
Unreal Engine C++ API Reference > Runtime > Chaos
References
Module | Chaos |
Header | /Engine/Source/Runtime/Experimental/Chaos/Public/RewindData.h |
Include | #include "RewindData.h" |
Syntax
class FRewindData
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FRewindData
(
FPBDRigidsSolver* InSolver, |
||
![]() |
FRewindData
(
FPBDRigidsSolver* InSolver, |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | AccumulateErrorIfNecessary
(
FGeometryParticleHandle& Obj, |
|
![]() |
void | AddInputHistory
(
const TSharedPtr< FBaseRewindHistory >& InputHistory |
Add input history to the rewind data for future use while resimulating |
![]() |
void | AddInputsHistory
(
const TSharedPtr< FBaseRewindHistory >& InputsHistory |
|
![]() |
void | AddStateHistory
(
const TSharedPtr< FBaseRewindHistory >& StateHistory |
Add state history to the rewind data for future use while rewinding |
![]() |
void | AddStatesHistory
(
const TSharedPtr< FBaseRewindHistory >& StatesHistory |
|
![]() |
void | AdvanceFrame
(
FReal DeltaTime, |
|
![]() |
void | ApplyInputs
(
const int32 ApplyFrame, |
Apply inputs for specified frame from rewind data |
![]() |
void | BlockResim () |
This blocks any future resimulation to rewind back past the frame this is called on |
![]() |
void | BufferPhysicsResults
(
TMap< const IPhysicsProxyBase*, struct FDirtyRigidParticleReplicationErrorData >& DirtyRigidEr... |
|
![]() ![]() |
int32 | Capacity () |
|
![]() ![]() |
bool | CheckQuaternionThreshold
(
FQuat A, |
|
![]() ![]() |
bool | CheckVectorThreshold
(
FVec3 A, |
|
![]() |
void | ClearPhaseAndFuture
(
FGeometryParticleHandle& Handle, |
Clear all the simulation history after Frame |
![]() |
const int32 | Check if we have received targets already for the last frame simulated, if so compare those with the result of the simulation and if they desync return the frame value to request a rewind for to correct the desync NOTE: This only happens when the client has desynced and is behind the server, so we receive server states for frames not yet simulated | |
![]() ![]() |
int32 | CurrentFrame () |
|
![]() |
void | DumpHistory_Internal
(
const int32 FramePrintOffset, |
|
![]() |
void | ExtendHistoryWithFrame
(
const int32 Frame |
Extend the current history size to be sure to include the given frame |
![]() |
void | ExtractHistoryState
(
FGeometryParticleHandle& Handle, |
Extract some history information before cleaning/pushing state |
![]() |
int32 | FindValidResimFrame
(
const int32 RequestedFrame |
Find the first previous valid frame having received physics target from the server |
![]() |
void | FinishFrame () |
|
![]() |
int32 | Get the latest frame resim has been blocked from rewinding past | |
![]() ![]() |
IResimCacheBase * | ||
![]() ![]() |
FReal | GetDeltaTimeForFrame
(
int32 Frame |
|
![]() ![]() |
int32 | ||
![]() ![]() |
int32 | ||
![]() ![]() |
int32 | ||
![]() ![]() |
int32 | Number of particles that we're currently storing history for. | |
![]() ![]() |
FJointState | GetPastJointStateAtFrame
(
const FPBDJointConstraintHandle& Handle, |
Query the state of joints from the past. Can only be used when not already resimming |
![]() ![]() |
FGeometryParticleState | GetPastStateAtFrame
(
const FGeometryParticleHandle& Handle, |
Query the state of particles from the past. Can only be used when not already resimming |
![]() |
int32 | Get and set the frame we resimulate from | |
![]() ![]() |
const FPBDRigidsSolver * | GetSolver () |
Return the rewind data solver |
![]() ![]() |
bool | Check if a resim cache based on IResimCacheBase (FEvolutionResimCache by default) is being used. | |
![]() |
void | Init
(
FPBDRigidsSolver* InSolver, |
|
![]() |
void | Init
(
FPBDRigidsSolver* InSolver, |
|
![]() ![]() |
bool | IsFinalResim () |
|
![]() ![]() |
bool | IsResim () |
|
![]() |
void | MarkDirtyFromPT
(
FGeometryParticleHandle& Handle |
|
![]() |
void | MarkDirtyJointFromPT
(
FPBDJointConstraintHandle& Handle |
|
![]() |
void | PushGTDirtyData
(
const FDirtyPropertiesManager& SrcManager, |
|
![]() |
void | PushPTDirtyData
(
TPBDRigidParticleHandle< FReal, 3 >& Rigid, |
|
![]() |
void | PushStateAtFrame
(
FGeometryParticleHandle& Handle, |
Push a physics state in the rewind data at specified frame |
![]() |
void | RemoveInputHistory
(
const TSharedPtr< FBaseRewindHistory >& InputHistory |
Remove input history from the rewind data |
![]() |
void | RemoveInputsHistory
(
const TSharedPtr< FBaseRewindHistory >& InputsHistory |
|
![]() |
void | RemoveObject
(
const FGeometryParticleHandle* Particle, |
|
![]() |
void | RemoveObject
(
const FGeometryParticleHandle* Particle, |
|
![]() |
void | RemoveObject
(
const FPBDJointConstraintHandle* Joint, |
|
![]() |
void | RemoveObject
(
const FPBDJointConstraintHandle* Joint, |
|
![]() |
void | RemoveStateHistory
(
const TSharedPtr< FBaseRewindHistory >& StateHistory |
Remove state history from the rewind data |
![]() |
void | RemoveStatesHistory
(
const TSharedPtr< FBaseRewindHistory >& StatesHistory |
|
![]() |
void | RestoreHistoryState
(
FGeometryParticleHandle& Handle, |
Restore some history information after cleaning/pushing state |
![]() |
void | RewindStates
(
const int32 RewindFrame, |
Rewind to state for a specified frame from rewind data |
![]() |
void | SetResimFrame
(
int32 Frame |
|
![]() |
void | SetRewindDataOptimization
(
bool InRewindDataOptimization |
Set if RewindData optimizations should be enabled or not. |
![]() |
void | SetTargetStateAtFrame
(
FGeometryParticleHandle& Handle, |
|
![]() |
void | SpawnProxyIfNeeded
(
FSingleParticlePhysicsProxy& Proxy |
Typedefs
Name | Description |
---|---|
FDirtyJointInfo | |
FDirtyParticleInfo |