8#include "../../../Fitting"
18#define DECLARE_FACTORY_CONCEPT_FULL(_conceptname, _newname, _notnewname) \
19 template <typename T> \
20 struct _newname : std::bool_constant<_conceptname<typename T::type>> \
23 template <typename T> \
24 struct _notnewname : std::bool_constant<!_conceptname<typename T::type>> \
28#define DECLARE_FACTORY_CONCEPT(_name) \
29 DECLARE_FACTORY_CONCEPT_FULL(Provides##_name, _name##Provider, Not##_name##Provider)
40 template <StringLiteral Name>
44 static constexpr bool value =
strequal(Name.value, T::name);
53 struct pred : std::bool_constant<strequal(Name.value, T::name)>
58 DECLARE_FACTORY_CONCEPT(Derivatives)
59 DECLARE_FACTORY_CONCEPT(ProjectionOperator)
60 DECLARE_FACTORY_CONCEPT(ImplicitPrimitive)
65 DECLARE_FACTORY_CONCEPT(GeomVar)
67 DECLARE_FACTORY_CONCEPT(
Line)
70 DECLARE_FACTORY_CONCEPT(PositionCovariance)
71 DECLARE_FACTORY_CONCEPT(PrincipalCurvatures)
72 DECLARE_FACTORY_CONCEPT(TangentPlaneBasis)
73 DECLARE_FACTORY_CONCEPT(MeanCurvature)
77 template<typename P, typename NF,
int DerType>
78 using FactoryGenericList = std::tuple<
90 template<typename P, typename NF,
int DerType>
91 using Factory3DList = internal::
Factory::tuple_cat_t<
92 FactoryGenericList<P, NF, DerType>,
103 template<typename P, typename NF,
int DerType>
104 using Factory3DSpaceDerivatives = internal::
Factory::tuple_cat_t<
105 Factory3DList<P, NF, DerType>,
Compute the mean normal of the input points.
Algebraic Sphere primitive.
Aggregator class used to declare specialized structures with derivatives computations,...
Aggregator class used to declare specialized structures using CRTP.
Corrected Normal Current Fit type.
Line fitting procedure that minimize the orthogonal distance between the samples and the fitted primi...
Plane fitting procedure using only points position.
Empty fitting object doing no computation.
Growing Least Squares reparametrization of the OrientedSphereFit.
Internal base classe for height fields.
A parametrized line is defined by an origin point and a unit direction vector such that the line co...
Plane fitting procedure computing the mean position and orientation from oriented points.
Compute the barycenter of the input points.
Extension performing derivation of the mls surface.
Monge Patch primitive, defined as , with defined by a Base class.
Compute a Weingarten map from the spatial derivatives of the normal field .
[OrientedSphereFit Definition]
Algebraic Sphere fitting procedure on oriented point sets.
Implicit hyperplane defined by an homogeneous vector .
Algebraic Sphere fitting procedure on point set without normals.
Algebraic Sphere fitting procedure on point sets with non-oriented normals.
This Source Code Form is subject to the terms of the Mozilla Public License, v.
constexpr bool strequal(const char *a, const char *b)
Constexpr version of string comparison.
TriangleGenerationMethod
\breif Generation method of the triangles for the Corrected Normal Current formula
Default factory templated on Point, Filter and Derivative.
A type that behaves as value.
Class to check for if an entry has a corresponding Id.
Compute principal curvatures from a base class providing fundamental forms.
Compute principal curvatures from a base class providing fundamental forms.