Navigation
API > API/Runtime > API/Runtime/ChaosVDData
References
| Module | ChaosVDData |
| Header | /Engine/Source/Runtime/Experimental/ChaosVDData/Public/ChaosVDRecording.h |
| Include | #include "ChaosVDRecording.h" |
Syntax
struct FChaosVDRecording
Remarks
Struct that represents a recorded Physics simulation. It is currently populated while analyzing a Trace session
Variables
| Type | Name | Description | |
|---|---|---|---|
| bool | bIsLive | True if this recording is being populated from a live session | |
| TArray< FChaosVDGameFrameData > | GameFrames | ||
| TMap< int32, TMap< int32, FChaosVDSolverFrameData > > | GeneratedKeyFrameDataPerSolver | ||
| FChaosVDGeometryDataLoaded | GeometryDataLoaded | ||
| Chaos::VisualDebugger::FChaosVDArchiveHeader | HeaderData | ||
| TMap< uint32, Chaos::FConstImplicitObjectPtr > | ImplicitObjects | Id to Ptr map of all shared geometry data required to visualize | |
| std::atomic< uint64 > | LastUpdatedTimeAsCycle | Last Platform Cycle on which this recording was updated | |
| TSharedPtr< Chaos::VisualDebugger::FChaosVDSerializableNameTable > | NameTable | ||
| TMap< int32, TSharedPtr< FChaosVDParticleDataWrapper > > | ParticlesOnCurrentGeneratedKeyframe | Map that temporary holds generated particle data during the key frame generation process, keeping its memory allocation between generated frames | |
| TMap< int32, TArray< FChaosVDSolverFrameData > > | RecordedFramesDataPerSolver | ||
| TMap< int32, TArray< int32 > > | RecordedKeyFramesNumberPerSolver | ||
| FRWLock | RecordingDataLock | ||
| FString | SessionName | Session name of the trace session used to re-build this recording |
Constructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddFrameForSolver
(
const int32 SolverID, |
Adds a Solver Frame Data entry for a specific Solver ID. | |
| void | AddGameFrameData
(
const FChaosVDGameFrameData& InFrameData |
Adds a Game Frame Data entry. Creates a solver entry if it does not exist | |
| void | AddImplicitObject
(
const uint32 ID, |
Adds a shared Implicit Object to the recording | |
| void | AddImplicitObject
(
const uint32 ID, |
||
| void | AddImplicitObject
(
const uint32 ID, |
Adds an Implicit Object to the recording and takes ownership of it | |
| void | AddImplicitObject_Internal
(
const uint32 ID, |
||
| void | AddKeyFrameNumberForSolver
(
int32 SolverID, |
Stores a frame number of a solver that is a Key Frame - These are used when scrubbing to make sure the visualization is in sync with what was recorded | |
| void | AddKeyFrameNumberForSolver_AssumesLocked
(
int32 SolverID, |
||
| void | CollapseSolverFramesRange_AssumesLocked
(
int32 SolverID, |
Collapses the most important frame data from a range of solver frames into a single solver frame data | |
| int32 | FindFirstSolverKeyFrameNumberFromFrame_AssumesLocked
(
int32 SolverID, |
||
| void | GenerateAndStoreKeyframeForSolver_AssumesLocked
(
int32 SolverID, |
||
| const TArray< FChaosVDGameFrameData > & | Returns a reference to the array holding all the available game frames | ||
| int32 | Returns the current available Game Frames | ||
| int32 | |||
| int32 | GetAvailableSolverFramesNumber
(
int32 SolverID |
Returns the number of available frame data for the specified solver ID | |
| int32 | GetAvailableSolverFramesNumber_AssumesLocked
(
int32 SolverID |
||
| void | GetAvailableSolverIDsAtGameFrame
(
const FChaosVDGameFrameData& GameFrameData, |
||
| void | GetAvailableSolverIDsAtGameFrame_AssumesLocked
(
const FChaosVDGameFrameData& GameFrameData, |
||
| void | GetAvailableSolverIDsAtGameFrameNumber
(
int32 FrameNumber, |
Gathers all available solvers IDs at the given Game frame number | |
| void | GetAvailableSolverIDsAtGameFrameNumber_AssumesLocked
(
int32 FrameNumber, |
||
| const TMap< int32, TArray< FChaosVDSolverFrameData > > & | Returns a reference to the map containing the available solver data | ||
| int32 | Returns the current available recorded solvers number | ||
| FChaosVDGameFrameData * | GetGameFrameData_AssumesLocked
(
int32 FrameNumber |
Searches for a recorded Game frame at the specified cycle | |
| FChaosVDGameFrameData * | GetGameFrameDataAtCycle_AssumesLocked
(
uint64 Cycle |
Searches for a recorded Game frame at the specified cycle | |
| const TMap< uint32, TSharedPtr< const Chaos::FImplicitObject > > & | |||
| const TMap< uint32, Chaos::FConstImplicitObjectPtr > & | Returns a reference to the GeometryID-ImplicitObject map of this recording | ||
| const Chaos::VisualDebugger::FChaosVDArchiveHeader & | Returns the FArchive header used to read the serialized binary data | ||
| FChaosVDGameFrameData * | Returns a ptr to the last recorded game frame - This is a ptr to the array element. Do not store | ||
| uint64 | Returns the last Platform Cycle on which this recording was updated (A new frame was added) | ||
| int32 | GetLowestGameFrameAtSolverFrameNumber
(
int32 SolverID, |
Searches and returns the lowest game frame number at the specified solver frame | |
| int32 | GetLowestGameFrameNumberAtCycle
(
uint64 Cycle |
Searches and returns the lowest game frame number at the specified cycle | |
| int32 | GetLowestSolverFrameNumberAtCycle
(
int32 SolverID, |
Searches and returns the lowest frame number of a solver at the specified cycle | |
| int32 | GetLowestSolverFrameNumberAtCycle_AssumesLocked
(
int32 SolverID, |
||
| int32 | GetLowestSolverFrameNumberGameFrame
(
int32 SolverID, |
Searches and returns the lowest frame number of a solver at the specified cycle | |
| TSharedPtr< Chaos::VisualDebugger::FChaosVDSerializableNameTable > | Returns the name table instances used to de-duplicate strings serialization | ||
| FRWLock & | |||
| FChaosVDSolverFrameData * | GetSolverFrameData_AssumesLocked
(
int32 SolverID, |
Return a ptr to the existing solver frame data from the specified ID and Frame number | |
| FChaosVDSolverFrameData * | GetSolverFrameDataAtCycle_AssumesLocked
(
int32 SolverID, |
Return a ptr to the existing solver frame data from the specified ID and Frame number | |
| FString | GetSolverName
(
int32 SolverID |
Returns the name of the specified solver id | |
| FString | GetSolverName_AssumedLocked
(
int32 SolverID |
Returns the name of the specified solver id. Must be called from within a ReadLock | |
| bool | IsEmpty () |
Returns true if this recording does not have any usable data | |
| bool | IsLive () |
Returns true if this recording is being populated from a live session | |
| FChaosVDGeometryDataLoaded & | Called each time new geometry data becomes available in the recording - Mainly when a new frame is added from the Trace analysis | ||
| void | SetHeaderData
(
const Chaos::VisualDebugger::FChaosVDArchiveHeader& InNewHeader |
Sets the FArchive header used to read the serialized binary data | |
| void | SetIsLive
(
bool bNewIsLive |
Sets if this recording is being populated from a live session |