Ponca  e26a0e88a45818354616c1a7180bcd203aecad3c
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T > Class Template Reference

Algebraic Sphere fitting procedure on oriented point sets. More...

#include <orientedSphereFit.h>

+ Inheritance diagram for Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >:
+ Collaboration diagram for Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >:

Public Types

using Scalar = typename DataPoint::Scalar
 Alias to scalar type.
 
using VectorType = typename Base::VectorType
 Alias to vector type.
 
using WFunctor = typename Base::WFunctor
 Alias to weight function.
 

Public Member Functions

OrientedSphereFitImpl< DataPoint, _WFunctor, T > & orientedSphereFit ()
 Explicit conversion to OrientedSphereFitImpl , to access methods potentially hidden by heritage.
 
const OrientedSphereFitImpl< DataPoint, _WFunctor, T > & orientedSphereFit () const
 Explicit conversion to OrientedSphereFitImpl , to access methods potentially hidden by heritage.
 
void init (const VectorType &_evalPos)
 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.
 
constexpr bool isSigned ()
 Is scalar field signed.
 

Protected Types

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

Protected Attributes

Scalar m_sumDotPN
 Sum of the dot product betwen relative positions and normals.
 
Scalar m_sumDotPP
 Sum of the squared relative positions.
 
Scalar m_nume
 Numerator of the quadratic parameter (excluding the 0.5 coefficient)

 
Scalar m_deno
 Denominator of the quadratic parameter (excluding the 0.5 coefficient)
 

Detailed Description

template<class DataPoint, class _WFunctor, typename T>
class Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >

Algebraic Sphere fitting procedure on oriented point sets.

Method published in [6].

See also
AlgebraicSphere

Definition at line 25 of file orientedSphereFit.h.

Member Typedef Documentation

◆ Base

template<class DataPoint , class _WFunctor , typename T >
using Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::Base = T
protected

Base class of the procedure.

Definition at line 27 of file orientedSphereFit.h.

◆ Scalar

template<class DataPoint , class _WFunctor , typename T >
using Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::Scalar = typename DataPoint::Scalar

Alias to scalar type.

Definition at line 27 of file orientedSphereFit.h.

◆ VectorType

template<class DataPoint , class _WFunctor , typename T >
using Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::VectorType = typename Base::VectorType

Alias to vector type.

Definition at line 27 of file orientedSphereFit.h.

◆ WFunctor

template<class DataPoint , class _WFunctor , typename T >
using Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::WFunctor = typename Base::WFunctor

Alias to weight function.

Definition at line 27 of file orientedSphereFit.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 30 of file orientedSphereFit.h.

Member Function Documentation

◆ addLocalNeighbor()

template<class DataPoint , class _WFunctor , typename T >
bool OrientedSphereFitImpl::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 23 of file orientedSphereFit.hpp.

◆ finalize()

template<class DataPoint , class _WFunctor , typename T >
FIT_RESULT OrientedSphereFitImpl::finalize ( )
inline

Finalize the procedure.

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

Definition at line 37 of file orientedSphereFit.hpp.

◆ init()

template<class DataPoint , class _WFunctor , typename T >
void OrientedSphereFitImpl::init ( const VectorType _evalPos)
inline

Set the evaluation position and reset the internal states.

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

Definition at line 10 of file orientedSphereFit.hpp.

◆ isSigned()

template<class DataPoint , class _WFunctor , typename T >
constexpr bool Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::isSigned ( )
inlineconstexpr

Is scalar field signed.

If not, the method the sign of potential() must be ignored

Definition at line 46 of file orientedSphereFit.h.

◆ orientedSphereFit() [1/2]

template<class DataPoint , class _WFunctor , typename T >
OrientedSphereFitImpl< DataPoint, _WFunctor, T > & Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::orientedSphereFit ( )
inline

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

Definition at line 44 of file orientedSphereFit.h.

◆ orientedSphereFit() [2/2]

template<class DataPoint , class _WFunctor , typename T >
const OrientedSphereFitImpl< DataPoint, _WFunctor, T > & Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::orientedSphereFit ( ) const
inline

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

Definition at line 44 of file orientedSphereFit.h.

Member Data Documentation

◆ m_deno

template<class DataPoint , class _WFunctor , typename T >
Scalar Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::m_deno
protected

Denominator of the quadratic parameter (excluding the 0.5 coefficient)

Definition at line 41 of file orientedSphereFit.h.

◆ m_nume

template<class DataPoint , class _WFunctor , typename T >
Scalar Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::m_nume
protected

Numerator of the quadratic parameter (excluding the 0.5 coefficient)

Definition at line 40 of file orientedSphereFit.h.

◆ m_sumDotPN

template<class DataPoint , class _WFunctor , typename T >
Scalar Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::m_sumDotPN
protected

Sum of the dot product betwen relative positions and normals.

Definition at line 38 of file orientedSphereFit.h.

◆ m_sumDotPP

template<class DataPoint , class _WFunctor , typename T >
Scalar Ponca::OrientedSphereFitImpl< DataPoint, _WFunctor, T >::m_sumDotPP
protected

Sum of the squared relative positions.

Definition at line 39 of file orientedSphereFit.h.