9#include "./algebraicSphere.h"
24template <
class DataPo
int,
class _NFilter,
typename T >
27 PONCA_FITTING_DECLARE_DEFAULT_TYPES
32 Check = Base::PROVIDES_ALGEBRAIC_SPHERE &&
33 Base::PROVIDES_MEAN_NORMAL &&
34 Base::PROVIDES_MEAN_POSITION
45 PONCA_FITTING_DECLARE_INIT_ADD_FINALIZE
46 PONCA_FITTING_IS_SIGNED(
true)
51template <
class DataPo
int,
class _NFilter,
typename T>
62template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
65 PONCA_FITTING_DECLARE_DEFAULT_TYPES
66 PONCA_FITTING_DECLARE_DEFAULT_DER_TYPES
71 Check = Base::PROVIDES_ALGEBRAIC_SPHERE &
72 Base::PROVIDES_MEAN_POSITION_DERIVATIVE &
73 Base::PROVIDES_PRIMITIVE_DERIVATIVE,
74 PROVIDES_ALGEBRAIC_SPHERE_DERIVATIVE,
75 PROVIDES_NORMAL_DERIVATIVE
93 PONCA_FITTING_DECLARE_INIT_ADDDER_FINALIZE
120 PONCA_MULTIARCH_STD_MATH(sqrt);
127 PONCA_MULTIARCH_STD_MATH(sqrt);
140 template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
145#include "orientedSphereFit.hpp"
Algebraic Sphere primitive.
Compute the mean normal of the input points.
Compute the derivatives of the input points barycenter.
Compute the barycenter of the input points.
[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.
DiffType
Flags defining which derivatives need to be computed.