UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BVHParticles.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Chaos/Particles.h"
5#include "ChaosArchive.h"
7
8
9namespace Chaos
10{
12
13 template<class OBJECT_ARRAY, class LEAF_TYPE, class T, int d>
14 class TBoundingVolumeHierarchy;
15
16
17 template<class OBJECT_ARRAY, class LEAF_TYPE, class T, int d>
18 class TBoundingVolumeHierarchy;
19
20 template<class T, int d>
21 class TAABB;
22
23 class FBVHParticles final /*Note: removing this final has implications for serialization. See TImplicitObject*/ : public FParticles
24 {
25 public:
27 using FParticles::X;
29
34
37
39 {
40 return new FBVHParticles(*this);
41 }
42
45
47 {
48 return Ar.IsLoading() ? new FBVHParticles() : nullptr;
49 }
50
52
54 {
55 check(false); //Aggregate simplicial require FChaosArchive - check false by default
56 }
57
58 private:
60
62 };
63
69
71 {
72 Value.Serialize(Ar);
73 return Ar;
74 }
75
76
77 template<class T, int d>
79
81}
#define FORCEINLINE
Definition AndroidPlatform.h:140
#define check(expr)
Definition AssertionMacros.h:314
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 BVHParticles.h:24
const TArray< int32 > FindAllIntersections(const FAABB3 &Object) const
Definition BVHParticles.cpp:57
CHAOS_API FBVHParticles & operator=(const FBVHParticles &Other)
Definition BVHParticles.cpp:28
CHAOS_API void UpdateAccelerationStructures()
Definition BVHParticles.cpp:52
CHAOS_API FBVHParticles()
Definition BVHParticles.cpp:8
static FBVHParticles * SerializationFactory(FChaosArchive &Ar, FBVHParticles *BVHParticles)
Definition BVHParticles.h:46
void Serialize(FArchive &Ar)
Definition BVHParticles.h:53
CHAOS_API ~FBVHParticles()
Definition BVHParticles.cpp:23
FBVHParticles * NewCopy() const
Definition BVHParticles.h:38
Definition ChaosArchive.h:167
uint32 Size() const
Definition ArrayCollection.h:66
Definition BoundingVolumeHierarchy.h:60
Definition Particles.h:32
void AddParticles(const int32 Num)
Definition Particles.h:70
const TArrayCollectionArray< TVector< T, d > > & X() const
Definition Particles.h:117
virtual void Serialize(void *V, int64 Length) override
Definition ArchiveProxy.h:97
Definition Archive.h:1208
UE_FORCEINLINE_HINT bool IsLoading() const
Definition Archive.h:236
Definition Array.h:670
Definition SkeletalMeshComponent.h:307
FChaosArchive & operator<<(FChaosArchive &Ar, FRigidParticleControlFlags &Flags)
Definition RigidParticleControlFlags.cpp:15
FRealDouble FReal
Definition Real.h:22
TBVHParticles< FReal, 3 > FBVHParticlesFloat3
Definition BVHParticles.h:80
int32 CollisionParticlesBVHDepth
Definition PBDCollisionConstraints.cpp:38