]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
first update of those files to administrate the integration of Netgen in the
authornadir <nadir>
Thu, 16 Oct 2003 13:24:21 +0000 (13:24 +0000)
committernadir <nadir>
Thu, 16 Oct 2003 13:24:21 +0000 (13:24 +0000)
SMESH Engine.

12 files changed:
ChangeLog
INSTALL
Makefile.in
adm_local/unix/make_commence.in
configure.in.base
idl/SMESH_BasicHypothesis.idl
resources/SMESH_en.xml
resources/SMESH_fr.xml
src/DriverMED/DriverMED_R_SMDS_Mesh.cxx
src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx
src/DriverMED/DriverMED_W_SMDS_Mesh.cxx
src/Makefile.in

index 60e9176bfb7074286f11b8cac1b82c294b18e89d..379b527850802c9b5f160f64c5c1022454220dcb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2003-10-16 15:04  Nadir Bouhamou <nadir.bouhamou@cea.fr>
+
+       * adm_local/unix/config_files/: check_Netgen.m4
+       * resources/: mesh_algo_tetra.png, mesh_tree_algo_tetra.png
+       * src/: NETGEN
+       * src/NETGEN/: Makefile.in
+       * src/SMESH/: SMESH_Tetra_3D.cxx, SMESH_Tetra_3D.hxx
+       * src/SMESH_I/: SMESH_Tetra_3D_i.cxx, SMESH_Tetra_3D_i.hxx
+       * src/SMESH_SWIG/: SMESH_box2_tetra.py, SMESH_box_tetra.py,
+       SMESH_mechanic_tetra.py
+       first version of those files needed for the Netgen integration in the
+       SMESH Engine.
+
 2003-09-08 17:04  Jerome Robert <jerome.robert@eads.net>
 
        * src/SMDS/: SMDS_Mesh.cxx, SMDS_VolumeOfNodes.cxx,
diff --git a/INSTALL b/INSTALL
index 03a1d4890a974894a74f1faf1d4d82d89d87315e..e16b65a7c79f5169ee6f070493e7a68d4dc9d602 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,6 @@
-This is the version 1.2.2 of SMESH
+This is the version 1.2.2 of SMESH in the branch nadir_1_2_2 dedicated to the
+Netgen integration in the SMESH Engine
 Compatible with :
        - KERNEL 1.2.1
        - GEOM 1.2.1
-       - MED 1.2.1
+       - MED 1.2.3
index 1b06ef6c5e3f94f3dabc3140479ca5da332feb54..2d3c09f6f66a8bd4e2c808f087ac5207d3f83179 100644 (file)
@@ -23,6 +23,7 @@ mesh_algo_hexa.png \
 mesh_algo_mefisto.png \
 mesh_algo_quad.png \
 mesh_algo_regular.png \
+mesh_algo_tetra.png \
 mesh_angle.png \
 mesh_area.png \
 mesh_aspect.png \
@@ -63,6 +64,7 @@ mesh_tree_algo_mefisto.png \
 mesh_tree_algo.png \
 mesh_tree_algo_quad.png \
 mesh_tree_algo_regular.png \
+mesh_tree_algo_tetra.png \
 mesh_tree_hypo_area.png \
 mesh_tree_hypo_length.png \
 mesh_tree_hypo.png \
index c6ac31ccac887555a9d4aac86053af201ba390fb..a42b18798bd1fb758c9e8f7f9f58348557943334 100644 (file)
@@ -245,5 +245,9 @@ ac_cxx_typename.m4                check_pthreads.m4  check_cas.m4   \
 ac_cc_warnings.m4                 check_qt.m4        check_med2.m4      \
 check_swig.m4 
 
+#ifeq (@WITHNETGEN@,yes)
+#  ACLOCAL_SRC += check_Netgen.m4
+#endif
+
 $(top_srcdir)/aclocal.m4: $(ACLOCAL_SRC:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%)
        cd $(top_srcdir) ; aclocal --acdir=adm_local/unix/config_files -I @KERNEL_ROOT_DIR@/salome_adm/unix/config_files
