From 97f7fad1d3e8e31adb7bc6794ff36dbab20c4a65 Mon Sep 17 00:00:00 2001 From: nadir Date: Thu, 16 Oct 2003 13:24:21 +0000 Subject: [PATCH] first update of those files to administrate the integration of Netgen in the SMESH Engine. --- ChangeLog | 13 +++++++++ INSTALL | 5 ++-- Makefile.in | 2 ++ adm_local/unix/make_commence.in | 4 +++ configure.in.base | 10 ++++++- idl/SMESH_BasicHypothesis.idl | 4 +++ resources/SMESH_en.xml | 10 ++++--- resources/SMESH_fr.xml | 10 ++++--- src/DriverMED/DriverMED_R_SMDS_Mesh.cxx | 30 +++++++++++++++++++++ src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx | 31 ++++++++++++++++++++++ src/DriverMED/DriverMED_W_SMDS_Mesh.cxx | 6 +++++ src/Makefile.in | 5 ++++ 12 files changed, 119 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 60e9176bf..379b52785 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2003-10-16 15:04 Nadir Bouhamou + + * 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 * src/SMDS/: SMDS_Mesh.cxx, SMDS_VolumeOfNodes.cxx, diff --git a/INSTALL b/INSTALL index 03a1d4890..e16b65a7c 100644 --- 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 diff --git a/Makefile.in b/Makefile.in index 1b06ef6c5..2d3c09f6f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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 \ diff --git a/adm_local/unix/make_commence.in b/adm_local/unix/make_commence.in index c6ac31cca..a42b18798 100644 --- a/adm_local/unix/make_commence.in +++ b/adm_local/unix/make_commence.in @@ -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 diff --git a/configure.in.base b/configure.in.base index 858dcaa5f..f2e7919b0 100644 --- a/configure.in.base +++ b/configure.in.base @@ -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 diff --git a/idl/SMESH_BasicHypothesis.idl b/idl/SMESH_BasicHypothesis.idl index 5884a45a0..c003426c8 100644 --- a/idl/SMESH_BasicHypothesis.idl +++ b/idl/SMESH_BasicHypothesis.idl @@ -78,6 +78,10 @@ module SMESH interface SMESH_Hexa_3D : SMESH_3D_Algo { }; + + interface SMESH_Tetra_3D : SMESH_3D_Algo + { + }; }; #endif diff --git a/resources/SMESH_en.xml b/resources/SMESH_en.xml index ea885d2ba..b04e051f2 100644 --- a/resources/SMESH_en.xml +++ b/resources/SMESH_en.xml @@ -40,12 +40,13 @@ - + - + + @@ -196,12 +197,13 @@ - + - + + diff --git a/resources/SMESH_fr.xml b/resources/SMESH_fr.xml index 480f0aaf2..d0318c03b 100644 --- a/resources/SMESH_fr.xml +++ b/resources/SMESH_fr.xml @@ -40,12 +40,13 @@ - + - + + @@ -196,12 +197,13 @@ - + - + + diff --git a/src/DriverMED/DriverMED_R_SMDS_Mesh.cxx b/src/DriverMED/DriverMED_R_SMDS_Mesh.cxx index 1d7bff21b..032e0547e 100644 --- a/src/DriverMED/DriverMED_R_SMDS_Mesh.cxx +++ b/src/DriverMED/DriverMED_R_SMDS_Mesh.cxx @@ -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) diff --git a/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx b/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx index 72739a959..1652a55a7 100644 --- a/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx +++ b/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx @@ -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) diff --git a/src/DriverMED/DriverMED_W_SMDS_Mesh.cxx b/src/DriverMED/DriverMED_W_SMDS_Mesh.cxx index a8497e95c..fd6f3db75 100644 --- a/src/DriverMED/DriverMED_W_SMDS_Mesh.cxx +++ b/src/DriverMED/DriverMED_W_SMDS_Mesh.cxx @@ -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; + } } } diff --git a/src/Makefile.in b/src/Makefile.in index 09c3b8c01..c3dd0dc5e 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -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@ -- 2.39.2