UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosResultsManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
5
6namespace Chaos
7{
8 class FChaosMarshallingManager;
9
12
18
24
30
61
63
65 {
66 public:
70
72
75
77
78 private:
79
81
82 CHAOS_API FPullPhysicsData* PopPullData_External(int32 ChannelIdx);
83 CHAOS_API void FreePullData_External(FPullPhysicsData* PullData, int32 ChannelIdx);
84
86 FChaosMarshallingManager& MarshallingManager;
87
88 static constexpr int32 MaxNumChannels = 2;
89
90 struct FPullDataQueueInfo
91 {
92 FPullDataQueueInfo(FPullPhysicsData* Data, int32 NumActiveChannels)
93 : PullData(Data)
94 {
95 for(int32 Idx = 0; Idx < NumActiveChannels; ++Idx)
96 {
97 bHasPopped[Idx] = false;
98 bPendingFree[Idx] = false;
99 }
100
101 //inactive channels are treated like they've already consumed the data
102 for (int32 Idx = NumActiveChannels; Idx < MaxNumChannels; ++Idx)
103 {
104 bHasPopped[Idx] = true;
105 bPendingFree[Idx] = true;
106 }
107 }
108
109 FPullDataQueueInfo(FPullDataQueueInfo& Other) = delete;
110 FPullDataQueueInfo(FPullDataQueueInfo&& Other) = default;
111
112 FPullPhysicsData* PullData;
113 bool bHasPopped[MaxNumChannels];
114 bool bPendingFree[MaxNumChannels];
115 };
116
117 TArray<FPullDataQueueInfo> InternalQueue;
118 int32 NumActiveChannels;
119 TArray<FRealSingle> PerChannelTimeDelay;
120 };
121}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition ChaosMarshallingManager.h:314
Definition ChaosResultsManager.h:65
CHAOS_API void RemoveProxy_External(FSingleParticlePhysicsProxy *Proxy)
Definition ChaosResultsManager.cpp:436
CHAOS_API TArray< const FChaosInterpolationResults * > PullAsyncPhysicsResults_External(const FReal ResultsTime)
Definition ChaosResultsManager.cpp:335
CHAOS_API const FChaosInterpolationResults & PullSyncPhysicsResults_External()
Definition ChaosResultsManager.cpp:233
CHAOS_API ~FChaosResultsManager()
Definition ChaosResultsManager.cpp:515
FChaosResultsManager(const FChaosResultsManager &Other)=delete
FChaosResultsManager(FChaosResultsManager &&Other)=default
Definition PullPhysicsDataImp.h:166
Definition SingleParticlePhysicsProxy.h:58
Definition Array.h:670
Definition SkeletalMeshComponent.h:307
FRealDouble FReal
Definition Real.h:22
float FRealSingle
Definition Real.h:14
int32 DefaultNumActiveChannels
Definition ChaosResultsManager.cpp:280
FRealSingle SecondChannelDelay
Definition ChaosResultsManager.cpp:277
Definition ChaosResultsManager.h:26
FDirtyClusterUnionData Next
Definition ChaosResultsManager.h:28
FDirtyClusterUnionData Prev
Definition ChaosResultsManager.h:27
Definition ChaosResultsManager.h:20
FDirtyGeometryCollectionData Prev
Definition ChaosResultsManager.h:21
FDirtyGeometryCollectionData Next
Definition ChaosResultsManager.h:22
Definition ChaosResultsManager.h:32
TArray< FChaosGeometryCollectionInterpolationData > GeometryCollectionInterpolations
Definition ChaosResultsManager.h:55
FRealSingle Alpha
Definition ChaosResultsManager.h:59
TArray< FChaosRigidInterpolationData > RigidInterpolations
Definition ChaosResultsManager.h:54
FChaosInterpolationResults()
Definition ChaosResultsManager.h:33
TArray< FChaosClusterUnionInterpolationData > ClusterUnionInterpolations
Definition ChaosResultsManager.h:56
FPullPhysicsData * Prev
Definition ChaosResultsManager.h:57
FChaosInterpolationResults(const FChaosInterpolationResults &Other)=delete
FChaosInterpolationResults(FChaosInterpolationResults &&Other)
Definition ChaosResultsManager.h:40
CHAOS_API void Reset()
Definition ChaosResultsManager.cpp:75
FPullPhysicsData * Next
Definition ChaosResultsManager.h:58
Definition ChaosResultsManager.cpp:22
Definition ChaosResultsManager.h:14
FDirtyRigidParticleData Next
Definition ChaosResultsManager.h:16
FDirtyRigidParticleData Prev
Definition ChaosResultsManager.h:15
Definition PullPhysicsDataImp.h:107
Definition PullPhysicsDataImp.h:68
Definition PullPhysicsDataImp.h:53