index 858dcaa5fc80a203e602f111b3dfc64e347ac93a..f2e7919b0a04d144fbd055840747a56cca86501f 100644 (file)
@@ -273,6 +273,14 @@ echo
 
 CHECK_MED
 
+echo
+echo ---------------------------------------------
+echo Testing Netgen
+echo ---------------------------------------------
+echo
+
+CHECK_NETGEN
+
 echo
 echo ---------------------------------------------
 echo Summary
@@ -280,7 +288,7 @@ echo ---------------------------------------------
 echo
 
 echo Configure
-variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok med2_ok omniORB_ok occ_ok doxygen_ok graphviz_ok Kernel_ok Geom_ok Med_ok"
+variables="cc_ok lex_yacc_ok python_ok swig_ok threads_ok OpenGL_ok qt_ok vtk_ok hdf5_ok med2_ok omniORB_ok occ_ok doxygen_ok graphviz_ok Kernel_ok Geom_ok Med_ok Netgen_ok"
 
 for var in $variables
 do
index 5884a45a0dd298d65abd7021ee4379e4460959b4..c003426c8b74fb8520403732e23128b2e6c27804 100644 (file)
@@ -78,6 +78,10 @@ module SMESH
   interface SMESH_Hexa_3D : SMESH_3D_Algo
   {
   };
+
+  interface SMESH_Tetra_3D : SMESH_3D_Algo
+  {
+  };
 };
 
 #endif
index ea885d2ba8748f95c91d9566317d00692a02456a..b04e051f272b826a6febc9eb63a250f24f201b0f 100644 (file)
        <popup-item item-id="5030" pos-id="" label-id="Average length" icon-id="mesh_hypo_length.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
        <popup-item item-id="5031" pos-id="" label-id="Nb. Segments" icon-id="mesh_hypo_segment.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
        <popup-item item-id="5032" pos-id="" label-id="Max. Triangle Area" icon-id="mesh_hypo_area.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-       <popup-item item-id="5033" pos-id="" label-id="Max. Hexahedron Volume" icon-id="mesh_hypo_volume.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
+       <popup-item item-id="5033" pos-id="" label-id="Max. Hexahedron or Tetrahedron Volume" icon-id="mesh_hypo_volume.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
     <separator pos-id=""/>
        <popup-item item-id="5000" pos-id="" label-id="Wire discretisation" icon-id="mesh_algo_regular.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
        <popup-item item-id="5010" pos-id="" label-id="Triangle (Mefisto)" icon-id="mesh_algo_mefisto.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
        <popup-item item-id="5011" pos-id="" label-id="Quadrangle (Mapping)" icon-id="mesh_algo_quad.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-       <popup-item item-id="5020" pos-id="" label-id="Hexaedron (i,j,k)" icon-id="mesh_algo_hexa.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
+       <popup-item item-id="5020" pos-id="" label-id="Hexahedron (i,j,k)" icon-id="mesh_algo_hexa.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
+       <popup-item item-id="5021" pos-id="" label-id="Tetrahedron (Netgen)" icon-id="mesh_algo_tetra.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
 </menu-item>
 
 <!-- ************************** Mesh  (menubar)  ************************************ -->
    <toolbutton-item item-id="5030" label-id="Average length" icon-id="mesh_hypo_length.png" tooltip-id="Avreage length Hypothesis" accel-id="" toggle-id="" execute-action=""/>
    <toolbutton-item item-id="5031" label-id="Segments" icon-id="mesh_hypo_segment.png" tooltip-id="Nb. Segments Hypothesis" accel-id="" toggle-id="" execute-action=""/>
    <toolbutton-item item-id="5032" label-id="Max. Triangle Area" icon-id="mesh_hypo_area.png" tooltip-id="Max. Triangle Area Hypothesis" accel-id="" toggle-id="" execute-action=""/>
