123 Eigen::Vector4f u = Eigen::Vector4f::Zero (), v = Eigen::Vector4f::Zero ();
127 if (input_->is_dense)
130 for (std::size_t idx = 0; idx < indices_->size (); ++idx)
132 if (this->searchForNeighbors ((*indices_)[idx], search_parameter_,
nn_indices,
nn_dists) == 0)
134 output[idx].boundary_point = std::numeric_limits<std::uint8_t>::quiet_NaN ();
142 getCoordinateSystemOnPlane ((*normals_)[(*indices_)[idx]], u, v);
145 output[idx].boundary_point = isBoundaryPoint (*surface_, (*input_)[(*indices_)[idx]],
nn_indices, u, v, angle_threshold_);
151 for (std::size_t idx = 0; idx < indices_->size (); ++idx)
153 if (!
isFinite ((*input_)[(*indices_)[idx]]) ||
154 this->searchForNeighbors ((*indices_)[idx], search_parameter_,
nn_indices,
nn_dists) == 0)
156 output[idx].boundary_point = std::numeric_limits<std::uint8_t>::quiet_NaN ();
164 getCoordinateSystemOnPlane ((*normals_)[(*indices_)[idx]], u, v);
167 output[idx].boundary_point = isBoundaryPoint (*surface_, (*input_)[(*indices_)[idx]],
nn_indices, u, v, angle_threshold_);
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.