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>
PassThrough(bool extract_removed_indices=false)
Constructor.
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
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.
shared_ptr< PointCloud< PointT > > Ptr
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.
shared_ptr< const PointCloud< PointT > > ConstPtr
PCLPointCloud2::ConstPtr PCLPointCloud2ConstPtr
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