11#pragma once
22
33#include " MRMeshFwd.h"
4-
5- #include " MRPch/MRSuppressWarning.h"
6-
7- MR_SUPPRESS_WARNING_PUSH
8- #if defined( _MSC_VER )
9- #pragma warning(disable:5054) // operator '&': deprecated between enumerations of different types
10- #pragma warning(disable:4127) // C4127. "Consider using 'if constexpr' statement instead"
11- #elif defined( __apple_build_version__ )
12- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
13- #elif defined( __clang__ )
14- #elif defined( __GNUC__ )
15- #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
16- #endif
17- #include < Eigen/Eigenvalues>
18- MR_SUPPRESS_WARNING_POP
4+ #include < MRPch/MREigenCore.h>
195
206// https://www.geometrictools.com/Documentation/LeastSquaresFitting.pdf
217
@@ -28,15 +14,15 @@ class Cylinder3Approximation
2814private:
2915 enum class CylinderFitterType
3016 {
31- // The algorithm implimentation needs an initial approximation to refine the cylinder axis.
17+ // The algorithm implementation needs an initial approximation to refine the cylinder axis.
3218 // In this option, we sort through several possible options distributed over the hemisphere.
3319 HemisphereSearchFit,
3420
3521 // In this case, we assume that there is an external estimate for the cylinder axis.
3622 // Therefore, we specify only the position that is given from the outside
3723 SpecificAxisFit
3824
39- // TODO for Meshes try to impliment specific algorithm from https://www.geometrictools.com/Documentation/LeastSquaresFitting.pdf
25+ // TODO for Meshes try to implement specific algorithm from https://www.geometrictools.com/Documentation/LeastSquaresFitting.pdf
4026 // TODO Also, an estimate of the cylinder axis can be obtained by the gravel component method or the like. But this requires additional. experiments.
4127 // TODO for future try eigen vector covariance https://www.geometrictools.com/Documentation/RobustEigenSymmetric3x3.pdf
4228 };
0 commit comments