Navigation
API > API/Runtime > API/Runtime/Chaos
Manages data that gets marshaled from GT to PT using a timestamp
| Name | FChaosMarshallingManager |
| Type | class |
| Header File | /Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/ChaosMarshallingManager.h |
| Include Path | #include "Chaos/ChaosMarshallingManager.h" |
Syntax
class FChaosMarshallingManager
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FChaosMarshallingManager() |
Chaos/ChaosMarshallingManager.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FChaosMarshallingManager() |
Chaos/ChaosMarshallingManager.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| BackingBuffer | TArray< TUniquePtr< FPushPhysicsData > > | Chaos/ChaosMarshallingManager.h | ||
| BackingPullBuffer | TArray< TUniquePtr< FPullPhysicsData > > | Chaos/ChaosMarshallingManager.h | ||
| ConsumerData | FPushPhysicsData * | Push | Chaos/ChaosMarshallingManager.h | |
| CurPullData | FPullPhysicsData * | Pull | Chaos/ChaosMarshallingManager.h | |
| Delay | std::atomic< int32 > | Chaos/ChaosMarshallingManager.h | ||
| ExternalQueue | TArray< FPushPhysicsData * > | Chaos/ChaosMarshallingManager.h | ||
| ExternalTime_External | std::atomic< FReal > | Chaos/ChaosMarshallingManager.h | ||
| ExternalTimestamp_External | std::atomic< int32 > | Chaos/ChaosMarshallingManager.h | ||
| HistoryLength | int32 | Chaos/ChaosMarshallingManager.h | ||
| HistoryQueue_Internal | TArray< FPushPhysicsData * > | Chaos/ChaosMarshallingManager.h | ||
| InternalStep_External | std::atomic< int32 > | Chaos/ChaosMarshallingManager.h | ||
| MarshallingManagerLock | FRWLock | Used for multithreaded access | Chaos/ChaosMarshallingManager.h | |
| ProducerData | FPushPhysicsData * | Chaos/ChaosMarshallingManager.h | ||
| PullDataPool | TSpscQueue< FPullPhysicsData * > | Chaos/ChaosMarshallingManager.h | ||
| PullDataQueue | TSpscQueue< FPullPhysicsData * > | Chaos/ChaosMarshallingManager.h | ||
| PushDataPool | TSpscQueue< FPushPhysicsData * > | Chaos/ChaosMarshallingManager.h | ||
| SimCommandsScheduled_Internal | TArray< FSimCallbackCommandObject * > | Chaos/ChaosMarshallingManager.h | ||
| SimTime_External | std::atomic< FReal > | Chaos/ChaosMarshallingManager.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddDirtyProxiesUnsafe
(
TProxiesArray& ProxiesArray |
Batch dirty proxies without checking DirtyIdx. | Chaos/ChaosMarshallingManager.h | |
void AddDirtyProxy
(
IPhysicsProxyBase* ProxyBaseIn |
Chaos/ChaosMarshallingManager.h | ||
void AddDirtyProxyShape
(
IPhysicsProxyBase* ProxyBaseIn, |
Chaos/ChaosMarshallingManager.h | ||
void AddSimCallbackInputData_External
(
ISimCallbackObject* SimCallbackObject, |
Chaos/ChaosMarshallingManager.h | ||
void EnqueueCommandScheduled_Internal
(
FSimCallbackCommandObject* SimCommand |
Chaos/ChaosMarshallingManager.h | ||
void FinalizePullData_Internal
(
int32 LatestExternalTimestampConsumed, |
Hands pull data off to external thread | Chaos/ChaosMarshallingManager.h | |
void FreeData_Internal
(
FPushPhysicsData* PushData |
Frees the push data back into the pool. | Chaos/ChaosMarshallingManager.h | |
void FreeDataToHistory_Internal
(
FPushPhysicsData* PushData |
May record data to history, or may free immediately depending on rewind needs. | Chaos/ChaosMarshallingManager.h | |
void FreePullData_External
(
FPullPhysicsData* PullData |
Frees the pull data back into the pool. | Chaos/ChaosMarshallingManager.h | |
FPushPhysicsData * GetConsumerData_Internal() |
Grabs the consumer data to read from. Should only be called by internal thread | Chaos/ChaosMarshallingManager.h | |
| Returns the current pull data being written to. | Chaos/ChaosMarshallingManager.h | ||
const FDirtyProxiesBucketInfo & GetDirtyProxyBucketInfo_External() |
Chaos/ChaosMarshallingManager.h | ||
int32 GetDirtyProxyBucketInfoNum_External
(
EPhysicsProxyType Type |
Chaos/ChaosMarshallingManager.h | ||
FReal GetExternalTime_External () |
Returns the amount of external time pushed so far. | Chaos/ChaosMarshallingManager.h | |
int32 GetExternalTimestamp_External() |
Returns the timestamp associated with inputs enqueued. | Chaos/ChaosMarshallingManager.h | |
int32 GetInternalStep_External() |
Returns the internal step that the current PushData will be associated with once it is marshalled over | Chaos/ChaosMarshallingManager.h | |
FRWLock & GetMarshallingManagerLock() |
Used for multithreaded access | Chaos/ChaosMarshallingManager.h | |
int32 GetNumHistory_Internal() |
Return the size of the history queue | Chaos/ChaosMarshallingManager.h | |
FPushPhysicsData * GetProducerData_External() |
Grabs the producer data to write into. Should only be called by external thread | Chaos/ChaosMarshallingManager.h | |
TArray< FSimCallbackCommandObject * > & GetSimCommandsScheduled_Internal() |
Chaos/ChaosMarshallingManager.h | ||
| Pops and returns the earliest pull data available. | Chaos/ChaosMarshallingManager.h | ||
void RegisterSimCallbackObject_External
(
ISimCallbackObject* SimCallbackObject |
Chaos/ChaosMarshallingManager.h | ||
void RegisterSimCommand_External
(
FSimCallbackCommandObject* SimCommand |
Chaos/ChaosMarshallingManager.h | ||
void RemoveDirtyProxy
(
IPhysicsProxyBase* ProxyBaseIn |
Chaos/ChaosMarshallingManager.h | ||
void RemoveDirtyProxyFromHistory_Internal
(
IPhysicsProxyBase* ProxyBaseIn |
Chaos/ChaosMarshallingManager.h | ||
void RemoveDirtyProxyIfNoShapesAreDirty
(
IPhysicsProxyBase* ProxyBaseIn |
Chaos/ChaosMarshallingManager.h | ||
void SetConsumerData_Internal
(
FPushPhysicsData* InPushData |
Sets a new internal consumer data to read from. Should only be called by internal thread | Chaos/ChaosMarshallingManager.h | |
void SetHistoryLength_Internal
(
int32 InHistoryLength |
Chaos/ChaosMarshallingManager.h | ||
void SetNumDirtyShapes
(
IPhysicsProxyBase* Proxy, |
Chaos/ChaosMarshallingManager.h | ||
void SetTickDelay_External
(
int32 InDelay |
Used to delay marshalled data. This is mainly used for testing at the moment | Chaos/ChaosMarshallingManager.h | |
TArray< FPushPhysicsData * > StealHistory_Internal
(
int32 NumFrames |
Returns the history buffer of the latest NumFrames. | Chaos/ChaosMarshallingManager.h | |
void Step_External
(
FReal ExternalDT, |
Step forward using the external delta time. Should only be called by external thread | Chaos/ChaosMarshallingManager.h | |
FPushPhysicsData * StepInternalTime_External() |
Step the internal time forward if possible | Chaos/ChaosMarshallingManager.h | |
void UnregisterSimCallbackObject_External
(
ISimCallbackObject* SimCallbackObject |
Chaos/ChaosMarshallingManager.h |