41 #ifndef PCL_BOUNDARY_H_
42 #define PCL_BOUNDARY_H_
44 #include <pcl/features/eigen.h>
45 #include <pcl/features/feature.h>
80 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT>
84 typedef boost::shared_ptr<BoundaryEstimation<PointInT, PointNT, PointOutT> >
Ptr;
85 typedef boost::shared_ptr<const BoundaryEstimation<PointInT, PointNT, PointOutT> >
ConstPtr;
120 int q_idx,
const std::vector<int> &indices,
121 const Eigen::Vector4f &u,
const Eigen::Vector4f &v,
const float angle_threshold);
134 const PointInT &q_point,
135 const std::vector<int> &indices,
136 const Eigen::Vector4f &u,
const Eigen::Vector4f &v,
const float angle_threshold);
162 Eigen::Vector4f &u, Eigen::Vector4f &v)
165 v = p_coeff_v.unitOrthogonal ();
166 u = p_coeff_v.cross3 (v);
183 #ifdef PCL_NO_PRECOMPILE
184 #include <pcl/features/impl/boundary.hpp>
187 #endif //#ifndef PCL_BOUNDARY_H_
std::string feature_name_
The feature name.
PointCloud represents the base class in PCL for storing collections of 3D points. ...
Feature represents the base feature class.
Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
boost::shared_ptr< BoundaryEstimation< PointInT, PointNT, PointOutT > > Ptr
BoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle cr...
void computeFeature(PointCloudOut &output)
Estimate whether a set of points is lying on surface boundaries using an angle criterion for all poin...
BoundaryEstimation()
Empty constructor.
const Eigen::Map< const Eigen::Vector4f, Eigen::Aligned > Vector4fMapConst
boost::shared_ptr< const BoundaryEstimation< PointInT, PointNT, PointOutT > > ConstPtr
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...
float getAngleThreshold()
Get the decision boundary (angle threshold) as set by the user.
float angle_threshold_
The decision boundary (angle threshold) that marks points as boundary or regular. ...
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.
void setAngleThreshold(float angle)
Set the decision boundary (angle threshold) that marks points as boundary or regular.