MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
SpatialIndex.hpp File Reference
#include "MayaFlux/Kinesis/Tendency/TendencyFactories.hpp"
#include <Eigen/Core>
+ Include dependency graph for SpatialIndex.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MayaFlux::Kinesis::QueryResult
 Result entry from a spatial query, carrying entity id and squared distance. More...
 
class  MayaFlux::Kinesis::SpatialIndex< PointT >
 Lock-free spatial acceleration structure with atomic snapshot publication. More...
 
struct  MayaFlux::Kinesis::SpatialSnapshot< PointT >
 Immutable spatial snapshot published atomically for lock-free reads. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kinesis
 
namespace  MayaFlux::Kinesis::detail
 

Typedefs

using MayaFlux::Kinesis::SpatialIndex3D = SpatialIndex< glm::vec3 >
 
using MayaFlux::Kinesis::SpatialIndexND = SpatialIndex< Eigen::VectorXd >
 

Functions

std::array< int32_t, 3 > MayaFlux::Kinesis::detail::cell_coords_3d (const glm::vec3 &p, float inv_cell)
 
uint64_t MayaFlux::Kinesis::detail::hash_cell_3d (int32_t cx, int32_t cy, int32_t cz)
 
uint64_t MayaFlux::Kinesis::detail::hash_cell_nd (const Eigen::VectorXd &p, float inv_cell)
 
std::unique_ptr< SpatialIndex3DMayaFlux::Kinesis::make_spatial_index_3d (float cell_size)
 Create a 3D spatial index with Euclidean squared distance.
 
std::unique_ptr< SpatialIndexNDMayaFlux::Kinesis::make_spatial_index_nd (float cell_size, uint32_t dimensions)
 Create an N-dimensional spatial index with Euclidean squared distance.