-   <toolbutton-item item-id="5033" label-id="Max. Hexaedron Volume" icon-id="mesh_hypo_volume.png" tooltip-id="Max. Hexaedron Volume Hypothesis" accel-id="" toggle-id="" execute-action=""/>
+   <toolbutton-item item-id="5033" label-id="Max. Hexahedron or Tetrahedron Volume" icon-id="mesh_hypo_volume.png" tooltip-id="Max. Hexahedron or Tetrahedron Volume Hypothesis" accel-id="" toggle-id="" execute-action=""/>
    <separatorTB/>
    <toolbutton-item item-id="5000" label-id="Wire Discretisation" icon-id="mesh_algo_regular.png" tooltip-id="Wire Discratisation Algorithm" accel-id="" toggle-id="" execute-action=""/>
    <toolbutton-item item-id="5010" label-id="Triangle (Mefisto)" icon-id="mesh_algo_mefisto.png" tooltip-id="Triangle (Mefisto) Algorithm" accel-id="" toggle-id="" execute-action=""/>
    <toolbutton-item item-id="5011" label-id="Quadrangle (Mapping)" icon-id="mesh_algo_quad.png" tooltip-id="Quadrangle (Mapping) Algorithm" accel-id="" toggle-id="" execute-action=""/>
-   <toolbutton-item item-id="5020" label-id="Hexaedron (i,j,k)" icon-id="mesh_algo_hexa.png" tooltip-id="Hexaedron (i,j,k) Algorithm" accel-id="" toggle-id="" execute-action=""/>
+   <toolbutton-item item-id="5020" label-id="Hexahedron (i,j,k)" icon-id="mesh_algo_hexa.png" tooltip-id="Hexahedron (i,j,k) Algorithm" accel-id="" toggle-id="" execute-action=""/>
+   <toolbutton-item item-id="5021" label-id="Tetrahedron (Netgen)" icon-id="mesh_algo_hexa.png" tooltip-id="Tetrahedron (Netgen) Delaunay Algorithm" accel-id="" toggle-id="" execute-action=""/>
 </toolbar>
 
 <toolbar label-id="Controls toolbar">
index 480f0aaf28797e4a1106d20d52b3e9594d3cfaba..d0318c03b6d3bce736357885238b3bf6c45db472 100644 (file)
        <popup-item item-id="5030" pos-id="" label-id="Average length" icon-id="mesh_hypo_length.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
        <popup-item item-id="5031" pos-id="" label-id="Nb. Segments" icon-id="mesh_hypo_segment.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
        <popup-item item-id="5032" pos-id="" label-id="Max. Triangle Area" icon-id="mesh_hypo_area.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-       <popup-item item-id="5033" pos-id="" label-id="Max. Hexahedron Volume" icon-id="mesh_hypo_volume.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
+       <popup-item item-id="5033" pos-id="" label-id="Max. Hexahedron or Tetrahedron Volume" icon-id="mesh_hypo_volume.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
     <separator pos-id=""/>
        <popup-item item-id="5000" pos-id="" label-id="Wire discretisation" icon-id="mesh_algo_regular.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
        <popup-item item-id="5010" pos-id="" label-id="Triangle (Mefisto)" icon-id="mesh_algo_mefisto.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
        <popup-item item-id="5011" pos-id="" label-id="Quadrangle (Mapping)" icon-id="mesh_algo_quad.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
-       <popup-item item-id="5020" pos-id="" label-id="Hexaedron (i,j,k)" icon-id="mesh_algo_hexa.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
+       <popup-item item-id="5020" pos-id="" label-id="Hexahedron (i,j,k)" icon-id="mesh_algo_hexa.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
+       <popup-item item-id="5021" pos-id="" label-id="Tetrahedron (Netgen)" icon-id="mesh_algo_tetra.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
 </menu-item>
 
 <!-- ************************** Mesh  (menubar)  ************************************ -->
    <toolbutton-item item-id="5030" label-id="Average length" icon-id="mesh_hypo_length.png" tooltip-id="Avreage length Hypothesis" accel-id="" toggle-id="" execute-action=""/>
    <toolbutton-item item-id="5031" label-id="Segments" icon-id="mesh_hypo_segment.png" tooltip-id="Nb. Segments Hypothesis" accel-id="" toggle-id="" execute-action=""/>
    <toolbutton-item item-id="5032" label-id="Max. Triangle Area" icon-id="mesh_hypo_area.png" tooltip-id="Max. Triangle Area Hypothesis" accel-id="" toggle-id="" execute-action=""/>
