44 #include <pcl/filters/filter_indices.h>
80 template <
typename Po
intT>
87 using FieldList =
typename pcl::traits::fieldList<PointT>::type;
91 using Ptr = shared_ptr<PassThrough<PointT> >;
92 using ConstPtr = shared_ptr<const PassThrough<PointT> >;
101 filter_limit_min_ (std::numeric_limits<float>::lowest()),
102 filter_limit_max_ (std::numeric_limits<float>::max())
114 filter_field_name_ = field_name;
120 inline std::string
const
123 return (filter_field_name_);
134 filter_limit_min_ = limit_min;
135 filter_limit_max_ = limit_max;
145 limit_min = filter_limit_min_;
146 limit_max = filter_limit_max_;
187 std::string filter_field_name_;
190 float filter_limit_min_;
193 float filter_limit_max_;
216 filter_limit_min_(std::numeric_limits<float>::lowest())
217 , filter_limit_max_(std::numeric_limits<float>::max())
219 filter_name_ =
"PassThrough";
229 filter_field_name_ = field_name;
233 inline std::string
const
236 return (filter_field_name_);
246 filter_limit_min_ = limit_min;
247 filter_limit_max_ = limit_max;
258 limit_min = filter_limit_min_;
259 limit_max = filter_limit_max_;
271 std::string filter_field_name_;
274 double filter_limit_min_;
277 double filter_limit_max_;
282 #ifdef PCL_NO_PRECOMPILE
283 #include <pcl/filters/impl/passthrough.hpp>
Filter represents the base filter class.
shared_ptr< Filter< PointT > > Ptr
shared_ptr< const Filter< PointT > > ConstPtr
std::string filter_name_
The filter name.
FilterIndices represents the base class for filters that are about binary point removal.
bool negative_
False = normal filter behavior (default), true = inverted behavior.
PCLPointCloud2::Ptr PCLPointCloud2Ptr
PCLPointCloud2::ConstPtr PCLPointCloud2ConstPtr
typename PointCloud::Ptr PointCloudPtr
typename PointCloud::ConstPtr PointCloudConstPtr
void applyFilter(Indices &indices) override
Abstract filter method for point cloud indices.
void applyFilter(PCLPointCloud2 &output) override
Abstract filter method for point cloud.
std::string const getFilterFieldName() const
Get the name of the field used for filtering.
void setFilterFieldName(const std::string &field_name)
Provide the name of the field to be used for filtering data.
void getFilterLimits(double &limit_min, double &limit_max) const
Get the field filter limits (min/max) set by the user.
PassThrough(bool extract_removed_indices=false)
Constructor.
void setFilterLimits(const double &limit_min, const double &limit_max)
Set the field filter limits.
PassThrough passes points in a cloud based on constraints for one particular field of the point type.
void applyFilter(Indices &indices) override
Filtered results are indexed by an indices array.
PassThrough(bool extract_removed_indices=false)
Constructor.
void setFilterFieldName(const std::string &field_name)
Provide the name of the field to be used for filtering data.
void setFilterLimits(const float &limit_min, const float &limit_max)
Set the numerical limits for the field for filtering data.
bool getFilterLimitsNegative() const
Get whether the data outside the interval (min/max) is to be returned (true) or inside (false).
typename pcl::traits::fieldList< PointT >::type FieldList
void getFilterLimits(float &limit_min, float &limit_max) const
Get the numerical limits for the field for filtering data.
void applyFilterIndices(Indices &indices)
Filtered results are indexed by an indices array.
std::string const getFilterFieldName() const
Retrieve the name of the field to be used for filtering data.
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.
Defines all the PCL and non-PCL macros used.
shared_ptr< ::pcl::PCLPointCloud2 > Ptr
shared_ptr< const ::pcl::PCLPointCloud2 > ConstPtr
A point structure representing Euclidean xyz coordinates, and the RGB color.