Point Cloud Library (PCL)  1.7.1
approx_nearest_pair_point_cloud_coherence.h
1 #ifndef PCL_TRACKING_APPROX_NEAREST_PAIR_POINT_CLOUD_COHERENCE_H_
2 #define PCL_TRACKING_APPROX_NEAREST_PAIR_POINT_CLOUD_COHERENCE_H_
3 
4 #include <pcl/search/search.h>
5 #include <pcl/search/octree.h>
6 #include <pcl/tracking/nearest_pair_point_cloud_coherence.h>
7 namespace pcl
8 {
9  namespace tracking
10  {
11  /** \brief @b ApproxNearestPairPointCloudCoherence computes coherence between two pointclouds using the
12  approximate nearest point pairs.
13  * \author Ryohei Ueda
14  * \ingroup tracking
15  */
16  template <typename PointInT>
18  {
19  public:
22  //using NearestPairPointCloudCoherence<PointInT>::search_;
29 
30  /** \brief empty constructor */
33  {
34  coherence_name_ = "ApproxNearestPairPointCloudCoherence";
35  }
36 
37  protected:
38  /** \brief This method should get called before starting the actual computation. */
39  virtual bool initCompute ();
40 
41  /** \brief compute the nearest pairs and compute coherence using point_coherences_ */
42  virtual void
43  computeCoherence (const PointCloudInConstPtr &cloud, const IndicesConstPtr &indices, float &w_j);
44 
45  typename boost::shared_ptr<pcl::search::Octree<PointInT> > search_;
46  };
47  }
48 }
49 
50 #ifdef PCL_NO_PRECOMPILE
51 #include <pcl/tracking/impl/approx_nearest_pair_point_cloud_coherence.hpp>
52 #endif
53 
54 #endif
55