Ponca  eb7239a9c07e156fb1edc6faac7fe89e2b256bda
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::MLSEvaluationScheme< Scalar > Struct Template Reference

Computes the fit using the Moving Least Squares approach. More...

#include <mlsEvaluationScheme.h>

Collaboration diagram for Ponca::MLSEvaluationScheme< Scalar >:

Public Member Functions

 MLSEvaluationScheme (unsigned int _nIter=nIterDefault, Scalar _eps=epsDefault)
template<typename ComputeObject, typename ItB, typename ItE, typename Project = DirectProjectionOperator>
FIT_RESULT compute (ComputeObject &_co, const ItB &_itb, const ItE &_ite, const Project &_p=Project{}) const
template<typename ComputeObject, typename PointContainer, typename Project = DirectProjectionOperator>
FIT_RESULT compute (ComputeObject &_co, const PointContainer &container, const Project &_p=Project{})
template<typename ComputeObject, typename IdxRange, typename PointContainer, typename Project = DirectProjectionOperator>
FIT_RESULT computeWithIds (ComputeObject &_co, const IdxRange &_range, const PointContainer &_container, const Project &_p=Project{}) const

Public Attributes

Scalar eps = epsDefault
 Epsilon value for stopping MLS iterations.
unsigned int nIter = nIterDefault
 Maximum number of MLS iterations.

Static Public Attributes

static constexpr Scalar epsDefault = Eigen::NumTraits<Scalar>::dummy_precision()
 Default epsilon value for stopping MLS iterations.
static constexpr int nIterDefault = 5
 Default maximum number of MLS iterations.

Detailed Description

template<typename Scalar>
struct Ponca::MLSEvaluationScheme< Scalar >

Computes the fit using the Moving Least Squares approach.

The projection operator can be customized, see [1].

The position of the projected point is outputted within getNeighborFrame().center()

Template Parameters
Scalarscalar type

Definition at line 29 of file mlsEvaluationScheme.h.

Constructor & Destructor Documentation

◆ MLSEvaluationScheme()

template<typename Scalar>
Ponca::MLSEvaluationScheme< Scalar >::MLSEvaluationScheme ( unsigned int _nIter = nIterDefault,
Scalar _eps = epsDefault )
inline

Definition at line 31 of file mlsEvaluationScheme.h.

Member Function Documentation

◆ compute() [1/2]

template<typename Scalar>
template<typename ComputeObject, typename ItB, typename ItE, typename Project = DirectProjectionOperator>
FIT_RESULT Ponca::MLSEvaluationScheme< Scalar >::compute ( ComputeObject & _co,
const ItB & _itb,
const ItE & _ite,
const Project & _p = Project{} ) const
inline

Template Parameters
ComputeObjectComputeObject type
ItBBegin iterator type
ItEEnd iterator type
ProjectProjection functor type
Parameters
_coThe fitting object
_begThe begining of point range
_endThe end of point range
_pProjection functor
Returns
The result of the fit

Definition at line 49 of file mlsEvaluationScheme.h.

◆ compute() [2/2]

template<typename Scalar>
template<typename ComputeObject, typename PointContainer, typename Project = DirectProjectionOperator>
FIT_RESULT Ponca::MLSEvaluationScheme< Scalar >::compute ( ComputeObject & _co,
const PointContainer & container,
const Project & _p = Project{} )
inline

Template Parameters
ComputeObjectComputeObject type
ContainerContainer of points
ProjectProjection functor type
Parameters
_coThe fitting object
_containerThe point container
_pProjection functor
Returns
The result of the fit

Definition at line 69 of file mlsEvaluationScheme.h.

◆ computeWithIds()

template<typename Scalar>
template<typename ComputeObject, typename IdxRange, typename PointContainer, typename Project = DirectProjectionOperator>
FIT_RESULT Ponca::MLSEvaluationScheme< Scalar >::computeWithIds ( ComputeObject & _co,
const IdxRange & _range,
const PointContainer & _container,
const Project & _p = Project{} ) const
inline

Template Parameters
ComputeObjectComputeObject type
IdxRangeRange index type
PointContainerPoint container (must provide random access)
ProjectProjection functor type
Parameters
_coThe fitting object
_rangeThe container of indices
_containerThe point container
_pProjection functor
Returns
The result of the fit

Definition at line 92 of file mlsEvaluationScheme.h.

Member Data Documentation

◆ eps

template<typename Scalar>
Scalar Ponca::MLSEvaluationScheme< Scalar >::eps = epsDefault

Epsilon value for stopping MLS iterations.

Definition at line 104 of file mlsEvaluationScheme.h.

◆ epsDefault

template<typename Scalar>
Scalar Ponca::MLSEvaluationScheme< Scalar >::epsDefault = Eigen::NumTraits<Scalar>::dummy_precision()
staticconstexpr

Default epsilon value for stopping MLS iterations.

Definition at line 100 of file mlsEvaluationScheme.h.

◆ nIter

template<typename Scalar>
unsigned int Ponca::MLSEvaluationScheme< Scalar >::nIter = nIterDefault

Maximum number of MLS iterations.

Definition at line 106 of file mlsEvaluationScheme.h.

◆ nIterDefault

template<typename Scalar>
int Ponca::MLSEvaluationScheme< Scalar >::nIterDefault = 5
staticconstexpr

Default maximum number of MLS iterations.

Definition at line 102 of file mlsEvaluationScheme.h.