Ponca  7b3f8ad3fde25a027e6452783ccee143798a71b8
Point Cloud Analysis library
Loading...
Searching...
No Matches
Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > Class Template Reference
+ Inheritance diagram for Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >:
+ Collaboration diagram for Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, 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 ScalarArray = typename Base::ScalarArray
 Alias to scalar derivatives array.
 
using VectorArray = typename Base::VectorArray
 Alias to vector derivatives array.
 
using VectorB = typename Base::VectorB
 
using MatrixBB = typename Base::MatrixBB
 

Public Member Functions

UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & unorientedSphereDer ()
 Explicit conversion to UnorientedSphereDerImpl , to access methods potentially hidden by heritage.
 
const UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & unorientedSphereDer () const
 Explicit conversion to UnorientedSphereDerImpl , to access methods potentially hidden by heritage.
 
UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & algebraicSphereDer ()
 Explicit conversion to UnorientedSphereDerImpl , to access methods potentially hidden by heritage.
 
const UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & algebraicSphereDer () const
 Explicit conversion to UnorientedSphereDerImpl , to access methods potentially hidden by heritage.
 
UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & implicitPrimitiveDer ()
 Explicit conversion to UnorientedSphereDerImpl , to access methods potentially hidden by heritage.
 
const UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & implicitPrimitiveDer () const
 Explicit conversion to UnorientedSphereDerImpl , 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, ScalarArray &dw)
 Add a neighbor to perform the fit.
 
FIT_RESULT finalize ()
 Finalize the procedure.
 
ScalarArray dPotential () const
 
VectorArray dNormal () const
 
ScalarArray dprattNorm2 () const
 compute the square of the Pratt norm derivative
 
Scalar dprattNorm2 (unsigned int _d) const
 compute the square of the Pratt norm derivative for dimension _d
 
Scalar dprattNorm (unsigned int _d) const
 compute the Pratt norm derivative for the dimension _d
 
ScalarArray dprattNorm () const
 compute the Pratt norm derivative
 
bool applyPrattNorm ()
 Normalize the scalar field by the Pratt norm.
 

Public Attributes

ScalarArray m_dUc {ScalarArray::Zero()}
 
VectorArray m_dUl {VectorArray::Zero()}
 
ScalarArray m_dUq {ScalarArray::Zero()}
 

Protected Types

using Base = T
 Base class of the procedure.
 

Protected Attributes

MatrixBB m_dmatA [Base::NbDerivatives]
 
ScalarArray m_dSumDotPP {ScalarArray::Zero()}
 

Detailed Description

template<class DataPoint, class _NFilter, int DiffType, typename T>
requires ProvidesBasketDiffUnitBase<T> && ProvidesAlgebraicSphere<T> && ProvidesMeanPositionDerivative<T>
class Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >

Definition at line 87 of file unorientedSphereFit.h.

Member Typedef Documentation

◆ Base

template<class DataPoint , class _NFilter , int DiffType, typename T >
using Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::Base = T
protected

Base class of the procedure.

Definition at line 90 of file unorientedSphereFit.h.

◆ MatrixBB

template<class DataPoint , class _NFilter , int DiffType, typename T >
using Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::MatrixBB = typename Base::MatrixBB

Definition at line 94 of file unorientedSphereFit.h.

◆ NeighborFilter

template<class DataPoint , class _NFilter , int DiffType, typename T >
using Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::NeighborFilter = typename Base::NeighborFilter

Alias to the filter applied on the neighbors.

Definition at line 90 of file unorientedSphereFit.h.

◆ Scalar

template<class DataPoint , class _NFilter , int DiffType, typename T >
using Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::Scalar = typename DataPoint::Scalar

Alias to scalar type.

Definition at line 90 of file unorientedSphereFit.h.

◆ ScalarArray

template<class DataPoint , class _NFilter , int DiffType, typename T >
using Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::ScalarArray = typename Base::ScalarArray

Alias to scalar derivatives array.

Definition at line 91 of file unorientedSphereFit.h.

◆ VectorArray

template<class DataPoint , class _NFilter , int DiffType, typename T >
using Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::VectorArray = typename Base::VectorArray

Alias to vector derivatives array.

Definition at line 91 of file unorientedSphereFit.h.

◆ VectorB

template<class DataPoint , class _NFilter , int DiffType, typename T >
using Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::VectorB = typename Base::VectorB

Definition at line 93 of file unorientedSphereFit.h.

◆ VectorType

template<class DataPoint , class _NFilter , int DiffType, typename T >
using Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::VectorType = typename Base::VectorType

Alias to vector type.

Definition at line 90 of file unorientedSphereFit.h.

Member Function Documentation

◆ addLocalNeighbor()

