Go to the documentation of this file.
   32 #ifndef __NABO_EXPERIMENTAL_H 
   33 #define __NABO_EXPERIMENTAL_H 
   35 #include "../nabo/nabo_private.h" 
   36 #include "../nabo/index_heap.h" 
   41         template<
typename T, 
typename CloudType>
 
   74                 typedef std::vector<Node> 
Nodes;
 
   78                 inline size_t childLeft(
size_t pos)
 const { 
return 2*pos + 1; }
 
   79                 inline size_t childRight(
size_t pos)
 const { 
return 2*pos + 2; }
 
   80                 inline size_t parent(
size_t pos)
 const { 
return (pos-1)/2; }
 
   84                 void dump(
const Vector minValues, 
const Vector maxValues, 
const size_t pos) 
const;
 
   91         template<
typename T, 
typename CloudType>
 
  123         template<
typename T, 
typename CloudType>
 
  141                 void recurseKnn(
const Vector& query, 
const size_t n, T rd, 
Heap& heap, 
Vector& off, 
const T maxError, 
const bool allowSelfMatch);
 
  150         template<
typename T, 
typename CloudType>
 
  194                 inline size_t childLeft(
size_t pos)
 const { 
return 2*pos + 1; }
 
  195                 inline size_t childRight(
size_t pos)
 const { 
return 2*pos + 2; }
 
  196                 inline size_t parent(
size_t pos)
 const { 
return (pos-1)/2; }
 
  199                 void recurseKnn(
const Vector& query, 
const size_t n, T rd, 
Heap& heap, 
Vector& off, 
const T maxError, 
const bool allowSelfMatch);
 
  207         template<
typename T, 
typename Heap, 
typename CloudType>
 
  264                 void recurseKnn(
const Vector& query, 
const unsigned n, T rd, Heap& heap, 
Vector& off, 
const T maxError, 
const bool allowSelfMatch);
 
  273         template<
