MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ SpatialIndex() [1/3]

template<typename PointT >
MayaFlux::Kinesis::SpatialIndex< PointT >::SpatialIndex ( float  cell_size,
DistanceFn  distance 
)

Construct a spatial index.

Parameters
cell_sizeGrid cell edge length. Ignored when brute-force is selected.
distanceDistance function returning squared distance between two points.

Definition at line 64 of file SpatialIndex.cpp.

65 : m_cell_size(cell_size)
66 , m_inv_cell(1.0F / cell_size)
67 , m_distance_fn(std::move(distance))
68 , m_use_grid(static_cast<bool>(detail::PointTraits<PointT>::fixed_dimension))
69{
70
71#ifdef MAYAFLUX_PLATFORM_MACOS
72 for (auto& hp : m_hazard_ptrs) {
73 hp.store(nullptr);
74 }
75#endif
76}
SpatialField distance(const glm::vec3 &anchor, float radius, DistanceMetric metric=DistanceMetric::EUCLIDEAN)
Normalized distance from an anchor point using the specified metric.