template<class DataPoint , class _NFilter , int DiffType, typename T >
requires UNORIENTED_SPHERE_DER_REQUIREMENTS
void Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::addLocalNeighbor ( Scalar  w,
const VectorType localQ,
const DataPoint &  attributes,
ScalarArray dw 
)
inline

Add a neighbor to perform the fit.

Definition at line 91 of file unorientedSphereFit.hpp.

◆ algebraicSphereDer() [1/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::algebraicSphereDer ( )
inline

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

Definition at line 109 of file unorientedSphereFit.h.

◆ algebraicSphereDer() [2/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
const UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::algebraicSphereDer ( ) const
inline

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

Definition at line 109 of file unorientedSphereFit.h.

◆ applyPrattNorm()

template<class DataPoint , class _NFilter , int DiffType, typename T >
requires UNORIENTED_SPHERE_DER_REQUIREMENTS
bool Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::applyPrattNorm ( )
inline

Normalize the scalar field by the Pratt norm.

Warning
Requires that isNormalized() return false
Returns
false when the original sphere has already been normalized.

Definition at line 217 of file unorientedSphereFit.hpp.

◆ dNormal()

template<class DataPoint , class _NFilter , int DiffType, typename T >
requires UNORIENTED_SPHERE_DER_REQUIREMENTS
UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::VectorArray Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::dNormal ( ) const
inline

Definition at line 204 of file unorientedSphereFit.hpp.

◆ dPotential()

template<class DataPoint , class _NFilter , int DiffType, typename T >
requires UNORIENTED_SPHERE_DER_REQUIREMENTS
UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::ScalarArray Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::dPotential ( ) const
inline

Definition at line 192 of file unorientedSphereFit.hpp.

◆ dprattNorm() [1/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
ScalarArray Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::dprattNorm ( ) const
inline

compute the Pratt norm derivative

Definition at line 139 of file unorientedSphereFit.h.

◆ dprattNorm() [2/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
Scalar Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::dprattNorm ( unsigned int  _d) const
inline

compute the Pratt norm derivative for the dimension _d

Definition at line 132 of file unorientedSphereFit.h.

◆ dprattNorm2() [1/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
ScalarArray Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::dprattNorm2 ( ) const
inline

compute the square of the Pratt norm derivative

Definition at line 118 of file unorientedSphereFit.h.

◆ dprattNorm2() [2/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
Scalar Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::dprattNorm2 ( unsigned int  _d) const
inline

compute the square of the Pratt norm derivative for dimension _d

Definition at line 125 of file unorientedSphereFit.h.

◆ finalize()

template<class DataPoint , class _NFilter , int DiffType, typename T >
requires UNORIENTED_SPHERE_DER_REQUIREMENTS
FIT_RESULT Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::finalize ( )
inline

Finalize the procedure.

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

Definition at line 110 of file unorientedSphereFit.hpp.

◆ implicitPrimitiveDer() [1/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::implicitPrimitiveDer ( )
inline

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

Definition at line 110 of file unorientedSphereFit.h.

◆ implicitPrimitiveDer() [2/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
const UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::implicitPrimitiveDer ( ) const
inline

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

Definition at line 110 of file unorientedSphereFit.h.

◆ init()

template<class DataPoint , class _NFilter , int DiffType, typename T >
requires UNORIENTED_SPHERE_DER_REQUIREMENTS
void Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::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 78 of file unorientedSphereFit.hpp.

◆ unorientedSphereDer() [1/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::unorientedSphereDer ( )
inline

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

Definition at line 108 of file unorientedSphereFit.h.

◆ unorientedSphereDer() [2/2]

template<class DataPoint , class _NFilter , int DiffType, typename T >
const UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::unorientedSphereDer ( ) const
inline

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

Definition at line 108 of file unorientedSphereFit.h.

Member Data Documentation

◆ m_dmatA

template<class DataPoint , class _NFilter , int DiffType, typename T >
MatrixBB Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::m_dmatA[Base::NbDerivatives]
protected

Definition at line 98 of file unorientedSphereFit.h.

◆ m_dSumDotPP

template<class DataPoint , class _NFilter , int DiffType, typename T >
ScalarArray Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::m_dSumDotPP {ScalarArray::Zero()}
protected

Definition at line 99 of file unorientedSphereFit.h.

◆ m_dUc

template<class DataPoint , class _NFilter , int DiffType, typename T >
ScalarArray Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::m_dUc {ScalarArray::Zero()}

Definition at line 103 of file unorientedSphereFit.h.

◆ m_dUl

template<class DataPoint , class _NFilter , int DiffType, typename T >
VectorArray Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::m_dUl {VectorArray::Zero()}

Definition at line 104 of file unorientedSphereFit.h.

◆ m_dUq

template<class DataPoint , class _NFilter , int DiffType, typename T >
ScalarArray Ponca::UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T >::m_dUq {ScalarArray::Zero()}

Definition at line 105 of file unorientedSphereFit.h.