Point Cloud Library (PCL)  1.11.1-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions
pcl::BoxClipper3D< PointT > Class Template Reference

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>

+ 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. 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
 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...
 
- Public Member Functions inherited from pcl::Clipper3D< PointT >
virtual ~Clipper3D () noexcept
 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 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.

Member Typedef Documentation

◆ ConstPtr

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

Definition at line 58 of file box_clipper3D.h.

◆ Ptr

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

Definition at line 57 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]transformationthe 3x3 affine transformation matrix that is used to describe the unit cube

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]rodriguesthe rotation axis and angle given by the vector direction and length respectively
[in]translationthe position of the box center
[in]box_sizethe size of the box for each dimension

Definition at line 49 of file box_clipper3D.hpp.

◆ ~BoxClipper3D()

template<typename PointT >
pcl::BoxClipper3D< PointT >::~BoxClipper3D
noexcept

virtual destructor

Definition at line 56 of file box_clipper3D.hpp.

Member Function Documentation

◆ clipLineSegment3D()

template<typename PointT >
bool pcl::BoxClipper3D< PointT >::clipLineSegment3D ( PointT from,
PointT to 
) const
overridevirtual
Attention
untested code

Implements pcl::Clipper3D< PointT >.

Definition at line 123 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
overridevirtual
Attention
untested code

Implements pcl::Clipper3D< PointT >.

Definition at line 177 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
overridevirtual
Attention
untested code

Implements pcl::Clipper3D< PointT >.

Definition at line 189 of file box_clipper3D.hpp.

◆ clipPoint3D()

template<typename PointT >
bool pcl::BoxClipper3D< PointT >::clipPoint3D ( const PointT point) const
overridevirtual

interface to clip a single point

Parameters
[in]pointthe point to check against
Returns
true, it point still exists, false if its clipped

Implements pcl::Clipper3D< PointT >.

Definition at line 111 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
overridevirtual

interface to clip a point cloud

Parameters
[in]cloud_ininput point cloud
[out]clippedindices of points that remain after clipping the input cloud
[in]indicesthe 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 199 of file box_clipper3D.hpp.

References pcl::PointCloud< PointT >::size().

◆ clone()

template<typename PointT >
pcl::Clipper3D< PointT > * pcl::BoxClipper3D< PointT >::clone ( ) const
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 78 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

Definition at line 62 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]rodriguesthe rotation axis and angle given by the vector direction and length respectively
[in]translationthe position of the box center
[in]box_sizethe size of the box for each dimension

Definition at line 70 of file box_clipper3D.hpp.

◆ transformPoint()

template<typename PointT >
void pcl::BoxClipper3D< PointT >::transformPoint ( const PointT pointIn,
PointT pointOut 
) const
protected

Definition at line 85 of file box_clipper3D.hpp.


The documentation for this class was generated from the following files: