pcl::cuda::SampleConsensusModel1PointPlane< Storage > Class Template Reference

SampleConsensusModel1PointPlane defines a model for 3D plane segmentation. More...

`#include </build/pcl-qv3n_B/pcl-1.8.1+dfsg1/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model_1point_plane.h>`

Inheritance diagram for pcl::cuda::SampleConsensusModel1PointPlane< Storage >:

## Public Types

typedef SampleConsensusModel< Storage >::PointCloud | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
typedef SampleConsensusModel< Storage >::Indices | Indices
typedef SampleConsensusModel< Storage >::IndicesPtr | IndicesPtr
typedef SampleConsensusModel< Storage >::IndicesConstPtr | IndicesConstPtr
typedef SampleConsensusModel< Storage >::Coefficients | Coefficients
typedef SampleConsensusModel< Storage >::Hypotheses | Hypotheses
typedef SampleConsensusModel< Storage >::Samples | Samples
typedef boost::shared_ptr< SampleConsensusModel1PointPlane > | Ptr
Public Types inherited from pcl::cuda::SampleConsensusModel< Storage >
typedef PointCloudAOS< Storage > | PointCloud
typedef PointCloud::Ptr | PointCloudPtr
typedef PointCloud::ConstPtr | PointCloudConstPtr
typedef boost::shared_ptr< SampleConsensusModel > | Ptr
typedef boost::shared_ptr< const SampleConsensusModel > | ConstPtr
typedef Storage< int >::type | Indices
typedef boost::shared_ptr< typename Storage< int >::type > | IndicesPtr
typedef boost::shared_ptr< const typename Storage< int >::type > | IndicesConstPtr
typedef Storage< float >::type | Coefficients
typedef boost::shared_ptr< Coefficients > | CoefficientsPtr
typedef boost::shared_ptr< const Coefficients > | CoefficientsConstPtr
typedef Storage< float4 >::type | Hypotheses
typedef Storage< int >::type | Samples

## Public Member Functions

| SampleConsensusModel1PointPlane (const PointCloudConstPtr &cloud)
| Constructor for base SampleConsensusModel1PointPlane. More...
void | getSamples (int &iterations, Indices &samples)
| Get 3 random non-collinear points as data samples and return them as point indices. More...
bool | computeModelCoefficients (const Indices &samples, Coefficients &model_coefficients)
| Check whether the given index samples can form a valid plane model, compute the model coefficients from these samples and store them in model_coefficients. More...
bool | generateModelHypotheses (Hypotheses &h, int max_iterations)
bool | generateModelHypotheses (Hypotheses &h, Samples &s, int max_iterations)
int | selectWithinDistance (const Coefficients &model_coefficients, float threshold, IndicesPtr &inliers, IndicesPtr &inliers_stencil)
| Select all the points which respect the given model coefficients as inliers. More...
int | selectWithinDistance (const Hypotheses &h, int idx, float threshold, IndicesPtr &inliers, IndicesPtr &inliers_stencil)
int | selectWithinDistance (Hypotheses &h, int idx, float threshold, IndicesPtr &inliers_stencil, float3 &centroid)
int | countWithinDistance (const Coefficients &model_coefficients, float threshold)
int | countWithinDistance (const Hypotheses &h, int idx, float threshold)
Public Member Functions inherited from pcl::cuda::SampleConsensusModel< Storage >
| SampleConsensusModel (const PointCloudConstPtr &cloud)
| Constructor for base SampleConsensusModel. More...
virtual | ~SampleConsensusModel ()
| Destructor for base SampleConsensusModel. More...
virtual bool | isSampleInlier (IndicesPtr &inliers_stencil, Samples &samples, unsigned int &i)
int | deleteIndices (const IndicesPtr &indices_stencil)
int | deleteIndices (const Hypotheses &h, int idx, IndicesPtr &inliers, const IndicesPtr &inliers_delete)
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset. More...
PointCloudConstPtr | getInputCloud () const
| Get a pointer to the input point cloud dataset. More...
IndicesPtr | getIndices () const
| Get a pointer to the vector of indices used. More...
void | setRadiusLimits (float min_radius, float max_radius)
| Set the minimum and maximum allowable radius limits for the model (applicable to models that estimate a radius) More...
void | getRadiusLimits (float &min_radius, float &max_radius)
| Get the minimum and maximum allowable radius limits for the model as set by the user. More...
boost::shared_ptr< typename Storage< float4 >::type > | getNormals ()
void | setNormals (boost::shared_ptr< typename Storage< float4 >::type > normals)

