9#include "../../defines.h"
10#include "../concepts.h"
12#define MLS_SPHERE_FIT_DER_REQUIREMENTS \
13 ProvidesAlgebraicSphere<T>&& ProvidesImplicitPrimitiveDerivative<T>&& ProvidesNormal<DataPoint>
25 template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
26 requires MLS_SPHERE_FIT_DER_REQUIREMENTS
29 PONCA_FITTING_DECLARE_DEFAULT_TYPES
30 PONCA_FITTING_DECLARE_DEFAULT_DER_TYPES
50 using Matrix = Eigen::Matrix<Scalar, DerDim, DerDim>;
71 using MatrixArray = Eigen::Matrix<Scalar, DerDim, Dim * DerDim>;
93 PONCA_FITTING_DECLARE_INIT_ADDDER_FINALIZE
107#include "mlsSphereFitDer.hpp"
Extension performing derivation of the mls surface.
typename Base::ScalarArray ScalarArray
Alias to scalar derivatives array.
typename Base::VectorArray VectorArray
Alias to vector derivatives array.
Matrix m_d2SumDotPN
Sum of the dot product between relative positions and normals with second-order weight derivatives.
MlsSphereFitDer< DataPoint, _NFilter, DiffType, T > & implicitPrimitiveDer()
Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
VectorType primitiveGradient() const
Value of the normal of the primitive at the evaluation point.
Matrix m_d2Uc
Second derivative of the hyper-sphere constant term.
Eigen::Matrix< Scalar, DerDim, DerDim > Matrix
Static squared matrix of scalars with a size adapted to the differentiation type.
MatrixArray m_d2SumN
Sum of normal vectors with second-order weight derivatives.
MatrixArray m_d2SumP
Sum of relative positions with second-order weight derivatives.
Matrix m_d2SumDotPP
Sum of the squared relative positions with second-order weight derivatives.
Eigen::Matrix< Scalar, DerDim, Dim *DerDim > MatrixArray
Static matrix of scalars with a size adapted to the differentiation type and the dimension of the amb...
MatrixArray m_d2Ul
Second derivative of the hyper-sphere linear term.
VectorArray dNormal() const
Returns the second derivatives of the scalar field at the evaluation point.
ScalarArray dPotential() const
Returns the derivatives of the scalar field at the evaluation point.
@ Dim
Dimension of the ambient space.
@ DerDim
Number of dimensions used for the differentiation.
typename Base::VectorType VectorType
Alias to vector type.
MlsSphereFitDer< DataPoint, _NFilter, DiffType, T > & mlsSphereFitDer()
Explicit conversion to CLASSNAME, to access methods potentially hidden by heritage.
Matrix m_d2SumW
Sum of queries weight with second-order weight derivatives.
Matrix m_d2Uq
Second derivative of the hyper-sphere quadratic term.
This Source Code Form is subject to the terms of the Mozilla Public License, v.