37 #ifndef _PCL_GPU_FEATURES_HPP_
38 #define _PCL_GPU_FEATURES_HPP_
40 #include <pcl/pcl_macros.h>
41 #include <pcl/point_types.h>
42 #include <pcl/gpu/containers/device_array.h>
43 #include <pcl/gpu/octree/device_format.hpp>
44 #include <pcl/gpu/octree/octree.hpp>
66 void setSearchSurface(
const PointCloud& surface);
67 void setIndices(
const Indices& indices);
68 void setRadiusSearch(
float radius,
int max_results);
86 void setInputNormals(
const Normals& normals);
100 void compute(
Normals& normals);
101 void setViewPoint(
float vpx,
float vpy,
float vpz);
102 void getViewPoint(
float& vpx,
float& vpy,
float& vpz)
const;
108 float vpx_, vpy_, vpz_;
224 void setViewPoint(
float vpx,
float vpy,
float vpz);
225 void getViewPoint(
float& vpx,
float& vpy,
float& vpz)
const;
227 void setUseGivenNormal (
bool use);
228 void setNormalToUse (
const NormalType& normal);
229 void setUseGivenCentroid (
bool use);
230 void setCentroidToUse (
const PointType& centroid);
232 void setNormalizeBins (
bool normalize);
233 void setNormalizeDistance (
bool normalize);
234 void setFillSizeComponent (
bool fill_size);
239 float vpx_, vpy_, vpz_;
241 bool use_given_normal_;
242 bool use_given_centroid_;
243 bool normalize_bins_;
244 bool normalize_distances_;
245 bool size_component_;
247 NormalType normal_to_use_;
248 PointType centroid_to_use_;
261 double support_angle_cos = 0.0,
262 unsigned int min_pts_neighb = 0);
264 void setImageWidth (
unsigned int bin_count);
265 void setSupportAngle (
float support_angle_cos);
266 void setMinPointCountInNeighbourhood (
unsigned int min_pts_neighb);
267 void setInputWithNormals (
const PointCloud& input,
const Normals& normals);
268 void setSearchSurfaceWithNormals (
const PointCloud& surface,
const Normals& normals);
270 void setRotationAxis (
const NormalType& axis);
271 void setInputRotationAxes (
const Normals& axes);
272 void useNormalsAsRotationAxis();
273 void setAngularDomain (
bool is_angular =
true);
274 void setRadialStructure (
bool is_radial =
true);
279 Normals input_normals_;
280 Normals rotation_axes_cloud_;
285 bool use_custom_axis_;
288 bool use_custom_axes_cloud_;
292 unsigned int image_width_;
293 float support_angle_cos_;
294 unsigned int min_pts_neighb_;
Class for SpinImages estimation.
Feature represents the base feature class that takes normals as input also.
Octree implementation on GPU.
Class for normal estimation.
void flipNormalTowardsViewpoint(const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Matrix< Scalar, 4, 1 > &normal)
Flip (in place) the estimated normal of a point towards a given viewpoint.
Class for PFH estimation.
A point structure representing an N-D histogram.
Feature represents the base feature class.
A point structure representing Euclidean xyz coordinates.
Class for PFHRGB estimation.
Class for PPFRGBRegion estimation.
Class for FPFH estimation.