40 #ifndef PCL_KEYPOINTS_UNIFORM_SAMPLING_H_
41 #define PCL_KEYPOINTS_UNIFORM_SAMPLING_H_
44 #include <boost/unordered_map.hpp>
60 template <
typename Po
intInT>
76 leaf_size_ (Eigen::Vector4f::Zero ()),
77 inverse_leaf_size_ (Eigen::Vector4f::Zero ()),
78 min_b_ (Eigen::Vector4i::Zero ()),
79 max_b_ (Eigen::Vector4i::Zero ()),
80 div_b_ (Eigen::Vector4i::Zero ()),
81 divb_mul_ (Eigen::Vector4i::Zero ())
83 name_ =
"UniformSampling";
98 leaf_size_[0] = leaf_size_[1] = leaf_size_[2] =
static_cast<float> (radius);
100 if (leaf_size_[3] == 0)
103 inverse_leaf_size_ = Eigen::Array4f::Ones () / leaf_size_.array ();
104 search_radius_ = radius;
111 Leaf () : idx (-1) { }
116 boost::unordered_map<size_t, Leaf> leaves_;
119 Eigen::Vector4f leaf_size_;
122 Eigen::Array4f inverse_leaf_size_;
125 Eigen::Vector4i min_b_, max_b_, div_b_, divb_mul_;
131 detectKeypoints (PointCloudOut &output);
135 #endif //#ifndef PCL_KEYPOINTS_UNIFORM_SAMPLING_H_