a kd-Tree Implementation for nearest Neighbor searches  
 More...
#include <KDTree.hpp>
|  | 
| template<typename T > | 
| bool | nearestNeighbor (const Vector3< T > &point, Neighbor &neighbor, double &distance, double maxDistance=std::numeric_limits< double >::infinity()) const | 
|  | Finds the nearest neighbor of 'point' that is within 'maxDistance' (defaults to infinity). The resulting neighbor is written into 'neighbor' (or nullptr if none is found).  More... 
 | 
|  | 
| virtual | ~KDTree ()=default | 
|  | 
a kd-Tree Implementation for nearest Neighbor searches 
Definition at line 51 of file KDTree.hpp.
◆ KDTreePtr
◆ Neighbor
◆ Point
◆ PointT
◆ ~KDTree()
  
  | 
        
          | virtual lvr2::KDTree::~KDTree | ( |  | ) |  |  | virtualdefault | 
 
 
◆ KDTree() [1/2]
◆ KDTree() [2/2]
  
  | 
        
          | lvr2::KDTree::KDTree | ( | const KDTree && |  | ) |  |  | protecteddelete | 
 
 
◆ create()
Creates a new KDTree from the given Scan. 
- Parameters
- 
  
    | points | The Point Cloud |  | n | The number of points in 'points' |  | maxLeafSize | The maximum number of points to use for a Leaf in the Tree |  
 
Definition at line 153 of file KDTree.cpp.
 
 
◆ nearestNeighbor()
template<typename T > 
  
  | 
        
          | bool lvr2::KDTree::nearestNeighbor | ( | const Vector3< T > & | point, |  
          |  |  | Neighbor & | neighbor, |  
          |  |  | double & | distance, |  
          |  |  | double | maxDistance = std::numeric_limits<double>::infinity() |  
          |  | ) |  | const |  | inline | 
 
Finds the nearest neighbor of 'point' that is within 'maxDistance' (defaults to infinity). The resulting neighbor is written into 'neighbor' (or nullptr if none is found). 
- Parameters
- 
  
    | point | The Point whose neighbor is searched |  | neighbor | A Pointer that is set to the neighbor or nullptr if none is found |  | distance | The final distance between point and neighbor |  | maxDistance | The maximum distance allowed between neighbors. Setting this value significantly speeds up the search. |  
 
- Returns
- bool true if a neighbors was found, false otherwise 
Definition at line 80 of file KDTree.hpp.
 
 
◆ nearestNeighbors() [1/2]
Finds the nearest neighbors of all points in a Scan using a pre-generated KDTree. 
- Parameters
- 
  
    | tree | The KDTree to search in |  | scan | The Scan to search for |  | neighbors | An array to store the results in. neighbors[i] is set to a Pointer to the neighbor of points[i] or nullptr if none was found |  | maxDistance | The maximum Distance for a Neighbor |  
 
- Returns
- size_t The number of neighbors that were found 
Definition at line 198 of file KDTree.cpp.
 
 
◆ nearestNeighbors() [2/2]
Finds the nearest neighbors of all points in a Scan using a pre-generated KDTree. 
- Parameters
- 
  
    | tree | The KDTree to search in |  | scan | The Scan to search for |  | neighbors | An array to store the results in. neighbors[i] is set to a Pointer to the neighbor of points[i] or nullptr if none was found |  | maxDistance | The maximum Distance for a Neighbor |  | centroid_m | Will be set to the average of all Points in 'neighbors' |  | centroid_d | Will be set to the average of all Points in 'points' that have neighbors |  
 
- Returns
- size_t The number of neighbors that were found 
Definition at line 176 of file KDTree.cpp.
 
 
◆ nnInternal()
  
  | 
        
          | virtual void lvr2::KDTree::nnInternal | ( | const Point & | point, |  
          |  |  | Neighbor & | neighbor, |  
          |  |  | double & | maxDist |  
          |  | ) |  | const |  | protectedpure virtual | 
 
 
◆ KDNode
◆ points
  
  | 
        
          | boost::shared_array<Point> lvr2::KDTree::points |  | protected | 
 
 
The documentation for this class was generated from the following files: