File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/config/TeX-MML-AM_CHTML/MathJax.js
DGtal 2.0.0
DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder > Class Template Reference

Aim: Estimates normal vector using CGAL linear least squares plane fitting. More...

#include <DGtal/geometry/surfaces/estimation/estimationFunctors/LinearLeastSquareFittingNormalVectorEstimator.h>

Public Types

typedef TSurfel Surfel
typedef TEmbedder SCellEmbedder
typedef SCellEmbedder::RealPoint RealPoint
typedef RealPoint Quantity
typedef CGAL::Cartesian< double > CGALKernel
typedef CGALKernel::Point_3 CGALPoint
typedef CGALKernel::Plane_3 CGALPlane
typedef CGALKernel::Vector_3 CGALVector

Public Member Functions

 LinearLeastSquareFittingNormalVectorEstimator (ConstAlias< SCellEmbedder > anEmbedder, const double h)
void pushSurfel (const Surfel &aSurf, const double aDistance)
Quantity eval ()
void reset ()

Private Attributes

const SCellEmbeddermyEmbedder
 Alias of the geometrical embedder.
std::vector< CGALPointmyPoints
 Array of CGAL points.
double myH
 Grid Step.

Detailed Description

template<typename TSurfel, typename TEmbedder>
class DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >

Aim: Estimates normal vector using CGAL linear least squares plane fitting.

Description of template class 'LinearLeastSquareFittingNormalVectorEstimator'

model of concepts::CLocalEstimatorFromSurfelFunctor

Template Parameters
TSurfeltype of surfels
TEmbeddertype of functors which embed surfel to R^3

Definition at line 79 of file LinearLeastSquareFittingNormalVectorEstimator.h.

Member Typedef Documentation

◆ CGALKernel

template<typename TSurfel, typename TEmbedder>
typedef CGAL::Cartesian<double> DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::CGALKernel

◆ CGALPlane

template<typename TSurfel, typename TEmbedder>
typedef CGALKernel::Plane_3 DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::CGALPlane

◆ CGALPoint

template<typename TSurfel, typename TEmbedder>
typedef CGALKernel::Point_3 DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::CGALPoint

◆ CGALVector

template<typename TSurfel, typename TEmbedder>
typedef CGALKernel::Vector_3 DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::CGALVector

◆ Quantity

template<typename TSurfel, typename TEmbedder>
typedef RealPoint DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::Quantity

◆ RealPoint

template<typename TSurfel, typename TEmbedder>
typedef SCellEmbedder::RealPoint DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::RealPoint

◆ SCellEmbedder

template<typename TSurfel, typename TEmbedder>
typedef TEmbedder DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::SCellEmbedder

◆ Surfel

template<typename TSurfel, typename TEmbedder>
typedef TSurfel DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::Surfel

Constructor & Destructor Documentation

◆ LinearLeastSquareFittingNormalVectorEstimator()

template<typename TSurfel, typename TEmbedder>
DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::LinearLeastSquareFittingNormalVectorEstimator ( ConstAlias< SCellEmbedder > anEmbedder,
const double h )
inline

Constructor.

Parameters
anEmbedderembedder to map surfel to R^n.
hgridstep.

Definition at line 99 of file LinearLeastSquareFittingNormalVectorEstimator.h.

References myEmbedder, and myH.

Member Function Documentation

◆ eval()

template<typename TSurfel, typename TEmbedder>
Quantity DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::eval ( )
inline

Evaluate the normal vector from linear least squares fitting.

Returns
the mean curvature

Definition at line 124 of file LinearLeastSquareFittingNormalVectorEstimator.h.

References myPoints.

◆ pushSurfel()

template<typename TSurfel, typename TEmbedder>
void DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::pushSurfel ( const Surfel & aSurf,
const double aDistance )
inline

Add the geometrical embedding of a surfel to the point list

Parameters
aSurfa surfel to add
aDistancedistance to the origin surfel

Definition at line 110 of file LinearLeastSquareFittingNormalVectorEstimator.h.

References myEmbedder, and myPoints.

◆ reset()

template<typename TSurfel, typename TEmbedder>
void DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::reset ( )
inline

Reset the point list.

Definition at line 137 of file LinearLeastSquareFittingNormalVectorEstimator.h.

138 {
139 myPoints.clear();
140 }

References myPoints.

Field Documentation

◆ myEmbedder

template<typename TSurfel, typename TEmbedder>
const SCellEmbedder* DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::myEmbedder
private

Alias of the geometrical embedder.

Definition at line 146 of file LinearLeastSquareFittingNormalVectorEstimator.h.

Referenced by LinearLeastSquareFittingNormalVectorEstimator(), and pushSurfel().

◆ myH

template<typename TSurfel, typename TEmbedder>
double DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::myH
private

◆ myPoints

template<typename TSurfel, typename TEmbedder>
std::vector<CGALPoint> DGtal::functors::LinearLeastSquareFittingNormalVectorEstimator< TSurfel, TEmbedder >::myPoints
private

Array of CGAL points.

Definition at line 149 of file LinearLeastSquareFittingNormalVectorEstimator.h.

Referenced by eval(), pushSurfel(), and reset().


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