43 #include <pcl/features/eigen.h>
44 #include <pcl/features/feature.h>
79 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT>
83 using Ptr = shared_ptr<BoundaryEstimation<PointInT, PointNT, PointOutT> >;
84 using ConstPtr = shared_ptr<const BoundaryEstimation<PointInT, PointNT, PointOutT> >;
119 int q_idx,
const std::vector<int> &indices,
120 const Eigen::Vector4f &u,
const Eigen::Vector4f &v,
const float angle_threshold);
133 const PointInT &q_point,
134 const std::vector<int> &indices,
135 const Eigen::Vector4f &u,
const Eigen::Vector4f &v,
const float angle_threshold);
161 Eigen::Vector4f &u, Eigen::Vector4f &v)
164 v = p_coeff_v.unitOrthogonal ();
165 u = p_coeff_v.cross3 (v);
182 #ifdef PCL_NO_PRECOMPILE
183 #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
float angle_threshold_
The decision boundary (angle threshold) that marks points as boundary or regular.
bool isBoundaryPoint(const pcl::PointCloud< PointInT > &cloud, int q_idx, const std::vector< int > &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.
Feature represents the base feature class.
std::string feature_name_
The feature name.
const Eigen::Map< const Eigen::Vector4f, Eigen::Aligned > Vector4fMapConst