## Static Public Attributes

static const int | MAX_ITERATIONS_COLLINEAR = 1000
| Define the maximum number of iterations for collinearity checks. More...

## Additional Inherited Members

Protected Attributes inherited from pcl::cuda::SampleConsensusModel< Storage >
PointCloudConstPtr | input_
| A boost shared pointer to the point cloud data array. More...
boost::shared_ptr< typename Storage< float4 >::type > | normals_
IndicesPtr | indices_
| A pointer to the vector of point indices to use. More...
IndicesPtr | indices_stencil_
| A pointer to the vector of point indices (stencil) to use. More...
unsigned int | nr_indices_in_stencil_
| number of indices left in indices_stencil_ More...
float | radius_min_
| The minimum and maximum radius limits for the model. More...
float | radius_max_
thrust::minstd_rand | rngl_
| Linear-Congruent random number generator engine. More...

## Detailed Description

### template<template< typename > class Storage>
class pcl::cuda::SampleConsensusModel1PointPlane< Storage >

SampleConsensusModel1PointPlane defines a model for 3D plane segmentation.

Definition at line 158 of file sac_model_1point_plane.h.

## Member Typedef Documentation

## Coefficients

template<template< typename > class Storage>

typedef SampleConsensusModel<Storage>::Coefficients pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Coefficients

Definition at line 175 of file sac_model_1point_plane.h.

## Hypotheses

template<template< typename > class Storage>

typedef SampleConsensusModel<Storage>::Hypotheses pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Hypotheses

Definition at line 176 of file sac_model_1point_plane.h.

## Indices

template<template< typename > class Storage>

typedef SampleConsensusModel<Storage>::Indices pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Indices

Definition at line 171 of file sac_model_1point_plane.h.

## IndicesConstPtr

template<template< typename > class Storage>

typedef SampleConsensusModel<Storage>::IndicesConstPtr pcl::cuda::SampleConsensusModel1PointPlane< Storage >::IndicesConstPtr

Definition at line 173 of file sac_model_1point_plane.h.

## IndicesPtr

template<template< typename > class Storage>

typedef SampleConsensusModel<Storage>::IndicesPtr pcl::cuda::SampleConsensusModel1PointPlane< Storage >::IndicesPtr

Definition at line 172 of file sac_model_1point_plane.h.

## PointCloud

template<template< typename > class Storage>

typedef SampleConsensusModel<Storage>::PointCloud pcl::cuda::SampleConsensusModel1PointPlane< Storage >::PointCloud

Definition at line 167 of file sac_model_1point_plane.h.

## PointCloudConstPtr

template<template< typename > class Storage>

typedef PointCloud::ConstPtr pcl::cuda::SampleConsensusModel1PointPlane< Storage >::PointCloudConstPtr

Definition at line 169 of file sac_model_1point_plane.h.

## PointCloudPtr

template<template< typename > class Storage>

typedef PointCloud::Ptr pcl::cuda::SampleConsensusModel1PointPlane< Storage >::PointCloudPtr

Definition at line 168 of file sac_model_1point_plane.h.

## Ptr

template<template< typename > class Storage>

typedef boost::shared_ptr<SampleConsensusModel1PointPlane> pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Ptr

Definition at line 180 of file sac_model_1point_plane.h.

## Samples

template<template< typename > class Storage>

typedef SampleConsensusModel<Storage>::Samples pcl::cuda::SampleConsensusModel1PointPlane< Storage >::Samples

Definition at line 177 of file sac_model_1point_plane.h.

## Constructor & Destructor Documentation

## SampleConsensusModel1PointPlane()

template<template< typename > class Storage>

pcl::cuda::SampleConsensusModel1PointPlane< Storage >::SampleConsensusModel1PointPlane | ( | const PointCloudConstPtr & | cloud | ) |

Constructor for base SampleConsensusModel1PointPlane.

Parameters

  cloud | the input point cloud dataset

## Member Function Documentation

## computeModelCoefficients()

template<template< typename > class Storage>

