42 #include <pcl/pcl_macros.h>
43 #include <pcl/filters/filter_indices.h>
79 template <
typename Po
intT>
90 using Ptr = shared_ptr<PassThrough<PointT> >;
91 using ConstPtr = shared_ptr<const PassThrough<PointT> >;
99 filter_field_name_ (
""),
100 filter_limit_min_ (FLT_MIN),
101 filter_limit_max_ (FLT_MAX)
113 filter_field_name_ = field_name;
119 inline std::string
const
122 return (filter_field_name_);
133 filter_limit_min_ = limit_min;
134 filter_limit_max_ = limit_max;
144 limit_min = filter_limit_min_;
145 limit_max = filter_limit_max_;
153 PCL_DEPRECATED(1, 13,
"use inherited FilterIndices::setNegative() instead")
164 PCL_DEPRECATED(1, 13,
"use inherited FilterIndices::getNegative() instead")
209 std::string filter_field_name_;
212 float filter_limit_min_;
215 float filter_limit_max_;
238 filter_field_name_ (
""), filter_limit_min_ (-FLT_MAX), filter_limit_max_ (FLT_MAX)
240 filter_name_ =
"PassThrough";
250 filter_field_name_ = field_name;
254 inline std::string
const
257 return (filter_field_name_);
267 filter_limit_min_ = limit_min;
268 filter_limit_max_ = limit_max;
278 limit_min = filter_limit_min_;
279 limit_max = filter_limit_max_;
286 PCL_DEPRECATED(1, 12,
"use inherited FilterIndices::setNegative() instead")
288 setFilterLimitsNegative (const
bool limit_negative)
290 negative_ = limit_negative;
296 PCL_DEPRECATED(1, 12,
"use inherited FilterIndices::getNegative() instead")
298 getFilterLimitsNegative (
bool &limit_negative)
const
300 limit_negative = negative_;
306 PCL_DEPRECATED(1, 12,
"use inherited FilterIndices::getNegative() instead")
308 getFilterLimitsNegative ()
const
315 applyFilter (PCLPointCloud2 &output)
override;
318 applyFilter (std::vector<int> &indices)
override;
322 std::string filter_field_name_;
325 double filter_limit_min_;
328 double filter_limit_max_;
333 #ifdef PCL_NO_PRECOMPILE
334 #include <pcl/filters/impl/passthrough.hpp>
shared_ptr< ::pcl::PCLPointCloud2 > Ptr
PassThrough(bool extract_removed_indices=false)
Constructor.
shared_ptr< PointCloud< PointT > > Ptr
void setFilterLimits(const double &limit_min, const double &limit_max)
Set the field filter limits.
std::string const getFilterFieldName() const
Retrieve the name of the field to be used for filtering data.
typename pcl::traits::fieldList< PointInT >::type FieldList
shared_ptr< const ::pcl::PCLPointCloud2 > ConstPtr
void setFilterFieldName(const std::string &field_name)
Provide the name of the field to be used for filtering data.
void setFilterLimitsNegative(const bool limit_negative)
Set to true if we want to return the data outside the interval specified by setFilterLimits (min...
void setFilterFieldName(const std::string &field_name)
Provide the name of the field to be used for filtering data.
bool negative_
False = normal filter behavior (default), true = inverted behavior.
PassThrough(bool extract_removed_indices=false)
Constructor.
void applyFilter(std::vector< int > &indices) override
Filtered results are indexed by an indices array.
FilterIndices represents the base class for filters that are about binary point removal.
Filter represents the base filter class.
void setFilterLimits(const float &limit_min, const float &limit_max)
Set the numerical limits for the field for filtering data.
shared_ptr< Filter< PointInT > > Ptr
typename PointCloud::Ptr PointCloudPtr
bool getFilterLimitsNegative() const
Get whether the data outside the interval (min/max) is to be returned (true) or inside (false)...
PassThrough passes points in a cloud based on constraints for one particular field of the point type...
void getFilterLimits(double &limit_min, double &limit_max) const
Get the field filter limits (min/max) set by the user.
std::string const getFilterFieldName() const
Get the name of the field used for filtering.
void getFilterLimits(float &limit_min, float &limit_max) const
Get the numerical limits for the field for filtering data.
PCLPointCloud2::ConstPtr PCLPointCloud2ConstPtr
shared_ptr< const PointCloud< PointT > > ConstPtr
void applyFilterIndices(std::vector< int > &indices)
Filtered results are indexed by an indices array.
std::string filter_name_
The filter name.
shared_ptr< const Filter< PointInT > > ConstPtr
A point structure representing Euclidean xyz coordinates, and the RGB color.
PCLPointCloud2::Ptr PCLPointCloud2Ptr
typename PointCloud::ConstPtr PointCloudConstPtr