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

Extension to compute curvature values from the Weingarten map \( \frac{d N}{d \mathbf{x}} \). More...

#include <curvatureEstimation.h>

+ Inheritance diagram for Ponca::NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T >:
+ Collaboration diagram for Ponca::NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, 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.
 
using MatrixType = typename DataPoint::MatrixType
 Alias to matrix type.
 

Public Member Functions

NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T > & normalDerivativesCurvatureEstimator ()
 Explicit conversion to NormalDerivativesCurvatureEstimator , to access methods potentially hidden by heritage.
 
const NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T > & normalDerivativesCurvatureEstimator () const
 Explicit conversion to NormalDerivativesCurvatureEstimator , to access methods potentially hidden by heritage.
 
FIT_RESULT finalize ()
 Finalize the procedure.
 

Protected Types

enum  { Check = Base::PROVIDES_NORMAL_DERIVATIVE && Base::PROVIDES_PRINCIPAL_CURVATURES }
 
using Base = T
 Base class of the procedure.
 

Protected Member Functions

Mat32 tangentPlane (bool useNormal=false) const
 Compute a tangent plane basis.
 

Detailed Description

template<class DataPoint, class _WFunctor, int DiffType, typename T>
class Ponca::NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T >

Extension to compute curvature values from the Weingarten map \( \frac{d N}{d \mathbf{x}} \).

This class extracts curvature information from the spatial derivatives of the normal field \( N \). It first assemble a 2x2 matrix representation of the shape operator, and then performs an eigenvalue decomposition using Eigen::SelfAdjointEigenSolver::computeDirect.

Definition at line 22 of file curvatureEstimation.h.

Member Typedef Documentation

◆ Base

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

Base class of the procedure.

Definition at line 24 of file curvatureEstimation.h.

◆ MatrixType

template<class DataPoint , class _WFunctor , int DiffType, typename T >
using Ponca::NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T >::MatrixType = typename DataPoint::MatrixType

Alias to matrix type.

Definition at line 25 of file curvatureEstimation.h.

◆ Scalar

template<class DataPoint , class _WFunctor , int DiffType, typename T >
using Ponca::NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T >::Scalar = typename DataPoint::Scalar

Alias to scalar type.

Definition at line 24 of file curvatureEstimation.h.

◆ VectorType

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

Alias to vector type.

Definition at line 24 of file curvatureEstimation.h.

◆ WFunctor

template<class DataPoint , class _WFunctor , int DiffType, typename T >
using Ponca::NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T >::WFunctor = typename Base::WFunctor

Alias to weight function.

Definition at line 24 of file curvatureEstimation.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 28 of file curvatureEstimation.h.

Member Function Documentation

◆ finalize()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
FIT_RESULT NormalDerivativesCurvatureEstimator::finalize ( )
inline

Finalize the procedure.

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

Definition at line 3 of file curvatureEstimation.hpp.

◆ normalDerivativesCurvatureEstimator() [1/2]

template<class DataPoint , class _WFunctor , int DiffType, typename T >
NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T > & Ponca::NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T >::normalDerivativesCurvatureEstimator ( )
inline

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

Definition at line 38 of file curvatureEstimation.h.

◆ normalDerivativesCurvatureEstimator() [2/2]

template<class DataPoint , class _WFunctor , int DiffType, typename T >
const NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T > & Ponca::NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T >::normalDerivativesCurvatureEstimator ( ) const
inline

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

Definition at line 38 of file curvatureEstimation.h.

◆ tangentPlane()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T >::Mat32 NormalDerivativesCurvatureEstimator::tangentPlane ( bool  useNormal = false) const
inlineprotected

Compute a tangent plane basis.

The tangent plane can be calculated from the normal vector or from its derivatives, depending of the useNormal parameter

Definition at line 55 of file curvatureEstimation.hpp.