Ponca  94e4a36411c3364f6192f97adfa8ceee67834d6e
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::MongePatchQuadraticFitImpl< DataPoint, _NFilter, T > Class Template Reference

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

#include <mongePatch.h>

+ Inheritance diagram for Ponca::MongePatchQuadraticFitImpl< DataPoint, _NFilter, T >:
+ Collaboration diagram for Ponca::MongePatchQuadraticFitImpl< 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.
 
using SampleMatrix = Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic >
 
using QuadraticHeightFieldCoefficients = typename Base::HeightFieldCoefficients
 

Public Member Functions

MongePatchQuadraticFitImpl< DataPoint, _NFilter, T > & mongePatchQuadraticFit ()
 Explicit conversion to MongePatchQuadraticFitImpl , to access methods potentially hidden by heritage.
 
const MongePatchQuadraticFitImpl< DataPoint, _NFilter, T > & mongePatchQuadraticFit () const
 Explicit conversion to MongePatchQuadraticFitImpl , to access methods potentially hidden by heritage.
 
void init ()
 Set the evaluation position and reset the internal states.
 
bool addLocalNeighbor (Scalar w, const VectorType &localQ, const DataPoint &attributes)
 Add a neighbor to perform the fit.
 
FIT_RESULT finalize ()
 Finalize the procedure.
 

Public Attributes

SampleMatrix m_A
 Quadric input samples.
 
QuadraticHeightFieldCoefficients m_b {QuadraticHeightFieldCoefficients::Zero()}
 Observations.
 
bool m_planeIsReady {false}
 

Protected Types

enum  { Check }
 
using Base = T
 Base class of the procedure.
 

Detailed Description

template<class DataPoint, class _NFilter, typename T>
class Ponca::MongePatchQuadraticFitImpl< DataPoint, _NFilter, T >

Extension to compute the best fit 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 137 of file mongePatch.h.

Member Typedef Documentation

◆ Base

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

Base class of the procedure.

Definition at line 139 of file mongePatch.h.

◆ NeighborFilter

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

Alias to the filter applied on the neighbors.

Definition at line 139 of file mongePatch.h.

◆ QuadraticHeightFieldCoefficients

template<class DataPoint , class _NFilter , typename T >
using Ponca::MongePatchQuadraticFitImpl< DataPoint, _NFilter, T >::QuadraticHeightFieldCoefficients = typename Base::HeightFieldCoefficients

Definition at line 150 of file mongePatch.h.

◆ SampleMatrix

template<class DataPoint , class _NFilter , typename T >
using Ponca::MongePatchQuadraticFitImpl< DataPoint, _NFilter, T >::SampleMatrix = Eigen::Matrix<Scalar,Eigen::Dynamic,Eigen::Dynamic>

Definition at line 149 of file mongePatch.h.

◆ Scalar

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

Alias to scalar type.

Definition at line 139 of file mongePatch.h.

◆ VectorType

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

Alias to vector type.

Definition at line 139 of file mongePatch.h.

Member Enumeration Documentation

◆ anonymous enum

template<class DataPoint , class _NFilter , typename T >
anonymous enum
protected

Definition at line 142 of file mongePatch.h.

Member Function Documentation

◆ addLocalNeighbor()

template<class DataPoint , class _NFilter , typename T >
bool MongePatchQuadraticFitImpl::addLocalNeighbor ( Scalar  w,
const VectorType localQ,
const DataPoint &  attributes 
)
inline

Add a neighbor to perform the fit.

Returns
false if param nei is not a valid neighbour (weight = 0)

Definition at line 21 of file mongePatch.hpp.

◆ finalize()

template<class DataPoint , class _NFilter , typename T >
FIT_RESULT MongePatchQuadraticFitImpl::finalize ( )
inline

Finalize the procedure.

Returns
Fitting Status
Warning
Must be called be for any use of the fitting output

Definition at line 49 of file mongePatch.hpp.

◆ init()

template<class DataPoint , class _NFilter , typename T >
void MongePatchQuadraticFitImpl::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 9 of file mongePatch.hpp.

◆ mongePatchQuadraticFit() [1/2]

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

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

Definition at line 159 of file mongePatch.h.

◆ mongePatchQuadraticFit() [2/2]

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

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

Definition at line 159 of file mongePatch.h.

Member Data Documentation

◆ m_A

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

Quadric input samples.

Definition at line 154 of file mongePatch.h.

◆ m_b

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

Observations.

Definition at line 155 of file mongePatch.h.

◆ m_planeIsReady

template<class DataPoint , class _NFilter , typename T >
bool Ponca::MongePatchQuadraticFitImpl< DataPoint, _NFilter, T >::m_planeIsReady {false}

Definition at line 157 of file mongePatch.h.