40 #include <pcl/Vertices.h>
41 #include <pcl/filters/filter_indices.h>
50 template<
typename Po
intT>
64 using Ptr = shared_ptr<CropHull<PointT> >;
65 using ConstPtr = shared_ptr<const CropHull<PointT> >;
83 hull_polygons_ = polygons;
91 return (hull_polygons_);
100 hull_cloud_ = points;
107 return (hull_cloud_);
129 crop_outside_ = crop_outside;
151 getHullCloudRange ();
160 template<
unsigned PlaneDim1,
unsigned PlaneDim2>
void
161 applyFilter2D (
Indices &indices);
172 applyFilter3D (
Indices &indices);
180 template<
unsigned PlaneDim1,
unsigned PlaneDim2>
inline static bool
181 isPointIn2DPolyWithVertIndices (
const PointT& point,
194 rayTriangleIntersect (
const PointT& point,
195 const Eigen::Vector3f& ray,
201 std::vector<pcl::Vertices> hull_polygons_;
204 PointCloudPtr hull_cloud_;
217 #ifdef PCL_NO_PRECOMPILE
218 #include <pcl/filters/impl/crop_hull.hpp>
Filter points that lie inside or outside a 3D closed surface or 2D closed polygon,...
void setHullIndices(const std::vector< Vertices > &polygons)
Set the vertices of the hull used to filter points.
void applyFilter(PointCloud &output) override
Filter the input points using the 2D or 3D polygon hull.
void setCropOutside(bool crop_outside)
Remove points outside the hull (default), or those inside the hull.
CropHull()
Empty Constructor.
std::vector< Vertices > getHullIndices() const
Get the vertices of the hull used to filter points.
void setDim(int dim)
Set the dimensionality of the hull to be used.
shared_ptr< CropHull< PointT > > Ptr
shared_ptr< const CropHull< PointT > > ConstPtr
void setHullCloud(PointCloudPtr points)
Set the point cloud that the hull indices refer to.
PointCloudPtr getHullCloud() const
Get the point cloud that the hull indices refer to.
Filter represents the base filter class.
std::string filter_name_
The filter name.
FilterIndices represents the base class for filters that are about binary point removal.
typename PointCloud::Ptr PointCloudPtr
typename PointCloud::ConstPtr PointCloudConstPtr
PointCloud represents the base class in PCL for storing collections of 3D points.
shared_ptr< PointCloud< PointT > > Ptr
shared_ptr< const PointCloud< PointT > > ConstPtr
IndicesAllocator<> Indices
Type used for indices in PCL.
A point structure representing Euclidean xyz coordinates, and the RGB color.
Describes a set of vertices in a polygon mesh, by basically storing an array of indices.