Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef PCL_FILTERS_DON_H_
00039 #define PCL_FILTERS_DON_H_
00040
00041 #include <pcl/features/feature.h>
00042
00043 namespace pcl
00044 {
00067 template <typename PointInT, typename PointNT, typename PointOutT>
00068 class DifferenceOfNormalsEstimation : public Feature<PointInT, PointOutT>
00069 {
00070 using Feature<PointInT, PointOutT>::getClassName;
00071 using Feature<PointInT, PointOutT>::feature_name_;
00072 using PCLBase<PointInT>::input_;
00073 typedef typename pcl::PointCloud<PointNT> PointCloudN;
00074 typedef typename PointCloudN::Ptr PointCloudNPtr;
00075 typedef typename PointCloudN::ConstPtr PointCloudNConstPtr;
00076 typedef typename Feature<PointInT, PointOutT>::PointCloudOut PointCloudOut;
00077 public:
00078 typedef boost::shared_ptr<DifferenceOfNormalsEstimation<PointInT, PointNT, PointOutT> > Ptr;
00079 typedef boost::shared_ptr<const DifferenceOfNormalsEstimation<PointInT, PointNT, PointOutT> > ConstPtr;
00080
00084 DifferenceOfNormalsEstimation ()
00085 {
00086 feature_name_ = "DifferenceOfNormalsEstimation";
00087 }
00088
00089 virtual ~DifferenceOfNormalsEstimation ()
00090 {
00091
00092 }
00093
00098 inline void
00099 setNormalScaleSmall (const PointCloudNConstPtr &normals)
00100 {
00101 input_normals_small_ = normals;
00102 }
00103
00108 inline void
00109 setNormalScaleLarge (const PointCloudNConstPtr &normals)
00110 {
00111 input_normals_large_ = normals;
00112 }
00113
00118 virtual void
00119 computeFeature (PointCloudOut &output);
00120
00125 virtual bool
00126 initCompute ();
00127 private:
00131 void
00132 compute (PointCloudOut &) {}
00133
00135 PointCloudNConstPtr input_normals_small_;
00137 PointCloudNConstPtr input_normals_large_;
00138 };
00139 }
00140
00141 #ifdef PCL_NO_PRECOMPILE
00142 #include <pcl/features/impl/don.hpp>
00143 #endif
00144
00145 #endif // PCL_FILTERS_DON_H_