21 template <
class DataPo
int,
class _WFunctor,
int DiffType,
typename T>
24 PONCA_FITTING_DECLARE_DEFAULT_TYPES
25 PONCA_FITTING_DECLARE_MATRIX_TYPE
30 Check = Base::PROVIDES_NORMAL_DERIVATIVE && Base::PROVIDES_PRINCIPAL_CURVATURES
34 typedef Eigen::Matrix<Scalar,3,2> Mat32;
35 typedef Eigen::Matrix<Scalar,2,2> Mat22;
39 PONCA_FITTING_DECLARE_FINALIZE
47 PONCA_MULTIARCH
inline FIT_RESULT computeCurvature(
bool useNormal =
false);
55 PONCA_MULTIARCH
inline Mat32
tangentPlane(
bool useNormal =
false)
const;
74template <
class DataPo
int,
class _WFunctor,
int DiffType,
typename T>
77PONCA_FITTING_DECLARE_DEFAULT_TYPES
78PONCA_FITTING_DECLARE_MATRIX_TYPE
79PONCA_FITTING_DECLARE_DEFAULT_DER_TYPES
84 Check = Base::PROVIDES_PRINCIPAL_CURVATURES
93 typedef Eigen::SelfAdjointEigenSolver<MatrixType>
Solver;
102 PONCA_FITTING_DECLARE_INIT_ADDDER_FINALIZE
121template <
class DataPo
int,
class _WFunctor,
int DiffType,
typename T>
127PONCA_FITTING_DECLARE_DEFAULT_TYPES
128PONCA_FITTING_DECLARE_MATRIX_TYPE
129PONCA_FITTING_DECLARE_DEFAULT_DER_TYPES
134 Check = Base::PROVIDES_PRINCIPAL_CURVATURES &&
148 typedef Eigen::Matrix<Scalar,2,2> Mat22;
149 typedef Eigen::Matrix<Scalar,3,2> Mat32;
150 typedef Eigen::Matrix<Scalar,2,1> Vector2;
151 typedef typename VectorType::Index Index;
153 typedef Eigen::SelfAdjointEigenSolver<Mat22>
Solver;
164 PONCA_FITTING_DECLARE_INIT_ADDDER_FINALIZE
167#include "curvatureEstimation.hpp"
Extension to compute curvature values based on a covariance analysis of normal vectors of neighbors.
NormalCovarianceCurvatureEstimator< DataPoint, _WFunctor, DiffType, T > & normalCovarianceCurvatureEstimator()
Explicit conversion to NormalCovarianceCurvatureEstimator , to access methods potentially hidden by h...
MatrixType m_cov
Covariance matrix of the normal vectors.
typename DataPoint::MatrixType MatrixType
Alias to matrix type.
Solver m_solver
Solver used to analyse the covariance matrix.
typename Base::VectorType VectorType
Alias to vector type.
Eigen::SelfAdjointEigenSolver< MatrixType > Solver
Solver used to analyse the covariance matrix.
VectorType m_cog
Gravity center of the normal vectors.
Extension to compute curvature values from the Weingarten map .
Mat32 tangentPlane(bool useNormal=false) const
Compute a tangent plane basis.
NormalDerivativesCurvatureEstimator< DataPoint, _WFunctor, DiffType, T > & normalDerivativesCurvatureEstimator()
Explicit conversion to NormalDerivativesCurvatureEstimator , to access methods potentially hidden by ...
Extension to compute curvature values based on a covariance analysis of normal vectors of neighbors p...
Solver m_solver
Solver used to analyse the covariance matrix.
Mat22 m_cov
Covariance matrix.
Vector2 m_cog
Gravity center.
Eigen::SelfAdjointEigenSolver< Mat22 > Solver
Solver used to analyse the covariance matrix.
Mat32 m_tframe
Tangent frame.
ProjectedNormalCovarianceCurvatureEstimator< DataPoint, _WFunctor, DiffType, T > & projectedNormalCovarianceCurvature()
Explicit conversion to ProjectedNormalCovarianceCurvatureEstimator , to access methods potentially hi...
This Source Code Form is subject to the terms of the Mozilla Public License, v.
FIT_RESULT
Enum corresponding to the state of a fitting method (and what the finalize function returns)