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_
void computeFeature(PointCloudOut &output)
Estimate whether a set of points is lying on surface boundaries using an angle criterion for all poin...
boost::shared_ptr< BoundaryEstimation< PointInT, PointNT, PointOutT > > Ptr
std::string feature_name_
The feature name.
This file defines compatibility wrappers for low level I/O functions.
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.
float getAngleThreshold()
Get the decision boundary (angle threshold) as set by the user.
const Eigen::Map< const Eigen::Vector4f, Eigen::Aligned > Vector4fMapConst
Feature< PointInT, PointOutT >::PointCloudOut PointCloudOut
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...
void setAngleThreshold(float angle)
Set the decision boundary (angle threshold) that marks points as boundary or regular.
boost::shared_ptr< const BoundaryEstimation< PointInT, PointNT, PointOutT > > ConstPtr
float angle_threshold_
The decision boundary (angle threshold) that marks points as boundary or regular. ...
PointCloud represents the base class in PCL for storing collections of 3D points. ...
Feature represents the base feature class.
BoundaryEstimation()
Empty constructor.