3#include "Containers/Array.h"
5#include "Containers/Map.h"
31 template <
class ContainerType>
class voro_compute;
234 return (Mid - Sample).Dot(
Normal);
#define checkSlow(expr)
Definition AssertionMacros.h:332
EForceInit
Definition CoreMiscDefines.h:154
@ ForceInit
Definition CoreMiscDefines.h:155
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_DOUBLE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:140
#define UE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:131
bool VORONOI_API VoronoiNeighbors(const TArrayView< const FVector > &Sites, TArray< TArray< int > > &Neighbors, bool bExcludeBounds=true, double SquaredDistSkipPtThreshold=UE_KINDA_SMALL_NUMBER)
Definition Voronoi.cpp:163
bool VORONOI_API GetVoronoiEdges(const TArrayView< const FVector > &Sites, const FBox &Bounds, TArray< TTuple< FVector, FVector > > &Edges, TArray< int32 > &CellMember, double SquaredDistSkipPtThreshold=UE_KINDA_SMALL_NUMBER)
Definition Voronoi.cpp:193
FVoronoiComputeHelper(const FVoronoiComputeHelper &Other)=delete
FVoronoiComputeHelper(FVoronoiComputeHelper &&Other)=default
FVoronoiComputeHelper & operator=(FVoronoiComputeHelper &&Other)=default
FVoronoiComputeHelper & operator=(const FVoronoiComputeHelper &Other)=delete
FVoronoiComputeHelper()
Definition Voronoi.h:43
double DistanceToClosest(const FVector &Sample, FVoronoiComputeHelper &ComputeHelper, double InvalidValue=TNumericLimits< double >::Lowest())
Definition Voronoi.h:261
double DistanceToCellWall(const FVector &Sample, FVoronoiComputeHelper &ComputeHelper, double InvalidValue=TNumericLimits< double >::Lowest())
Definition Voronoi.h:205
FVoronoiDiagramField & operator=(FVoronoiDiagramField &&Other)=default
FVoronoiDiagramField(const TArray< FVector > &SitesIn, const FBox &Bounds, double SquaredDistSkipPtThreshold=DBL_EPSILON)
Definition Voronoi.h:182
int32 ClosestID(const FVector &Sample, FVoronoiComputeHelper &ComputeHelper)
Definition Voronoi.h:272
FVoronoiComputeHelper GetComputeHelper() const
Definition Voronoi.h:199
FVoronoiDiagramField & operator=(const FVoronoiDiagramField &Other)=delete
FVoronoiDiagramField()=default
void Initialize(const TArray< FVector > &SitesIn, const FBox &Bounds, double SquaredDistSkipPtThreshold=DBL_EPSILON)
Definition Voronoi.h:187
TPair< int32, int32 > ClosestTwoIDs(const FVector &Sample, FVoronoiComputeHelper &ComputeHelper)
Definition Voronoi.h:237
FVoronoiDiagramField(FVoronoiDiagramField &&Other)=default
FVoronoiDiagramField(const FVoronoiDiagramField &Other)=delete
VORONOI_API FVoronoiComputeHelper GetComputeHelper() const
Definition Voronoi.cpp:493
FVoronoiDiagram(const FVoronoiDiagram &Other)=delete
FVoronoiDiagram & operator=(FVoronoiDiagram &&Other)=default
VORONOI_API ~FVoronoiDiagram()
int32 ApproxSitesPerThreadWithDefault(int32 ApproxSitesPerThreadIn)
Definition Voronoi.h:151
int32 Num() const
Definition Voronoi.h:118
VORONOI_API void Initialize(const TArrayView< const FVector > &Sites, const FBox &Bounds, double ExtraBoundingSpace, double SquaredDistSkipPtThreshold=UE_KINDA_SMALL_NUMBER)
Definition Voronoi.cpp:154
VORONOI_API void AddSites(const TArrayView< const FVector > &Sites, double SquaredDistSkipPtThreshold=0.0f)
Definition Voronoi.cpp:204
VORONOI_API static const int MinDefaultSitesPerThread
Definition Voronoi.h:61
FVoronoiDiagram(FVoronoiDiagram &&Other)=default
FVoronoiDiagram()
Definition Voronoi.h:95
VORONOI_API void ComputeAllCells(TArray< FVoronoiCellInfo > &AllCells, int32 ApproxSitesPerThread=-1)
Definition Voronoi.cpp:283
VORONOI_API void ComputeAllNeighbors(TArray< TArray< int32 > > &AllNeighbors, bool bExcludeBounds=true, int32 ApproxSitesPerThread=-1)
Definition Voronoi.cpp:324
VORONOI_API void ComputeCellEdgesSerial(TArray< TTuple< FVector, FVector > > &Edges, TArray< int32 > &CellMember)
Definition Voronoi.cpp:356
VORONOI_API void ComputeAllCellsSerial(TArray< FVoronoiCellInfo > &AllCells)
Definition Voronoi.cpp:218
VORONOI_API int32 FindCell(const FVector &Pos, FVoronoiComputeHelper &ComputeHelper, FVector &OutFoundSite) const
Definition Voronoi.cpp:483
VORONOI_API void ComputeCellEdges(TArray< TTuple< FVector, FVector > > &Edges, TArray< int32 > &CellMember, int32 ApproxSitesPerThread=-1)
Definition Voronoi.cpp:404
FVoronoiDiagram & operator=(const FVoronoiDiagram &Other)=delete
int32 FindCell(const FVector &Pos, FVoronoiComputeHelper &ComputeHelper) const
Definition Voronoi.h:143
static VORONOI_API FBox GetBounds(const TArrayView< const FVector > &Sites, double ExtraBoundingSpace=UE_DOUBLE_KINDA_SMALL_NUMBER)
Definition Voronoi.cpp:148
Definition ArrayView.h:139
TArray< int32 > Neighbors
Definition Voronoi.h:24
TArray< FVector > Normals
Definition Voronoi.h:25
TArray< FVector > Vertices
Definition Voronoi.h:22
TArray< int32 > Faces
Definition Voronoi.h:23
Definition NumericLimits.h:41
bool Normalize(T Tolerance=UE_SMALL_NUMBER)
Definition Vector.h:1767
static UE_FORCEINLINE_HINT double Distance(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:1018
static UE_FORCEINLINE_HINT double DistSquared(const TVector< double > &V1, const TVector< double > &V2)
Definition Vector.h:2478