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