40 #ifndef PCL_FILTERS_CROP_BOX_H_
41 #define PCL_FILTERS_CROP_BOX_H_
43 #include <pcl/point_types.h>
44 #include <pcl/filters/filter_indices.h>
45 #include <pcl/common/transforms.h>
46 #include <pcl/common/eigen.h>
56 template<
typename Po
intT>
67 typedef boost::shared_ptr< CropBox<PointT> >
Ptr;
68 typedef boost::shared_ptr< const CropBox<PointT> >
ConstPtr;
73 CropBox (
bool extract_removed_indices =
false) :
75 min_pt_ (Eigen::Vector4f (-1, -1, -1, 1)),
76 max_pt_ (Eigen::Vector4f (1, 1, 1, 1)),
77 rotation_ (Eigen::Vector3f::Zero ()),
78 translation_ (Eigen::Vector3f::Zero ()),
79 transform_ (Eigen::Affine3f::Identity ())
88 setMin (
const Eigen::Vector4f &min_pt)
96 inline Eigen::Vector4f
114 inline Eigen::Vector4f
126 translation_ = translation;
133 return (translation_);
142 rotation_ = rotation;
146 inline Eigen::Vector3f
158 transform_ = transform;
162 inline Eigen::Affine3f
192 Eigen::Vector4f min_pt_;
194 Eigen::Vector4f max_pt_;
196 Eigen::Vector3f rotation_;
198 Eigen::Vector3f translation_;
200 Eigen::Affine3f transform_;
224 CropBox (
bool extract_removed_indices =
false) :
226 min_pt_(Eigen::Vector4f (-1, -1, -1, 1)),
227 max_pt_(Eigen::Vector4f (1, 1, 1, 1)),
228 translation_ (Eigen::Vector3f::Zero ()),
229 rotation_ (Eigen::Vector3f::Zero ()),
230 transform_(Eigen::Affine3f::Identity ())
232 filter_name_ =
"CropBox";
239 setMin (
const Eigen::Vector4f& min_pt)
247 inline Eigen::Vector4f
257 setMax (
const Eigen::Vector4f &max_pt)
265 inline Eigen::Vector4f
275 setTranslation (
const Eigen::Vector3f &translation)
277 translation_ = translation;
281 inline Eigen::Vector3f
282 getTranslation ()
const
284 return (translation_);
291 setRotation (
const Eigen::Vector3f &rotation)
293 rotation_ = rotation;
297 inline Eigen::Vector3f
307 setTransform (
const Eigen::Affine3f &transform)
309 transform_ = transform;
313 inline Eigen::Affine3f
314 getTransform ()
const
330 applyFilter (std::vector<int> &indices);
345 #ifdef PCL_NO_PRECOMPILE
346 #include <pcl/filters/impl/crop_box.hpp>
349 #endif // PCL_FILTERS_CROP_BOX_H_