UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GeometryCollectionEngineRemoval.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7
10
12{
13 class FCollectionRemoveOnBreakFacade;
14}
15
21{
22public:
23 static constexpr float DisabledBreakTimer = -1;
24 static constexpr float BreakTimerStartValue = 0;
25 static constexpr float DisabledPostBreakDuration = -1;
26 static constexpr float CrumblingRemovalTimer = -1;
27
29
35
38
41
47
49 GEOMETRYCOLLECTIONENGINE_API bool IsRemovalActive(int32 TransformIndex) const;
50
53
60 GEOMETRYCOLLECTIONENGINE_API float UpdateBreakTimerAndComputeDecay(int32 TransformIndex, float DeltaTime);
61
62private:
64 TManagedArrayAccessor<float> BreakTimerAttribute;
65
67 TManagedArrayAccessor<float> PostBreakDurationAttribute;
68
70 TManagedArrayAccessor<float> BreakRemovalDurationAttribute;
71
72 const FGeometryDynamicCollection& DynamicCollection;
73};
74
80{
81public:
83
89
92
95
97 GEOMETRYCOLLECTIONENGINE_API float GetMaxSleepTime(int32 TransformIndex) const;
98
101
107 GEOMETRYCOLLECTIONENGINE_API void SetAttributeValues(const FVector2D& MaximumSleepTime, const FVector2D& RemovalDuration);
108
110 GEOMETRYCOLLECTIONENGINE_API bool IsRemovalActive(int32 TransformIndex) const;
111
120
126 GEOMETRYCOLLECTIONENGINE_API void UpdateSleepTimer(int32 TransformIndex, float DeltaTime);
127
129 GEOMETRYCOLLECTIONENGINE_API float ComputeDecay(int32 TransformIndex) const;
130
131
132private:
134 TManagedArrayAccessor<float> SleepTimerAttribute;
135
137 TManagedArrayAccessor<float> MaxSleepTimeAttribute;
138
140 TManagedArrayAccessor<float> SleepRemovalDurationAttribute;
141
143 TManagedArrayAccessor<FVector> LastPositionAttribute;
144};
145
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 GeometryCollectionEngineRemoval.h:150
GEOMETRYCOLLECTIONENGINE_API void SetDecay(int32 TransformIndex, float DecayValue)
Definition GeometryCollectionEngineRemoval.cpp:255
GEOMETRYCOLLECTIONENGINE_API int32 GetDecayAttributeSize() const
Definition GeometryCollectionEngineRemoval.cpp:260
GEOMETRYCOLLECTIONENGINE_API void AddAttributes()
Definition GeometryCollectionEngineRemoval.cpp:245
GEOMETRYCOLLECTIONENGINE_API bool IsValid() const
Definition GeometryCollectionEngineRemoval.cpp:239
GEOMETRYCOLLECTIONENGINE_API float GetDecay(int32 TransformIndex) const
Definition GeometryCollectionEngineRemoval.cpp:250
Definition GeometryCollectionEngineRemoval.h:21
GEOMETRYCOLLECTIONENGINE_API bool IsRemovalActive(int32 TransformIndex) const
Definition GeometryCollectionEngineRemoval.cpp:88
static constexpr float DisabledPostBreakDuration
Definition GeometryCollectionEngineRemoval.h:25
GEOMETRYCOLLECTIONENGINE_API void DefineSchema()
Definition GeometryCollectionEngineRemoval.cpp:44
GEOMETRYCOLLECTIONENGINE_API bool IsValid() const
Definition GeometryCollectionEngineRemoval.cpp:32
GEOMETRYCOLLECTIONENGINE_API void SetAttributeValues(const GeometryCollection::Facades::FCollectionRemoveOnBreakFacade &RemoveOnBreakFacade)
Definition GeometryCollectionEngineRemoval.cpp:52
static constexpr float DisabledBreakTimer
Definition GeometryCollectionEngineRemoval.h:23
static constexpr float CrumblingRemovalTimer
Definition GeometryCollectionEngineRemoval.h:26
GEOMETRYCOLLECTIONENGINE_API bool IsConst() const
Definition GeometryCollectionEngineRemoval.cpp:39
GEOMETRYCOLLECTIONENGINE_API bool UseClusterCrumbling(int32 TransformIndex) const
Definition GeometryCollectionEngineRemoval.cpp:93
static constexpr float BreakTimerStartValue
Definition GeometryCollectionEngineRemoval.h:24
GEOMETRYCOLLECTIONENGINE_API float UpdateBreakTimerAndComputeDecay(int32 TransformIndex, float DeltaTime)
Definition GeometryCollectionEngineRemoval.cpp:98
Definition GeometryCollectionEngineRemoval.h:80
GEOMETRYCOLLECTIONENGINE_API void SetMaxSleepTime(int32 TransformIndex, float MaxSleepTime)
Definition GeometryCollectionEngineRemoval.cpp:167
GEOMETRYCOLLECTIONENGINE_API void DefineSchema()
Definition GeometryCollectionEngineRemoval.cpp:143
GEOMETRYCOLLECTIONENGINE_API bool IsValid() const
Definition GeometryCollectionEngineRemoval.cpp:129
GEOMETRYCOLLECTIONENGINE_API void SetSleepRemovalDuration(int32 TransformIndex, float SleepRemovalDuration)
Definition GeometryCollectionEngineRemoval.cpp:162
GEOMETRYCOLLECTIONENGINE_API float ComputeDecay(int32 TransformIndex) const
Definition GeometryCollectionEngineRemoval.cpp:222
GEOMETRYCOLLECTIONENGINE_API bool IsRemovalActive(int32 TransformIndex) const
Definition GeometryCollectionEngineRemoval.cpp:198
GEOMETRYCOLLECTIONENGINE_API bool IsConst() const
Definition GeometryCollectionEngineRemoval.cpp:138
GEOMETRYCOLLECTIONENGINE_API void UpdateSleepTimer(int32 TransformIndex, float DeltaTime)
Definition GeometryCollectionEngineRemoval.cpp:216
GEOMETRYCOLLECTIONENGINE_API float GetMaxSleepTime(int32 TransformIndex) const
Definition GeometryCollectionEngineRemoval.cpp:157
GEOMETRYCOLLECTIONENGINE_API float GetSleepRemovalDuration(int32 TransformIndex) const
Definition GeometryCollectionEngineRemoval.cpp:152
GEOMETRYCOLLECTIONENGINE_API void SetAttributeValues(const FVector2D &MaximumSleepTime, const FVector2D &RemovalDuration)
Definition GeometryCollectionEngineRemoval.cpp:172
GEOMETRYCOLLECTIONENGINE_API bool ComputeSlowMovingState(int32 TransformIndex, const FVector &Position, float DeltaTime, FVector::FReal VelocityThreshold)
Definition GeometryCollectionEngineRemoval.cpp:203
Definition GeometryCollectionProxyData.h:90
Definition CollectionRemoveOnBreakFacade.h:44
Definition CollectionBoundsFacade.cpp:13
Definition ManagedArrayCollection.h:56
Definition ManagedArrayAccessor.h:20
double FReal
Definition Vector.h:55