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

Base class for any 3d curvature estimator: holds \(k_{\min}\), \(k_{\max}\) and associated vectors, such that \( k_{\min} <= k_{\max} \). More...

#include <curvature.h>

+ Inheritance diagram for Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >:
+ Collaboration diagram for Ponca::CurvatureEstimatorBase< 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

CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T > & curvatureEstimatorBase ()
 Explicit conversion to CurvatureEstimatorBase , to access methods potentially hidden by heritage.
 
const CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T > & curvatureEstimatorBase () const
 Explicit conversion to CurvatureEstimatorBase , to access methods potentially hidden by heritage.
 
void init (const VectorType &_evalPos)
 Set the evaluation position and reset the internal states.
 
bool isValid () const
 Returns true if contains valid curvature values (and not default ones)
 
Scalar kmin () const
 Returns an estimate of the minimal principal curvature value.
 
Scalar kmax () const
 Returns an estimate of the maximal principal curvature value.
 
VectorType kminDirection () const
 Returns an estimate of the minimal principal curvature direction.
 
VectorType kmaxDirection () const
 Returns an estimate of the maximal principal curvature direction.
 
Scalar kMean () const
 Returns an estimate of the mean curvature.
 
Scalar GaussianCurvature () const
 Returns an estimate of the Gaussian curvature.
 

Protected Types

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

Protected Member Functions

void setCurvatureValues (Scalar kmin, Scalar kmax, const VectorType &vmin, const VectorType &vmax)
 Set curvature values. To be called in finalize() by child classes.
 

Detailed Description

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

Base class for any 3d curvature estimator: holds \(k_{\min}\), \(k_{\max}\) and associated vectors, such that \( k_{\min} <= k_{\max} \).

Definition at line 22 of file curvature.h.

Member Typedef Documentation

◆ Base

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

Base class of the procedure.

Definition at line 24 of file curvature.h.

◆ MatrixType

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

Alias to matrix type.

Definition at line 25 of file curvature.h.

◆ Scalar

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

Alias to scalar type.

Definition at line 24 of file curvature.h.

◆ VectorType

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

Alias to vector type.

Definition at line 24 of file curvature.h.

◆ WFunctor

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

Alias to weight function.

Definition at line 24 of file curvature.h.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 28 of file curvature.h.

Member Function Documentation

◆ curvatureEstimatorBase() [1/2]

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

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

Definition at line 49 of file curvature.h.

◆ curvatureEstimatorBase() [2/2]

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

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

Definition at line 49 of file curvature.h.

◆ GaussianCurvature()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
Scalar Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::GaussianCurvature ( ) const
inline

Returns an estimate of the Gaussian curvature.

Definition at line 74 of file curvature.h.

◆ init()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
void Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::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 5 of file curvature.hpp.

◆ isValid()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
bool Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::isValid ( ) const
inline

Returns true if contains valid curvature values (and not default ones)

Definition at line 53 of file curvature.h.

◆ kmax()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
Scalar Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::kmax ( ) const
inline

Returns an estimate of the maximal principal curvature value.

Definition at line 62 of file curvature.h.

◆ kmaxDirection()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
VectorType Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::kmaxDirection ( ) const
inline

Returns an estimate of the maximal principal curvature direction.

Definition at line 68 of file curvature.h.

◆ kMean()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
Scalar Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::kMean ( ) const
inline

Returns an estimate of the mean curvature.

Definition at line 71 of file curvature.h.

◆ kmin()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
Scalar Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::kmin ( ) const
inline

Returns an estimate of the minimal principal curvature value.

Definition at line 59 of file curvature.h.

◆ kminDirection()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
VectorType Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::kminDirection ( ) const
inline

Returns an estimate of the minimal principal curvature direction.

Definition at line 65 of file curvature.h.

◆ setCurvatureValues()

template<class DataPoint , class _WFunctor , int DiffType, typename T >
void Ponca::CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T >::setCurvatureValues ( Scalar  kmin,
Scalar  kmax,
const VectorType vmin,
const VectorType vmax 
)
inlineprotected

Set curvature values. To be called in finalize() by child classes.

If the given parameters are such that \( k_{\min} > k_{\max} \), then this method swap the two curvature values and directions and store them such that \( k_{\min} <= k_{\max} \).

Definition at line 17 of file curvature.hpp.