Skip to content

Commit 654e90a

Browse files
authored
unify Eigen inclusions 2 (#5281)
1 parent c8ac7e3 commit 654e90a

13 files changed

+29
-101
lines changed

source/MRMesh/MRCylinderApproximator.h

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,7 @@
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
2814
private:
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
};

source/MRMesh/MRFreeFormDeformer.cpp

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,9 @@
1010
// unknown pragmas
1111
#pragma warning(disable:4068)
1212

13-
#if defined(__clang__)
14-
#pragma clang diagnostic push
15-
#pragma clang diagnostic ignored "-Wdeprecated-anon-enum-enum-conversion"
16-
#elif defined(__GNUC__)
17-
#pragma GCC diagnostic push
18-
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
19-
#endif
20-
13+
#include <MRPch/MREigenCore.h>
2114
#include <Eigen/Eigenvalues>
2215

23-
#if defined(__clang__)
24-
#pragma clang diagnostic pop
25-
#elif defined(__GNUC__)
26-
#pragma GCC diagnostic pop
27-
#endif
28-
2916
namespace
3017
{
3118
using namespace MR;

source/MRMesh/MRLaplacian.h

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,7 @@
44
#include "MRVector.h"
55
#include "MRVector3.h"
66
#include "MREnums.h"
7-
8-
#pragma warning(push)
9-
#pragma warning(disable: 4068) // unknown pragmas
10-
#pragma warning(disable: 4127) // conditional expression is constant
11-
#pragma warning(disable: 4464) // relative include path contains '..'
12-
#pragma warning(disable: 5054) // operator '|': deprecated between enumerations of different types
13-
#pragma clang diagnostic push
14-
#pragma clang diagnostic ignored "-Wdeprecated-anon-enum-enum-conversion"
15-
#pragma clang diagnostic ignored "-Wunknown-warning-option" // for next one
16-
#pragma clang diagnostic ignored "-Wunused-but-set-variable" // for newer clang
17-
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
18-
#include <Eigen/SparseCore>
19-
#pragma clang diagnostic pop
20-
#pragma warning(pop)
7+
#include <MRPch/MREigenSparseCore.h>
218

229
namespace MR
2310
{

source/MRMesh/MRMarkedContour.cpp

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,8 @@
22
#include "MRTimer.h"
33
#include "MRGTest.h"
44

5-
#pragma warning(push)
6-
#pragma warning(disable: 4068) // unknown pragmas
7-
#pragma warning(disable: 4127) // conditional expression is constant
8-
#pragma warning(disable: 4464) // relative include path contains '..'
9-
#pragma warning(disable: 5054) // operator '|': deprecated between enumerations of different types
10-
#pragma clang diagnostic push
11-
#pragma clang diagnostic ignored "-Wdeprecated-anon-enum-enum-conversion"
12-
#pragma clang diagnostic ignored "-Wunknown-warning-option" // for next one
13-
#pragma clang diagnostic ignored "-Wunused-but-set-variable" // for newer clang
14-
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
15-
#include <Eigen/SparseCore>
5+
#include <MRPch/MREigenSparseCore.h>
166
#include <Eigen/SparseCholesky>
17-
#pragma clang diagnostic pop
18-
#pragma warning(pop)
197

208
namespace MR
219
{

source/MRMesh/MRMeshReplicate.cpp

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,8 @@
33
#include "MRBitSetParallelFor.h"
44
#include "MRTimer.h"
55

6-
#pragma warning(push)
7-
#pragma warning(disable: 4068) // unknown pragmas
8-
#pragma warning(disable: 4127) // conditional expression is constant
9-
#pragma warning(disable: 4464) // relative include path contains '..'
10-
#pragma warning(disable: 5054) // operator '|': deprecated between enumerations of different types
11-
#pragma clang diagnostic push
12-
#pragma clang diagnostic ignored "-Wdeprecated-anon-enum-enum-conversion"
13-
#pragma clang diagnostic ignored "-Wunknown-warning-option" // for next one
14-
#pragma clang diagnostic ignored "-Wunused-but-set-variable" // for newer clang
15-
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
16-
#include <Eigen/SparseCore>
6+
#include <MRPch/MREigenSparseCore.h>
177
#include <Eigen/SparseCholesky>
18-
#pragma clang diagnostic pop
19-
#pragma warning(pop)
208

219
namespace MR
2210
{

source/MRMesh/MRMultiwayAligningTransform.cpp

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,8 @@
33
#include "MRGTest.h"
44
#include "MRTimer.h"
55

6-
#if __clang_major__ >= 13
7-
#pragma clang diagnostic push
8-
#pragma clang diagnostic ignored "-Wunused-but-set-variable"
9-
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
10-
#endif
6+
#include <MRPch/MREigenSparseCore.h>
117
#include <Eigen/SparseCholesky>
12-
#if __clang_major__ >= 13
13-
#pragma clang diagnostic pop
14-
#endif
158

169
#include <cassert>
1710

source/MRMesh/MRNormalDenoising.cpp

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,8 @@
88
#include "MRTimer.h"
99
#include <limits>
1010

11-
#pragma warning(push)
12-
#pragma warning(disable: 4068) // unknown pragmas
13-
#pragma warning(disable: 5054) // operator '|': deprecated between enumerations of different types
14-
#pragma clang diagnostic push
15-
#pragma clang diagnostic ignored "-Wdeprecated-anon-enum-enum-conversion"
16-
#pragma clang diagnostic ignored "-Wunknown-warning-option" // for next one
17-
#pragma clang diagnostic ignored "-Wunused-but-set-variable" // for newer clang
18-
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
19-
#include <Eigen/SparseCore>
11+
#include <MRPch/MREigenSparseCore.h>
2012
#include <Eigen/SparseCholesky>
21-
#pragma clang diagnostic pop
22-
#pragma warning(pop)
2313

2414
namespace MR
2515
{

source/MRMesh/MRNormalsToPoints.cpp

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,8 @@
77
#include "MRRelaxParams.h" //getLimitedPos
88
#include <limits>
99

10-
#pragma warning(push)
11-
#pragma warning(disable: 4068) // unknown pragmas
12-
#pragma warning(disable: 5054) // operator '|': deprecated between enumerations of different types
13-
#pragma clang diagnostic push
14-
#pragma clang diagnostic ignored "-Wdeprecated-anon-enum-enum-conversion"
15-
#pragma clang diagnostic ignored "-Wunknown-warning-option" // for next one
16-
#pragma clang diagnostic ignored "-Wunused-but-set-variable" // for newer clang
17-
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
18-
#include <Eigen/SparseCore>
10+
#include <MRPch/MREigenSparseCore.h>
1911
#include <Eigen/SparseCholesky>
20-
#pragma clang diagnostic pop
21-
#pragma warning(pop)
2212

2313
namespace MR
2414
{

source/MRMesh/MRPositionVertsSmoothly.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#include "MRMeshRelax.h"
1010
#include "MRLaplacian.h"
1111
#include "MRTimer.h"
12+
#include <MRPch/MREigenSparseCore.h>
1213
#include <Eigen/SparseCholesky>
1314

1415
namespace MR

source/MRPch/MREigenCore.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
1717
#if __GNUC__ >= 12
1818
#pragma GCC diagnostic ignored "-Warray-bounds"
19+
#pragma GCC diagnostic ignored "-Wclass-memaccess"
1920
#endif
2021
#endif
2122
#include <Eigen/Core>

0 commit comments

Comments
 (0)