UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosCollisionEventFilter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
6#include "ChaosFilter.h"
7#include "EventsData.h"
8#include "ChaosCollisionEventFilter.generated.h"
9
10// A collision event data structure
11USTRUCT(BlueprintType)
13{
15
16 // Location of the collision event
17 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
18 FVector Location;
19
20 // Normal of the collision event
21 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
23
24 // The velocity of object 1 of the collision event
25 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
26 FVector Velocity1;
27
28 // The velocity of object 2 of the collision event
29 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
30 FVector Velocity2;
31
32 // The mass of object 1 of the collision event
33 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
34 float Mass1;
35
36 // The mass of object 2 of the collision event
37 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
38 float Mass2;
39
40 // The accumulated impulse vector of the collision event
41 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Data")
43
45 : Location(FVector::ZeroVector)
46 , Normal(FVector::ZeroVector)
47 , Velocity1(FVector::ZeroVector)
48 , Velocity2(FVector::ZeroVector)
49 , Mass1(0.0f)
50 , Mass2(0.0f)
51 , Impulse(FVector::ZeroVector)
52 {
53 }
54};
55
56// Enumeration defining how to sort collision results
57UENUM(BlueprintType)
68
69// Settings used to define collision event requests
70USTRUCT(BlueprintType)
72{
74
75
76 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Filters")
77 int32 MaxNumberResults;
78
80 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Filters")
81 float MinMass;
82
84 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Filters")
85 float MinSpeed;
86
88 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Filters")
89 float MinImpulse;
90
92 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Filters")
94
96 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Sort")
98
100 : MaxNumberResults(0)
101 , MinMass(0.0f)
102 , MinSpeed(0.0f)
103 , MinImpulse(0.0f)
104 , MaxDistance(0.0f)
106 {}
107};
108
109class FChaosCollisionEventFilter : public IChaosEventFilter<Chaos::FCollisionDataArray, TArray<FChaosCollisionEventData>, EChaosCollisionSortMethod>
110 {
111public:
112
114
117
118private:
119 FChaosCollisionEventFilter() : CollisionEventRequestSettings(nullptr) { check(false); }
120 const FChaosCollisionEventRequestSettings* CollisionEventRequestSettings;
121};
@ Normal
Definition AndroidInputInterface.h:116
#define check(expr)
Definition AssertionMacros.h:314
EChaosCollisionSortMethod
Definition ChaosCollisionEventFilter.h:59
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
void Sort(T *First, const int32 Num, const PREDICATE_CLASS &Predicate)
Definition Sorting.h:78
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition ChaosCollisionEventFilter.h:110
FChaosCollisionEventFilter(FChaosCollisionEventRequestSettings *FilterSettingsIn)
Definition ChaosCollisionEventFilter.h:113
virtual GEOMETRYCOLLECTIONENGINE_API void FilterEvents(const FTransform &ChaosComponentTransform, const Chaos::FCollisionDataArray &RawCollisionDataArray) override
Definition ChaosCollisionEventFilter.cpp:6
virtual GEOMETRYCOLLECTIONENGINE_API void SortEvents(TArray< FChaosCollisionEventData > &InOutCollisionEvents, EChaosCollisionSortMethod SortMethod, const FTransform &InTransform) override
Definition ChaosCollisionEventFilter.cpp:78
Definition ChaosFilter.h:11
Definition ChaosCollisionEventFilter.h:13
Definition ChaosCollisionEventFilter.h:72