Implementation of a box clipper in 3D. Actually it allows affine transformations, thus any parallelepiped in general pose. The affine transformation is used to transform the point before clipping it using a cube centered at origin and with an extend of -1 to +1 in each dimension. More...
#include <pcl/filters/box_clipper3D.h>
Public Types | |
| using | Ptr = shared_ptr< BoxClipper3D< PointT > > |
| using | ConstPtr = shared_ptr< const BoxClipper3D< PointT > > |
|
| |
| using | Ptr = shared_ptr< Clipper3D< PointT > > |
| using | ConstPtr = shared_ptr< const Clipper3D< PointT > > |
Public Member Functions | |
| BoxClipper3D (const Eigen::Affine3f &transformation) | |
| Constructor taking an affine transformation matrix, which allows also shearing of the clipping area. More... |
|
| BoxClipper3D (const Eigen::Vector3f &rodrigues, const Eigen::Vector3f &translation, const Eigen::Vector3f &box_size) | |
| creates a BoxClipper object with a scaled box in general pose More... |
|
| void | setTransformation (const Eigen::Affine3f &transformation) |
| Set the affine transformation. More... |
|
| void | setTransformation (const Eigen::Vector3f &rodrigues, const Eigen::Vector3f &translation, const Eigen::Vector3f &box_size) |
| sets the box in general pose given by the orientation position and size More... |
|
| ~BoxClipper3D () noexcept override | |
| virtual destructor More... |
|
| bool | clipPoint3D (const PointT &point) const override |
| interface to clip a single point More... |
|
| bool | clipLineSegment3D (PointT &from, PointT &to) const override |
| void | clipPlanarPolygon3D (std::vector< PointT, Eigen::aligned_allocator< PointT > > &polygon) const override |
| void | clipPlanarPolygon3D (const std::vector< PointT, Eigen::aligned_allocator< PointT > > &polygon, std::vector< PointT, Eigen::aligned_allocator< PointT > > &clipped_polygon) const override |
| void | clipPointCloud3D (const pcl::PointCloud< PointT > &cloud_in, Indices &clipped, const Indices &indices=Indices()) const override |
| interface to clip a point cloud More... |
|
| Clipper3D< PointT > * | clone () const override |
| polymorphic method to clone the underlying clipper with its parameters. More... |
|
|
| |
| virtual | ~Clipper3D () noexcept=default |
| virtual destructor. More... |
|
Protected Member Functions | |
| float | getDistance (const PointT &point) const |
| void | transformPoint (const PointT &pointIn, PointT &pointOut) const |
Detailed Description
template<typename PointT>
class pcl::BoxClipper3D< PointT >
Implementation of a box clipper in 3D. Actually it allows affine transformations, thus any parallelepiped in general pose. The affine transformation is used to transform the point before clipping it using a cube centered at origin and with an extend of -1 to +1 in each dimension.
- See also
- CropBox
Definition at line 54 of file box_clipper3D.h.
Member Typedef Documentation
ConstPtr
| using pcl::BoxClipper3D< PointT >::ConstPtr = shared_ptr<const BoxClipper3D<PointT> > |
Definition at line 59 of file box_clipper3D.h.
Ptr
| using pcl::BoxClipper3D< PointT >::Ptr = shared_ptr<BoxClipper3D<PointT> > |
Definition at line 58 of file box_clipper3D.h.
Constructor & Destructor Documentation
BoxClipper3D() [1/2]
| pcl::BoxClipper3D< PointT >::BoxClipper3D | ( | const Eigen::Affine3f & | transformation | ) |
Constructor taking an affine transformation matrix, which allows also shearing of the clipping area.
- Parameters
-
[in] transformation the 3 dimensional affine transformation that is used to describe the cube ([-1; +1] in each dimension). The transformation is applied to the point(s)!
Definition at line 41 of file box_clipper3D.hpp.
BoxClipper3D() [2/2]
| pcl::BoxClipper3D< PointT >::BoxClipper3D | ( | const Eigen::Vector3f & | rodrigues, |
| const Eigen::Vector3f & | translation, | ||
| const Eigen::Vector3f & | box_size | ||
| ) |
creates a BoxClipper object with a scaled box in general pose
- Parameters
-
[in] rodrigues the rotation axis and angle given by the vector direction and length respectively [in] translation the position of the box center [in] box_size the size of the box for each dimension
Definition at line 48 of file box_clipper3D.hpp.
~BoxClipper3D()
| overridedefaultnoexcept |
virtual destructor
Member Function Documentation
clipLineSegment3D()
| overridevirtual |
- Attention
- untested code
Implements pcl::Clipper3D< PointT >.
Definition at line 119 of file box_clipper3D.hpp.
clipPlanarPolygon3D() [1/2]
| overridevirtual |
- Attention
- untested code
Implements pcl::Clipper3D< PointT >.
Definition at line 173 of file box_clipper3D.hpp.
clipPlanarPolygon3D() [2/2]
| overridevirtual |
- Attention
- untested code
Implements pcl::Clipper3D< PointT >.
Definition at line 185 of file box_clipper3D.hpp.
clipPoint3D()
| overridevirtual |
interface to clip a single point
- Parameters
-
[in] point the point to check against
- Returns
- true, it point still exists, false if its clipped
Implements pcl::Clipper3D< PointT >.
Definition at line 107 of file box_clipper3D.hpp.
clipPointCloud3D()
| overridevirtual |
interface to clip a point cloud
- Parameters
-
[in] cloud_in input point cloud [out] clipped indices of points that remain after clipping the input cloud [in] indices the indices of points in the point cloud to be clipped.
- Returns
- list of indices of remaining points after clipping.
Implements pcl::Clipper3D< PointT >.
Definition at line 195 of file box_clipper3D.hpp.
References pcl::PointCloud< PointT >::size().
clone()
| overridevirtual |
polymorphic method to clone the underlying clipper with its parameters.
- Returns
- the new clipper object from the specific subclass with all its parameters.
Implements pcl::Clipper3D< PointT >.
Definition at line 74 of file box_clipper3D.hpp.
getDistance()
| protected |
setTransformation() [1/2]
| void pcl::BoxClipper3D< PointT >::setTransformation | ( | const Eigen::Affine3f & | transformation | ) |
Set the affine transformation.
- Parameters
-
[in] transformation applied to the point(s)
Definition at line 60 of file box_clipper3D.hpp.
setTransformation() [2/2]
| void pcl::BoxClipper3D< PointT >::setTransformation | ( | const Eigen::Vector3f & | rodrigues, |
| const Eigen::Vector3f & | translation, | ||
| const Eigen::Vector3f & | box_size | ||
| ) |
sets the box in general pose given by the orientation position and size
- Parameters
-
[in] rodrigues the rotation axis and angle given by the vector direction and length respectively [in] translation the position of the box center [in] box_size the size of the box for each dimension
Definition at line 67 of file box_clipper3D.hpp.
transformPoint()
| protected |
Definition at line 81 of file box_clipper3D.hpp.
The documentation for this class was generated from the following files:
- pcl/filters/box_clipper3D.h
- pcl/filters/impl/box_clipper3D.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_box_clipper3_d.html