UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SolverEventFilters.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "Chaos/Real.h"
7#include "SolverEventFilters.generated.h"
8
9
10
11
12 USTRUCT(Blueprintable)
14 {
16
18 : FilterEnabled(false)
19 , MinMass(0.0f)
20 , MinSpeed(0.f)
21 , MinVolume(0.f)
22 {}
23
25 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|TrailingData Generation")
26 bool FilterEnabled;
27
29 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|TrailingData Generation", meta = (DisplayName = "Min Mass Threshold"))
30 float MinMass;
31
33 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|TrailingData Generation", meta = (DisplayName = "Min Speed Threshold"))
34 float MinSpeed;
35
37 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|TrailingData Generation", meta = (DisplayName = "Min Volume Threshold"))
38 float MinVolume;
39 };
40
41 USTRUCT(BlueprintType)
43 {
45
47 : FilterEnabled(false)
48 , MinMass(0.0f)
49 , MinSpeed(0.0f)
50 , MinImpulse(0.0f)
51 {}
52
54 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|CollisionData Generation")
55 bool FilterEnabled;
56
58 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|CollisionData Generation", meta = (DisplayName = "Min Mass Threshold"))
59 float MinMass;
60
62 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|CollisionData Generation", meta = (DisplayName = "Min Speed Threshold"))
63 float MinSpeed;
64
66 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|CollisionData Generation", meta = (DisplayName = "Min Impulse Threshold"))
67 float MinImpulse;
68
69 };
70
71 USTRUCT(BlueprintType)
73 {
75
77 : FilterEnabled(false)
78 , MinMass(0.0f)
79 , MinSpeed(0.0f)
80 , MinVolume(0.0f)
81 {}
82
84 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|BreakingData Generation")
85 bool FilterEnabled;
86
88 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|BreakingData Generation", meta = (DisplayName = "Min Mass Threshold"))
89 float MinMass;
90
92 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|BreakingData Generation", meta = (DisplayName = "Min Speed Threshold"))
93 float MinSpeed;
94
95 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|BreakingData Generation", meta = (DisplayName = "Min Volume Threshold"))
96 float MinVolume;
97
98 };
99
100 USTRUCT(BlueprintType)
102 {
104
106 : FilterEnabled(false)
107 , MinMass(0.0f)
108 , MinVolume(0.0f)
109 {}
110
112 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|BreakingData Generation")
113 bool FilterEnabled;
114
116 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|BreakingData Generation", meta = (DisplayName = "Min Mass Threshold"))
117 float MinMass;
118
119 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "ChaosPhysics|BreakingData Generation", meta = (DisplayName = "Min Volume Threshold"))
120 float MinVolume;
121
122 };
123
124
125namespace Chaos
126{
127
128 struct FCollidingData;
129
130 struct FTrailingData;
131
132 struct FBreakingData;
133
134 struct FRemovalData;
135
148
161
174
187
188
193 {
194 public:
196 : CollisionFilter(new FSolverCollisionEventFilter())
197 , BreakingFilter(new FSolverBreakingEventFilter())
198 , TrailingFilter(new FSolverTrailingEventFilter())
199 , RemovalFilter(new FSolverRemovalEventFilter())
200 , CollisionEventsEnabled(false)
201 , BreakingEventsEnabled(false)
202 , TrailingEventsEnabled(false)
203 , RemovalEventsEnabled(false)
204 {}
205
206 void SetGenerateCollisionEvents(bool bDoGenerate) { CollisionEventsEnabled = bDoGenerate; }
207 void SetGenerateBreakingEvents(bool bDoGenerate) { BreakingEventsEnabled = bDoGenerate; }
208 void SetGenerateTrailingEvents(bool bDoGenerate) { TrailingEventsEnabled = bDoGenerate; }
209 void SetGenerateRemovalEvents(bool bDoGenerate) { RemovalEventsEnabled = bDoGenerate; }
210
211 /* Const access */
212 FSolverCollisionEventFilter* GetCollisionFilter() const { return CollisionFilter.Get(); }
213 FSolverBreakingEventFilter* GetBreakingFilter() const { return BreakingFilter.Get(); }
214 FSolverTrailingEventFilter* GetTrailingFilter() const { return TrailingFilter.Get(); }
215 FSolverRemovalEventFilter* GetRemovalFilter() const { return RemovalFilter.Get(); }
216
217 /* non-const access */
218 FSolverCollisionEventFilter* GetCollisionFilter() { return CollisionFilter.Get(); }
219 FSolverBreakingEventFilter* GetBreakingFilter() { return BreakingFilter.Get(); }
220 FSolverTrailingEventFilter* GetTrailingFilter() { return TrailingFilter.Get(); }
221 FSolverRemovalEventFilter* GetRemovalFilter() { return RemovalFilter.Get(); }
222
223 bool IsCollisionEventEnabled() const { return CollisionEventsEnabled; }
224 bool IsBreakingEventEnabled() const { return BreakingEventsEnabled; }
225 bool IsTrailingEventEnabled() const { return TrailingEventsEnabled; }
226 bool IsRemovalEventEnabled() const { return RemovalEventsEnabled; }
227
228 private:
229
234
235 bool CollisionEventsEnabled;
236 bool BreakingEventsEnabled;
237 bool TrailingEventsEnabled;
238 bool RemovalEventsEnabled;
239 };
240
241
242} // namespace Chaos
int Volume
Definition AndroidPlatformMisc.cpp:380
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition SolverEventFilters.h:163
FSolverBreakingEventFilter()
Definition SolverEventFilters.h:165
void UpdateFilterSettings(const FSolverBreakingFilterSettings &InSettings)
Definition SolverEventFilters.h:170
bool Enabled() const
Definition SolverEventFilters.h:169
FSolverBreakingEventFilter(const FSolverBreakingFilterSettings &InSettings)
Definition SolverEventFilters.h:166
FSolverBreakingFilterSettings Settings
Definition SolverEventFilters.h:172
Definition SolverEventFilters.h:137
bool Enabled() const
Definition SolverEventFilters.h:143
FSolverCollisionFilterSettings Settings
Definition SolverEventFilters.h:146
FSolverCollisionEventFilter()
Definition SolverEventFilters.h:139
FSolverCollisionEventFilter(const FSolverCollisionFilterSettings &InSettings)
Definition SolverEventFilters.h:140
void UpdateFilterSettings(const FSolverCollisionFilterSettings &InSettings)
Definition SolverEventFilters.h:144
Definition SolverEventFilters.h:193
FSolverTrailingEventFilter * GetTrailingFilter()
Definition SolverEventFilters.h:220
void SetGenerateTrailingEvents(bool bDoGenerate)
Definition SolverEventFilters.h:208
FSolverCollisionEventFilter * GetCollisionFilter() const
Definition SolverEventFilters.h:212
bool IsTrailingEventEnabled() const
Definition SolverEventFilters.h:225
FSolverRemovalEventFilter * GetRemovalFilter()
Definition SolverEventFilters.h:221
FSolverCollisionEventFilter * GetCollisionFilter()
Definition SolverEventFilters.h:218
bool IsBreakingEventEnabled() const
Definition SolverEventFilters.h:224
FSolverEventFilters()
Definition SolverEventFilters.h:195
FSolverBreakingEventFilter * GetBreakingFilter()
Definition SolverEventFilters.h:219
bool IsRemovalEventEnabled() const
Definition SolverEventFilters.h:226
void SetGenerateRemovalEvents(bool bDoGenerate)
Definition SolverEventFilters.h:209
void SetGenerateBreakingEvents(bool bDoGenerate)
Definition SolverEventFilters.h:207
FSolverRemovalEventFilter * GetRemovalFilter() const
Definition SolverEventFilters.h:215
bool IsCollisionEventEnabled() const
Definition SolverEventFilters.h:223
void SetGenerateCollisionEvents(bool bDoGenerate)
Definition SolverEventFilters.h:206
FSolverBreakingEventFilter * GetBreakingFilter() const
Definition SolverEventFilters.h:213
FSolverTrailingEventFilter * GetTrailingFilter() const
Definition SolverEventFilters.h:214
Definition SolverEventFilters.h:176
void UpdateFilterSettings(const FSolverRemovalFilterSettings &InSettings)
Definition SolverEventFilters.h:183
FSolverRemovalFilterSettings Settings
Definition SolverEventFilters.h:185
FSolverRemovalEventFilter()
Definition SolverEventFilters.h:178
FSolverRemovalEventFilter(const FSolverRemovalFilterSettings &InSettings)
Definition SolverEventFilters.h:179
bool Enabled() const
Definition SolverEventFilters.h:182
Definition SolverEventFilters.h:150
FSolverTrailingFilterSettings Settings
Definition SolverEventFilters.h:159
FSolverTrailingEventFilter()
Definition SolverEventFilters.h:152
bool Enabled() const
Definition SolverEventFilters.h:156
FSolverTrailingEventFilter(const FSolverTrailingFilterSettings &InSettings)
Definition SolverEventFilters.h:153
void UpdateFilterSettings(const FSolverTrailingFilterSettings &InSettings)
Definition SolverEventFilters.h:157
Definition UniquePtr.h:107
Definition SkeletalMeshComponent.h:307
@ false
Definition radaudio_common.h:23
Definition ExternalCollisionData.h:213
Definition ExternalCollisionData.h:57
Definition ExternalCollisionData.h:470
Definition ExternalCollisionData.h:348
Definition SolverEventFilters.h:73
Definition SolverEventFilters.h:43
Definition SolverEventFilters.h:102
Definition SolverEventFilters.h:14