UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::FPriorityOrderPoints Struct Reference

#include <PriorityOrderPoints.h>

Public Member Functions

 FPriorityOrderPoints (int32 SpatialLevels=10)
 
GEOMETRYCORE_API void ComputeUniformSpaced (TArrayView< const FVector3d > Points, TArrayView< const float > ImportanceWeights, int32 EarlyStop=-1, int32 OffsetResFactor=4)
 
GEOMETRYCORE_API void ComputeUniformSpaced (TArrayView< const FVector3f > Points, TArrayView< const float > ImportanceWeights, int32 EarlyStop=-1, int32 OffsetResFactor=4)
 
GEOMETRYCORE_API void ComputeUniformSpaced (TArrayView< const FVector3d > Points, TArrayView< const float > ImportanceWeights, TArrayView< const float > SecondImportanceWeights, int32 EarlyStop=-1, int32 OffsetResFactor=4)
 
GEOMETRYCORE_API void ComputeUniformSpaced (TArrayView< const FVector3f > Points, TArrayView< const float > ImportanceWeights, TArrayView< const float > SecondImportanceWeights, int32 EarlyStop=-1, int32 OffsetResFactor=4)
 
GEOMETRYCORE_API void ComputeDescendingImportance (TArrayView< const float > ImportanceWeights)
 

Public Attributes

int32 SpatialLevels = 10
 Inputs.
 
TArray< int32Order
 Outputs.
 

Detailed Description

Generate a "priority ordering" for a point set

Either order by descending ImportanceWeight, or try to additionally un-clump the points – such that if we only look at the first N points, they will cover the overall space as well as possible while still favoring higher ImportanceWeight points in each local region.

Constructor & Destructor Documentation

◆ FPriorityOrderPoints()

UE::Geometry::FPriorityOrderPoints::FPriorityOrderPoints ( int32  SpatialLevels = 10)
inline

Member Function Documentation

◆ ComputeDescendingImportance()

void FPriorityOrderPoints::ComputeDescendingImportance ( TArrayView< const float ImportanceWeights)

Compute an ordering that only sorts by descending ImportanceWeights, and does not attempt to spatially distribute the points

Parameters
ImportanceWeightsPoints with a higher ImportanceWeight will appear earlier in the ordering

◆ ComputeUniformSpaced() [1/4]

void FPriorityOrderPoints::ComputeUniformSpaced ( TArrayView< const FVector3d Points,
TArrayView< const float ImportanceWeights,
int32  EarlyStop = -1,
int32  OffsetResFactor = 4 
)

Compute an ordering for the input points that attempts to keep points 'well spaced' / un-clumped

Parameters
PointsPoints to re-order
ImportanceWeightsPoints with a higher ImportanceWeight in their local region of space will appear earlier in the ordering
EarlyStopIf >= 0, stop re-ordering once we've sorted this many points; beyond this the ordering will be arbitrary
OffsetResFactorFactor that controls how closely the points are allowed to space, with higher values -> more clumping allowed

◆ ComputeUniformSpaced() [2/4]

void FPriorityOrderPoints::ComputeUniformSpaced ( TArrayView< const FVector3d Points,
TArrayView< const float ImportanceWeights,
TArrayView< const float SecondImportanceWeights,
int32  EarlyStop = -1,
int32  OffsetResFactor = 4 
)

Compute an ordering for the input points that attempts to keep points 'well spaced' / un-clumped

Parameters
PointsPoints to re-order
ImportanceWeightsPoints with a higher ImportanceWeight in their local region of space will appear earlier in the ordering
SecondImportanceWeightsA second set of importance weights; we may pick an additional point from each local region to also sample points by this metric
EarlyStopIf >= 0, stop re-ordering once we've sorted this many points; beyond this the ordering will be arbitrary
OffsetResFactorFactor that controls how closely the points are allowed to space, with higher values -> more clumping allowed

◆ ComputeUniformSpaced() [3/4]

void FPriorityOrderPoints::ComputeUniformSpaced ( TArrayView< const FVector3f Points,
TArrayView< const float ImportanceWeights,
int32  EarlyStop = -1,
int32  OffsetResFactor = 4 
)

◆ ComputeUniformSpaced() [4/4]

void FPriorityOrderPoints::ComputeUniformSpaced ( TArrayView< const FVector3f Points,
TArrayView< const float ImportanceWeights,
TArrayView< const float SecondImportanceWeights,
int32  EarlyStop = -1,
int32  OffsetResFactor = 4 
)

Member Data Documentation

◆ Order

TArray<int32> UE::Geometry::FPriorityOrderPoints::Order

Outputs.

◆ SpatialLevels

int32 UE::Geometry::FPriorityOrderPoints::SpatialLevels = 10

Inputs.


The documentation for this struct was generated from the following files: