8#include "../../defines.h"
9#include "../concepts.h"
11#include "../primitive/algebraicSphere.h"
13#define SPHERE_FIT_REQUIREMENTS ProvidesAlgebraicSphere<T>
60 template <
class DataPo
int,
class _NFilter,
typename T>
61 requires SPHERE_FIT_REQUIREMENTS
64 PONCA_FITTING_DECLARE_DEFAULT_TYPES
66 using VectorA = Eigen::Matrix<Scalar, DataPoint::Dim + 2, 1>;
67 using MatrixA = Eigen::Matrix<Scalar, DataPoint::Dim + 2, DataPoint::Dim + 2>;
70 using Solver = Eigen::EigenSolver<MatrixA>;
80 PONCA_FITTING_DECLARE_INIT_ADD_FINALIZE
81 PONCA_FITTING_IS_SIGNED(
false)
83 PONCA_MULTIARCH
inline const Solver& solver()
const {
return m_solver; }
88 template <
class DataPo
int,
class _NFilter,
typename T>
91#include "sphereFit.hpp"
Aggregator class used to declare specialized structures using CRTP.
Algebraic Sphere fitting procedure on point set without normals.
MatrixA m_matA
Covariance matrix of [1, p, p^2].
SphereFitImpl< DataPoint, _NFilter, T > & sphereFit()
Explicit conversion to SphereFitImpl , to access methods potentially hidden by heritage.
This Source Code Form is subject to the terms of the Mozilla Public License, v.