template<uint32 DIM>
struct cugar::cuda::Kd_knn< DIM >
GPU-based k-Nearest Neighbors lookup context.
This class provides the context to perform 3-dimensional k-nn lookups on the GPU, using a k-d tree.
The following code snippet shows how to use this class:
#include <cugar/kd/cuda/kd_knn.h>
...
knn.run(
query_points.begin(),
query_points.end(),
#include <knn.h>
|
template<typename QueryIterator , typename PointIterator > |
void | run (const QueryIterator points_begin, const QueryIterator points_end, const Kd_node *kd_nodes, const uint2 *kd_ranges, const uint2 *kd_leaves, const PointIterator kd_points, Result *results) |
|
template<uint32 K, typename QueryIterator , typename PointIterator > |
void | run (const QueryIterator points_begin, const QueryIterator points_end, const Kd_node *kd_nodes, const uint2 *kd_ranges, const uint2 *kd_leaves, const PointIterator kd_points, Result *results) |
|
◆ run() [1/2]
template<uint32 DIM>
template<typename QueryIterator , typename PointIterator >
void cugar::cuda::Kd_knn< DIM >::run |
( |
const QueryIterator |
points_begin, |
|
|
const QueryIterator |
points_end, |
|
|
const Kd_node * |
kd_nodes, |
|
|
const uint2 * |
kd_ranges, |
|
|
const uint2 * |
kd_leaves, |
|
|
const PointIterator |
kd_points, |
|
|
Result * |
results |
|
) |
| |
perform a k-nn lookup for a set of query points
- Parameters
-
points_begin | beginning of the query point sequence |
points_end | end of the query point sequence |
kd_nodes | k-d tree nodes |
kd_ranges | k-d tree node ranges |
kd_leaves | k-d tree leaves |
kd_points | k-d tree points |
- Template Parameters
-
QueryIterator | an iterator type dereferencing to Vector<float,N>, with N >= 3 |
PointIterator | an iterator type dereferencing to Vector<float,N>, with N >= 3 |
◆ run() [2/2]
template<uint32 DIM>
template<uint32 K, typename QueryIterator , typename PointIterator >
void cugar::cuda::Kd_knn< DIM >::run |
( |
const QueryIterator |
points_begin, |
|
|
const QueryIterator |
points_end, |
|
|
const Kd_node * |
kd_nodes, |
|
|
const uint2 * |
kd_ranges, |
|
|
const uint2 * |
kd_leaves, |
|
|
const PointIterator |
kd_points, |
|
|
Result * |
results |
|
) |
| |
perform a k-nn lookup for a set of query points
- Parameters
-
points_begin | beginning of the query point sequence |
points_end | end of the query point sequence |
kd_nodes | k-d tree nodes |
kd_ranges | k-d tree node ranges |
kd_leaves | k-d tree leaves |
kd_points | k-d tree points |
- Template Parameters
-
K | the number of requested nearest neighbors K |
QueryIterator | an iterator type dereferencing to Vector<float,N>, with N >= 3 |
PointIterator | an iterator type dereferencing to Vector<float,N>, with N >= 3 |
The documentation for this struct was generated from the following files:
- C:/p4research/research/jpantaleoni/Fermat-Public/contrib/cugar/kd/cuda/knn.h
- C:/p4research/research/jpantaleoni/Fermat-Public/contrib/cugar/kd/cuda/knn_inline.h