Ponca  2cfe00173bb12dda99e12b2b48a0e1f683bc5cdd
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T > Class Template Reference

Extension to compute the best fit restricted quadric on 3d points expressed as \(f(u,v)=h\). More...

#include <mongePatch.h>

Inheritance diagram for Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >:
Collaboration diagram for Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >:

Public Types

using Scalar = typename DataPoint::Scalar
 Alias to scalar type.
using VectorType = typename Base::VectorType
 Alias to vector type.
using NeighborFilter = typename Base::NeighborFilter
 Alias to the filter applied on the neighbors.

Public Member Functions

MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T > & mongePatchQuadraticFit ()
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
const MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T > & mongePatchQuadraticFit () const
 Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
void init ()
 Set the evaluation position and reset the internal states.
void addLocalNeighbor (Scalar w, const VectorType &localQ, const DataPoint &attributes)
 Add a neighbor to perform the fit.
FIT_RESULT finalize ()
Public Member Functions inherited from Ponca::MultipassStatus< DataPoint, _NFilter, T >
void init ()
FIT_RESULT finalize ()
bool ready () const

Protected Types

using Base = MultipassStatus<DataPoint, _NFilter, T>
 Base class of the procedure.
using Status = Base
 Status class for multipass.

Protected Attributes

SampleMatrix m_A
 Quadric input samples.
QuadraticHeightFieldCoefficients m_b {QuadraticHeightFieldCoefficients::Zero()}
 Observations.
Protected Attributes inherited from Ponca::MultipassStatus< DataPoint, _NFilter, T >
bool m_ready

Detailed Description

template<class DataPoint, class _NFilter, typename T>
requires ProvidesImplicitPrimitive<T>&& ProvidesMongePatch<T>
class Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >

Extension to compute the best fit restricted quadric on 3d points expressed as \(f(u,v)=h\).

See also
MongePatchPrimitive
Note
This procedure requires at least two passes, the first one for plane fitting, the second one for quadric fitting.
Warning
This class is valid only in 3D.

Definition at line 162 of file mongePatch.h.

Member Typedef Documentation

◆ Base

template<class DataPoint, class _NFilter, typename T>
using Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::Base = MultipassStatus<DataPoint, _NFilter, T>
protected

Base class of the procedure.

Definition at line 164 of file mongePatch.h.

◆ NeighborFilter

template<class DataPoint, class _NFilter, typename T>
using Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::NeighborFilter = typename Base::NeighborFilter

Alias to the filter applied on the neighbors.

Definition at line 164 of file mongePatch.h.

◆ Scalar

template<class DataPoint, class _NFilter, typename T>
using Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::Scalar = typename DataPoint::Scalar

Alias to scalar type.

Definition at line 164 of file mongePatch.h.

◆ Status

template<class DataPoint, class _NFilter, typename T>
using Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::Status = Base
protected

Status class for multipass.

Definition at line 164 of file mongePatch.h.

◆ VectorType

template<class DataPoint, class _NFilter, typename T>
using Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::VectorType = typename Base::VectorType

Alias to vector type.

Definition at line 164 of file mongePatch.h.

Member Function Documentation

◆ addLocalNeighbor()

template<class DataPoint, class _NFilter, typename T>
requires ProvidesImplicitPrimitive<T>&& ProvidesMongePatch<T>
void MongePatchRestrictedQuadraticFitImpl::addLocalNeighbor ( Scalar w,
const VectorType & localQ,
const DataPoint & attributes )
inline

Add a neighbor to perform the fit.

Definition at line 70 of file mongePatch.h.

◆ finalize()

template<class DataPoint, class _NFilter, typename T>
requires ProvidesImplicitPrimitive<T>&& ProvidesMongePatch<T>
FIT_RESULT MongePatchRestrictedQuadraticFitImpl::finalize ( )
inline

Definition at line 94 of file mongePatch.h.

◆ init()

template<class DataPoint, class _NFilter, typename T>
requires ProvidesImplicitPrimitive<T>&& ProvidesMongePatch<T>
void MongePatchRestrictedQuadraticFitImpl::init ( )
inline

Set the evaluation position and reset the internal states.

Warning
Must be called be for any computation (but * after #setNeighborFilter)

Definition at line 59 of file mongePatch.h.

◆ mongePatchQuadraticFit() [1/2]

template<class DataPoint, class _NFilter, typename T>
MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T > & Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::mongePatchQuadraticFit ( )
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 174 of file mongePatch.h.

◆ mongePatchQuadraticFit() [2/2]

template<class DataPoint, class _NFilter, typename T>
const MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T > & Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::mongePatchQuadraticFit ( ) const
inline

Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.

Definition at line 174 of file mongePatch.h.

Member Data Documentation

◆ m_A

template<class DataPoint, class _NFilter, typename T>
SampleMatrix Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::m_A
protected

Quadric input samples.

Definition at line 171 of file mongePatch.h.

◆ m_b

template<class DataPoint, class _NFilter, typename T>
QuadraticHeightFieldCoefficients Ponca::MongePatchRestrictedQuadraticFitImpl< DataPoint, _NFilter, T >::m_b {QuadraticHeightFieldCoefficients::Zero()}
protected

Observations.

Definition at line 172 of file mongePatch.h.