mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +05:00
Add a patch to make the build of netgen more user-friendly
This commit is contained in:
parent
79458cb904
commit
20911863d8
@ -1,7 +1,19 @@
|
||||
The Netgen 4.3 from the web location : http://www.hpfem.jku.at/netgen/ is used
|
||||
in the SMESH Module of Salome2 distribution.
|
||||
|
||||
Assumptions on the Netgen installation
|
||||
How to build Netgen for Salome
|
||||
------------------------------
|
||||
|
||||
Patch the official netgen 4.3 distribution:
|
||||
|
||||
$ cd netgen43
|
||||
$ patch -p1 < patch_directory/netgen43ForSalome.patch
|
||||
|
||||
Then run makeForSalome.sh:
|
||||
$ sh makeForSalome.sh
|
||||
|
||||
|
||||
Additional information for maintainers
|
||||
--------------------------------------
|
||||
|
||||
The SMESH Engine of SALOME2 (particularly the m4 file check_Netgen.m4) assume
|
||||
|
221
src/NETGEN/netgen43ForSalome.patch
Normal file
221
src/NETGEN/netgen43ForSalome.patch
Normal file
@ -0,0 +1,221 @@
|
||||
diff -N -r -u netgen43/libsrc/include/spline2d.hpp /tmp/netgen43/libsrc/include/spline2d.hpp
|
||||
--- netgen43/libsrc/include/spline2d.hpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ /tmp/netgen43/libsrc/include/spline2d.hpp 2003-12-10 16:28:12.000000000 +0100
|
||||
@@ -0,0 +1 @@
|
||||
+#include "../geom2d/spline2d.hpp"
|
||||
diff -N -r -u netgen43/libsrc/include/splinegeometry2.hpp /tmp/netgen43/libsrc/include/splinegeometry2.hpp
|
||||
--- netgen43/libsrc/include/splinegeometry2.hpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ /tmp/netgen43/libsrc/include/splinegeometry2.hpp 2003-12-10 16:28:23.000000000 +0100
|
||||
@@ -0,0 +1 @@
|
||||
+#include "../geom2d/splinegeometry2.hpp"
|
||||
diff -N -r -u netgen43/libsrc/interface/Makefile /tmp/netgen43/libsrc/interface/Makefile
|
||||
--- netgen43/libsrc/interface/Makefile 2003-05-07 16:01:43.000000000 +0200
|
||||
+++ /tmp/netgen43/libsrc/interface/Makefile 2003-12-10 15:59:47.000000000 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-src = nginterface.cpp writeuser.cpp writediffpack.cpp writeabaqus.cpp writefluent.cpp writepermas.cpp writetochnog.cpp writetecplot.cpp wuchemnitz.cpp writetochnog.cpp writefeap.cpp readuser.cpp importsolution.cpp
|
||||
+src = writeuser.cpp writediffpack.cpp writeabaqus.cpp writefluent.cpp writepermas.cpp writetochnog.cpp writetecplot.cpp wuchemnitz.cpp writetochnog.cpp writefeap.cpp readuser.cpp importsolution.cpp nglib.cpp ngnewdelete.cpp
|
||||
#
|
||||
lib = nginterface
|
||||
libpath = libsrc/interface
|
||||
diff -N -r -u netgen43/libsrc/interface/nglib.cpp /tmp/netgen43/libsrc/interface/nglib.cpp
|
||||
--- netgen43/libsrc/interface/nglib.cpp 2003-05-07 16:01:43.000000000 +0200
|
||||
+++ /tmp/netgen43/libsrc/interface/nglib.cpp 2003-12-10 16:32:54.000000000 +0100
|
||||
@@ -23,6 +23,20 @@
|
||||
|
||||
#include "nglib.h"
|
||||
|
||||
+namespace netgen
|
||||
+{
|
||||
+ char geomfilename [100];
|
||||
+
|
||||
+ //Destination for messages, errors, ...
|
||||
+ void Ng_PrintDest(const char * s)
|
||||
+ {
|
||||
+ (*mycout) << s << flush;
|
||||
+ }
|
||||
+
|
||||
+#include <spline2d.hpp>
|
||||
+#include <splinegeometry2.hpp>
|
||||
+}
|
||||
+
|
||||
using namespace netgen;
|
||||
|
||||
// constants and types:
|
||||
@@ -171,8 +185,6 @@
|
||||
// CSG Geometry
|
||||
|
||||
// FlexLexer * lexer;
|
||||
-char geomfilename [100];
|
||||
-
|
||||
|
||||
// 2D Meshing Functions:
|
||||
|
||||
@@ -362,7 +374,18 @@
|
||||
cout << "e(" << readedges.Get(i) << "," << readedges.Get(i+1) << ")" << endl;
|
||||
}
|
||||
*/
|
||||
- geo->AddEdges(readedges);
|
||||
+
|
||||
+ ARRAY< Point<3> > readedges1;
|
||||
+
|
||||
+ for (i = 1; i <= readedges.Size(); i++)
|
||||
+ {
|
||||
+ Point3d readedgesData = readedges.Get(i);
|
||||
+ Point <3> readedges1Data = Point<3>(readedgesData.X(),readedgesData.Y(),readedgesData.Z());
|
||||
+
|
||||
+ readedges1.Append(readedges1Data);
|
||||
+ }
|
||||
+
|
||||
+ geo->AddEdges(readedges1);
|
||||
}
|
||||
|
||||
if (geo->GetStatus() == STLTopology::STL_GOOD || geo->GetStatus() == STLTopology::STL_WARNING) return NG_OK;
|
||||
@@ -472,7 +495,14 @@
|
||||
n = Vec3d(nv[0],nv[1],nv[2]);
|
||||
}
|
||||
|
||||
- readtrias.Append(STLReadTriangle(apts,n));
|
||||
+ Point<3> apts1[3];
|
||||
+ apts1[0] = Point<3>(p1[0],p1[1],p1[2]);
|
||||
+ apts1[1] = Point<3>(p2[0],p2[1],p2[2]);
|
||||
+ apts1[2] = Point<3>(p3[0],p3[1],p3[2]);
|
||||
+
|
||||
+ Vec<3> n1 = Vec<3>(n.X(),n.Y(),n.Z());
|
||||
+
|
||||
+ readtrias.Append(STLReadTriangle(apts1,n1));
|
||||
}
|
||||
|
||||
// add (optional) edges:
|
||||
@@ -487,30 +517,29 @@
|
||||
|
||||
// compatibility functions:
|
||||
|
||||
-void MyError (const char * ch)
|
||||
+void netgen::MyError (const char * ch)
|
||||
{
|
||||
cerr << ch;
|
||||
}
|
||||
|
||||
-//Destination for messages, errors, ...
|
||||
-void Ng_PrintDest(const char * s)
|
||||
-{
|
||||
- (*mycout) << s << flush;
|
||||
-}
|
||||
-
|
||||
-
|
||||
-double GetTime ()
|
||||
+double netgen::GetTime ()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
-void ResetTime ()
|
||||
+void netgen::ResetTime ()
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
-void MyBeep (int i)
|
||||
+void netgen::MyBeep (int i)
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
+void MeshFromSpline2D (SplineGeometry2d & geometry,
|
||||
+ Mesh *& mesh,
|
||||
+ MeshingParameters & mp)
|
||||
+{
|
||||
+ MeshFromSpline2D (geometry, mesh, mp);
|
||||
+}
|
||||
diff -N -r -u netgen43/libsrc/makefile.mach.LINUX /tmp/netgen43/libsrc/makefile.mach.LINUX
|
||||
--- netgen43/libsrc/makefile.mach.LINUX 2003-05-07 16:01:43.000000000 +0200
|
||||
+++ /tmp/netgen43/libsrc/makefile.mach.LINUX 2003-12-10 15:12:18.000000000 +0100
|
||||
@@ -14,7 +14,8 @@
|
||||
#
|
||||
CFLAGS2 =
|
||||
# pg stands for profiling - also in linkflags2
|
||||
-CPLUSPLUSFLAGS2 = -O2 -I/usr/X11R6/include -DLINUX -DOPENGL
|
||||
+#CPLUSPLUSFLAGS2 = -O2 -I/usr/X11R6/include -DLINUX -DOPENGL
|
||||
+CPLUSPLUSFLAGS2 = -O2 -I/usr/X11R6/include -DLINUX
|
||||
# -fomit-frame-pointer
|
||||
# -ffast-math
|
||||
#
|
||||
diff -N -r -u netgen43/libsrc/meshing/improve2.cpp /tmp/netgen43/libsrc/meshing/improve2.cpp
|
||||
--- netgen43/libsrc/meshing/improve2.cpp 2003-05-07 16:01:43.000000000 +0200
|
||||
+++ /tmp/netgen43/libsrc/meshing/improve2.cpp 2003-12-10 15:42:00.000000000 +0100
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "meshing.hpp"
|
||||
#include <opti.hpp>
|
||||
|
||||
-#include <visual.hpp>
|
||||
+/*#include <visual.hpp>*/
|
||||
|
||||
|
||||
namespace netgen
|
||||
diff -N -r -u netgen43/libsrc/meshing/meshing2.cpp /tmp/netgen43/libsrc/meshing/meshing2.cpp
|
||||
--- netgen43/libsrc/meshing/meshing2.cpp 2003-05-07 16:01:43.000000000 +0200
|
||||
+++ /tmp/netgen43/libsrc/meshing/meshing2.cpp 2003-12-10 15:34:35.000000000 +0100
|
||||
@@ -1785,7 +1785,7 @@
|
||||
|
||||
|
||||
#else
|
||||
-void glrender (int wait)
|
||||
+void netgen::glrender (int wait)
|
||||
{
|
||||
;
|
||||
}
|
||||
diff -N -r -u netgen43/libsrc/visualization/stlmeshing.cpp /tmp/netgen43/libsrc/visualization/stlmeshing.cpp
|
||||
--- netgen43/libsrc/visualization/stlmeshing.cpp 2003-05-07 16:01:43.000000000 +0200
|
||||
+++ /tmp/netgen43/libsrc/visualization/stlmeshing.cpp 2003-12-10 15:52:53.000000000 +0100
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <stlgeom.hpp>
|
||||
|
||||
#include <meshing.hpp>
|
||||
-#include <visual.hpp>
|
||||
+/*#include <visual.hpp>*/
|
||||
|
||||
namespace netgen
|
||||
{
|
||||
diff -N -r -u netgen43/Makefile /tmp/netgen43/Makefile
|
||||
--- netgen43/Makefile 2003-05-07 16:01:43.000000000 +0200
|
||||
+++ /tmp/netgen43/Makefile 2003-12-10 15:11:41.000000000 +0100
|
||||
@@ -35,7 +35,8 @@
|
||||
.SUFFIXES: .cpp .o
|
||||
#
|
||||
#
|
||||
-CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -DOPENGL
|
||||
+#CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include -DOPENGL
|
||||
+CPLUSPLUSFLAGS1 = -c -I$(LIBSRC_DIR)/include
|
||||
LINKFLAGS1 = -lGL -lGLU -lX11 -lXext -lXmu
|
||||
#
|
||||
CPLUSPLUSFLAGS = $(CPLUSPLUSFLAGS1) $(CPLUSPLUSFLAGS2) $(CPLUSPLUSFLAGS3)
|
||||
diff -N -r -u netgen43/makeForSalome.sh /tmp/netgen43/makeForSalome.sh
|
||||
--- netgen43/makeForSalome.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ /tmp/netgen43/makeForSalome.sh 2004-01-05 12:33:59.000000000 +0100
|
||||
@@ -0,0 +1,26 @@
|
||||
+#! /bin/sh
|
||||
+cp ngtcltk/ngnewdelete.* libsrc/interface/
|
||||
+
|
||||
+MACHINE=LINUX
|
||||
+export MACHINE
|
||||
+make -C libsrc/csg
|
||||
+make -C libsrc/general
|
||||
+make -C libsrc/geom2d
|
||||
+make -C libsrc/gprim
|
||||
+make -C libsrc/interface
|
||||
+make -C libsrc/linalg
|
||||
+make -C libsrc/meshing
|
||||
+make -C libsrc/opti
|
||||
+make -C libsrc/stlgeom
|
||||
+
|
||||
+if [ ! -d install ] ; then
|
||||
+ mkdir install
|
||||
+fi
|
||||
+
|
||||
+cp -r lib install/
|
||||
+
|
||||
+if [ ! -d install/include ] ; then
|
||||
+ mkdir install/include
|
||||
+fi
|
||||
+
|
||||
+cp libsrc/interface/nglib.h install/include
|
Loading…
Reference in New Issue
Block a user