40 #include <pcl/memory.h>
41 #include <pcl/pcl_macros.h>
42 #include "clipper3D.h"
53 template<
typename Po
intT>
58 using Ptr = shared_ptr<BoxClipper3D<PointT> >;
59 using ConstPtr = shared_ptr<const BoxClipper3D<PointT> >;
75 BoxClipper3D (
const Eigen::Vector3f& rodrigues,
const Eigen::Vector3f& translation,
const Eigen::Vector3f& box_size);
89 void setTransformation (
const Eigen::Vector3f& rodrigues,
const Eigen::Vector3f& translation,
const Eigen::Vector3f& box_size);
106 clipPlanarPolygon3D (const std::vector<PointT,
Eigen::aligned_allocator<PointT> >& polygon, std::vector<PointT,
Eigen::aligned_allocator<PointT> >& clipped_polygon) const override;
112 clone () const override;
116 void transformPoint (const PointT& pointIn, PointT& pointOut) const;
121 Eigen::Affine3f transformation_;
128 #include <pcl/filters/impl/box_clipper3D.hpp>
float getDistance(const PointT &point) const
void clipPlanarPolygon3D(std::vector< PointT, Eigen::aligned_allocator< PointT > > &polygon) const override
bool clipLineSegment3D(PointT &from, PointT &to) const override
void transformPoint(const PointT &pointIn, PointT &pointOut) const
void clipPointCloud3D(const pcl::PointCloud< PointT > &cloud_in, Indices &clipped, const Indices &indices=Indices()) const override
interface to clip a point cloud
BoxClipper3D(const Eigen::Affine3f &transformation)
Constructor taking an affine transformation matrix, which allows also shearing of the clipping area...
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
~BoxClipper3D() noexcept override
virtual destructor
shared_ptr< BoxClipper3D< PointT > > Ptr
Implementation of a box clipper in 3D. Actually it allows affine transformations, thus any parallelep...
IndicesAllocator<> Indices
Type used for indices in PCL.
shared_ptr< const BoxClipper3D< PointT > > ConstPtr
PointCloud represents the base class in PCL for storing collections of 3D points. ...
bool clipPoint3D(const PointT &point) const override
interface to clip a single point
void setTransformation(const Eigen::Affine3f &transformation)
Set the affine transformation.
A point structure representing Euclidean xyz coordinates, and the RGB color.
Clipper3D< PointT > * clone() const override
polymorphic method to clone the underlying clipper with its parameters.
Base class for 3D clipper objects.