9#include "./algebraicSphere.h"
24 template <
class DataPo
int,
class _NFilter,
typename T>
27 PONCA_FITTING_DECLARE_DEFAULT_TYPES
32 Check = Base::PROVIDES_ALGEBRAIC_SPHERE && Base::PROVIDES_MEAN_NORMAL && Base::PROVIDES_MEAN_POSITION
43 PONCA_FITTING_DECLARE_INIT_ADD_FINALIZE
44 PONCA_FITTING_IS_SIGNED(
true)
49 template <
class DataPo
int,
class _NFilter,
typename T>
58 template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
61 PONCA_FITTING_DECLARE_DEFAULT_TYPES
62 PONCA_FITTING_DECLARE_DEFAULT_DER_TYPES
67 Check = Base::PROVIDES_ALGEBRAIC_SPHERE & Base::PROVIDES_MEAN_POSITION_DERIVATIVE &
68 Base::PROVIDES_PRIMITIVE_DERIVATIVE,
69 PROVIDES_ALGEBRAIC_SPHERE_DERIVATIVE,
70 PROVIDES_NORMAL_DERIVATIVE
91 PONCA_FITTING_DECLARE_INIT_ADDDER_FINALIZE
116 PONCA_MULTIARCH_STD_MATH(
sqrt);
123 PONCA_MULTIARCH_STD_MATH(
sqrt);
136 template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
140#include "orientedSphereFit.hpp"
Aggregator class used to declare specialized structures using CRTP.
[OrientedSphereFit Definition]
ScalarArray m_dSumDotPP
Sum of the squared relative positions with weight derivatives.
ScalarArray m_dUc
Derivatives of the hyper-sphere constant term
ScalarArray m_dSumDotPN
Sum of the dot product between relative positions and normals with weight derivatives.
VectorArray m_dSumN
Sum of the normal vectors with weight derivatives.
ScalarArray m_dNume
Derivatives of the numerator of the quadratic parameter
VectorArray m_dUl
Derivatives of the hyper-sphere linear term
Scalar dprattNorm2(unsigned int _d) const
compute the square of the Pratt norm derivative for dimension _d
ScalarArray m_dUq
Derivatives of the hyper-sphere quadratic term.
VectorArray dNormal() const
Returns the derivatives of the primitive normal.
ScalarArray dprattNorm2() const
compute the square of the Pratt norm derivative
typename Base::ScalarArray ScalarArray
Alias to scalar derivatives array.
ScalarArray dPotential() const
Returns the derivatives of the scalar field at the evaluation point.
typename DataPoint::Scalar Scalar
Alias to scalar type.
bool applyPrattNorm()
Normalize the scalar field by the Pratt norm.
Scalar dprattNorm() const
compute the Pratt norm derivative
OrientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & orientedSphereDer()
Explicit conversion to OrientedSphereDerImpl , to access methods potentially hidden by heritage.
ScalarArray m_dDeno
Derivatives of the denominator of the quadratic parameter.
Scalar dprattNorm(unsigned int _d) const
compute the Pratt norm derivative for the dimension _d
typename Base::VectorArray VectorArray
Alias to vector derivatives array.
Algebraic Sphere fitting procedure on oriented point sets.
Scalar m_sumDotPP
Sum of the squared relative positions.
OrientedSphereFitImpl< DataPoint, _NFilter, T > & orientedSphereFit()
Explicit conversion to OrientedSphereFitImpl , to access methods potentially hidden by heritage.
typename DataPoint::Scalar Scalar
Alias to scalar type.
Scalar m_sumDotPN
Sum of the dot product between relative positions and normals.
Scalar m_nume
Numerator of the quadratic parameter (excluding the 0.5 coefficient)
Scalar m_deno
Denominator of the quadratic parameter (excluding the 0.5 coefficient)
This Source Code Form is subject to the terms of the Mozilla Public License, v.