9#include "../../defines.h"
10#include "../concepts.h"
12#define GLS_PARAM_REQUIREMENTS ProvidesAlgebraicSphere<T>
13#define GLS_DER_REQUIREMENTS ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesGLSParam<T>
43 template <
class DataPo
int,
class _NFilter,
typename T>
44 requires GLS_PARAM_REQUIREMENTS
47 PONCA_FITTING_DECLARE_DEFAULT_TYPES
53 PONCA_FITTING_DECLARE_FINALIZE
61 return Base::isNormalized() ? Base::m_uc : Base::m_uc / Base::prattNorm();
70 return Scalar(2.) * (Base::isNormalized() ? Base::m_uq : Base::m_uq / Base::prattNorm());
76 return tau() / Base::getNeighborFilter().evalScale();
85 return kappa() * Base::getNeighborFilter().evalScale();
114 template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
115 requires GLS_DER_REQUIREMENTS
118 PONCA_FITTING_DECLARE_DEFAULT_TYPES
119 PONCA_FITTING_DECLARE_DEFAULT_DER_TYPES
Aggregator class used to declare specialized structures using CRTP.
Differentiation of GLSParam.
ScalarArray dkappa_normalized() const
Compute and return .
GLSDer< DataPoint, _NFilter, DiffType, T > & geomVar()
Explicit conversion to GLSDer , to access methods potentially hidden by heritage.
VectorArray deta_normalized() const
Compute and return .
GLSDer< DataPoint, _NFilter, DiffType, T > & glsDer()
Explicit conversion to GLSDer , to access methods potentially hidden by heritage.
typename Base::VectorArray VectorArray
Alias to vector derivatives array.
typename Base::ScalarArray ScalarArray
Alias to scalar derivatives array.
typename DataPoint::Scalar Scalar
Alias to scalar type.
VectorArray deta() const
Compute and return derivatives.
ScalarArray dtau_normalized() const
Compute and return derivatives.
ScalarArray dtau() const
Compute and return derivatives.
ScalarArray dkappa() const
Compute and return derivatives.
Growing Least Squares reparametrization of the OrientedSphereFit.
VectorType eta() const
Compute and return .
GLSParam< DataPoint, _NFilter, T > & glsParam()
Explicit conversion to GLSParam , to access methods potentially hidden by heritage.
typename DataPoint::Scalar Scalar
Alias to scalar type.
Scalar kappa() const
Compute and return .
Scalar tau_normalized() const
Compute and return .
VectorType eta_normalized() const
Compute and return .
Scalar tau() const
Compute and return .
Scalar kappa_normalized() const
Compute and return .
Scalar compareTo(const GLSParam< DataPoint, _NFilter, T > &_other, bool _useFitness=true) const
Compare current instance with other.
Scalar m_fitness
Save the fitness value to avoid side effect with Pratt normalization.
typename Base::VectorType VectorType
Alias to vector type.
Scalar fitness() const
Return the fitness, e.g.
This Source Code Form is subject to the terms of the Mozilla Public License, v.