Ponca  7df32c91629c89b89840c4d7917cb272433f2d2b
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::KnnGraphPointerTraits< _DataPoint > Struct Template Reference

Variant to the KnnGraph Traits type that uses pointers as internal storage instead of an STL-like container. More...

#include <knnGraphTraits.h>

+ Collaboration diagram for Ponca::KnnGraphPointerTraits< _DataPoint >:

Public Types

enum  { K_MAX_NN = 1000 }
 
using DataPoint = _DataPoint
 The type used to store point data.
 
using AabbType = Eigen::AlignedBox< Scalar, DataPoint::Dim >
 The type used to calculate node bounding boxes.
 
using IndexType = int
 
using PointContainer = DataPoint *
 Type used to store the external Point container in the KnnGraph::Buffer Non-const to allow KnnGraph::Buffers copy and writing to other devices.
 
using IndexContainer = IndexType *
 Type used to store the index container in the KnnGraph::Buffer.
 
using IndexContainerRef = IndexContainer
 Type to be used to send the index container as function parameter.
 
using KnnGraphRangeSet = HashSet< K_MAX_NN >
 A static Set used by KnnGraphRangeQuery.
 
using KnnGraphRangeStack = Stack< int, K_MAX_NN >
 A static Stack used by KnnGraphRangeQuery.
 

Static Public Member Functions

static IndexTypegetIndexRawPtr (IndexContainer &idx)
 Provides access to the raw pointer where indices are stored.
 
static const IndexTypegetIndexRawPtr (const IndexContainer &idx)
 Provides access to the raw pointer where indices are stored.
 

Detailed Description

template<typename _DataPoint>
struct Ponca::KnnGraphPointerTraits< _DataPoint >

Variant to the KnnGraph Traits type that uses pointers as internal storage instead of an STL-like container.

Definition at line 76 of file knnGraphTraits.h.

Member Typedef Documentation

◆ AabbType

template<typename _DataPoint >
using Ponca::KnnGraphPointerTraits< _DataPoint >::AabbType = Eigen::AlignedBox<Scalar, DataPoint::Dim>

The type used to calculate node bounding boxes.

Must provide min(), max(), and center() functions, all returning a VectorType.

Definition at line 103 of file knnGraphTraits.h.

◆ DataPoint

The type used to store point data.

Must provide Scalar and VectorType aliases.

VectorType must provide a squaredNorm() function returning a Scalar, as well as a maxCoeff(int*) function returning the dimension index of its largest scalar in its output parameter (e.g. 0 for x, 1 for y, etc.).

Definition at line 91 of file knnGraphTraits.h.

◆ IndexContainer

Type used to store the index container in the KnnGraph::Buffer.

Definition at line 111 of file knnGraphTraits.h.

◆ IndexContainerRef

Type to be used to send the index container as function parameter.

Definition at line 113 of file knnGraphTraits.h.

◆ IndexType

Definition at line 106 of file knnGraphTraits.h.

◆ KnnGraphRangeSet

A static Set used by KnnGraphRangeQuery.

Definition at line 116 of file knnGraphTraits.h.

◆ KnnGraphRangeStack

A static Stack used by KnnGraphRangeQuery.

Definition at line 118 of file knnGraphTraits.h.

◆ PointContainer

Type used to store the external Point container in the KnnGraph::Buffer Non-const to allow KnnGraph::Buffers copy and writing to other devices.

Definition at line 109 of file knnGraphTraits.h.

Member Enumeration Documentation

◆ anonymous enum

Enumerator
K_MAX_NN 

The maximum number of neighbors that will be visited in a range neighbors query.

Definition at line 78 of file knnGraphTraits.h.

Member Function Documentation

◆ getIndexRawPtr() [1/2]

template<typename _DataPoint >
static const IndexType * Ponca::KnnGraphPointerTraits< _DataPoint >::getIndexRawPtr ( const IndexContainer idx)
inlinestatic

Provides access to the raw pointer where indices are stored.

Definition at line 123 of file knnGraphTraits.h.

◆ getIndexRawPtr() [2/2]

template<typename _DataPoint >
static IndexType * Ponca::KnnGraphPointerTraits< _DataPoint >::getIndexRawPtr ( IndexContainer idx)
inlinestatic

Provides access to the raw pointer where indices are stored.

Definition at line 121 of file knnGraphTraits.h.