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 the unit cube centered at origin and with an extend of -1 to +1 in each dimension.
More...
#include <pcl/filters/box_clipper3D.h>
|
| 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...
|
|
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 the unit cube centered at origin and with an extend of -1 to +1 in each dimension.
- Author
- Suat Gedikli gedik.nosp@m.li@w.nosp@m.illow.nosp@m.gara.nosp@m.ge.co.nosp@m.m
Definition at line 53 of file box_clipper3D.h.
◆ ConstPtr
template<typename PointT >
◆ Ptr
template<typename PointT >
◆ BoxClipper3D() [1/2]
template<typename PointT >
◆ BoxClipper3D() [2/2]
template<typename PointT >
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 49 of file box_clipper3D.hpp.
◆ ~BoxClipper3D()
template<typename PointT >
◆ clipLineSegment3D()
template<typename PointT >
◆ clipPlanarPolygon3D() [1/2]
template<typename PointT >
◆ clipPlanarPolygon3D() [2/2]
template<typename PointT >
◆ clipPoint3D()
template<typename PointT >
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 110 of file box_clipper3D.hpp.
◆ clipPointCloud3D()
template<typename PointT >
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 198 of file box_clipper3D.hpp.
References pcl::PointCloud< PointT >::size().
◆ clone()
template<typename PointT >
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 77 of file box_clipper3D.hpp.
◆ getDistance()
template<typename PointT >
◆ setTransformation() [1/2]
template<typename PointT >
◆ setTransformation() [2/2]
template<typename PointT >
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 69 of file box_clipper3D.hpp.
◆ transformPoint()
template<typename PointT >
The documentation for this class was generated from the following files: