Salome HOME
merge from master
[tools/sat_salome.git] / products / patches / gmsh-4.10.3-windows.patch
1 --- gmsh-4.10.3-source_ref/CMakeLists.txt       2022-05-26 10:51:23.000000000 +0200
2 +++ gmsh-4.10.3-source_new/CMakeLists.txt       2022-06-29 14:45:50.976422373 +0200
3 @@ -1340,9 +1340,6 @@
4      set_config_option(HAVE_OCC "OpenCASCADE")
5      list(APPEND EXTERNAL_LIBRARIES ${OCC_LIBS})
6      list(APPEND EXTERNAL_INCLUDES ${OCC_INC})
7 -    if(WIN32 AND NOT MSVC)
8 -      add_definitions(-DOCC_CONVERT_SIGNALS)
9 -    endif()
10    endif()
11  endif()
12  
13 --- gmsh-4.10.3-source_ref/contrib/QuadMeshingTools/qmtMeshGeometryOptimization.cpp     2022-05-26 10:51:23.000000000 +0200
14 +++ gmsh-4.10.3-source_new/contrib/QuadMeshingTools/qmtMeshGeometryOptimization.cpp     2022-06-29 14:46:37.287921297 +0200
15 @@ -26,6 +26,7 @@
16  #include "meshOctreeLibOL.h"
17  #include "Context.h"
18  #include "gmsh.h" // api
19 +#include "GmshConfig.h"
20  
21  /* QuadMeshingTools includes */
22  #include "cppUtils.h"
23 @@ -2422,8 +2423,12 @@
24    std::vector<std::array<vec2, 3> > triIdealShapes;
25    std::vector<std::array<uint32_t, 3> > triangles;
26    bool preserveQuadAnisotropy = false;
27 +#if defined(HAVE_WINSLOWUNTANGLER)
28    buildTrianglesAndTargetsFromElements(points_2D, quads, triangles,
29                                         triIdealShapes, preserveQuadAnisotropy);
30 +#else
31 +  Msg::Error("smoothWithWinslowUntangler requires WinslowUntangler");
32 +#endif
33  
34    /* Planar smoothing with Winslow untangler */
35    Msg::Debug("- Untangle/Smooth quad mesh (%li quads -> %li optim tris, %li "
36 @@ -2438,10 +2443,15 @@
37    double timeMax = 1000;
38    if(Msg::GetVerbosity() >= 99) verbosity = 1;
39    std::string pp = "Debug   : ---- ";
40 +#if defined(HAVE_WINSLOWUNTANGLER)
41    bool oku =
42      untangle_triangles_2D(points_2D, locked, triangles, triIdealShapes, lambda,
43                            iterMaxInner, iterMaxOuter, nFailMax, timeMax);
44    if(!oku) { Msg::Debug("---- failed to untangle"); }
45 +#else
46 +  Msg::Error("smoothWithWinslowUntangler requires WinslowUntangler");
47 +#endif
48 +
49    // {
50    //   for (size_t v = 0; v < points_2D.size(); ++v) {
51    //     GeoLog::add({points_2D[v][0],points_2D[v][1],0.},double(locked[v]),"2D_aftersmooth");