Loading...
Searching...
No Matches
pcl::BoxClipper3D< PointT > Class Template Reference
Module filters

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>`

Inheritance diagram for pcl::BoxClipper3D< PointT >:

## Public Types

using | Ptr = shared_ptr< BoxClipper3D< PointT > >
using | ConstPtr = shared_ptr< const BoxClipper3D< PointT > >
Public Types inherited from pcl::Clipper3D< 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.
| 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
void | setTransformation (const Eigen::Affine3f &transformation)
| Set the affine transformation.
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
| ~BoxClipper3D () noexcept override
| virtual destructor
bool | clipPoint3D (const PointT &point) const override
| interface to clip a single point
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
Clipper3D< PointT > * | clone () const override
| polymorphic method to clone the underlying clipper with its parameters.
Public Member Functions inherited from pcl::Clipper3D< PointT >
virtual | ~Clipper3D () noexcept=default
| virtual destructor.

## 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.

Author
  Suat Gedikli gedik.nosp@m.li@w.nosp@m.illow.nosp@m.gara.nosp@m.ge.co.nosp@m.m

See also
  CropBox

Definition at line 54 of file box_clipper3D.h.

## Member Typedef Documentation

## ConstPtr

template<typename PointT >

using pcl::BoxClipper3D< PointT >::ConstPtr = shared_ptr<const BoxClipper3D<PointT> >

Definition at line 59 of file box_clipper3D.h.

## Ptr

template<typename PointT >

using pcl::BoxClipper3D< PointT >::Ptr = shared_ptr<BoxClipper3D<PointT> >

Definition at line 58 of file box_clipper3D.h.

## Constructor & Destructor Documentation

## BoxClipper3D() [1/2]

template<typename PointT >

pcl::BoxClipper3D< PointT >::BoxClipper3D | ( | const Eigen::Affine3f & | transformation | ) |

Constructor taking an affine transformation matrix, which allows also shearing of the clipping area.

Author
  Suat Gedikli gedik.nosp@m.li@w.nosp@m.illow.nosp@m.gara.nosp@m.ge.co.nosp@m.m

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]

template<typename PointT >

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()

template<typename PointT >

pcl::BoxClipper3D< PointT >::~BoxClipper3D | ( |  | ) |

override default noexcept

virtual destructor

## Member Function Documentation

## clipLineSegment3D()

template<typename PointT >

bool pcl::BoxClipper3D< PointT >::clipLineSegment3D | ( | PointT & | from,
|  | PointT & | to
| ) |  | const

override virtual

Attention
  untested code

Implements pcl::Clipper3D< PointT >.

Definition at line 119 of file box_clipper3D.hpp.

## clipPlanarPolygon3D() [1/2]

template<typename PointT >

void pcl::BoxClipper3D< PointT >::clipPlanarPolygon3D | ( | const std::vector< PointT, Eigen::aligned_allocator< PointT > > & | polygon,
|  | std::vector< PointT, Eigen::aligned_allocator< PointT > > & | clipped_polygon
| ) |  | const

override virtual

Attention
  untested code

Implements pcl::Clipper3D< PointT >.

Definition at line 173 of file box_clipper3D.hpp.

## clipPlanarPolygon3D() [2/2]

template<typename PointT >

void pcl::BoxClipper3D< PointT >::clipPlanarPolygon3D | ( | std::vector< PointT, Eigen::aligned_allocator< PointT > > & | polygon | ) | const

override virtual

Attention
  untested code

Implements pcl::Clipper3D< PointT >.

Definition at line 185 of file box_clipper3D.hpp.

## clipPoint3D()

template<typename PointT >

bool pcl::BoxClipper3D< PointT >::clipPoint3D | ( | const PointT & | point | ) | const

override virtual

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()

template<typename PointT >

void pcl::BoxClipper3D< PointT >::clipPointCloud3D | ( | const pcl::PointCloud< PointT > & | cloud_in,
|  | Indices & | clipped,
|  | const Indices & | indices = `Indices()`
| ) |  | const

override virtual

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()

template<typename PointT >

pcl::Clipper3D< PointT > * pcl::BoxClipper3D< PointT >::clone | ( |  | ) | const

override virtual

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()

template<typename PointT >

float pcl::BoxClipper3D< PointT >::getDistance | ( | const PointT & | point | ) | const

protected

## setTransformation() [1/2]

template<typename PointT >

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]

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 67 of file box_clipper3D.hpp.

## transformPoint()

template<typename PointT >

void pcl::BoxClipper3D< PointT >::transformPoint | ( | const PointT & | pointIn,
|  | PointT & | pointOut
| ) |  | const

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