UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PerParticleRule.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
7
8namespace Chaos
9{
10
18{
19 public:
20 void Apply(FParticles& InParticles, const FReal Dt) const override
21 {
23 }
24
25 void Apply(FDynamicParticles& InParticles, const FReal Dt) const override
26 {
28 }
29
30 void Apply(FPBDParticles& InParticles, const FReal Dt) const override
31 {
33 }
34
35 template<class T_PARTICLES>
37 {
39 Apply(InParticles, Dt, Index);
40 });
41 }
42
43 virtual void Apply(FParticles& InParticles, const FReal Dt, const int Index) const { check(0); };
44 virtual void Apply(FDynamicParticles& InParticles, const FReal Dt, const int Index) const { Apply(static_cast<FParticles&>(InParticles), Dt, Index); };
45 virtual void Apply(FPBDParticles& InParticles, const FReal Dt, const int Index) const { Apply(static_cast<FDynamicParticles&>(InParticles), Dt, Index); };
46 virtual void Apply(TRigidParticles<FReal, 3>& InParticles, const FReal Dt, const int Index) const { Apply(static_cast<FParticles&>(InParticles), Dt, Index); };
47 virtual void Apply(FPBDRigidParticles& InParticles, const FReal Dt, const int Index) const { Apply(static_cast<TRigidParticles<FReal, 3>&>(InParticles), Dt, Index); };
48
49 virtual void Apply(TPBDRigidParticleHandle<FReal, 3>* Particle, const FReal Dt) const { check(0); }
50 virtual void Apply(TTransientPBDRigidParticleHandle<FReal, 3>& Particle, const FReal Dt) const { check(0); }
51};
52
53template<class T, int d>
54using TPerParticleRule UE_DEPRECATED(4.27, "Deprecated. this class is to be deleted, use FPerParticleRule instead") = FPerParticleRule;
55
56}
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
Definition ParticleRule.h:33
Definition PerParticleRule.h:18
virtual void Apply(FPBDRigidParticles &InParticles, const FReal Dt, const int Index) const
Definition PerParticleRule.h:47
virtual void Apply(FDynamicParticles &InParticles, const FReal Dt, const int Index) const
Definition PerParticleRule.h:44
virtual void Apply(TRigidParticles< FReal, 3 > &InParticles, const FReal Dt, const int Index) const
Definition PerParticleRule.h:46
void Apply(FParticles &InParticles, const FReal Dt) const override
Definition PerParticleRule.h:20
void ApplyPerParticle(T_PARTICLES &InParticles, const FReal Dt) const
Definition PerParticleRule.h:36
void Apply(FPBDParticles &InParticles, const FReal Dt) const override
Definition PerParticleRule.h:30
void Apply(FDynamicParticles &InParticles, const FReal Dt) const override
Definition PerParticleRule.h:25
virtual void Apply(FParticles &InParticles, const FReal Dt, const int Index) const
Definition PerParticleRule.h:43
virtual void Apply(TPBDRigidParticleHandle< FReal, 3 > *Particle, const FReal Dt) const
Definition PerParticleRule.h:49
virtual void Apply(TTransientPBDRigidParticleHandle< FReal, 3 > &Particle, const FReal Dt) const
Definition PerParticleRule.h:50
virtual void Apply(FPBDParticles &InParticles, const FReal Dt, const int Index) const
Definition PerParticleRule.h:45
Definition DynamicParticles.h:11
Definition PBDParticles.h:12
Definition ParticleHandle.h:987
Definition PBDRigidParticles.h:22
Definition Particles.h:32
Definition RigidParticles.h:78
Definition SkeletalMeshComponent.h:307
void CHAOS_API PhysicsParallelFor(int32 InNum, TFunctionRef< void(int32)> InCallable, bool bForceSingleThreaded=false)
Definition Parallel.cpp:55
FRealDouble FReal
Definition Real.h:22
U16 Index
Definition radfft.cpp:71