38 #ifndef PCL_FILTERS_CROP_HULL_H_
39 #define PCL_FILTERS_CROP_HULL_H_
41 #include <pcl/point_types.h>
42 #include <pcl/Vertices.h>
43 #include <pcl/filters/filter_indices.h>
52 template<
typename Po
intT>
65 typedef boost::shared_ptr< CropHull<PointT> >
Ptr;
66 typedef boost::shared_ptr< const CropHull<PointT> >
ConstPtr;
85 hull_polygons_ = polygons;
93 return (hull_polygons_);
102 hull_cloud_ = points;
109 return (hull_cloud_);
131 crop_outside_ = crop_outside;
153 getHullCloudRange ();
161 template<
unsigned PlaneDim1,
unsigned PlaneDim2>
void
171 template<
unsigned PlaneDim1,
unsigned PlaneDim2>
void
172 applyFilter2D (std::vector<int> &indices);
194 applyFilter3D (std::vector<int> &indices);
202 template<
unsigned PlaneDim1,
unsigned PlaneDim2>
inline static bool
203 isPointIn2DPolyWithVertIndices (
const PointT& point,
216 rayTriangleIntersect (
const PointT& point,
217 const Eigen::Vector3f& ray,
223 std::vector<pcl::Vertices> hull_polygons_;
226 PointCloudPtr hull_cloud_;
239 #ifdef PCL_NO_PRECOMPILE
240 #include <pcl/filters/impl/crop_hull.hpp>
243 #endif // ifndef PCL_FILTERS_CROP_HULL_H_