9#include "./algebraicSphere.h"
24template <
class DataPo
int,
class _WFunctor,
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 _WFunctor,
typename T>
62template <
class DataPo
int,
class _WFunctor,
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 _WFunctor,
int DiffType,
typename T>
145#include "orientedSphereFit.hpp"
Algebraic Sphere primitive.
Compute the barycenter of the input points + their normals.
Compute the barycenter of the input points.
[OrientedSphereFit Definition]
OrientedSphereDerImpl< DataPoint, _WFunctor, DiffType, T > & orientedSphereDer()
Explicit conversion to OrientedSphereDerImpl , to access methods potentially hidden by heritage.
VectorArray m_dSumN
Sum of the normal vectors with differenciated weights.
Scalar dprattNorm2(unsigned int _d) const
compute the square of the Pratt norm derivative for dimension _d
ScalarArray m_dUc
Derivative of the hyper-sphere constant term
Scalar dprattNorm(unsigned int _d) const
compute the Pratt norm derivative for the dimension _d
typename DataPoint::Scalar Scalar
Alias to scalar type.
typename Base::ScalarArray ScalarArray
Alias to scalar derivatives array.
ScalarArray m_dDeno
Differenciation of the denominator of the quadratic parameter.
ScalarArray m_dSumDotPN
Sum of the dot product betwen relative positions and normals with differenciated weights.
ScalarArray dprattNorm2() const
compute the square of the Pratt norm derivative
VectorArray dNormal() const
Returns the derivatives of the primitive normal.
VectorArray m_dUl
Derivative of the hyper-sphere linear term
Scalar dprattNorm() const
compute the Pratt norm derivative
ScalarArray dPotential() const
Returns the derivatives of the scalar field at the evaluation point.
ScalarArray m_dNume
Differenciation of the numerator of the quadratic parameter
bool applyPrattNorm()
Normalize the scalar field by the Pratt norm.
typename Base::VectorArray VectorArray
Alias to vector derivatives array.
ScalarArray m_dSumDotPP
Sum of the squared relative positions with differenciated weights.
ScalarArray m_dUq
Derivative of the hyper-sphere quadratic term.
Algebraic Sphere fitting procedure on oriented point sets.
typename DataPoint::Scalar Scalar
Alias to scalar type.
OrientedSphereFitImpl< DataPoint, _WFunctor, T > & orientedSphereFit()
Explicit conversion to OrientedSphereFitImpl , to access methods potentially hidden by heritage.
Scalar m_deno
Denominator of the quadratic parameter (excluding the 0.5 coefficient)
Scalar m_sumDotPN
Sum of the dot product betwen relative positions and normals.
Scalar m_sumDotPP
Sum of the squared relative positions.
Scalar m_nume
Numerator 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.