10#include "WorldPartitionEditorSpatialHash.generated.h"
45 inline uint32 GetChildIndex()
const
47 return ((
X & 1) << 2) | ((
Y & 1) << 1) | (
Z & 1);
53 check(ChildIndex < 8);
56 (
X << 1) | (ChildIndex >> 2),
57 (
Y << 1) | ((ChildIndex >> 1) & 1),
58 (
Z << 1) | (ChildIndex & 1),
65 return FCellCoord(
X >> 1,
Y >> 1,
Z >> 1, Level + 1);
68 bool operator==(
const FCellCoord&
Other)
const
73 friend uint32 GetTypeHash(
const FCellCoord& CellCoord)
76 HashBuilder << CellCoord.X << CellCoord.Y << CellCoord.Z << CellCoord.Level;
110 return FMath::CeilToInt32(FMath::Max<FVector::FReal>(
FMath::Log2(MaxLength / CellSize), 0));
148 check(ChildIndex < 8);
152 inline void AddChildNode(
uint32 ChildIndex)
154 check(ChildIndex < 8);
155 uint32 ChildMask = 1 << ChildIndex;
160 inline void RemoveChildNode(
uint32 ChildIndex)
162 check(ChildIndex < 8);
163 uint32 ChildMask = 1 << ChildIndex;
191 ENGINE_API virtual void SetDefaultValues()
override;
201 UE_DEPRECATED(5.4,
"Use ForEachIntersectingActor with FWorldPartitionActorDescInstance")
208#if WITH_EDITORONLY_DATA
234 UPROPERTY(Config, meta = (AllowedClasses =
"/Script/Engine.Texture2D, /Script/Engine.MaterialInterface"))
#define check(expr)
Definition AssertionMacros.h:314
@ ForceInitToZero
Definition CoreMiscDefines.h:156
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define FVector
Definition IOSSystemIncludes.h:8
UE::Math::TBox< double > FBox
Definition MathFwd.h:55
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition HashBuilder.h:18
UE_FORCEINLINE_HINT uint32 GetHash() const
Definition HashBuilder.h:87
Definition NameTypes.h:617
Definition WorldPartitionActorDescInstance.h:18
Definition WorldPartitionActorDesc.h:282
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition UniquePtr.h:107
Definition WorldPartitionEditorHash.h:13
Definition WorldPartitionEditorSpatialHash.h:14
static float Log2(float Value)
Definition UnrealMathUtility.h:722
Definition SoftObjectPath.h:56
T GetMax() const
Definition Vector.h:1674
double FReal
Definition Vector.h:55