Salome HOME
Join modifications from branch OCC_debug_for_3_2_0b1
[plugins/netgenplugin.git] / src / NETGEN / ReadMeForNgUsers
1 The Netgen 4.5 from the web location : http://www.hpfem.jku.at/netgen/
2 (CVS access) is used in the SMESH Module of Salome3 distribution.
3
4 How to build Netgen for Salome
5 ------------------------------
6
7 Patch the netgen 4.5 distribution:
8
9 $ cd netgen45
10 $ patch -p1 < patch_directory/netgen45ForSalome.patch
11
12 Then run makeForSalome.sh (it will be created by the patch):
13 $ sh makeForSalome.sh
14
15
16 Additional information for maintainers
17 --------------------------------------
18
19 The file check_NETGENPLUGIN.m4 assumes
20 that Netgen is installed in the directory <netgen_installation_path> as follow:
21
22 prompt> ls <netgen_installation_path>
23
24 include/  lib/
25
26 prompt> ls <netgen_installation_path>/include
27
28 adfront2.hpp         explicitcurve2d.hpp  hpref_quad.hpp      myadt.hpp        spbita2d.hpp
29 adfront3.hpp         extrusion.hpp        hpref_segm.hpp      mydefs.hpp       specials.hpp
30 adtree.hpp           findip.hpp           hpref_tet.hpp       mystdlib.h       specpoin.hpp
31 algprim.hpp          findip2.hpp          hpref_trig.hpp      mystring.hpp     spline.hpp
32 array.hpp            flags.hpp            hprefinement.hpp    ngexception.hpp  spline2d.hpp
33 autoptr.hpp          gencyl.hpp           identify.hpp        nglib.h          spline3d.hpp
34 basemat.hpp          geom2d.hpp           improve2.hpp        occgeom.hpp      splinegeometry.hpp
35 bisect.hpp           geom2dmesh.hpp       improve3.hpp        occmeshsurf.hpp  splinegeometry2.hpp
36 bitarray.hpp         geom3d.hpp           linalg.hpp          opti.hpp         stack.hpp
37 boundarylayer.hpp    geometry2d.hpp       localh.hpp          optmem.hpp       stlgeom.hpp
38 brick.hpp            geomfuncs.hpp        manifold.hpp        parthreads.hpp   stlline.hpp
39 classifyhpel.hpp     geoml.hpp            meshclass.hpp       polyhedra.hpp    stltool.hpp
40 clusters.hpp         geomobjects.hpp      meshfunc.hpp        polynomial.hpp   stltopology.hpp
41 csg.hpp              geomops.hpp          meshing.hpp         profiler.hpp     surface.hpp
42 csgeom.hpp           geomsearch.hpp       meshing2.hpp        revolution.hpp   symbolta.hpp
43 csgparser.hpp        geomtest3d.hpp       meshing3.hpp        ruler2.hpp       table.hpp
44 curve2d.hpp          global.hpp           meshstlsurface.hpp  ruler3.hpp       template.hpp
45 curvedelems.hpp      gprim.hpp            meshsurf.hpp        seti.hpp         topology.hpp
46 curvedelems_new.hpp  hashtabl.hpp         meshtool.hpp        singularref.hpp  transform3d.hpp
47 densemat.hpp         hpref_hex.hpp        meshtype.hpp        solid.hpp        triapprox.hpp
48 dynamicmem.hpp       hpref_prism.hpp      moveablemem.hpp     sort.hpp         vector.hpp
49 edgeflw.hpp          hpref_pyramid.hpp    msghandler.hpp      sparsmat.hpp
50
51 prompt> ls <netgen_installation_path>/lib
52
53 LINUX/
54
55 prompt> ls <netgen_installation_path>/lib/LINUX
56
57 libcsg.a  libgeom2d.a  libla.a    libnginterface.a  libopti.a
58 libgen.a  libgprim.a   libmesh.a  libocc.a          libstlgeom.a
59
60 All the libraries *.a should be compiled without the option -DOPENGL.
61 netgen45 is assumed to be the directory downloaded from the above web
62 location archive of Netgen. The library 
63 <netgen_installation_path>/lib/LINUX/libnginterface.a should contain the objects
64 nglib.o (from netgen45/libsrc/interface/nglib.cpp) and ngnewdelete.o
65 (from netgen45/ngtcltk/ngnewdelete.cpp).
66
67 To have that kind of distribution from the version in the above web location you
68 need not to compile Netgen as suggested in the netgen45/README.INSTALL file.
69 Simply modify the Makefiles to remove -DOPENGL from compiler flags
70 list and to add OCC include dir and flags to compiler flags, add the objects
71 nglib.o and ngnewdelete.o to the library libnginterface.a and
72 recompile the libraries only.
73 All this job is done by applying the patch and running the script makeForSalome.sh.
74
75 Th suggested patch alters some Netgen sources to compile them.
76
77 Michael SAZONOV
78 m-sazonov@opencascade.com