43 #include <pcl/features/feature.h>
78 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT>
82 using Ptr = shared_ptr<BoundaryEstimation<PointInT, PointNT, PointOutT> >;
83 using ConstPtr = shared_ptr<const BoundaryEstimation<PointInT, PointNT, PointOutT> >;
119 const Eigen::Vector4f &u,
const Eigen::Vector4f &v,
const float angle_threshold);
132 const PointInT &q_point,
134 const Eigen::Vector4f &u,
const Eigen::Vector4f &v,
const float angle_threshold);
160 Eigen::Vector4f &u, Eigen::Vector4f &v)
163 v = p_coeff_v.unitOrthogonal ();
164 u = p_coeff_v.cross3 (v);
181 #ifdef PCL_NO_PRECOMPILE
182 #include <pcl/features/impl/boundary.hpp>
BoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle cr...
void getCoordinateSystemOnPlane(const PointNT &p_coeff, Eigen::Vector4f &u, Eigen::Vector4f &v)
Get a u-v-n coordinate system that lies on a plane defined by its normal.
shared_ptr< BoundaryEstimation< PointInT, PointNT, PointOutT > > Ptr
float getAngleThreshold()
Get the decision boundary (angle threshold) as set by the user.
BoundaryEstimation()
Empty constructor.
shared_ptr< const BoundaryEstimation< PointInT, PointNT, PointOutT > > ConstPtr
void computeFeature(PointCloudOut &output) override
Estimate whether a set of points is lying on surface boundaries using an angle criterion for all poin...
void setAngleThreshold(float angle)
Set the decision boundary (angle threshold) that marks points as boundary or regular.
typename Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
bool isBoundaryPoint(const pcl::PointCloud< PointInT > &cloud, int q_idx, const pcl::Indices &indices, const Eigen::Vector4f &u, const Eigen::Vector4f &v, const float angle_threshold)
Check whether a point is a boundary point in a planar patch of projected points given by indices.
float angle_threshold_
The decision boundary (angle threshold) that marks points as boundary or regular.
Feature represents the base feature class.
std::string feature_name_
The feature name.
const Eigen::Map< const Eigen::Vector4f, Eigen::Aligned > Vector4fMapConst
IndicesAllocator<> Indices
Type used for indices in PCL.