11#include <Eigen/Eigenvalues>
16 template <
class DataPo
int,
class _WFunctor,
int DiffType,
typename T>
24 PONCA_FITTING_DECLARE_DEFAULT_TYPES
25 PONCA_FITTING_DECLARE_MATRIX_TYPE
30 PROVIDES_PRINCIPAL_CURVATURES
41 m_vmax {VectorType::Zero()};
44 bool m_isValid {
false};
46 static_assert ( DataPoint::Dim == 3,
"CurvatureEstimatorBase is only valid in 3D");
50 PONCA_FITTING_DECLARE_INIT
53 PONCA_MULTIARCH
inline bool isValid()
const {
return m_isValid; }
59 PONCA_MULTIARCH
inline Scalar kmin()
const {
return m_kmin; }
62 PONCA_MULTIARCH
inline Scalar kmax()
const {
return m_kmax; }
88#include "curvature.hpp"
Base class for any 3d curvature estimator: holds , and associated vectors, such that .
Scalar kMean() const
Returns an estimate of the mean curvature.
Scalar GaussianCurvature() const
Returns an estimate of the Gaussian curvature.
VectorType kminDirection() const
Returns an estimate of the minimal principal curvature direction.
typename DataPoint::Scalar Scalar
Alias to scalar type.
CurvatureEstimatorBase< DataPoint, _WFunctor, DiffType, T > & curvatureEstimatorBase()
Explicit conversion to CurvatureEstimatorBase , to access methods potentially hidden by heritage.
Scalar kmax() const
Returns an estimate of the maximal principal curvature value.
Scalar kmin() const
Returns an estimate of the minimal principal curvature value.
bool isValid() const
Returns true if contains valid curvature values (and not default ones)
void setCurvatureValues(Scalar kmin, Scalar kmax, const VectorType &vmin, const VectorType &vmax)
Set curvature values. To be called in finalize() by child classes.
typename Base::VectorType VectorType
Alias to vector type.
VectorType kmaxDirection() const
Returns an estimate of the maximal principal curvature direction.
This Source Code Form is subject to the terms of the Mozilla Public License, v.