Ponca  cfb0fcc680f97b3ab7288990161ce80053655869
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
 Computes the fit using the MLS iteration process.
 
template<typename ComputeObject , typename PointContainer , typename Project = DirectProjectionOperator>
FIT_RESULT compute (ComputeObject &_co, const PointContainer &container, const Project &_p=Project{})
 Computes the fit using the MLS iteration process.
 
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
 Computes the fit using the MLS iteration process.
 

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 getNeighborFilter().evalPos()

Template Parameters
Scalarscalar type

Definition at line 26 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 28 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

Computes the fit using the MLS iteration process.

The position of the projected point is outputted within getNeighborFilter().evalPos()

Template Parameters
ComputeObjectThe fitting type
FuncThe compute procedure
ProjectProjection functor type
Parameters
_coThe fitting object
_computeThe procedure to compute estimator
_pProjection functor
Returns
The result of the fit
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 46 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

Computes the fit using the MLS iteration process.

The position of the projected point is outputted within getNeighborFilter().evalPos()

Template Parameters
ComputeObjectThe fitting type
FuncThe compute procedure
ProjectProjection functor type
Parameters
_coThe fitting object
_computeThe procedure to compute estimator
_pProjection functor
Returns
The result of the fit
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 66 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

Computes the fit using the MLS iteration process.

The position of the projected point is outputted within getNeighborFilter().evalPos()

Template Parameters
ComputeObjectThe fitting type
FuncThe compute procedure
ProjectProjection functor type
Parameters
_coThe fitting object
_computeThe procedure to compute estimator
_pProjection functor
Returns
The result of the fit
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 89 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 101 of file mlsEvaluationScheme.h.

◆ epsDefault

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

Default epsilon value for stopping MLS iterations.

Definition at line 97 of file mlsEvaluationScheme.h.

◆ nIter

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

Maximum number of MLS iterations.

Definition at line 103 of file mlsEvaluationScheme.h.

◆ nIterDefault

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

Default maximum number of MLS iterations.

Definition at line 99 of file mlsEvaluationScheme.h.