-   <toolbutton-item item-id="5033" label-id="Max. Hexaedron Volume" icon-id="mesh_hypo_volume.png" tooltip-id="Max. Hexaedron Volume Hypothesis" accel-id="" toggle-id="" execute-action=""/>
+   <toolbutton-item item-id="5033" label-id="Max. Hexahedron or Tetrahedron Volume" icon-id="mesh_hypo_volume.png" tooltip-id="Max. Hexahedron or Tetrahedron Volume Hypothesis" accel-id="" toggle-id="" execute-action=""/>
    <separatorTB/>
    <toolbutton-item item-id="5000" label-id="Wire Discretisation" icon-id="mesh_algo_regular.png" tooltip-id="Wire Discratisation Algorithm" accel-id="" toggle-id="" execute-action=""/>
    <toolbutton-item item-id="5010" label-id="Triangle (Mefisto)" icon-id="mesh_algo_mefisto.png" tooltip-id="Triangle (Mefisto) Algorithm" accel-id="" toggle-id="" execute-action=""/>
    <toolbutton-item item-id="5011" label-id="Quadrangle (Mapping)" icon-id="mesh_algo_quad.png" tooltip-id="Quadrangle (Mapping) Algorithm" accel-id="" toggle-id="" execute-action=""/>
-   <toolbutton-item item-id="5020" label-id="Hexaedron (i,j,k)" icon-id="mesh_algo_hexa.png" tooltip-id="Hexaedron (i,j,k) Algorithm" accel-id="" toggle-id="" execute-action=""/>
+   <toolbutton-item item-id="5020" label-id="Hexahedron (i,j,k)" icon-id="mesh_algo_hexa.png" tooltip-id="Hexahedron (i,j,k) Algorithm" accel-id="" toggle-id="" execute-action=""/>
+   <toolbutton-item item-id="5021" label-id="Tetrahedron (Netgen)" icon-id="mesh_algo_hexa.png" tooltip-id="Tetrahedron (Netgen) Delaunay Algorithm" accel-id="" toggle-id="" execute-action=""/>
 </toolbar>
 
 <toolbar label-id="Controls toolbar">
index 1d7bff21b60078ea62070846c715cb2efcb38c1c..032e0547e30112b0c56867d782a8eda43394d38f 100644 (file)
@@ -456,6 +456,36 @@ void DriverMED_R_SMDS_Mesh::Read()
                                        }
                                        break;
                                }
