UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ISpatialAccelerationCollection.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
4#include "Chaos/Box.h"
7
8#include <tuple>
9
10namespace Chaos
11{
12 namespace Private
13 {
14 class FCollisionConstraintAllocator;
15 }
17 class FCollisionDetectorSettings;
18 class FSpatialAccelerationBroadPhase;
19 class IResimCacheBase;
20
21template <typename TPayloadType, typename T, int d>
22class ISpatialAccelerationCollection : public ISpatialAcceleration<TPayloadType, T, d>
23{
24public:
26
37
41
43 {
44 return (1 << BucketIdx) & ActiveBucketsMask;
45 }
46
48 void SetAllAsyncTasksComplete(bool State) { AllAsyncTasksComplete = State; }
49
56
58 {
59 check(false); //not implemented
60 }
61
62#if !UE_BUILD_SHIPPING
64#endif
65
66protected:
69};
70
71}
#define check(expr)
Definition AssertionMacros.h:314
#define UE_NONCOPYABLE(TypeName)
Definition CoreMiscDefines.h:457
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition CollisionContext.h:17
Definition SpatialAccelerationBroadPhase.h:335
Definition ResimCacheBase.h:11
Definition ISpatialAcceleration.h:166
Definition ISpatialAccelerationCollection.h:23
bool IsAllAsyncTasksComplete() const
Definition ISpatialAccelerationCollection.h:47
void DeepAssign(const ISpatialAccelerationCollection< TPayloadType, FReal, 3 > &Other)
Definition ISpatialAccelerationCollection.h:50
virtual ISpatialAcceleration< TPayloadType, T, d > * GetSubstructure(FSpatialAccelerationIdx Idx)=0
virtual void DeepAssign(const ISpatialAcceleration< TPayloadType, FReal, 3 > &Other) override
Definition ISpatialAccelerationCollection.h:57
bool AllAsyncTasksComplete
Definition ISpatialAccelerationCollection.h:68
void SetAllAsyncTasksComplete(bool State)
Definition ISpatialAccelerationCollection.h:48
uint8 ActiveBucketsMask
Definition ISpatialAccelerationCollection.h:67
virtual void PBDComputeConstraintsLowLevel(T Dt, FSpatialAccelerationBroadPhase &BroadPhase, Private::FCollisionConstraintAllocator *Allocator, const FCollisionDetectorSettings &Settings, IResimCacheBase *ResimCache) const =0
virtual void DebugDraw(ISpacialDebugDrawInterface< T > *InInterface) const =0
virtual TUniquePtr< ISpatialAcceleration< TPayloadType, T, d > > RemoveSubstructure(FSpatialAccelerationIdx Idx)=0
virtual TArray< FSpatialAccelerationIdx > GetAllSpatialIndices() const =0
virtual FSpatialAccelerationIdx AddSubstructure(TUniquePtr< ISpatialAcceleration< TPayloadType, T, d > > &&Substructure, uint16 Bucket, uint16 BucketInnerIdx)=0
virtual void SwapSubstructure(ISpatialAccelerationCollection< TPayloadType, T, d > &Other, FSpatialAccelerationIdx Idx)=0
static constexpr ESpatialAcceleration StaticType
Definition ISpatialAccelerationCollection.h:32
bool IsBucketActive(uint8 BucketIdx) const
Definition ISpatialAccelerationCollection.h:42
Definition ISpatialAcceleration.h:267
virtual void DeepAssign(const ISpatialAcceleration< TPayloadType, T, d > &Other)
Definition ISpatialAcceleration.h:344
An allocator and container of collision constraints that supports reuse of constraints from the previ...
Definition CollisionConstraintAllocator.h:234
Definition Array.h:670
Definition UniquePtr.h:107
Definition SkeletalMeshComponent.h:307
ESpatialAcceleration
Definition ISpatialAcceleration.h:180
Definition OverriddenPropertySet.cpp:45
Definition GeometryParticlesfwd.h:59