31template<
typename Po
intDataType,
typename RealType>
113 return Hash.RemoveSingle(idx,
Value) > 0;
126 return Hash.RemoveSingle(idx,
Value) > 0;
141 return !
Hash.Contains(Idx);
155 return !
Hash.Contains(Idx);
289 FVector3i idx(
xi,
yi,
zi);
290 for (
typename TMultiMap<FVector3i, PointDataType>::TConstKeyIterator It =
Hash.CreateConstKeyIterator(idx); It; ++It)
341 FVector3i idx(
xi,
yi,
zi);
342 for (
typename TMultiMap<FVector3i, PointDataType>::TConstKeyIterator It =
Hash.CreateConstKeyIterator(idx); It; ++It)
364 template<
bool bEarlyOut = false>
381 for (
typename TMultiMap<FVector3i, PointDataType>::TConstKeyIterator It =
Hash.CreateConstKeyIterator(CellIdx); It; ++It)
403 RealType SearchRadius = Radius;
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FRWLock Lock
Definition UnversionedPropertySerialization.cpp:921
Definition AssetRegistryState.h:50
Definition MathUtil.h:150
Definition PointHashGrid3.h:33
bool IsCellEmpty(const TVector< RealType > &Position)
Definition PointHashGrid3.h:136
void Reserve(int32 Num)
Definition PointHashGrid3.h:55
void Reset(RealType NewCellSize)
Definition PointHashGrid3.h:64
void InsertPointUnsafe(const PointDataType &Value, const TVector< RealType > &Position)
Definition PointHashGrid3.h:95
void UpdatePoint(const PointDataType &Value, const TVector< RealType > &OldPosition, const TVector< RealType > &NewPosition)
Definition PointHashGrid3.h:165
bool RemovePointUnsafe(const PointDataType &Value, const TVector< RealType > &Position)
Definition PointHashGrid3.h:123
void EnumeratePointsInBall(const TVector< RealType > &QueryPoint, RealType Radius, TFunctionRef< RealType(const PointDataType &)> DistanceSqFunc, TFunctionRef< bool(PointDataType, double)> ProcessPointFunc, TFunctionRef< bool(const PointDataType &)> IgnoreFunc=[](const PointDataType &data) { return false;}) const
Definition PointHashGrid3.h:319
int FindPointsInBall(const TVector< RealType > &QueryPoint, RealType Radius, TFunctionRef< RealType(const PointDataType &)> DistanceSqFunc, TArray< PointDataType > &ResultsOut, TFunctionRef< bool(const PointDataType &)> IgnoreFunc=[](const PointDataType &data) { return false;}) const
Definition PointHashGrid3.h:266
bool IsCellEmptyUnsafe(const TVector< RealType > &Position)
Definition PointHashGrid3.h:152
TPair< PointDataType, RealType > FindAnyInRadius(const TVector< RealType > &QueryPoint, RealType Radius, TFunctionRef< RealType(const PointDataType &)> DistanceSqFunc) const
Definition PointHashGrid3.h:248
TPair< PointDataType, RealType > FindAnyInRadius(const TVector< RealType > &QueryPoint, RealType Radius, TFunctionRef< RealType(const PointDataType &)> DistanceSqFunc, TFunctionRef< bool(const PointDataType &)> IgnoreFunc) const
Definition PointHashGrid3.h:240
TPair< PointDataType, RealType > FindNearestInRadius(const TVector< RealType > &QueryPoint, RealType Radius, TFunctionRef< RealType(const PointDataType &)> DistanceSqFunc) const
Definition PointHashGrid3.h:224
bool RemovePoint(const PointDataType &Value, const TVector< RealType > &Position)
Definition PointHashGrid3.h:108
PointDataType GetInvalidValue() const
Definition PointHashGrid3.h:71
TPointHashGrid3(RealType CellSize, PointDataType InvalidValue)
Definition PointHashGrid3.h:47
void UpdatePointUnsafe(const PointDataType &Value, const TVector< RealType > &OldPosition, const TVector< RealType > &NewPosition)
Definition PointHashGrid3.h:193
void InsertPoint(const PointDataType &Value, const TVector< RealType > &Position)
Definition PointHashGrid3.h:81
TPair< PointDataType, RealType > FindNearestInRadius(const TVector< RealType > &QueryPoint, RealType Radius, TFunctionRef< RealType(const PointDataType &)> DistanceSqFunc, TFunctionRef< bool(const PointDataType &)> IgnoreFunc) const
Definition PointHashGrid3.h:216
Definition ScopeLock.h:21
Definition AdvancedWidgetsModule.cpp:13
Definition UnrealMathUtility.h:270
Definition NumericLimits.h:41
Definition IntVectorTypes.h:252
Definition GridIndexing3.h:66
RealType CellSize
Definition GridIndexing3.h:68
FVector3i ToGrid(const TVector< RealType > &P) const
Definition GridIndexing3.h:84
void IterateAcrossBounds(const TVector< RealType > &RealMin, const TVector< RealType > &RealMax, TFunctionRef< bool(const FVector3i &Index)> ShouldContinue) const
Definition GridIndexing3.h:115