11#include "./algebraicSphere.h"
47 template <
class DataPo
int,
class _NFilter,
typename T>
50 PONCA_FITTING_DECLARE_DEFAULT_TYPES
55 Check = Base::PROVIDES_ALGEBRAIC_SPHERE && Base::PROVIDES_MEAN_POSITION
58 typedef Eigen::Matrix<Scalar, DataPoint::Dim + 1, 1> VectorB;
59 typedef Eigen::Matrix<Scalar, DataPoint::Dim + 1, DataPoint::Dim + 1> MatrixBB;
62 using Solver = Eigen::EigenSolver<MatrixBB>;
72 PONCA_FITTING_DECLARE_INIT_ADD_FINALIZE
73 PONCA_FITTING_IS_SIGNED(
false)
78 template <
class DataPo
int,
class _NFilter,
typename T>
83 template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
87 PONCA_FITTING_DECLARE_DEFAULT_TYPES
88 PONCA_FITTING_DECLARE_DEFAULT_DER_TYPES
90 using VectorB =
typename Base::VectorB;
91 using MatrixBB =
typename Base::MatrixBB;
96 Check = Base::PROVIDES_ALGEBRAIC_SPHERE & Base::PROVIDES_MEAN_POSITION_DERIVATIVE &
97 Base::PROVIDES_PRIMITIVE_DERIVATIVE,
98 PROVIDES_ALGEBRAIC_SPHERE_DERIVATIVE,
99 PROVIDES_NORMAL_DERIVATIVE
104 MatrixBB m_dmatA[Base::NbDerivatives];
105 ScalarArray m_dSumDotPP{ScalarArray::Zero()};
109 ScalarArray m_dUc{ScalarArray::Zero()};
110 VectorArray m_dUl{VectorArray::Zero()};
111 ScalarArray m_dUq{ScalarArray::Zero()};
116 PONCA_FITTING_DECLARE_INIT_ADDDER_FINALIZE
118 PONCA_MULTIARCH
inline ScalarArray dPotential()
const;
119 PONCA_MULTIARCH
inline VectorArray dNormal()
const;
123 template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
129#include "unorientedSphereFit.hpp"
Compute the barycenter of the input points.
typename Base::ScalarArray ScalarArray
Alias to scalar derivatives array.
typename Base::VectorArray VectorArray
Alias to vector derivatives array.
UnorientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & unorientedSphereDer()
Explicit conversion to UnorientedSphereDerImpl , to access methods potentially hidden by heritage.
Algebraic Sphere fitting procedure on point sets with non-oriented normals.
Scalar m_sumDotPP
Sum of the squared relative positions.
UnorientedSphereFitImpl< DataPoint, _NFilter, T > & unorientedSphereFit()
Explicit conversion to UnorientedSphereFitImpl , to access methods potentially hidden by heritage.
MatrixBB m_matA
The accumulated covariance matrix.
MatrixBB m_matQ
The constraint matrix.
typename DataPoint::Scalar Scalar
Alias to scalar type.
This Source Code Form is subject to the terms of the Mozilla Public License, v.