+                               case MED_TETRA4:
+                               {
+                                       if (inuele)
+                                       {
+                                               for (j = 0; j < nmailles[i]; j++)
+                                               {
+                                                       elem_id = *(numele + j);
+                                                       ok = myMesh->AddVolumeWithID(*(connectivite +
+                                                                       j * (taille)),
+                                                               *(connectivite + j * (taille) + 1),
+                                                               *(connectivite + j * (taille) + 2),
+                                                               *(connectivite + j * (taille) + 3), elem_id);
+                                                       //fprintf(Out,"%d %d %d %d\n",elem_id,*(connectivite+j*(taille-nsup)),*(connectivite+j*(taille-nsup)+1),*(connectivite+j*(taille-nsup)+2),*(connectivite+j*(taille-nsup)+3));
+                                               }
+                                       }
+                                       else
+                                       {
+                                               for (j = 0; j < nmailles[i]; j++)
+                                               {
+                                                       cmpt++;
+                                                       ok = myMesh->AddVolumeWithID(*(connectivite +
+                                                                       j * (taille)),
+                                                               *(connectivite + j * (taille) + 1),
+                                                               *(connectivite + j * (taille) + 2),
+                                                               *(connectivite + j * (taille) + 3), cmpt);
+                                                       //fprintf(Out,"%d %d %d %d\n",j,*(connectivite+j*(taille)),*(connectivite+j*(taille)+1),*(connectivite+j*(taille)+2),*(connectivite+j*(taille)+3));
+                                               }
+                                       }
+                                       break;
+                               }
                                case MED_HEXA8:
                                {
                                        if (inuele)
index 72739a95917229ffad88ad2446a696ef8029922e..1652a55a7e0ffc9b09309172b203d3ca5fd98e50 100644 (file)
@@ -478,6 +478,37 @@ void DriverMED_R_SMESHDS_Mesh::ReadMySelf()
                                        }
                                        break;
                                }
+                               case MED_TETRA4:
+                               {
+                                       if (inuele)
+                                       {
+                                               for (j = 0; j < nmailles[i]; j++)
+                                               {
+                                                       elem_id = *(numele + j);
+                                                       ok = mySMESHDSMesh->AddVolumeWithID(*(connectivite +
+                                                                       j * (taille - nsup)),
+                                                               *(connectivite + j * (taille - nsup) + 1),
+                                                               *(connectivite + j * (taille - nsup) + 2),
+                                                               *(connectivite + j * (taille - nsup) + 3),
+                                                               elem_id);
+                                                       //fprintf(Out,"%d %d %d %d\n",elem_id,*(connectivite+j*(taille-nsup)),*(connectivite+j*(taille-nsup)+1),*(connectivite+j*(taille-nsup)+2),*(connectivite+j*(taille-nsup)+3));
+                                               }
+                                       }
+                                       else
+                                       {
+                                               for (j = 0; j < nmailles[i]; j++)
+                                               {
+                                                       cmpt++;
+                                                       ok = mySMESHDSMesh->AddVolumeWithID(*(connectivite +
+                                                                       j * (taille)),
+                                                               *(connectivite + j * (taille) + 1),
+                                                               *(connectivite + j * (taille) + 2),
+                                                               *(connectivite + j * (taille) + 3), cmpt);
+                                                       //fprintf(Out,"%d %d %d %d\n",j,*(connectivite+j*(taille)),*(connectivite+j*(taille)+1),*(connectivite+j*(taille)+2),*(connectivite+j*(taille)+3));
+                                               }
+                                       }
+                                       break;
+                               }
                                case MED_HEXA8:
                                {
                                        if (inuele)
index a8497e95c1fdcf433f888e6ee06523ee1e1e5865..fd6f3db753c5d320db6b7ad390e74dfc1353966c 100644 (file)
@@ -266,6 +266,12 @@ void DriverMED_W_SMDS_Mesh::Write()
                        nmailles[9]++;
                        break;
                }
+               case 4 :
+               {
+                       elem_Id[7].push_back(elem->GetID());
+                       nmailles[7]++;
+                       break;
+               }
                }
        }
 
index 09c3b8c0138669fe1b641bde2d2a4f246725039e..c3dd0dc5efbc6aa71beb0196b807a28b8688d969 100644 (file)
@@ -35,5 +35,10 @@ SUBDIRS = OBJECT SMDS SMESHDS Driver DriverMED DriverDAT DriverUNV MEFISTO2 \
        SMESH SMESH_I SMESHFiltersSelection SMESHGUI \
        SMESH_SWIG
 
+ifeq (@WITHNETGEN@,yes)
+SUBDIRS = OBJECT SMDS SMESHDS Driver DriverMED DriverDAT DriverUNV MEFISTO2 \
+       NETGEN SMESH SMESH_I SMESHFiltersSelection SMESHGUI \
+       SMESH_SWIG
+endif
 
 @MODULE@