typename T, 
typename CloudType>
 
  322                 void recurseKnn(
const Vector& query, 
const size_t n, T rd, 
Heap& heap, 
const T maxError, 
const bool allowSelfMatch);
 
  
std::vector< BuildPoint > BuildPoints
BuildPoints::iterator BuildPointsIt
void recurseKnn(const Vector &query, const size_t n, T rd, Heap &heap, const T maxError, const bool allowSelfMatch)
NearestNeighbourSearch< T, CloudType >::Vector Vector
virtual IndexVector knn(const Vector &query, const Index k, const T epsilon, const unsigned optionFlags)
CompareDim(const size_t dim)
NearestNeighbourSearch< T, CloudType >::Vector Vector
IndexHeapSTL< Index, T > Heap
Node(const int dim=-1, const T cutVal=0, const T lowBound=0, const T highBound=0, unsigned rightChild=0)
NearestNeighbourSearch< T, CloudType >::Index Index
Node(const Vector &pos=Vector(), const int dim=-2, const Index index=0)
KDTreeBalancedPtInNodes< T, CloudType >::Nodes Nodes
BuildPoints::const_iterator BuildPointsCstIt
NearestNeighbourSearch< T, CloudType >::IndexVector IndexVector
virtual IndexVector knn(const Vector &query, const Index k, const T epsilon, const unsigned optionFlags)
const CloudType & cloud
the reference to the data-point cloud, which must remain valid during the lifetime of the NearestNeig...
virtual IndexVector knn(const Vector &query, const Index k, const T epsilon, const unsigned optionFlags)
CloudType CloudType
a column-major Eigen matrix in which each column is a point; this matrix has dim rows
NearestNeighbourSearch< T, CloudType >::Matrix Matrix
KDTreeBalancedPtInNodes(const CloudType &cloud)
virtual IndexMatrix knnM(const Matrix &query, const Index k, const T epsilon, const unsigned optionFlags)
Node(const int dim=-1, const T cutVal=0)
bool operator()(const BuildPoint &p0, const BuildPoint &p1)
CompareDim(const size_t dim)
KDTreeBalancedPtInNodes< T, CloudType >::Nodes Nodes
BuildPoint(const Vector &pos=Vector(), const size_t index=0)
NearestNeighbourSearch< T, CloudType >::IndexVector IndexVector
NearestNeighbourSearch< T, CloudType >::Index Index
NearestNeighbourSearch< T, CloudType >::IndexVector IndexVector
void buildNodes(const BuildPointsIt first, const BuildPointsIt last, const size_t pos)
KDTreeBalancedPtInNodes< T, CloudType >::Node Node
BuildPoint(const Vector &pos=Vector(), const size_t index=0)
NearestNeighbourSearch< T, CloudType >::IndexMatrix IndexMatrix
std::vector< Node > Nodes
CompareDim(const size_t dim)
IndexHeapSTL< Index, T > Heap
IndexHeapSTL< Index, T > Heap
bool operator()(const BuildPoint &p0, const BuildPoint &p1)
virtual IndexVector knn(const Vector &query, const Index k, const T epsilon, const unsigned optionFlags)
BuildPoints::iterator BuildPointsIt
BuildPoint(const Vector &pos=Vector(), const size_t index=0)
NearestNeighbourSearch< T, CloudType >::Vector Vector
BuildPoint(const Vector &pos=Vector(), const size_t index=0)
Nearest neighbour search interface, templatized on scalar type.
BuildPoints::const_iterator BuildPointsCstIt
void dump(const Vector minValues, const Vector maxValues, const size_t pos) const
KDTreeBalancedPtInNodesStack(const CloudType &cloud)
NearestNeighbourSearch< T, CloudType >::Index Index
NearestNeighbourSearch< T, CloudType >::Matrix Matrix
KDTreeUnbalancedPtInLeavesExplicitBoundsStack(const CloudType &cloud)
void recurseKnn(const Vector &query, const size_t n, T rd, Heap &heap, Vector &off, const T maxError, const bool allowSelfMatch)
size_t childLeft(size_t pos) const
BuildPoints::const_iterator BuildPointsCstIt
bool operator()(const BuildPoint &p0, const BuildPoint &p1)
size_t childRight(size_t pos) const
std::vector< BuildPoint > BuildPoints
std::vector< Node > Nodes
void buildNodes(const BuildPointsIt first, const BuildPointsIt last, const size_t pos, const Vector minValues, const Vector maxValues, const bool balanceVariance)
Node(const int dim, const T cutVal, unsigned rightChild)
NearestNeighbourSearch< T, CloudType >::Vector Vector
size_t getTreeSize(size_t size) const
balanced-tree implementation of heap
size_t getTreeSize(size_t size) const
NearestNeighbourSearch< T, CloudType >::Vector Vector
size_t childLeft(size_t pos) const
KDTreeBalancedPtInNodesPQ(const CloudType &cloud)
Node(const unsigned ptIndex=INVALID_PT)
friend bool operator<(const SearchElement &e0, const SearchElement &e1)
NearestNeighbourSearch< T, CloudType >::IndexVector IndexVector
SearchElement(const size_t index, const T minDist)
std::vector< Node > Nodes
NearestNeighbourSearch< T, CloudType >::Matrix Matrix
NearestNeighbourSearch< T, CloudType >::Index Index
size_t parent(size_t pos) const
BuildPoints::iterator BuildPointsIt
BuildPoints::const_iterator BuildPointsCstIt
std::vector< Node > Nodes
BuildPoints::iterator BuildPointsIt
NearestNeighbourSearch< T, CloudType >::Index Index
NearestNeighbourSearch< T, CloudType >::Vector Vector
bool operator()(const BuildPoint &p0, const BuildPoint &p1)
unsigned buildNodes(const BuildPointsIt first, const BuildPointsIt last, const Vector minValues, const Vector maxValues)
NearestNeighbourSearch< T, CloudType >::IndexVector IndexVector
void recurseKnn(const Vector &query, const unsigned n, T rd, Heap &heap, Vector &off, const T maxError, const bool allowSelfMatch)
NearestNeighbourSearch< T, CloudType >::Matrix Matrix
IndexVector cloudIndexesFromNodesIndexes(const IndexVector &indexes) const
KDTreeBalancedPtInLeavesStack(const CloudType &cloud, const bool balanceVariance)
KDTreeUnbalancedPtInLeavesImplicitBoundsStack(const CloudType &cloud)
unsigned buildNodes(const BuildPointsIt first, const BuildPointsIt last, const Vector minValues, const Vector maxValues)
NearestNeighbourSearch< T, CloudType >::IndexVector IndexVector
size_t childRight(size_t pos) const
virtual IndexVector knn(const Vector &query, const Index k, const T epsilon, const unsigned optionFlags)
size_t parent(size_t pos) const
void recurseKnn(const Vector &query, const size_t n, T rd, Heap &heap, Vector &off, const T maxError, const bool allowSelfMatch)
std::vector< BuildPoint > BuildPoints
NearestNeighbourSearch< T, CloudType >::Matrix Matrix
NearestNeighbourSearch< T, CloudType >::Matrix Matrix
std::vector< BuildPoint > BuildPoints
CompareDim(const size_t dim)
KDTreeBalancedPtInNodes< T, CloudType >::Node Node
NearestNeighbourSearch< T, CloudType >::Index Index
mp2p_icp
Author(s): 
autogenerated on Mon May 26 2025 02:45:50