8#include "../../defines.h"
9#include "../concepts.h"
11#include "../primitive/algebraicSphere.h"
12#include "../tools/mean.h"
14#define ORIENTED_SPHERE_FIT_REQUIREMENTS \
15 ProvidesAlgebraicSphere<T>&& ProvidesMeanPosition<T>&& ProvidesMeanNormal<T>&& ProvidesNormal<DataPoint>
16#define ORIENTED_SPHERE_DER_REQUIREMENTS \
17 ProvidesBasketDiffUnitBase<T>&& ProvidesAlgebraicSphere<T>&& ProvidesMeanPositionDerivative<T>
31 template <
class DataPo
int,
class _NFilter,
typename T>
32 requires ORIENTED_SPHERE_FIT_REQUIREMENTS
35 PONCA_FITTING_DECLARE_DEFAULT_TYPES
46 PONCA_FITTING_DECLARE_INIT_ADD_FINALIZE
47 PONCA_FITTING_IS_SIGNED(true)
52 template <class DataPoint, class _NFilter, typename T>
61 template <class DataPoint, class _NFilter,
int DiffType, typename T>
62 requires ORIENTED_SPHERE_DER_REQUIREMENTS
65 PONCA_FITTING_DECLARE_DEFAULT_TYPES
66 PONCA_FITTING_DECLARE_DEFAULT_DER_TYPES
89 PONCA_FITTING_DECLARE_INIT_ADDDER_FINALIZE
114 PONCA_MULTIARCH_STD_MATH(sqrt);
121 PONCA_MULTIARCH_STD_MATH(sqrt);
134 template <
class DataPo
int,
class _NFilter,
int DiffType,
typename T>
138#include "orientedSphereFit.hpp"
Compute the mean normal of the input points.
Algebraic Sphere primitive.
Compute the barycenter of the input points.
[OrientedSphereFit Definition]
OrientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & implicitPrimitiveDer()
Scalar dprattNorm2(unsigned int _d) const
compute the square of the Pratt norm derivative for dimension _d
ScalarArray dPotential() const
ScalarArray dprattNorm2() const
ScalarArray dprattNorm() const
compute the Pratt norm derivative
typename Base::ScalarArray ScalarArray
typename DataPoint::Scalar Scalar
OrientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & algebraicSphereDer()
bool applyPrattNorm()
Normalize the scalar field by the Pratt norm.
VectorArray dNormal() const
OrientedSphereDerImpl< DataPoint, _NFilter, DiffType, T > & orientedSphereDer()
Scalar dprattNorm(unsigned int _d) const
compute the Pratt norm derivative for the dimension _d
typename Base::VectorArray VectorArray
Algebraic Sphere fitting procedure on oriented point sets.
OrientedSphereFitImpl< DataPoint, _NFilter, T > & orientedSphereFit()
typename DataPoint::Scalar Scalar
This Source Code Form is subject to the terms of the Mozilla Public License, v.
DiffType
Flags defining which derivatives need to be computed.
OrientedSphereFitImpl< DataPoint, _NFilter, MeanPosition< DataPoint, _NFilter, MeanNormal< DataPoint, _NFilter, AlgebraicSphere< DataPoint, _NFilter, T > > > > OrientedSphereFit
Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereFitImpl [OrientedSphereFit ...
OrientedSphereDerImpl< DataPoint, _NFilter, DiffType, MeanPositionDer< DataPoint, _NFilter, DiffType, T > > OrientedSphereDer
Helper alias for Oriented Sphere fitting on 3D points using OrientedSphereDerImpl.