bool pcl::cuda::SampleConsensusModel1PointPlane< Storage >::computeModelCoefficients | ( | const Indices & | samples,
|  | Coefficients & | model_coefficients
| ) |  |

virtual

Check whether the given index samples can form a valid plane model, compute the model coefficients from these samples and store them in model_coefficients.

The plane coefficients are: a, b, c, d (ax+by+cz+d=0)

Parameters

  samples | the point indices found as possible good candidates for creating a valid model
  model_coefficients | the resultant model coefficients

Implements pcl::cuda::SampleConsensusModel< Storage >.

## countWithinDistance() [1/2]

template<template< typename > class Storage>

int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::countWithinDistance | ( | const Coefficients & | model_coefficients,
|  | float | threshold
| ) |  |

virtual

Implements pcl::cuda::SampleConsensusModel< Storage >.

## countWithinDistance() [2/2]

template<template< typename > class Storage>

int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::countWithinDistance | ( | const Hypotheses & | h,
|  | int | idx,
|  | float | threshold
| ) |  |

virtual

Implements pcl::cuda::SampleConsensusModel< Storage >.

## generateModelHypotheses() [1/2]

template<template< typename > class Storage>

bool pcl::cuda::SampleConsensusModel1PointPlane< Storage >::generateModelHypotheses | ( | Hypotheses & | h,
|  | int | max_iterations
| ) |  |

virtual

Implements pcl::cuda::SampleConsensusModel< Storage >.

## generateModelHypotheses() [2/2]

template<template< typename > class Storage>

bool pcl::cuda::SampleConsensusModel1PointPlane< Storage >::generateModelHypotheses | ( | Hypotheses & | h,
|  | Samples & | s,
|  | int | max_iterations
| ) |  |

virtual

Implements pcl::cuda::SampleConsensusModel< Storage >.

## getSamples()

template<template< typename > class Storage>

void pcl::cuda::SampleConsensusModel1PointPlane< Storage >::getSamples | ( | int & | iterations,
|  | Indices & | samples
| ) |  |

virtual

Get 3 random non-collinear points as data samples and return them as point indices.

Parameters

  iterations | the internal number of iterations used by SAC methods
  samples | the resultant model samples

Note
  assumes unique points!

Implements pcl::cuda::SampleConsensusModel< Storage >.

## selectWithinDistance() [1/3]

template<template< typename > class Storage>

int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::selectWithinDistance | ( | const Coefficients & | model_coefficients,
|  | float | threshold,
|  | IndicesPtr & | inliers,
|  | IndicesPtr & | inliers_stencil
| ) |  |

virtual

Select all the points which respect the given model coefficients as inliers.

Parameters

  model_coefficients | the coefficients of a plane model that we need to compute distances to
  threshold | a maximum admissible distance threshold for determining the inliers from the outliers
  inliers | the resultant model inliers
  inliers_stencil |

Implements pcl::cuda::SampleConsensusModel< Storage >.

## selectWithinDistance() [2/3]

template<template< typename > class Storage>

int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::selectWithinDistance | ( | const Hypotheses & | h,
|  | int | idx,
|  | float | threshold,
|  | IndicesPtr & | inliers,
|  | IndicesPtr & | inliers_stencil
| ) |  |

virtual

Implements pcl::cuda::SampleConsensusModel< Storage >.

## selectWithinDistance() [3/3]

template<template< typename > class Storage>

int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::selectWithinDistance | ( | Hypotheses & | h,
|  | int | idx,
|  | float | threshold,
|  | IndicesPtr & | inliers_stencil,
|  | float3 & | centroid
| ) |  |

virtual

Implements pcl::cuda::SampleConsensusModel< Storage >.

## Member Data Documentation

## MAX_ITERATIONS_COLLINEAR

template<template< typename > class Storage>

const int pcl::cuda::SampleConsensusModel1PointPlane< Storage >::MAX_ITERATIONS_COLLINEAR = 1000

static

Define the maximum number of iterations for collinearity checks.

Definition at line 238 of file sac_model_1point_plane.h.

The documentation for this class was generated from the following file:

- /build/pcl-qv3n_B/pcl-1.8.1+dfsg1/cuda/sample_consensus/include/pcl/cuda/sample_consensus/sac_model_1point_plane.h