Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions
pcl::Clipper3D< PointT > Class Template Referenceabstract

Base class for 3D clipper objects. More...

#include <pcl/filters/clipper3D.h>

+ Inheritance diagram for pcl::Clipper3D< PointT >:

Public Types

using Ptr = shared_ptr< Clipper3D< PointT > >
 
using ConstPtr = shared_ptr< const Clipper3D< PointT > >
 

Public Member Functions

virtual ~Clipper3D () noexcept=default
 virtual destructor. More...
 
virtual bool clipPoint3D (const PointT &point) const =0
 interface to clip a single point More...
 
virtual bool clipLineSegment3D (PointT &pt1, PointT &pt2) const =0
 interface to clip a line segment given by two end points. More...
 
virtual void clipPlanarPolygon3D (std::vector< PointT, Eigen::aligned_allocator< PointT > > &polygon) const =0
 interface to clip a planar polygon given by an ordered list of points More...
 
virtual void clipPlanarPolygon3D (const std::vector< PointT, Eigen::aligned_allocator< PointT > > &polygon, std::vector< PointT, Eigen::aligned_allocator< PointT > > &clipped_polygon) const =0
 interface to clip a planar polygon given by an ordered list of points More...
 
virtual void clipPointCloud3D (const pcl::PointCloud< PointT > &cloud_in, Indices &clipped, const Indices &indices=Indices()) const =0
 interface to clip a point cloud More...
 
virtual Clipper3D< PointT > * clone () const =0
 polymorphic method to clone the underlying clipper with its parameters. More...
 

Detailed Description

template<typename PointT>
class pcl::Clipper3D< PointT >

Base class for 3D clipper objects.

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

Definition at line 54 of file clipper3D.h.

Member Typedef Documentation

◆ ConstPtr

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

Definition at line 58 of file clipper3D.h.

◆ Ptr

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

Definition at line 57 of file clipper3D.h.

Constructor & Destructor Documentation

◆ ~Clipper3D()

template<typename PointT >
virtual pcl::Clipper3D< PointT >::~Clipper3D ( )
virtualdefaultnoexcept

virtual destructor.

Never throws an exception.

Member Function Documentation

◆ clipLineSegment3D()

template<typename PointT >
virtual bool pcl::Clipper3D< PointT >::clipLineSegment3D ( PointT pt1,
PointT pt2 
) const
pure virtual

interface to clip a line segment given by two end points.

The order of the end points is unimportant and will sty the same after clipping. This means basically, that the direction of the line will not flip after clipping.

Parameters
[in,out]pt1start point of the line
[in,out]pt2end point of the line
Returns
true if the clipped line is not empty, thus the parameters are still valid, false if line completely outside clipping space

Implemented in pcl::BoxClipper3D< PointT >, and pcl::PlaneClipper3D< PointT >.

◆ clipPlanarPolygon3D() [1/2]

template<typename PointT >
virtual void pcl::Clipper3D< PointT >::clipPlanarPolygon3D ( const std::vector< PointT, Eigen::aligned_allocator< PointT > > &  polygon,
std::vector< PointT, Eigen::aligned_allocator< PointT > > &  clipped_polygon 
) const
pure virtual

interface to clip a planar polygon given by an ordered list of points

Parameters
[in]polygonthe polygon in any direction (ccw or cw) but ordered, thus two neighboring points define an edge of the polygon
[out]clipped_polygonthe clipped polygon

Implemented in pcl::BoxClipper3D< PointT >, and pcl::PlaneClipper3D< PointT >.

◆ clipPlanarPolygon3D() [2/2]

template<typename PointT >
virtual void pcl::Clipper3D< PointT >::clipPlanarPolygon3D ( std::vector< PointT, Eigen::aligned_allocator< PointT > > &  polygon) const
pure virtual

interface to clip a planar polygon given by an ordered list of points

Parameters
[in,out]polygonthe polygon in any direction (ccw or cw) but ordered, thus two neighboring points define an edge of the polygon

Implemented in pcl::BoxClipper3D< PointT >, and pcl::PlaneClipper3D< PointT >.

◆ clipPoint3D()

template<typename PointT >
virtual bool pcl::Clipper3D< PointT >::clipPoint3D ( const PointT point) const
pure virtual

interface to clip a single point

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

Implemented in pcl::BoxClipper3D< PointT >, and pcl::PlaneClipper3D< PointT >.

◆ clipPointCloud3D()

template<typename PointT >
virtual void pcl::Clipper3D< PointT >::clipPointCloud3D ( const pcl::PointCloud< PointT > &  cloud_in,
Indices clipped,
const Indices indices = Indices() 
) const
pure virtual

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.

Implemented in pcl::BoxClipper3D< PointT >, and pcl::PlaneClipper3D< PointT >.

◆ clone()

template<typename PointT >
virtual Clipper3D<PointT>* pcl::Clipper3D< PointT >::clone ( ) const
pure virtual

polymorphic method to clone the underlying clipper with its parameters.

Returns
the new clipper object from the specific subclass with all its parameters.

Implemented in pcl::BoxClipper3D< PointT >, and pcl::PlaneClipper3D< PointT >.


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