From 6b068dcbb6c9e9eed23f1e484aeb72bb64ad9520 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 9 Dec 2004 15:05:49 +0000 Subject: [PATCH] This commit was generated by cvs2git to create tag 'V_1ERE_ETAPE_POLY'. Sprout from Br_For_Poly 2004-12-09 15:05:48 UTC jroy 'Modification du fichier "poly3D.med" et correction de bug dans le driver MED en lecture (dans la lecture connectivite nodale des faces/edges) pour pouvoir lire le nouveau "poly3D.med".' Delete: INSTALL LICENCE Makefile.in adm_local/unix/config_files/README adm_local/unix/make_commence.in adm_local/unix/make_conclude.in adm_local/unix/make_omniorb.in bin/VERSION build_configure configure.in.base doc/MEDMEM/FIELDcreate.cxx doc/MEDMEM/FIELDcreate.py doc/MEDMEM/FIELDgeneral.cxx doc/MEDMEM/FIELDgeneral.py doc/MEDMEM/HOWTO Create A New Driver.txt doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.cxx doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.py doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.cxx doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.py doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.cxx doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.py doc/MEDMEM/MEDMEM_MedAddingAnExistingObject.cxx doc/MEDMEM/MEDMEM_UML.dia doc/MEDMEM/MEDMEM_UsersGuide.lyx doc/MEDMEM/MEDMEM_UsersGuide.tex.in doc/MEDMEM/MESHINGexample.cxx doc/MEDMEM/MESHconnectivities.cxx doc/MEDMEM/MESHconnectivities.py doc/MEDMEM/MESHcoordinates.cxx doc/MEDMEM/MESHcoordinates.py doc/MEDMEM/MESHgeneral.cxx doc/MEDMEM/MESHgeneral.py doc/MEDMEM/Makefile.in doc/MEDMEM/TODO Drivers.txt doc/Makefile.in doc/html/INPUT/HTML/MED.html doc/html/INPUT/HTML/MED_Gen.html doc/html/INPUT/doxyfile doc/html/INPUT/sources/Application-About.png doc/html/INPUT/sources/Application-About1.jpg doc/html/INPUT/sources/application.gif doc/html/INPUT/sources/application.jpg doc/html/INPUT/sources/bg_salome.gif doc/html/INPUT/sources/bg_salomepro.gif doc/html/INPUT/sources/doxygen.css doc/html/INPUT/sources/logocorp.gif doc/html/INPUT/sources/myheader.html doc/html/INPUT/sources/occ.gif doc/html/INPUT/sources/static/doxygen.css doc/html/INPUT/sources/static/page2.html doc/html/INPUT/sources/static/tree.js doc/html/INPUT/sources/static/treeview.js doc/html/Makefile.in idl/Compo1Py.idl idl/MED.idl idl/MED_Gen.idl idl/Makefile.in resources/Case1.cnc resources/Case1.inp resources/Case1.xyz resources/Darcy3_3D_H_10x10x10.sauve resources/Data.png resources/Infos.png resources/MEDCatalog.xml resources/MED_en.xml resources/ModuleMed.png resources/Structure.png resources/boitenew.cnc resources/boitenew.inp resources/boitenew.xyz resources/carre_en_quad4.med resources/carre_en_quad4_seg2.med resources/config resources/cube.cnc resources/cube.inp resources/cube.xyz resources/cube_hexa8.med resources/cube_hexa8_quad4.med resources/dx200_dy1_avec_2couches.sauve resources/elle_2D_QT_10x10.sauve resources/elle_2D_QT_2x2.sauve resources/elle_2D_QT_40x40.sauve resources/elle_2D_QT_4x4.sauve resources/elle_3D_HPr_10x10x10.sauve resources/elle_3D_HPr_2x2x2.sauve resources/elle_3D_HPr_4x4x4.sauve resources/inclusion_2d.sauve resources/inclusion_2d_raf.sauve resources/mail-test1-4-1.sauve resources/mail-test1-4-2.sauve resources/mail_ktest1-3-hexa.sauve resources/mail_ktest1-3-tetra.sauve resources/mail_ktest3-1.sauve resources/mail_ktest3-2.sauve resources/mail_test1-1-qua.sauve resources/mail_test1-1-tri.sauve resources/mail_test1-2-qua.sauve resources/mail_test1-2-tri.sauve resources/maill.0.med resources/maillage_CHEMVAL_100elts.sauve resources/maillage_CHEMVAL_40elts.sauve resources/maillage_UniSegFam.med resources/maillage_andra2_100elts.sauve resources/maillage_cas2_2d.sauve resources/maillage_cas4_234elts.sauve resources/maillage_chemvalIV_cas1_100elts.sauve resources/maillage_chemvalIV_cas1_40elts.sauve resources/mesh.med resources/pointe.med resources/test19.med resources/test3.cnc resources/test3.inp resources/test3.xyz resources/titi.cnc resources/titi.inp resources/titi.xyz resources/zzzz121b.med src/MED/MED_test1.py src/MED/MED_test2.py src/MED/Makefile.in src/MED/Med_Gen_i.cxx src/MED/Med_Gen_i.hxx src/MED/Med_Gen_test.py src/MEDGUI/MED_icons.po src/MEDGUI/MED_msg_en.po src/MEDGUI/MED_msg_fr.po src/MEDGUI/Makefile.in src/MEDGUI/MedGUI.cxx src/MEDGUI/MedGUI.h src/MEDMEM_I/MEDMEM_Family_i.cxx src/MEDMEM_I/MEDMEM_Family_i.hxx src/MEDMEM_I/MEDMEM_FieldDouble_i.cxx src/MEDMEM_I/MEDMEM_FieldDouble_i.hxx src/MEDMEM_I/MEDMEM_FieldInt_i.cxx src/MEDMEM_I/MEDMEM_FieldInt_i.hxx src/MEDMEM_I/MEDMEM_FieldOf_i.hxx src/MEDMEM_I/MEDMEM_Field_i.cxx src/MEDMEM_I/MEDMEM_Field_i.hxx src/MEDMEM_I/MEDMEM_Group_i.cxx src/MEDMEM_I/MEDMEM_Group_i.hxx src/MEDMEM_I/MEDMEM_Med_i.cxx src/MEDMEM_I/MEDMEM_Med_i.hxx src/MEDMEM_I/MEDMEM_Mesh_i.cxx src/MEDMEM_I/MEDMEM_Mesh_i.hxx src/MEDMEM_I/MEDMEM_Support_i.cxx src/MEDMEM_I/MEDMEM_Support_i.hxx src/MEDMEM_I/MEDMEM_convert.cxx src/MEDMEM_I/MEDMEM_convert.hxx src/MEDMEM_I/Makefile.in src/MEDMEM_I/README src/MEDMEM_SWIG/MEDMEM_SWIG_FieldDouble.cxx src/MEDMEM_SWIG/MEDMEM_SWIG_FieldDouble.hxx src/MEDMEM_SWIG/MEDMEM_SWIG_FieldInt.cxx src/MEDMEM_SWIG/MEDMEM_SWIG_FieldInt.hxx src/MEDMEM_SWIG/MEDMEM_SWIG_MedFieldDoubleDriver.cxx src/MEDMEM_SWIG/MEDMEM_SWIG_MedFieldDoubleDriver.hxx src/MEDMEM_SWIG/MEDMEM_SWIG_MedFieldIntDriver.cxx src/MEDMEM_SWIG/MEDMEM_SWIG_MedFieldIntDriver.hxx src/MEDMEM_SWIG/Makefile.in src/MEDMEM_SWIG/libMEDMEM_Swig.i src/MEDMEM_SWIG/medMeshing_test.py src/MEDMEM_SWIG/med_field_anal.py src/MEDMEM_SWIG/med_opfield_test.py src/MEDMEM_SWIG/med_opsupp_test.py src/MEDMEM_SWIG/med_test1.py src/MEDMEM_SWIG/med_test2.py src/MEDMEM_SWIG/med_test3.py src/MEDMEM_SWIG/med_test_grid.py src/MEDMEM_SWIG/med_test_skin.py src/MEDMEM_SWIG/my_typemap.i src/MEDMEM_SWIG/testMedMemGeneral.py src/MEDMEM_SWIG/test_gibi.py src/MEDMEM_SWIG/test_porflow.py src/MED_SWIG/MED_shared_modules.py src/MED_SWIG/Makefile.in src/Makefile.in src/MedClient/Makefile.in src/MedClient/src/CONNECTIVITYClient.cxx src/MedClient/src/CONNECTIVITYClient.hxx src/MedClient/src/COORDINATEClient.cxx src/MedClient/src/COORDINATEClient.hxx src/MedClient/src/FAMILYClient.cxx src/MedClient/src/FAMILYClient.hxx src/MedClient/src/FIELDClient.cxx src/MedClient/src/FIELDClient.hxx src/MedClient/src/GROUPClient.cxx src/MedClient/src/GROUPClient.hxx src/MedClient/src/MESHClient.cxx src/MedClient/src/MESHClient.hxx src/MedClient/src/Makefile.in src/MedClient/src/SUPPORTClient.cxx src/MedClient/src/SUPPORTClient.hxx src/MedClient/src/UtilClient.hxx src/MedClient/src/libMEDClient.i src/MedClient/test/Makefile.in src/MedClient/test/environ/Makefile.in src/MedClient/test/environ/csh/Makefile.in src/MedClient/test/environ/csh/init1.in src/MedClient/test/environ/csh/init2.in src/MedClient/test/environ/csh/init3.in src/MedClient/test/environ/csh/runContainer.in src/MedClient/test/environ/csh/runEnvironTests.in src/MedClient/test/environ/csh/stopContainer.in src/MedClient/test/environ/runContainer.in src/MedClient/test/environ/runEnvironTests.in src/MedClient/test/environ/runTestMedCorba.in src/MedClient/test/environ/stopContainer.in src/MedClient/test/resources/carre_en_quad4_seg2.med src/MedClient/test/resources/maill.0.med src/MedClient/test/resources/pointe.med src/MedClient/test/resources/test_hydro_darcy1a_out.med src/MedClient/test/test1/Compo1.py src/MedClient/test/test1/Compo1Py.idl src/MedClient/test/test1/Compo1Py.py src/MedClient/test/test1/Makefile.in src/MedClient/test/test1/TestMedCorba1.py src/MedClient/test/test1/TestMedCorba2.py src/MedClient/test/test1/TestMedCorba3.py src/MedClient/test/test1/TestMedCorba4.py src/MedClient/test/test1/TestMedCorba5.py src/MedClient/test/test1/resources/Compo1PyCatalog.xml src/MedClient/test/test2/Compo2.cxx src/MedClient/test/test2/Compo2.hxx src/MedClient/test/test2/Makefile.in src/MedClient/test/test2/TestMedCorba6.py src/MedClient/test/test2/TestMedCorba7.py src/MedClient/test/test2/TestMedCorba8.py src/MedClient/test/test2/libCompo2.i src/MedCorba_Swig/Makefile.in src/MedCorba_Swig/batchmode_medcorba_test.py src/MedCorba_Swig/libMedCorba_Swig.i src/MedCorba_Swig/medcorba_test.py --- doc/MEDMEM/FIELDcreate.cxx | 66 - doc/MEDMEM/FIELDcreate.py | 56 - doc/MEDMEM/FIELDgeneral.cxx | 61 - doc/MEDMEM/FIELDgeneral.py | 43 - doc/MEDMEM/HOWTO Create A New Driver.txt | 40 - ...MEM_InvokingDriverAtObjectCreationTime.cxx | 31 - ...DMEM_InvokingDriverAtObjectCreationTime.py | 31 - ..._InvokingDriverByAttachingItToAnObject.cxx | 81 -- ...M_InvokingDriverByAttachingItToAnObject.py | 63 - ...InvokingDriverFromStandardObjectMethod.cxx | 45 - ..._InvokingDriverFromStandardObjectMethod.py | 35 - .../MEDMEM_MedAddingAnExistingObject.cxx | 37 - doc/MEDMEM/MEDMEM_UML.dia | Bin 1846 -> 0 bytes doc/MEDMEM/MEDMEM_UsersGuide.lyx | 1248 ----------------- doc/MEDMEM/MEDMEM_UsersGuide.tex.in | 773 ---------- doc/MEDMEM/MESHINGexample.cxx | 255 ---- doc/MEDMEM/MESHconnectivities.cxx | 132 -- doc/MEDMEM/MESHconnectivities.py | 122 -- doc/MEDMEM/MESHcoordinates.cxx | 41 - doc/MEDMEM/MESHcoordinates.py | 31 - doc/MEDMEM/MESHgeneral.cxx | 30 - doc/MEDMEM/MESHgeneral.py | 18 - doc/MEDMEM/Makefile.in | 147 -- doc/MEDMEM/TODO Drivers.txt | 4 - doc/Makefile.in | 33 - doc/html/INPUT/HTML/MED.html | 422 ------ doc/html/INPUT/HTML/MED_Gen.html | 26 - doc/html/INPUT/doxyfile | 201 --- doc/html/INPUT/sources/Application-About.png | Bin 19226 -> 0 bytes doc/html/INPUT/sources/Application-About1.jpg | Bin 14327 -> 0 bytes doc/html/INPUT/sources/application.gif | Bin 2602 -> 0 bytes doc/html/INPUT/sources/application.jpg | Bin 792 -> 0 bytes doc/html/INPUT/sources/bg_salome.gif | Bin 17294 -> 0 bytes doc/html/INPUT/sources/bg_salomepro.gif | Bin 17294 -> 0 bytes doc/html/INPUT/sources/doxygen.css | 49 - doc/html/INPUT/sources/logocorp.gif | Bin 1792 -> 0 bytes doc/html/INPUT/sources/myheader.html | 24 - doc/html/INPUT/sources/occ.gif | Bin 14790 -> 0 bytes doc/html/INPUT/sources/static/doxygen.css | 49 - doc/html/INPUT/sources/static/page2.html | 44 - doc/html/INPUT/sources/static/tree.js | 23 - doc/html/INPUT/sources/static/treeview.js | 505 ------- doc/html/Makefile.in | 39 - resources/pointe.med | Bin 75776 -> 0 bytes src/MedClient/test/resources/pointe.med | Bin 80011 -> 0 bytes 45 files changed, 4805 deletions(-) delete mode 100644 doc/MEDMEM/FIELDcreate.cxx delete mode 100644 doc/MEDMEM/FIELDcreate.py delete mode 100644 doc/MEDMEM/FIELDgeneral.cxx delete mode 100644 doc/MEDMEM/FIELDgeneral.py delete mode 100644 doc/MEDMEM/HOWTO Create A New Driver.txt delete mode 100644 doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.cxx delete mode 100644 doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.py delete mode 100644 doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.cxx delete mode 100644 doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.py delete mode 100644 doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.cxx delete mode 100644 doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.py delete mode 100644 doc/MEDMEM/MEDMEM_MedAddingAnExistingObject.cxx delete mode 100644 doc/MEDMEM/MEDMEM_UML.dia delete mode 100644 doc/MEDMEM/MEDMEM_UsersGuide.lyx delete mode 100644 doc/MEDMEM/MEDMEM_UsersGuide.tex.in delete mode 100644 doc/MEDMEM/MESHINGexample.cxx delete mode 100644 doc/MEDMEM/MESHconnectivities.cxx delete mode 100644 doc/MEDMEM/MESHconnectivities.py delete mode 100644 doc/MEDMEM/MESHcoordinates.cxx delete mode 100644 doc/MEDMEM/MESHcoordinates.py delete mode 100644 doc/MEDMEM/MESHgeneral.cxx delete mode 100644 doc/MEDMEM/MESHgeneral.py delete mode 100644 doc/MEDMEM/Makefile.in delete mode 100644 doc/MEDMEM/TODO Drivers.txt delete mode 100644 doc/Makefile.in delete mode 100644 doc/html/INPUT/HTML/MED.html delete mode 100644 doc/html/INPUT/HTML/MED_Gen.html delete mode 100755 doc/html/INPUT/doxyfile delete mode 100755 doc/html/INPUT/sources/Application-About.png delete mode 100755 doc/html/INPUT/sources/Application-About1.jpg delete mode 100644 doc/html/INPUT/sources/application.gif delete mode 100755 doc/html/INPUT/sources/application.jpg delete mode 100755 doc/html/INPUT/sources/bg_salome.gif delete mode 100755 doc/html/INPUT/sources/bg_salomepro.gif delete mode 100755 doc/html/INPUT/sources/doxygen.css delete mode 100755 doc/html/INPUT/sources/logocorp.gif delete mode 100755 doc/html/INPUT/sources/myheader.html delete mode 100755 doc/html/INPUT/sources/occ.gif delete mode 100755 doc/html/INPUT/sources/static/doxygen.css delete mode 100755 doc/html/INPUT/sources/static/page2.html delete mode 100755 doc/html/INPUT/sources/static/tree.js delete mode 100644 doc/html/INPUT/sources/static/treeview.js delete mode 100644 doc/html/Makefile.in delete mode 100644 resources/pointe.med delete mode 100644 src/MedClient/test/resources/pointe.med diff --git a/doc/MEDMEM/FIELDcreate.cxx b/doc/MEDMEM/FIELDcreate.cxx deleted file mode 100644 index e94b17b78..000000000 --- a/doc/MEDMEM/FIELDcreate.cxx +++ /dev/null @@ -1,66 +0,0 @@ -using namespace std; -#include "MEDMEM_Mesh.hxx" -#include "MEDMEM_Field.hxx" - -using namespace MEDMEM; - -int main (int argc, char ** argv) { - - const string MedFile = "pointe.med" ; - const string MeshName = "maa1" ; - - /* read MESH */ - MESH * myMesh = new MESH(MED_DRIVER,MedFile,MeshName) ; - // myMesh->read() ; - - // we need a support : - SUPPORT * mySupport = new SUPPORT(myMesh,"Support on all CELLs",MED_CELL); - - /* create FIELD on mySupport, with 3 components */ - int NumberOfCompoennts = 3 ; - FIELD myField(mySupport,NumberOfCompoennts) ; - const string FieldName = "fieldcelldouble" ; - myField.setName(FieldName) ; - - // Components information - string * ComponentsNames = new string[NumberOfCompoennts] ; - ComponentsNames[0] = "Vx" ; - ComponentsNames[1] = "Vy" ; - ComponentsNames[2] = "Vz" ; - myField.setComponentsNames(ComponentsNames) ; - - string * ComponentsDescriptions = new string[NumberOfCompoennts] ; - ComponentsDescriptions[0] = "vitesse selon x" ; - ComponentsDescriptions[1] = "vitesse selon y" ; - ComponentsDescriptions[2] = "vitesse selon z" ; - myField.setComponentsDescriptions(ComponentsDescriptions) ; - - string * ComponentsUnits = new string[NumberOfCompoennts] ; - ComponentsUnits[0] = "m.s-1" ; - ComponentsUnits[1] = "m.s-1" ; - ComponentsUnits[2] = "m.s-1" ; - myField.setMEDComponentsUnits(ComponentsUnits) ; - - // Iteration information : - int IterationNumber = 10 ; // set value to MED_NOPDT if undefined (default) - myField.setIterationNumber(IterationNumber) ; - - int OrderNumber = 1 ; // set value to MED_NONOR if undefined (default) - myField.setOrderNumber(OrderNumber) ; - - double Time = 3.435678 ; // in second - myField.setTime(Time) ; - - // Value : - int NumberOfValue = mySupport->getNumberOfElements(MED_ALL_ELEMENTS); - for(int i=1; i<=NumberOfValue; i++) // i^th element - for (int j=1; j<=NumberOfCompoennts; j++) { // j^th component - double myValue = (i+j) * 0.1 ; - myField.setValueIJ(i,j,myValue); - } - - // save this new field - int id = myField.addDriver(MED_DRIVER) ; - - return 0 ; -} diff --git a/doc/MEDMEM/FIELDcreate.py b/doc/MEDMEM/FIELDcreate.py deleted file mode 100644 index 478d6dc56..000000000 --- a/doc/MEDMEM/FIELDcreate.py +++ /dev/null @@ -1,56 +0,0 @@ -###################################################################### -# # -# This Python script should be executed when the shared library is # -# generated using SWIG 1.3 (or higher) due to the fact that older # -# version could not handle the wrapping of several class constructor # -# # -###################################################################### -from libMEDMEM_Swig import * - -MedFile = "pointe.med" -meshName = "maa1" - -myMesh = MESH(MED_DRIVER,MedFile,meshName) - -mySupport = SUPPORT(myMesh,"Support on all CELLs",MED_CELL) - -numberOfComponents = 3 -myField = FIELDDOUBLE(mySupport,numberOfComponents) -fieldName = "fieldcelldouble" -myField.setName(fieldName) - -for i in range(numberOfComponents): - if (i == 0): - name = "Vx" - desc = "vitesse selon x" - elif (i == 1): - name = "Vy" - desc = "vitesse selon y" - else: - name = "Vz" - desc = "vitesse selon z" - unit = "m. s-1" - ip1 = i+1 - myField.setComponentName(ip1,name) - myField.setComponentDescription(ip1,desc) - myField.setMEDComponentUnit(ip1,unit) - -iterationNumber = 10 -myField.setIterationNumber(iterationNumber) - -orderNumber = 1 -myField.setOrderNumber(orderNumber) - -time = 3.435678 -myField.setTime(time) - -numberOfValue = mySupport.getNumberOfElements(MED_ALL_ELEMENTS) - -for i in range(numberOfValue): - ip1 = i+1 - for j in range(numberOfComponents): - jp1 = j+1 - value = (ip1+jp1)*0.1 - myField.setValueIJ(ip1,jp1,value) - -id = myField.addDriver(MED_DRIVER) diff --git a/doc/MEDMEM/FIELDgeneral.cxx b/doc/MEDMEM/FIELDgeneral.cxx deleted file mode 100644 index 120cef911..000000000 --- a/doc/MEDMEM/FIELDgeneral.cxx +++ /dev/null @@ -1,61 +0,0 @@ -using namespace std; -#include "MEDMEM_Mesh.hxx" -#include "MEDMEM_Field.hxx" - -using namespace MEDMEM; - -int main (int argc, char ** argv) { - - const string MedFile = "pointe.med" ; - const string MeshName = "maa1" ; - const string FieldName = "fieldcelldoublevector" ; - - /* read MESH */ - MESH * myMesh = new MESH(MED_DRIVER,MedFile,MeshName) ; - // myMesh->read() ; - - /* read FIELD */ - // we need a support : - SUPPORT * mySupport = new SUPPORT(myMesh,"Support on all Cells",MED_CELL); - FIELD myField(mySupport,MED_DRIVER,MedFile,FieldName) ; - // myField.read() ; - - /* what in Field ? */ - // How many components - int NumberOfCompoennts = myField.getNumberOfComponents() ; - - const string * ComponentsNames = myField.getComponentsNames(); - const string * ComponentsDescriptions = myField.getComponentsDescriptions(); - const string * ComponentsUnits = myField.getMEDComponentsUnits(); - - for(int i=0;igetNumberOfElements(MED_ALL_ELEMENTS); - // Value - const double * Value = myField.getValue(MED_FULL_INTERLACE); - for(int i=0; i inst_med ; - -Within MEDMEM_Object.cxx - // Add a similar line for your personnal driver (step 3) - static INSTANCE_DE inst_med ; - - // Add your own driver in the driver list (step 4) - // Note the list must be coherent with the driver type list defined in MEDMEM_DRIVER.hxx. - const OBJECT::INSTANCE * const OBJECT::instances[] = { &OBJECT::inst_med } ; - -Within MEDMEM_TypeObjectDriver.hxx (ypu can use MEDMEM_TypeObjectDriver.hxx as a pattern for your driver !) - - // Faux : you have to create at least create a TYPE_OBJECT_RDWR_DRIVER even if it only throw an exception - // Faux : because RDONLY or WRONLY doesn't exists. - - Whatever is your driver : RDONLY,WRONLY,RDWR, you must inplement the write & read methods ( even if it only throw an exception) - -TODO : - -Gerer l'appartenance d'un driver type 3 Within l'objet - -Within les méthodes addDriver : - driver = instances[driverType]->run(fileName, this) ; --> Il faut vérifier que le numéro auquel on accède existe ! diff --git a/doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.cxx b/doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.cxx deleted file mode 100644 index fca94088d..000000000 --- a/doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.cxx +++ /dev/null @@ -1,31 +0,0 @@ -#include "MEDMEM_Exception.hxx" -#include "MEDMEM_define.hxx" - -#include "MEDMEM_Field.hxx" -#include "MEDMEM_Mesh.hxx" -#include "MEDMEM_Med.hxx" - -main () { - - const char * fileName = "pointe.med"; - const char * fieldName = "fieldcelldouble"; - const char * meshName = "maa1"; - - try { - - // Test creation of drivers at object Creation time - - //This test failed due to inadequate Support implementation - // FIELD myField (MED_DRIVER,fileName,fieldName); - MESH myMesh (MED_DRIVER,fileName,meshName); - MED myMed (MED_DRIVER,fileName); - - // Test removal of drivers - //myField.rmDriver(); - myMesh.rmDriver (); - myMed.rmDriver (); - - } catch (MEDEXCEPTION& ex){ - MESSAGE(ex.what()) ; - } -} diff --git a/doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.py b/doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.py deleted file mode 100644 index c13612fb8..000000000 --- a/doc/MEDMEM/MEDMEM_InvokingDriverAtObjectCreationTime.py +++ /dev/null @@ -1,31 +0,0 @@ -###################################################################### -# # -# This Python script should be executed when the shared library is # -# generated using SWIG 1.3 (or higher) due to the fact that older # -# version could not handle the wrapping of several class constructor # -# # -###################################################################### -from libMEDMEM_Swig import * - -medFile = "pointe.med" -fieldName = "fieldcelldouble" -meshName = "maa1" - -try: - print "Creation of MESH object" - myMesh = MESH(MED_DRIVER,medFile,meshName) - - print "Creation of MED object" - myMed = MED(MED_DRIVER,medFile) - - print "Test the driver removal dor MESH" - myMesh.rmDriver() - - print "Test the driver removal dor MED" - myMed.rmDriver() - - print "End of Python script" - -except: - print "There is a problem somewhere !!" - print "Consult the error standart output of the python execution !!" diff --git a/doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.cxx b/doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.cxx deleted file mode 100644 index b8c110ad2..000000000 --- a/doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.cxx +++ /dev/null @@ -1,81 +0,0 @@ -#include "MEDMEM_Exception.hxx" -#include "MEDMEM_define.hxx" - -#include "MEDMEM_Field.hxx" -#include "MEDMEM_Mesh.hxx" -#include "MEDMEM_Med.hxx" - -main () { - - const char * fileName = "pointe.med"; - const char * fileName2 = "Field&MeshGeneratedPointe.med"; - const char * fileName3 = "MedGeneratedPointe.med"; - const char * fieldName = "fieldcelldouble"; - const char * meshName = "maa1"; - - try { - // Test creation of drivers from the standard driver method of an object - { - FIELD * myField = new FIELD(); - MED_FIELD_RDONLY_DRIVER myRdOnlyDriver(fileName,myField); - myRdOnlyDriver.setFieldName(fieldName); - myRdOnlyDriver.open(); - //This test failed due to inadequate Support implementation - // myRdOnlyDriver.read(); - // try { myRdOnlyDriver.write(); } catch (MEDEXCEPTION& ex) - // { MESSAGE(ex.what()); } - MED_FIELD_WRONLY_DRIVER myWrOnlyDriver(fileName2,myField); - myWrOnlyDriver.open(); - //This test failed due to inadequate Support implementation - // myWrOnlyDriver.write(); - // try myWrOnlyDriver.read(); catch (MEDEXCEPTION& ex) - // { MESSAGE(ex.what()); } - myRdOnlyDriver.close(); - myWrOnlyDriver.close(); - delete myField; - } - - { - MESH * myMesh = new MESH(); - MED_MESH_RDONLY_DRIVER myRdOnlyDriver(fileName,myMesh); - myRdOnlyDriver.setMeshName(meshName); - myRdOnlyDriver.open(); - myRdOnlyDriver.read(); - myRdOnlyDriver.close(); - // try { myRdOnlyDriver.write(); } catch (MEDEXCEPTION& ex) - // { MESSAGE(ex.what()); } - MED_MESH_WRONLY_DRIVER myWrOnlyDriver(fileName2,myMesh); - myWrOnlyDriver.setMeshName(meshName); - myWrOnlyDriver.open(); - myWrOnlyDriver.write(); - // try myWrOnlyDriver.read(); catch (MEDEXCEPTION& ex) - // { MESSAGE(ex.what()); } - // myRdOnlyDriver.close(); - //While we use H5close() in the MESH/FIELD drivers, the next - //line will fail, because all files are previously closed ! - myWrOnlyDriver.close(); - delete myMesh; - } - - { - MED * myMed = new MED(); - MED_MED_RDONLY_DRIVER myRdOnlyDriver(fileName,myMed); - myRdOnlyDriver.open(); - myRdOnlyDriver.readFileStruct(); - myRdOnlyDriver.close(); - myMed->updateSupport(); // DOIT ETRE SUPPRIMEE - // myRdOnlyDriver.read(); - // try { myRdOnlyDriver.write(); } catch (MEDEXCEPTION& ex) - // { MESSAGE(ex.what()); } - //MED_MED_WRONLY_DRIVER myWrOnlyDriver(fileName3,myMed); - //myWrOnlyDriver.open(); - //myWrOnlyDriver.write(); // Not implemented yet. - //myWrOnlyDriver.close(); - delete myMed; - } - - } catch (MEDEXCEPTION& ex){ - cout << "MAIN BLOCK EXCEPTION" << endl; - MESSAGE(ex.what()) ; - } -} diff --git a/doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.py b/doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.py deleted file mode 100644 index beb217667..000000000 --- a/doc/MEDMEM/MEDMEM_InvokingDriverByAttachingItToAnObject.py +++ /dev/null @@ -1,63 +0,0 @@ -###################################################################### -# # -# This Python script should be executed when the shared library is # -# generated using SWIG 1.3 (or higher) due to the fact that older # -# version could not handle the wrapping of several class constructor # -# # -###################################################################### -from libMEDMEM_Swig import * - -medFile = "pointe.med" -medFile2 = "Field&MeshGeneratedPointe.med" -fieldName = "fieldcelldouble" -meshName = "maa1" - -try: - myField = FIELDDOUBLE() - myRdOnlyDriver = MED_FIELDDOUBLE_RDONLY_DRIVER(medFile,myField) - myRdOnlyDriver.setFieldName(fieldName) - myRdOnlyDriver.open() - - myWrOnlyDriver = MED_FIELDDOUBLE_WRONLY_DRIVER(medFile2,myField) - myWrOnlyDriver.open() - - myRdOnlyDriver.close() - myWrOnlyDriver.close() - - print "Invoking field drivers OK" -except : - print "there is a problem in invoking field drivers !!" - print "Please consult the error standart output of the python execution !!" - -try: - myMesh = MESH() - myRdOnlyDriver = MED_MESH_RDONLY_DRIVER(medFile,myMesh) - myRdOnlyDriver.setMeshName(meshName) - myRdOnlyDriver.open() - myRdOnlyDriver.read() - myRdOnlyDriver.close() - - myWrOnlyDriver = MED_MESH_WRONLY_DRIVER(medFile,myMesh) - myWrOnlyDriver.setMeshName(meshName) - myWrOnlyDriver.open() - myWrOnlyDriver.write() - - myWrOnlyDriver.close() - - print "Invoking mesh drivers OK" -except : - print "there is a problem in invoking mesh drivers !!" - print "Please consult the error standart output of the python execution !!" - -try: - myMed = MED() - myRdOnlyDriver = MED_MED_RDONLY_DRIVER(medFile,myMed) - myRdOnlyDriver.open() - myRdOnlyDriver.readFileStruct() - myRdOnlyDriver.close() - myMed.updateSupport() - - print "Invoking Med drivers OK" -except : - print "There is a problem in invoking MED drivers !!" - print "Please consult the error standart output of the python execution !!" diff --git a/doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.cxx b/doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.cxx deleted file mode 100644 index 87ed74393..000000000 --- a/doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.cxx +++ /dev/null @@ -1,45 +0,0 @@ -#include "MEDMEM_Exception.hxx" -#include "MEDMEM_define.hxx" - -#include "MEDMEM_Field.hxx" -#include "MEDMEM_Mesh.hxx" -#include "MEDMEM_Med.hxx" - -main () { - - const char * fileName = "pointe.med"; - const char * fileName2 = "fieldCellDoubleOfpointe.med"; - const char * fieldName = "fieldcelldouble"; - const char * meshName = "maa1"; - - try { - // Test creation of drivers from the standard driver method of an object - FIELD * myField = new FIELD(); - int myDriver1 = myField->addDriver(MED_DRIVER, fileName, fieldName); - //myField->read(); - //This test failed due to inadequate Support implementation - myField->rmDriver(); // TESTER LA VALIDITE DE myDriver2 !!!! - - int myDriver2 = myField->addDriver(MED_DRIVER, fileName2, fieldName); - //myField->write(myDriver2); - //This test failed due to inadequate Support implementation - myField->rmDriver(myDriver2); - - MESH * myMesh = new MESH(); - int myDriver3 = myMesh->addDriver(MED_DRIVER, fileName, meshName); - myMesh->read(); - myMesh->rmDriver(); - - MED * myMed = new MED(); - int myDriver4 = myMed->addDriver(MED_DRIVER, fileName); - myMed->readFileStruct(); - myMed->rmDriver(); - - delete myField; - delete myMesh; - delete myMed; - - } catch (MEDEXCEPTION& ex){ - MESSAGE(ex.what()) ; - } -} diff --git a/doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.py b/doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.py deleted file mode 100644 index 3ddef5fad..000000000 --- a/doc/MEDMEM/MEDMEM_InvokingDriverFromStandardObjectMethod.py +++ /dev/null @@ -1,35 +0,0 @@ -###################################################################### -# # -# This Python script should be executed when the shared library is # -# generated using SWIG 1.3 (or higher) due to the fact that older # -# version could not handle the wrapping of several class constructor # -# # -###################################################################### -from libMEDMEM_Swig import * - -medFile = "pointe.med" -medFile2 = "fieldCellDoubleOfpointe.me" -fieldName = "fieldcelldouble" -meshName = "maa1" - -try: - myField = FIEDLDOUBLE() - - myDriver1 = myField->addDriver(MED_DRIVER,medFile,fieldName) - myField.rmDriver() - - myDriver2 = myField->addDriver(MED_DRIVER,medFile2,fieldName) - myField.rmDriver(myDriver2) - - myMesh = MESH() - myDriver3 = myMesh->addDriver(MED_DRIVER,medFile,meshName) - myMesh.read() - myMesh.rmDriver() - - myMed = MED() - myMed.readFileStruct() - myMed.rmDriver() - -except: - print "There is a problem somewhere !!" - print "Please consult the error standart output of the python execution !!" diff --git a/doc/MEDMEM/MEDMEM_MedAddingAnExistingObject.cxx b/doc/MEDMEM/MEDMEM_MedAddingAnExistingObject.cxx deleted file mode 100644 index b137c94b0..000000000 --- a/doc/MEDMEM/MEDMEM_MedAddingAnExistingObject.cxx +++ /dev/null @@ -1,37 +0,0 @@ -#include "MEDMEM_Exception.hxx" -#include "MEDMEM_define.hxx" - -#include "MEDMEM_Field.hxx" -#include "MEDMEM_Mesh.hxx" -#include "MEDMEM_Med.hxx" - -main () { - - const char * fileName = "pointe.med"; - const char * fileName2 = "Field&MeshGeneratedPointe.med"; - const char * fileName3 = "MedGeneratedPointe.med"; - const char * fieldName1 = "fieldcelldouble"; - const char * fieldName2 = "fieldcelldoublebis"; - const char * meshName1 = "maa1"; - const char * meshName2 = "maa1bis"; - - try { - - // FAIRE LE TEST AVEC LES CHAMPS AUSSI !. - - MESH myMesh(MED_DRIVER,fileName,meshName1); - myMesh.setName(meshName2); - myMesh.rmDriver(); - - MED myMed(MED_DRIVER,fileName); - myMed.read(); - myMed.addMesh(&myMesh); - int myMedDriver = myMed.addDriver(MED_DRIVER,fileName3); - myMed.write(myMedDriver); - - // FAIRE LE TEST AVEC LES CHAMPS AUSSI !. - - } catch (MEDEXCEPTION& ex){ - MESSAGE(ex.what()) ; - } -} diff --git a/doc/MEDMEM/MEDMEM_UML.dia b/doc/MEDMEM/MEDMEM_UML.dia deleted file mode 100644 index 13d59840cd73f06b95f5382e0a8e643b29809aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1846 zcmV-62g&#!iwFP!000001MOW~liD^Ee&1igkhcyiTe2nFS#~pN)25k8CYf9w`m`g! z%epl-Bb#iu5B=?x3@jLAYzsMoM*F}F==gAib-wRhB=7LW-?O;)HDpeV)&sTh_zF1Bf3pnx_oJ(E?w-5=5MUsIMYl1YCl!DYs2oU-0m8ejLH-4%a*YjwHxbbW=s zIh}`WTh(lyW)UCGALo0+lIz9m);O2QxIi+!dG^wMHndi6HrMYOBvqQvD4Rw}SuYD| zyqqKgK3dPPxzbS=O5-k+vM!WH+3h@KIipctRy<16IHbu^_Z^M1u)XqZOk;kZt1O1? zHQq&eo*rrF(0W?VQg;|yJN`C|>0`)N7W};NwBFY!i$<|nnQXCM?!$ESXE@GRj`HQ* z+umjGmzZW*e*+43zZXre`|s_IhwV<3YvDI0+xD?}8YTJamvaa1W|p!!%Jhv!+v*s% zk|xtQT&Z+GfCu8`3VMJ9J{k~!aJz2_<8XF6PFYe$hodYnbUs9r{Jw1cdKEcik{T zI`~R$Ox5@5e^{K4UM*d#^Ut~5r)PgwR_@tXki-PS9;L#zc zijJ>8zW?&UfTICN1CCN~d>wMEpmFq1VXy=xv3jcx*w{q{jOlOLAzP?Mz~OKSMG1xn zm~9IgDa-F~3ya&$p+W{%N$`;L;9%=uTiBhlC`?M25+;k8tiQbZ+^+Z>>cCp-n}F*$ zO%lEsgmabB#r3DXdzwr{XPU3yJS`e3z0K%#pOk(A$#rmbom0N9bc^b?e95|4zo=y7xD?@;W7ddzoeFII40sPdW52g555Bjk6fBvCpG(;Bj9g z0DBk>_@~;PO*#j;2<9$VDdX@#VQ>>6&dxUe;k<4VvE{Pu*BRO-Desxqhzz)wfjSSe%a!>;zj+ud3ypH5jgEl1vmR+d`b`qb_T zJokHItKAbVoVLSF-jUo?Rgm(PLqPrYsI8qpE+-`4?`Y$X_G**^JlpqAwH)<|Mf|p# zdX%Y0nR=8$+#V<+q*rW~7CXCj=g0&=v1i;Z!giM@%3hH$yZV!4*&O5|J_uYC1P2mf z1pS6mt*OPt?PnRcTjv-RqW@o{ZktG5JyN$TBlT9*CwOFp|0)<>mC~(o>k=-Rr=sz z-`%M=<4%1S9^Iya`kOQm4{+hOE(nT#4eYW<1M508LAAiaF=Bl7%)32}eb(0Nvxl=r zh>kgKteQJh7u}amVyFqYkhMsuwVs;g8bMfoGkNm?Y68i3gHIrzvUq zdXvN&(sEAhpd$o`tU}8xo}f9!mODo`ZS5N`8OMN!nUx|4cn~!da+GFZILvUE;V{Et z-;u+R-tDP1T%>+f1{Y`N^q(gzx7|FkcMgl)azy)XImry<5;g6#hP^rUPNiX{b7iI< z6bMZ(^b|q_Ep)VVS^_E70lV5+2k{XtH-B*H0BAcH>F>FDxKNI{@++Q<_yh)nOL3B^ z^|v+HYo|Vy`b~E>gu&@PiqJen#_YH=JMNT1fAw=|;#`P$uByx9S>4EqgzihRSD`>o z4?sUa15xs6|7G>96!}bKLU7lD9U%uali?f?2$(i!X3UuxlLMHF;de|2j%E<$!%Rn=s z@wa>|08~DKxqNz;4@i6NsDHq4k?FYW8j)Qz-cbi6C7*;$2Dk@#2LjSa<`M#1p{{1Q k$s{=@$uaRlM@i1mD*o-!&BfFIL%O;64|Jd9hTUuc0L?p?&j0`b diff --git a/doc/MEDMEM/MEDMEM_UsersGuide.lyx b/doc/MEDMEM/MEDMEM_UsersGuide.lyx deleted file mode 100644 index e0008ba8c..000000000 --- a/doc/MEDMEM/MEDMEM_UsersGuide.lyx +++ /dev/null @@ -1,1248 +0,0 @@ -#LyX 1.1 created this file. For more info see http://www.lyx.org/ -\lyxformat 218 -\textclass report -\begin_preamble -% Packages -%%\usepackage[french]{babel} -%\usepackage[T1]{fontenc} -%\usepackage{epsf} -%\usepackage[dvips]{graphicx} -%\usepackage{fancyhdr} -%\usepackage{pslatex} - -\usepackage[dvips,all,light]{draftcopy} - -\usepackage{verbatim} - -% ____________________________________________________________________________ -% | | -% | MISE EN PAGE | -% |____________________________________________________________________________| - -\draftcopyName{Projet}{200} - -\setlength{\oddsidemargin}{0cm} -\setlength{\marginparsep}{0cm} -\setlength{\marginparwidth}{0cm} - -\setlength{\textwidth}{15cm} - -\setlength{\topmargin}{0cm} -\setlength{\headheight}{0cm} -\setlength{\headsep}{0cm} - -\setlength{\textheight}{23cm} - -% ____________________________________________________________________________ -% | | -% | COMMANDES UTILISATEUR | -% |____________________________________________________________________________| - -\newcommand{\method}[1]{method \mbox{\textbf{#1}}} - -\newcommand{\myref}[1]{\ref{#1}, page \pageref{#1}} - -\newcommand{\fileCxx}[1]{ - \subsection{Full C++ example~: } - \label{#1} - \verbatiminput{#1} -} - -\newcommand{\filePython}[1]{ - \subsection{Full Python example~: } - \label{#1} - \verbatiminput{#1} -} - -% ____________________________________________________________________________ -% | | -% | LE DOCUMENT | -% |____________________________________________________________________________| -% -\title{User's Guide Of Med Memory} -\author{Patrick GOLDBRONN \and Eric Fayolle \and Nadir Bouhamou} - -% ____________________________________________________________________________ -% | | -% | DEBUT DU DOCUMENT | -% |____________________________________________________________________________| -% -\end_preamble -\language english -\inputencoding auto -\fontscheme default -\graphics default -\paperfontsize 11 -\spacing single -\papersize a4paper -\paperpackage a4 -\use_geometry 0 -\use_amsmath 0 -\paperorientation portrait -\secnumdepth 3 -\tocdepth 3 -\paragraph_separation skip -\defskip medskip -\quotes_language english -\quotes_times 2 -\papercolumns 1 -\papersides 1 -\paperpagestyle default - -\layout Standard - - -\latex latex - -\backslash -sloppy -\layout Standard - - -\latex latex - -\backslash -cleardoublepage -\newline - -\latex default - -\begin_inset LatexCommand \tableofcontents{} - -\end_inset - - -\layout Chapter - -Convention -\layout Itemize - -All numbering begin at one (take care of array index !) ; -\layout Itemize - -When you get a C type array with a -\family typewriter -get... - -\family default - method, you must not replace some value of it. - Access is in read only. - Other use may product an impredicable result. - To modify a such array use method -\family typewriter -set... -\family default -. - -\layout Itemize - -Difference between local and global number\SpecialChar ~ -: when we talk about an element - number, we could see -\begin_inset Formula \( i^{th} \) -\end_inset - - quadrangle ( -\begin_inset Formula \( i^{th} \) -\end_inset - - in quadrangles array\SpecialChar ~ -: local numbering) or -\begin_inset Formula \( j^{th} \) -\end_inset - - element ( -\begin_inset Formula \( j^{th} \) -\end_inset - - in all elements array\SpecialChar ~ -: global numbering). - This two numbering are equivalent only if we have one geometric type. -\layout Chapter - -How to use MESH object -\layout Section - -General Information -\layout Standard - -We could get some general information about a MESH object such as\SpecialChar ~ -: -\layout Itemize - -name ( -\latex latex - -\backslash -method{getName} -\latex default -) -\layout Itemize - -a description ( -\latex latex - -\backslash -method{getDescription} -\latex default -) -\layout Itemize - -the space dimension ( -\latex latex - -\backslash -method{getSpaceDimension} -\latex default -) -\layout Itemize - -the mesh dimension ( -\latex latex - -\backslash -method{getMeshDimension} -\latex default -) -\layout Standard - - -\latex latex - -\backslash -fileCxx{MESHgeneral.cxx} - -\backslash -filePython{MESHgeneral.py} -\layout Section - -Information about nodes -\layout Enumerate - -I want to get the number of nodes\SpecialChar ~ -: Realy simple, use -\latex latex - -\backslash -method{getNumberOfNodes} -\latex default -. - -\layout Enumerate - -I want to get the coordinates components names\SpecialChar ~ -: use -\latex latex - -\backslash -method{getCoordinatesNames} -\latex default - which return a string array (one string for each space dimension) -\layout Enumerate - -I want to get the coordinates components units\SpecialChar ~ -: use -\latex latex - -\backslash -method{getCoordinatesUnits} -\latex default - which return a string array (one string for each space dimension) -\layout Enumerate - -I want to get the coordinates system\SpecialChar ~ -: use -\latex latex - -\backslash -method{getCoordinatesSystem} -\latex default - which return a string ( -\latex latex - -\backslash -verb+CARTESIAN+ -\latex default -, -\latex latex - -\backslash -verb+CYLINDRICAL+ -\latex default - or -\latex latex - -\backslash -verb+SPHERICAL+ -\latex default -). - -\layout Enumerate - -I want to get the nodes coordinates\SpecialChar ~ -: use -\latex latex - -\backslash -method{getCoordinates} -\latex default - which return a pointer to the coordinates array where values are interlace - or no. - -\series bold -Warning\SpecialChar ~ -: -\begin_deeper -\layout Itemize - -When we get coordinates in -\latex latex - -\backslash -verb+MED_NO_INTERLACE+ -\latex default - mode, we get an array where values are ordered like ( -\latex latex - -\backslash -verb+X1,X2,X..., Y1,Y..., Z1,Z...+ -\latex default -). - -\layout Itemize - -When we get coordinates in -\latex latex - -\backslash -verb+MED_FULL_INTERLACE+ -\latex default - mode, we get an array where values are ordered like ( -\latex latex - -\backslash -verb+X1,Y1,Z1, X2,Y2,Z2, ...+ -\latex default -). - -\end_deeper -\layout Enumerate - -I want to get one particular value of coordinate\SpecialChar ~ -: use -\latex latex - -\backslash -method{getCoordinate} -\latex default - which return the value of -\begin_inset Formula \( i^{th} \) -\end_inset - - node and -\begin_inset Formula \( j^{th} \) -\end_inset - - axis. -\layout Standard - - -\latex latex - -\backslash -fileCxx{MESHcoordinates.cxx} - -\backslash -filePython{MESHcoordinates.py} -\layout Section - -Information about cells -\layout Enumerate - -I want to get the number of geometric type for a mesh entity\SpecialChar ~ -: use -\latex latex - -\backslash -method{getNumberOfTypes} -\begin_deeper -\layout Standard - - -\series bold -C++ Example\SpecialChar ~ -: -\layout Standard - - -\latex latex - -\backslash -verb+int NumberOfCellsTypes = myMesh.getNumberOfTypes(MED_CELL);+ -\end_deeper -\layout Enumerate - -I want to get all geometric type for a mesh entity\SpecialChar ~ -: use -\latex latex - -\backslash -method{getTypes} -\latex default - to get an array of -\latex latex - -\backslash -verb+medGeometryElement+ -\latex default - (to use directly in others methods) or -\latex latex - -\backslash -method{getCellsTypes} -\latex default - to get an array of -\latex latex - -\backslash -verb+CELLMODEL+ -\latex default - (to ask mode information\SpecialChar ~ -: see CellModel) . -\begin_deeper -\layout Standard - - -\series bold -C++ Example\SpecialChar ~ -: -\layout Standard - - -\latex latex - -\backslash -verb+medGeometryElement * Types = myMesh.getTypes(MED_CELL);+ -\layout Standard - - -\latex latex - -\backslash -verb+CELLMODEL * CellsTypes = myMesh.getCellsTypes(MED_CELL);+ -\layout Standard - -(each arrays are size -\latex latex - -\backslash -verb+NumberOfCellsTypes+ -\latex default -) -\end_deeper -\layout Enumerate - -I want to get the number of cells\SpecialChar ~ -: use -\latex latex - -\backslash -method{getNumberOfElements} -\latex default - which return this information. - You must give the mesh entity ( -\latex latex - -\backslash -verb+MED_CELL+ -\latex default -, -\latex latex - -\backslash -verb+MED_FACE+ -\latex default -, -\latex latex - -\backslash -verb+MED_EDGE+ -\latex default - or -\latex latex - -\backslash -verb+MED_NODE+ -\latex default -) and a geometric type of this entity. -\begin_deeper -\layout Standard - - -\series bold -C++ Example\SpecialChar ~ -: -\layout Standard - - -\latex latex - -\backslash -verb+int NumberOfTriangle = myMesh.getNumberOfElements(MED_FACE,MED_TRIA3);+ -\layout Standard - - -\latex latex - -\backslash -verb+int NumberOfFace = myMesh.getNumberOfElements(MED_FACE,MED_ALL_ELEMENT);+ -\end_deeper -\layout Enumerate - -I want to get the geometric type of one element\SpecialChar ~ -: use -\latex latex - -\backslash -method{getElementType} -\latex default - which return a -\latex latex - -\backslash -verb+medGeometryElement+ -\latex default -. -\begin_deeper -\layout Standard - - -\series bold -C++ Example\SpecialChar ~ -: -\layout Standard - - -\latex latex - -\backslash -verb+medGeometryElement myType = myMesh.getElementType(MED_FACE,10);+ -\layout Standard - -Return the -\latex latex - -\backslash -verb+medGeometryElement+ -\latex default - of -\begin_inset Formula \( 10^{th} \) -\end_inset - - face. -\end_deeper -\layout Enumerate - -I want to get a connectivity\SpecialChar ~ -: use -\latex latex - -\backslash -method{getConnectivity} -\latex default - which return an array with connectivity values. -\begin_deeper -\layout Standard - - -\begin_inset LatexCommand \label{getConnectivity} - -\end_inset - - -\layout Standard - - -\series bold -C++ Example\SpecialChar ~ -: -\layout Standard - - -\latex latex - -\backslash -begin{verbatim} -\newline -int NumberOfTetrahedron = myMesh.getNumberOfElements(MED_CELL,MED_TETRA4); -\newline -int * TetrahedronConnectivity = -\newline - myMesh.getConnectivity(MED_FULL_ENTERLACE, -\newline - MED_NODAL, -\newline - MED_CELL, -\newline - MED_TETRA4); -\newline - -\backslash -end{verbatim} -\backslash -verb+TetrahedronConnectivity+ -\latex default - contain nodal connectivity of tetrahedron in mesh. - It is arranged in full enterlace mode and its size is -\latex latex - -\backslash -verb+NumberOfTetrahedron x 4+ -\latex default -. -\layout Standard - -If you want to get connectivity of all elements (with -\latex latex - -\backslash -verb+Type=MED_ALL_ELEMENTS+ -\latex default -), you must use the index array (return by -\latex latex - -\backslash -method{getConnectivityIndex} -\latex default -) to get connectivity for each elements (see example -\latex latex - -\backslash -myref{MESHconnectivities.cxx} -\latex default -). -\end_deeper -\layout Enumerate - -I want to get an element number from a connectivity\SpecialChar ~ -: use -\latex latex - -\backslash -method{getElementNumber} -\latex default - which return the global number of a given connectivity. -\begin_deeper -\layout Standard - - -\series bold -C++ Example\SpecialChar ~ -: -\layout Standard - - -\latex latex - -\backslash -verb+int * myElementConnectivity = {2,10,12,14};+ -\layout Standard - - -\latex latex - -\backslash -verb+int myNumber = myMesh.getElementNumber(MED_NODAL,MED_CELL,myElementConnectiv -ity);+ -\end_deeper -\layout Standard - - -\latex latex - -\backslash -fileCxx{MESHconnectivities.cxx} - -\backslash -filePyhton{MESHconnectivities.py} -\layout Chapter - -How to use SUPPORT object -\layout Section - -Create a SUPPORT object -\layout Standard - - -\begin_inset LatexCommand \label{CreateSupport} - -\end_inset - - -\layout Standard - -To create a SUPPORT object, you must give : -\layout Itemize - -a reference to a MESH object -\layout Itemize - -its name -\layout Itemize - -on which mesh entity it apply to -\layout Standard - - -\series bold -C++ example\SpecialChar ~ -: -\layout Standard - - -\latex latex - -\backslash -verb+SUPPORT mySupport(myMesh,''support sur toute les faces'',MED_FACE) - ;+ -\latex default - By default, this support is defined on all element of the given entity. -\layout Standard - -If you want a restricted SUPPORT, you must add manualy information about - what do you want\SpecialChar ~ -: -\layout Itemize - -is not on all elements\SpecialChar ~ -: -\latex latex - -\backslash -verb+mySupport.setAll(false);+ -\layout Itemize - -on how many geometric type\SpecialChar ~ -: -\newline - -\latex latex - -\backslash -verb+mySupport.setNumberOfGeometricType(myNumberOfGeometricType);+ -\layout Itemize - -on which geometric type\SpecialChar ~ -: -\newline - -\latex latex - -\backslash -verb+mySupport.setGeometricType(myGeometricType);+ -\layout Itemize - -Temporary : the Gauss point number for each geometric type\SpecialChar ~ -: -\newline - -\latex latex - -\backslash -verb+mySupport.setNumberOfGaussPoint(myNumberOfGaussPoint);+ -\layout Itemize - -the number of elements for each geometric type\SpecialChar ~ -: -\newline - -\latex latex - -\backslash -verb+mySupport.setNumberOfEntities(myNumberOfEntities);+ -\layout Itemize - -the total number of elements\SpecialChar ~ -: -\newline - -\latex latex - -\backslash -verb+mySupport.setTotalNumberOfEntities(myTotalNumberOfEntities);+ -\layout Itemize - -the array which contains elements for each geometric type\SpecialChar ~ -: -\newline - -\latex latex - -\backslash -verb+mySupport.setNumber(myNumber);+ -\layout Standard - -You could also use -\latex latex - -\backslash -method{setpartial} -\latex default - which set all you need. -\layout Section - -Use a SUPPORT object -\layout Standard - -You could get all basic information (as you set them in -\latex latex - -\backslash -myref{CreateSupport} -\latex default -)\SpecialChar ~ -: -\layout Itemize - - -\latex latex - -\backslash -verb+getName()+ -\layout Itemize - - -\latex latex - -\backslash -verb+getDescription()+ -\layout Itemize - - -\latex latex - -\backslash -verb+getMesh()+ -\layout Itemize - - -\latex latex - -\backslash -verb+getEntity()+ -\layout Itemize - - -\latex latex - -\backslash -verb+isOnAllElements()+ -\layout Itemize - - -\latex latex - -\backslash -verb+getNumberOfTypes()+ -\layout Itemize - - -\latex latex - -\backslash -verb+getTypes()+ -\layout Itemize - - -\latex latex - -\backslash -verb+getNumberOfGaussPoint()+ -\layout Itemize - - -\latex latex - -\backslash -verb+getNumberOfGaussPoint(myGeometricType)+ -\layout Itemize - - -\latex latex - -\backslash -verb+getGeometricTypeNumber()+ -\layout Itemize - - -\latex latex - -\backslash -verb+getNumberOfElements(myGeometricType)+ -\layout Itemize - - -\latex latex - -\backslash -verb+getNumber(myGeometricType)+ -\layout Itemize - - -\latex latex - -\backslash -verb+getNumberIndex()+ -\layout Standard - -For details about this methods, see the reference manual -\begin_inset LatexCommand \ref{RefManual} - -\end_inset - -. -\layout Standard - -The use of -\latex latex - -\backslash -method{getNumber} -\latex default - and -\latex latex - -\backslash -method{getNumberIndex} -\latex default - are the same as -\latex latex - -\backslash -method{getConnectivity} -\latex default - and -\latex latex - -\backslash -method{getConnectivityIndex} -\latex default - (see item -\latex latex - -\backslash -myref{getConnectivity} -\layout Standard - -There is another particular method to blend another SUPPORT object into - it. -\layout Standard - -For exemple in C++ : -\latex latex - -\backslash -begin{verbatim} -\newline -SUPPORT mySupport ; -\newline -SUPPORT myOtherSupport ; -\newline -... -\newline -mySupport.blending(myOtherSupport) ; -\newline - -\backslash -end{verbatim} -\layout Standard - - -\latex latex - -\backslash -verb+mySupport+ -\latex default - contain now all elements defined originally in it, more those defined in - -\latex latex - -\backslash -verb+myOtherSupport+ -\latex default -. -\layout Section - -Case of FAMILY object -\layout Section - -Case of GROUP object -\layout Chapter - -How to use Field -\layout Standard - - -\latex latex - -\backslash -newpage -\newline -% -\backslash -thebibliography{biblio} -\layout Standard -\bibitem {RefManual} - -Reference Manual\SpecialChar ~ -: -\latex latex -http://www-drn2.cea.fr/MED/MEDMEM/DOC/html/index.html -\layout Chapter - -Using drivers -\layout Standard - -The generic driver mecanism gives users the possibility to write/read the - content of an object according to a specified file format. - The semantic remains the same whatever the object is (MESH, FIELD, MED). - By the way it allows using several file formats for writting an object. -\layout Section - -Invoking a driver -\layout Subsection - -Invoking a driver at creation object time -\layout Standard - -This is the simplest way of invoking a driver. - The driver parameters are given to the constructor of the object. - Except for the MED object, this way of invoking a driver assume you know - exactly the name of the MESH/FIELD you want read from a file - of type . -\layout Standard - -ex 1.1 : For a FIELD object, invoking FIELD myField(MED_DRIVER,fileName,f -ieldName) create a FIELD object and a driver which loads the mesh - from the MED file (Not implemented yet !). -\layout Standard - -ex 1.2 : To remove the default driver previously created myField->rmDriver(); -\layout Standard - -ex 2 : For a MESH object, invoking MESH myMesh(MED_DRIVER,fileName,meshName) - create a MESH object and a driver which loads the mesh from - the MED file . -\layout Standard - -ex 3 : For a MED object, invoking MED myMed(MED_DRIVER,fileName) create - a MED object to explore the MED file . -\layout Standard - -rem 1 : ex1 is equivalent to -\begin_inset LatexCommand \ref{sec:invoking_a_driver_from_the_std_drv_method} - -\end_inset - - ex1. -\layout Standard - -rem 2 : Since the driver has read the object, the associated file is closed. - You can reread the object with the default driver by calling the read() - method : myObject.read(). -\layout Standard - - -\latex latex - -\backslash -fileCxx{MEDMEM_InvokingDriverAtObjectCreationTime.cxx} -\layout Subsection - -Invoking a driver from the standard driver method of an object -\begin_inset LatexCommand \label{sec:invoking_a_driver_from_the_std_drv_method} - -\end_inset - - -\layout Standard - -This way of invoking a driver give the possiblility to add several drivers - to an exiting object. -\layout Standard - -ex1 : First we create a FIELD without any driver FIELD\SpecialChar ~ -*\SpecialChar ~ -myField1\SpecialChar ~ -=\SpecialChar ~ -new\SpecialChar ~ -FIELD -; then we add a driver with int myDriver1 = myField1->addDriver(driverTy -pe1, fileName1, fieldName1); for reading from file - with myField1->read(myDriver1); -\layout Standard - -ex2 : We add a new driver of type int myDriver2 = myField1->addDri -ver(driverType2, fileName2,fieldName2); in order to write myField1 in file - with name using command myField1->write(myDriver2); -\layout Standard - -rem 1 : Files are openned then closed each time you call read() or write() - methods. -\layout Standard - -rem 2 : If you use more than a driver you need to keep the driver handlers - (myDriverI ). -\layout Standard - - -\latex latex - -\backslash -fileCxx{MEDMEM_InvokingDriverFromStandardObjectMethod.cxx} -\layout Subsection - -Invoking a driver and attaching it to an existing object -\layout Standard - -The methods exposed in the two previous sections always create drivers in - read/write access mode. - Another way of creating a driver is to create a driver with a specific - access mode. -\layout Standard - -ex1 : First we create a FIELD without any driver FIELD\SpecialChar ~ -*\SpecialChar ~ -myField1\SpecialChar ~ -=\SpecialChar ~ -new - FIELD(); then we create a read-only driver MED_FIELD_RDONLY_DRIVER\SpecialChar ~ -myRdOnlyDriver(fileName1,myField1); and attached it to myField1. - Finally you must set the fieldName1 you want to acess in fileName1 with - myRdOnlyDriver->setFieldName(fieldName1); in order to read the field with - myRdOnlyDriver->open(); myRdOnlyDriver->read(); -\layout Standard - -Don't forget to close the file with myRdOnlyDriver->close(). -\layout Standard - -ToDo : By now when you create such specific drivers, the object doesn't - know anything about it. - -\layout Standard - - -\latex latex - -\backslash -fileCxx{MEDMEM_InvokingDriverByAttachingItToAnObject.cxx} -\layout Section - -Using the MED driver -\layout Standard - -The MED object provides the ability of : -\layout Enumerate -\noindent -Obtainning a reference on the whole structure contained in a file. -\layout Enumerate - -Obtainning the list of all the Meshes/Fields names contained in a file. -\layout Enumerate - -Obtainning a Mesh/Field reference using a name. -\layout Enumerate - -Writting a whole set of independent objects with a simple command. - -\layout Subsection - -Exploring files -\layout Standard - -In this first use case the user wants to explore the meshes & fields containned - within a file of type given by the parameter. -\layout Standard - -ex 1 : Calling MED * myMed = new MED(driverType1, fileName1); create a MED - object which open fileName1, read all MESHes/FIELDs relations then close - the file. - -\layout Standard - -This is equivalent to MED\SpecialChar ~ -*\SpecialChar ~ -myMed\SpecialChar ~ -=\SpecialChar ~ -new\SpecialChar ~ -MED(); myDriver\SpecialChar ~ -=\SpecialChar ~ -myMed->addDriver(driverType1, -fileName1); myMed->readFileStruct(myDriver); -\layout Standard - -ex 2 : To get the list of meshNames from a MED object, first ask the object - how many meshes it had by calling int numberOfMeshes\SpecialChar ~ -=\SpecialChar ~ -myMed->getNumberOfMeshes() -; then get the list with myMeshNames\SpecialChar ~ -=\SpecialChar ~ -new string[getMeshNames]; myMed->getMeshNam -es(myMeshNames). - -\layout Standard - -Note you can also use the deque getMeshNames() method. - -\layout Standard - -ex 3 : To get a list of fieldNames from a MED object, first ask the object - how many fields it had by calling int numberOfFields\SpecialChar ~ -=\SpecialChar ~ -myMed->getNumberOfFields() -; then get the list with myFieldNames\SpecialChar ~ -=\SpecialChar ~ -new string[getFieldNames]; myMed->getField -Names(myFieldNames). -\layout Standard - -ex 4 :To get a particular MESH use MESH * myMesh1 = myMED->getMesh(myMeshNames[0 -]) -\layout Standard - -ex 5 :To get a particular FIELD you first need to know what (time step, - iteration number) list is used by calling deque\SpecialChar ~ -myField1DtIt\SpecialChar ~ -=\SpecialChar ~ -myMed->getF -ieldIteration(FieldName[0]) ; then you can ask for getting a specific FIELD - with FIELD\SpecialChar ~ -*\SpecialChar ~ -myField1\SpecialChar ~ -=\SpecialChar ~ -myMED->getField(myFieldNames[0],myField1DtIt[0].dt,myField1D -tIt[0].it). -\layout Standard - -ex2 : To write the whole content of a MED object first add a driver myDriver2\SpecialChar ~ -=\SpecialChar ~ -my -Med.addDriver(driverType2,\SpecialChar ~ -fileName2); then ask for writing the object myMed->writ -e(myDriver2); (not implemented yet !) -\layout Standard - -You can remove the driver with myMed->rmDriver(myDriver2); -\layout Standard - -rem 1 : It is possible to use multiple drivers to read a set of FIELDs / - MESHes from various file formats and writing the whole set through a specific - write.(not implemented yet !) -\layout Subsubsection - -Adding existing MESHes/FIELDs objects -\layout Standard - -Not yet implemented. -\the_end diff --git a/doc/MEDMEM/MEDMEM_UsersGuide.tex.in b/doc/MEDMEM/MEDMEM_UsersGuide.tex.in deleted file mode 100644 index 65043f532..000000000 --- a/doc/MEDMEM/MEDMEM_UsersGuide.tex.in +++ /dev/null @@ -1,773 +0,0 @@ -%% LyX 1.1 created this file. For more info, see http://www.lyx.org/. -%% Do not edit unless you really know what you are doing. -\documentclass[11pt,a4paper,english]{report} -\usepackage[T1]{fontenc} -\usepackage[latin1]{inputenc} -\usepackage{babel} -\usepackage{graphicx} \setcounter{secnumdepth}{3} -\setcounter{tocdepth}{3} -\setlength\parskip{\medskipamount} -\setlength\parindent{0pt} - -\makeatletter - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. -\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. -% Packages -%%\usepackage[french]{babel} -%\usepackage{epsf} -%\usepackage[dvips]{graphicx} -%\usepackage{fancyhdr} -%\usepackage{pslatex} - -%\usepackage[dvips,all,light]{draftcopy} - -\usepackage{verbatim} - -% ___________________________________________________________________________ -% | | -% | MISE EN PAGE | -% |___________________________________________________________________________| -%\draftcopyName{Projet}{200} - -\setlength{\oddsidemargin}{0cm} -\setlength{\marginparsep}{0cm} -\setlength{\marginparwidth}{0cm} - -\setlength{\textwidth}{16cm} - -\setlength{\topmargin}{0cm} -\setlength{\headheight}{0cm} -\setlength{\headsep}{0cm} - -\setlength{\textheight}{24cm} - -% ___________________________________________________________________________ -% | | -% | COMMANDES UTILISATEUR | -% |___________________________________________________________________________| - -\newcommand{\method}[1]{method \mbox{\textbf{#1}}} - -\newcommand{\myref}[1]{\ref{#1}, page \pageref{#1}} - -\newcommand{\fileCxx}[1]{ - \subsection{Full C++ example~: } - \label{#1} - \verbatiminput{@srcdir@/#1} -} - -\newcommand{\filePython}[1]{ - \subsection{Full Python example~: } - \label{#1} - \verbatiminput{@srcdir@/#1} -} - - -% ___________________________________________________________________________ -% | | -% | LE DOCUMENT | -% |___________________________________________________________________________| -% -\title{User's Guide Of Med Memory} -\author{Patrick Goldbronn \and Eric Fayolle \and Nadir Bouhamou \and Jerome Roy \and Nicolas Crouzet} - -% ___________________________________________________________________________ -% | | -% | DEBUT DU DOCUMENT | -% |___________________________________________________________________________| -% - -\makeatother -\begin{document} -\sloppy - -\maketitle - - -% ___________________________________________________________________________ -% | | -% | TABLE DES MATIERES | -% |___________________________________________________________________________| -% -%\newpage -\cleardoublepage -\tableofcontents -% ___________________________________________________________________________ -% | | -% | DEBUT DU TEXTE | -% |___________________________________________________________________________| - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Introduction} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{Convention} - -\begin{itemize} - -\item Difference between local and global number~: when we talk about an -element number, we could see $i^{th}$ quadrangle ($i^{th}$ in quadrangles -array~: local numbering) or $j^{th}$ element ($j^{th}$ in all elements array~: -global numbering). This two numbering are equivalent only if we have one -geometric type ; - -\item All numbering begin at one (take care of array index !) ; -\item When you get a C type array with a \texttt{get...} method, you must -not replace some value of it. Access is in read only. Other use may -product an impredicable result. To modify a such array use method -\texttt{set...} ; -\item Difference between local and global number~: when we talk about an -element number, we could see \( i^{th} \) quadrangle (\( i^{th} \) -in quadrangles array~: local numbering) or \( j^{th} \) element -(\( j^{th} \) in all elements array~: global numbering). This two -numbering are equivalent only if we have one geometric type. -\item They are many methods that have two syntax (one singular and one -plural). Plurals methods returns array and singulars methods returns one -particular value in this array (see \method{getCoordinate} and -\method{getCoordinates}). - -\end{itemize} - -\section{UML diagram} - -\includegraphics[width=16cm]{MEDMEM_UML.eps} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{How to use MED object} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{General Information} - -A typical use of this object is to mount in memory what is in a MED file (or -any type of driver in red or read/write mode) and it will manage its memory on -its own. Then from this object one can get some information such as~: - -\begin{itemize} -\item the number of meshes stored in this object using the -{\method{getNumberOfMeshes}}. -\item the number of fields stored in this object using the -{\method{getNumberOfFields}}. -\item a list of mesh names using the {\method{getMeshNames}}. -\item a list of field names using the {\method{getFieldNames}}. -\item a list of MESH object using the {\method{getMesh}} -\item a list of FIELD object using the {\method{getField}} -\item a list of SUPPORT object on all type of entities (node, cell, - face in 3d or edge on 2d) using the {\method{getSupport}}. -\end{itemize} - -The destuctor of this object will destruct itself all FIELD, SUPPORT and MESH -objects; via its get method you will have a pointeur on this object and you -should never delete it. - -One can add as well some MESH or FIELD object via the {\method{addMesh}} and -the {\method{addField}} respectively. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{How to use MESH object} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -\section{General Information} - -We could get some general information about a MESH object such as~: - -\begin{itemize} -\item name (\method{getName}) -\item a description (\method{getDescription}) -\item the space dimension (\method{getSpaceDimension}) -\item the mesh dimension (\method{getMeshDimension}) -\end{itemize} -\fileCxx{MESHgeneral.cxx} - -\filePython{MESHgeneral.py} - -\section{Information about nodes} - -\begin{enumerate} -\item I want to get the number of nodes~: Realy simple, use \method{getNumberOfNodes}. -\item I want to get the coordinates components names~: use \method{getCoordinatesNames} -which return a string array (one string for each space dimension) -\item I want to get the coordinates components units~: use \method{getCoordinatesUnits} -which return a string array (one string for each space dimension) -\item I want to get the coordinates system~: use \method{getCoordinatesSystem} -which return a string (\verb+"CARTESIAN"+, \verb+"CYLINDRICAL"+ or \verb+"SPHERICAL"+). -\item I want to get the nodes coordinates~: use \method{getCoordinates} -which return a pointer to the coordinates array where values are interlace -or no. \textbf{Warning~:} - -\begin{itemize} -\item When we get coordinates in \verb+MED_NO_INTERLACE+ mode, we get an -array where values are ordered like (\verb+X1,X2,X..., Y1,Y..., Z1,Z...+). -\item When we get coordinates in \verb+MED_FULL_INTERLACE+ mode, we get -an array where values are ordered like (\verb+X1,Y1,Z1, X2,Y2,Z2, ...+). -\end{itemize} -\item I want to get one particular value of coordinate~: use \method{getCoordinate} -which return the value of \( i^{th} \) node and \( j^{th} \) axis. -\end{enumerate} -\fileCxx{MESHcoordinates.cxx} - -\filePython{MESHcoordinates.py} - -\section{Information about cells} - -\begin{enumerate} -\item I want to get the number of geometric type for a mesh entity~: use -\method{getNumberOfTypes} - - -\textbf{C++ Example~:} - -\verb+int NumberOfCellsTypes = myMesh.getNumberOfTypes(MED_CELL);+ - -%%%%%%%%%%%%%%%%% -\item I want to get all geometric type for a mesh entity~: use -\method{getTypes} to get an array of \verb+medGeometryElement+ -(to use directly in others methods) or \method{getCellsTypes} to get -an array of \verb+CELLMODEL+ (to ask mode information~: see \myref{CellModel}) . - -\textbf{C++ Example~:} - -\verb+const medGeometryElement * Types = myMesh.getTypes(MED_CELL);+ - -\verb+const CELLMODEL * CellsTypes = myMesh.getCellsTypes(MED_CELL);+ - -(each arrays are size \verb+NumberOfCellsTypes+) - -\item I want to get the number of cells~: use \method{getNumberOfElements} -which return this information. You must give the mesh entity (\verb+MED_CELL+, -\verb+MED_FACE+, \verb+MED_EDGE+ or \verb+MED_NODE+) and a geometric -type of this entity. - - -\textbf{C++ Example~:} - -\verb+int NumberOfTriangle = myMesh.getNumberOfElements(MED_FACE,MED_TRIA3);+ - -\verb+int NumberOfFace = myMesh.getNumberOfElements(MED_FACE,MED_ALL_ELEMENT);+ - -\item I want to get the geometric type of one element~: use \method{getElementType} -which return a \verb+medGeometryElement+. - - -\textbf{C++ Example~:} - -\verb+medGeometryElement myType = myMesh.getElementType(MED_FACE,10);+ - -Return the \verb+medGeometryElement+ of \( 10^{th} \) face. - -\item I want to get a connectivity~: use \method{getConnectivity} which -return an array with connectivity values. - - -\label{getConnectivity} - -\textbf{C++ Example~:} - -\begin{verbatim} -int NumberOfTetrahedron = myMesh.getNumberOfElements(MED_CELL,MED_TETRA4); -const int * TetrahedronConnectivity = - myMesh.getConnectivity(MED_FULL_ENTERLACE, - MED_NODAL, - MED_CELL, - MED_TETRA4); -\end{verbatim} -\verb+TetrahedronConnectivity+ contain nodal connectivity -of tetrahedron in mesh. It is arranged in full enterlace mode and -its size is \verb+NumberOfTetrahedron x 4+. - -If you want to get connectivity of all elements (with \verb+Type=MED_ALL_ELEMENTS+), -you must use the index array (return by \method{getConnectivityIndex}) -to get connectivity for each elements (see example \myref{MESHconnectivities.cxx}). - -\item I want to get an element number from a connectivity~: use \method{getElementNumber} -which return the global number of a given connectivity. - - -\textbf{C++ Example~:} -\begin{verbatim} -int * myElementConnectivity = {2,10,12,14}; -int myNumber = myMesh.getElementNumber(MED_NODAL,MED_CELL, - myElementConnectivity); -\end{verbatim} - -\end{enumerate} -\fileCxx{MESHconnectivities.cxx} - -\filePython{MESHconnectivities.py} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{How to use MESHING object} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -This class is a derivated class of MESH class to build a MESH object from -scratch (use of set methods). - -All verifications are under user responsability : If arrays values or arrays -dimensions are wrongs, results are impredicable. - -All arrays in arguments in set methods are duplicated in MESHING object. - -\section{Build a MESHING} - -\label{BuildMeshing} - -\subsection{Coordinates} - -First we must defined points coordinates of the mesh. We use -\method{setCoordinates}. - -\textbf{C++ Example~:} -\begin{verbatim} -MESHING myMeshing ; -const int SpaceDimension=2; -const int NumberOfNodes=6; -int * Coordinates = new int[SpaceDimension*NumberOfNodes] ; -string System="CARTESIAN"; -medModeSwitch MED_FULL_INTERLACE ; -myMeshing.setCoordinates(SpaceDimension,NumberOfNodes,Coordinates,System,Mode); -\end{verbatim} - -Then you could set the coordinates names and units (with -\method{setCoordinatesNames} and \method{setCoordinatesUnits}). - -\subsection{Connectivities} - -When coordinates are defined, we could defined connectivities. - -First we must defined connectivity of MED\_CELL elements. -After, we could defined constituent connectivity if necesary -(MED\_FACE and/or MED\_EDGE). - -For each connectivities, you could use some methods in the following order : -\begin{itemize} -\item \method{setNumberOfTypes} to set the number of differents geometrics -types (3 for example). This method allocates all arrays which size is this -number ; -\item \method{setTypes} to set the differents geometrics types -({MED\_TETRA4,MED\_PYRA5,MED\_HEXA8} for example). Types should be given -in increasing order of number of nodes for this type ; -\item \method{setNumberOfElements} to set the number of elements for -each geometric type. This method allocates connectivities array ; -\item \method{setConnectivity} to set the connectivity in MED\_FULL\_INTERLACE -mode for each geometric type ; -\end{itemize} - -\textbf{C++ Example~:} -\begin{verbatim} -MESHING myMeshing ; -myMeshing.setCoordinates(SpaceDimension,NumberOfNodes,Coordinates,System,Mode); - -myMeshing.setNumberOfTypes(2,MED_CELL); -myMeshing.setTypes({MED_TRIA3,MED_QUAD4},MED_CELL); -myMeshing.setNumberOfElements({3,2},MED_CELL); // 3 MED_TRIA3 and 2 MED_QUAD4 -myMeshing.setConnectivity({1,2,3,6,8,9,4,5,6},MED_CELL,MED_TRIA3); -myMeshing.setConnectivity({1,3,4,5,4,5,7,8},MED_CELL,MED_QUAD4); -\end{verbatim} - - -\section{Defined a GROUP object} - -To add a group in a MESHING object, use \method{addGroup}. - -This method duplicate the GROUP object in the MESH object. - -To build this GROUP object, use SUPPORT methods \ref{CreateSupport} to set all attributes. - -\subsection{WARNING} - -For instance, translation from GROUP objects to FAMILY objects are not completed ! - -You MUST set GROUP objects as if they are FAMILY objects. - -This feature will be fully implemented in next release of med memory. - -\section{Example} - -\fileCxx{MESHINGexample.cxx} - -%\filePython{MESHINGexample.py} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{How to use SUPPORT object} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{Create a SUPPORT object} - -\label{CreateSupport} - -To create a SUPPORT object, you must give : - -\begin{itemize} -\item a reference to a MESH object -\item its name -\item on which mesh entity it apply to -\end{itemize} -\textbf{C++ example~:} - -\verb+SUPPORT mySupport(myMesh,"support on all faces",MED_FACE) ;+ -By default, this support is defined on all elements of the given entity. - -If you want a restricted SUPPORT, you must add manualy information -about what do you want~: - -\begin{itemize} -\item is not on all elements~: \verb+mySupport.setAll(false);+ -\item on how many geometric type~:\\ - \verb+mySupport.setNumberOfGeometricType(myNumberOfGeometricType);+ -\item on which geometric type~:\\ - \verb+mySupport.setGeometricType(myGeometricType);+ -\item Temporary : the Gauss point number for each geometric type~:\\ - \verb+mySupport.setNumberOfGaussPoint(myNumberOfGaussPoint);+ -\item the number of elements for each geometric type~:\\ - \verb+mySupport.setNumberOfEntities(myNumberOfEntities);+ -\item the total number of elements~:\\ - \verb+mySupport.setTotalNumberOfEntities(myTotalNumberOfEntities);+ -\item the array which contains elements for each geometric type~:\\ - \verb+mySupport.setNumber(myNumber);+ -\end{itemize} -You could also use \method{setpartial} which set all you need. - - -\section{Use a SUPPORT object} - -You could get all basic information (as you set them in \myref{CreateSupport})~: - -\begin{itemize} -\item \verb+getName()+ -\item \verb+getDescription()+ -\item \verb+getMesh()+ -\item \verb+getEntity()+ -\item \verb+isOnAllElements()+ -\item \verb+getNumberOfTypes()+ -\item \verb+getTypes()+ -%\item \verb+getNumberOfGaussPoint()+ -%\item \verb+getNumberOfGaussPoint(myGeometricType)+ -\item \verb+getGeometricTypeNumber()+ -\item \verb+getNumberOfElements(myGeometricType)+ -\item \verb+getNumber(myGeometricType)+ -\item \verb+getNumberIndex()+ -\end{itemize} -For details about this methods, see the reference manual \cite{RefManual}. - -The use of \method{getNumber} and \method{getNumberIndex} are the -same as \method{getConnectivity} and \method{getConnectivityIndex} -(see item \myref{getConnectivity} - -There is another particular method to blend another SUPPORT object -into it. - -For example in C++ : -\begin{verbatim} -SUPPORT mySupport ; -SUPPORT myOtherSupport ; -... -mySupport.blending(myOtherSupport) ; -\end{verbatim} - -\verb+mySupport+ contain now all elements defined originally in it, -more those defined in \verb+myOtherSupport+. - - -\section{Case of FAMILY object} - -A FAMILY is a SUPPORT with some additionnal methods that concern some optional attribut (we could have none) and group (we could also have none) : -\begin{itemize} -\item \method{getIdentifier} return the family identifier (an integer) - -\item \method{getNumberOfAttributes} return the number of attributes of this family -\item \method{getAttributesIdentifiers} and \method{getAttributeIdentifier} return an integer array or an integer that represent attribut identifier. -\item \method{getAttributesValues} and \method{getAttributeValue} return an integer array or an integer that represent attribut value. -\item \method{getAttributesDescriptions} and \method{getAttributeDescription} return a string array or a string that represent attribut description. - -\item \method{getNumberOfGroups} return the number of groups which it belog to. -\item \method{getGroupsNames} and \method{getGroupName} return a string array or a string that represent the group name which it belog to. - -\end{itemize} - -\section{Case of GROUP object} - -A GROUP is a SUPPORT with some additionnal methods to find FAMILY that make up it : -\begin{itemize} -\item \method{getNumberOfFamilies} return the number of FAMILY that make up the GROUP ; -\item \method{getFamilies} and \method{getFamily} return a FAMILY array or a FAMILY that make up the GROUP. -\end{itemize} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{How to use Field} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{Introduction} - -A field is characterized by its name (\method{getName}) and an optional description (\method{getDescription}). - -It is also characterized by this calculating moment : -\begin{itemize} -\item an iteration number (time step number) -\item an order number (use if there are internal iteration in a time step) -\item the time that correspond to this iteration number. -\end{itemize} - -By default, there are no iteration and order number defined (value -MED\_NOPDT and MED\_NONOR). - -A field contain values which apply on some nodes or elements (cell, face or edge). - -We find these informations from a SUPPORT object (see \method{getSupport}). - -Each field have a number of components (\method getNumberOfComponents) and all these components have a name (\method{getComponentsNames} and \method{getComponentName}), a description (\method{getComponentsDescriptions} and \method{getComponentDescription}) and an unit (\method{getMEDComponentsUnits} and \method{getMEDComponentUnit}). - -For unit you could use later UNIT (\myref{Unit}) objet to make a more general control on it. But the use of this class must be specified. - -To get values of a FIELD, you could use \method{getValue}, \method{getValueI} -and \method{getValueIJ}~: - -\begin{itemize} -\item First return a reference to all values in the given mode (full or no -interlace). -\item Second return a reference to $i^{th}$ element values or component values (in accordance with the given mode). -\item Third return the $j^{th}$ component of $i^{th}$ element. -\end{itemize} - -\fileCxx{FIELDgeneral.cxx} - -\filePython{FIELDgeneral.py} - -\section{Create a Field} - -It is simple to create a field object. You must know its SUPPORT and the number of components. - -\textbf{Example :} -\verb+FILED myField(mySupport,NumberOfComponents) ;+ - -You must now set a name (\method{setName}) and optionaly a description -(\method{setDescription}). - -By default there are no iteration and order number (negative values) and -time is null. You could change this by using \method{setIterationNumber}, -\method{setOrderNumber} and \method{setTime}. - -You \textbf{SHOULD} also set unit of your components with \method{setMEDComponentUnit} - -To set value, use \method{setValueIJ} to put new value of field. - -\fileCxx{FIELDcreate.cxx} - -\filePython{FIELDcreate.py} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Other Classes} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -\section{class CELLMODEL} -\label{CellModel} - -To do - -\section{class UNIT} -\label{Unit} - -To do - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Using drivers} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -The generic driver mecanism gives users the possibility to write/read -the content of an object according to a specified file format. The -semantic remains the same whatever the object is (MESH, FIELD, MED). -By the way it allows using several file formats for writting an object. - - -\section{Invoking a driver} - - -\subsection{Invoking a driver at creation object time} - -This is the simplest way of invoking a driver. The driver parameters -are given to the constructor of the object. Except for the MED object, -this way of invoking a driver assume you know exactly the name of -the MESH/FIELD you want read from a file of type . - -ex 1.1 : For a FIELD object, invoking FIELD myField(MED\_DRIVER,fileName,fieldName) -create a FIELD object and a driver which loads the mesh -from the MED file (Not implemented yet !). - -ex 1.2 : To remove the default driver previously created myField->rmDriver(); - -ex 2 : For a MESH object, invoking MESH myMesh(MED\_DRIVER,fileName,meshName) -create a MESH object and a driver which loads the mesh -from the MED file . - -ex 3 : For a MED object, invoking MED myMed(MED\_DRIVER,fileName) -create a MED object to explore the MED file . - -rem 1 : ex1 is equivalent to \ref{sec:invoking_a_driver_from_the_std_drv_method} -ex1. - -rem 2 : Since the driver has read the object, the associated file -is closed. You can reread the object with the default driver by calling -the read() method : myObject.read(). - -\fileCxx{MEDMEM_InvokingDriverAtObjectCreationTime.cxx} - -\filePython{MEDMEM_InvokingDriverAtObjectCreationTime.py} - -\subsection{Invoking a driver from the standard driver method of an object\label{sec:invoking_a_driver_from_the_std_drv_method}} - -This way of invoking a driver give the possiblility to add several -drivers to an exiting object. - -ex1 : First we create a FIELD without any driver FIELD~{*}~myField1~=~new~FIELD; -then we add a driver with int myDriver1 = myField1->addDriver(driverType1, -fileName1, fieldName1); for reading from file -with myField1->read(myDriver1); - -ex2 : We add a new driver of type int myDriver2 = myField1->addDriver(driverType2, -fileName2,fieldName2); in order to write myField1 in file -with name using command myField1->write(myDriver2); - -rem 1 : Files are openned then closed each time you call read() or -write() methods. - -rem 2 : If you use more than a driver you need to keep the driver -handlers (myDriverI ). - -\fileCxx{MEDMEM_InvokingDriverFromStandardObjectMethod.cxx} - -\filePython{MEDMEM_InvokingDriverFromStandardObjectMethod.py} - -\subsection{Invoking a driver and attaching it to an existing object} - -The methods exposed in the two previous sections always create drivers -in read/write access mode. Another way of creating a driver is to -create a driver with a specific access mode. - -ex1 : First we create a FIELD without any driver FIELD~{*}~myField1~=~new -FIELD(); then we create a read-only driver MED\_FIELD\_RDONLY\_DRIVER~myRdOnlyDriver(fileName1,myField1); -and attached it to myField1. Finally you must set the fieldName1 you -want to acess in fileName1 with myRdOnlyDriver->setFieldName(fieldName1); -in order to read the field with myRdOnlyDriver->open(); myRdOnlyDriver->read(); - -Don't forget to close the file with myRdOnlyDriver->close(). - -ToDo : By now when you create such specific drivers, the object doesn't -know anything about it. - -\fileCxx{MEDMEM_InvokingDriverByAttachingItToAnObject.cxx} - -\filePython{MEDMEM_InvokingDriverByAttachingItToAnObject.py} - -\section{Using the MED driver} - -The MED object provides the ability of : - -\begin{enumerate} -\item \noindent Obtainning a reference on the whole structure contained -in a file. -\item Obtainning the list of all the Meshes/Fields names contained in a -file. -\item Obtainning a Mesh/Field reference using a name. -\item Writting a whole set of independent objects with a simple command. -\end{enumerate} - -\subsection{Exploring files} - -In this first use case the user wants to explore the meshes \& fields -containned within a file of type given by the -parameter. - -ex 1 : Calling MED {*} myMed = new MED(driverType1, fileName1); create -a MED object which open fileName1, read all MESHes/FIELDs relations -then close the file. - -This is equivalent to MED~{*}~myMed~=~new~MED(); myDriver~=~myMed->addDriver(driverType1,fileName1); -myMed->readFileStruct(myDriver); - -ex 2 : To get the list of meshNames from a MED object, first ask the -object how many meshes it had by calling int numberOfMeshes~=~myMed->getNumberOfMeshes(); -then get the list with myMeshNames~=~new string{[}getMeshNames{]}; -myMed->getMeshNames(myMeshNames). - -Note you can also use the deque getMeshNames() method. - -ex 3 : To get a list of fieldNames from a MED object, first ask the -object how many fields it had by calling int numberOfFields~=~myMed->getNumberOfFields(); -then get the list with myFieldNames~=~new string{[}getFieldNames{]}; -myMed->getFieldNames(myFieldNames). - -ex 4 :To get a particular MESH use MESH {*} myMesh1 = myMED->getMesh(myMeshNames{[}0{]}) - -ex 5 :To get a particular FIELD you first need to know what (time -step, iteration number) list is used by calling deque~myField1DtIt~=~myMed->getFieldIteration(FieldName{[}0{]}) -; then you can ask for getting a specific FIELD with FIELD~{*}~myField1~=~myMED->getField(myFieldNames{[}0{]},myField1DtIt{[}0{]}.dt,myField1DtIt{[}0{]}.it). - -ex2 : To write the whole content of a MED object first add a driver -myDriver2~=~myMed.addDriver(driverType2,~fileName2); then ask for -writing the object myMed->write(myDriver2); (not implemented yet !) - -You can remove the driver with myMed->rmDriver(myDriver2); - -rem 1 : It is possible to use multiple drivers to read a set of FIELDs -/ MESHes from various file formats and writing the whole set through -a specific write.(not implemented yet !) - - -\subsubsection{Adding existing MESHes/FIELDs objects} - -Not yet implemented. - -\section{Using the VTK driver} - -This driver allow to save all MESH and FIELD objects in an ASCII file in -VTK format \cite{vtk}. - -You could use this driver only from a MED object, because VTK file format -impose to write objects in particular order. - -\textbf{C++ Example~:} -\begin{verbatim} -MED myMed(MED_DRIVER,"file.med"); -myMed.read(); -int id = myMed.addDriver(VTK_DRIVER,"file.vtk"); -myMed.write(id) ; -\end{verbatim} - -\section{Using the GIBI driver} - -This driver allow to load a mesh from a GIBI file (ASCII file with the extension '.sauve'), puting the mesh into a MESH object of MED. It's a read only driver and is applicable only to a MESH object. - -\textbf{C++ Example~:} -\begin{verbatim} -MESH * myMesh= new MESH() ; -GIBI_MESH_RDONLY_DRIVER myGibiMeshDriver("file.sauve", myMesh) ; -myGibiMeshDriver.open() ; -myGibiMeshDriver.read() ; -myGibiMeshDriver.close() ; -\end{verbatim} - - -% ___________________________________________________________________________ -% | | -% | REFERENCES | -% |___________________________________________________________________________| -% -\newpage -%\thebibliography{biblio} -\begin{thebibliography}{1} - -\addcontentsline{toc}{chapter}{\refname} - -\addcontentsline{toc}{chapter}{Bibliography} - -\bibitem{RefManual} Reference Manual~: \verb+http://www-drn2.cea.fr/MED/MEDMEM/DOC/html/index.html+ - -\bibitem{vtk} VTK home page~: \verb+http://public.kitware.com/VTK+ - -\end{thebibliography} - - -\end{document} diff --git a/doc/MEDMEM/MESHINGexample.cxx b/doc/MEDMEM/MESHINGexample.cxx deleted file mode 100644 index 2ec7a16ee..000000000 --- a/doc/MEDMEM/MESHINGexample.cxx +++ /dev/null @@ -1,255 +0,0 @@ -#include "MEDMEM_Meshing.hxx" -#include "MEDMEM_Group.hxx" - -using namespace std; - -int main (int argc, char ** argv) { - - // filename to save the generated MESH - string filename = "meshing.med" ; - - MESHING myMeshing ; - myMeshing.setName("meshing") ; - - // define coordinates - - int SpaceDimension = 3 ; - int NumberOfNodes = 19 ; - double Coordinates[57] = { - 0.0, 0.0, 0.0, - 0.0, 0.0, 1.0, - 2.0, 0.0, 1.0, - 0.0, 2.0, 1.0, - -2.0, 0.0, 1.0, - 0.0, -2.0, 1.0, - 1.0, 1.0, 2.0, - -1.0, 1.0, 2.0, - -1.0, -1.0, 2.0, - 1.0, -1.0, 2.0, - 1.0, 1.0, 3.0, - -1.0, 1.0, 3.0, - -1.0, -1.0, 3.0, - 1.0, -1.0, 3.0, - 1.0, 1.0, 4.0, - -1.0, 1.0, 4.0, - -1.0, -1.0, 4.0, - 1.0, -1.0, 4.0, - 0.0, 0.0, 5.0 - }; - - myMeshing.setCoordinates(SpaceDimension,NumberOfNodes,Coordinates,"CARTESIAN",MED_FULL_INTERLACE); - - string Names[3] = { "X","Y","Z" } ; - myMeshing.setCoordinatesNames(Names); - - string Units[3] = { "cm","cm","cm" } ; - myMeshing.setCoordinatesUnits(Units) ; - - // define conectivities - - // cell part - - const int NumberOfTypes = 3 ; - medGeometryElement Types[NumberOfTypes] = {MED_TETRA4,MED_PYRA5,MED_HEXA8} ; - const int NumberOfElements[NumberOfTypes] = {12,2,2} ; - - myMeshing.setNumberOfTypes(NumberOfTypes,MED_CELL); - myMeshing.setTypes(Types,MED_CELL); - myMeshing.setNumberOfElements(NumberOfElements,MED_CELL); - - const int sizeTetra = 12*4 ; - int ConnectivityTetra[sizeTetra]= - { - 1,2,3,6, - 1,2,4,3, - 1,2,5,4, - 1,2,6,5, - 2,7,4,3, - 2,8,5,4, - 2,9,6,5, - 2,10,3,6, - 2,7,3,10, - 2,8,4,7, - 2,9,5,8, - 2,10,6,9 - }; - - myMeshing.setConnectivity(ConnectivityTetra,MED_CELL,MED_TETRA4); - - int ConnectivityPyra[2*5]= - { - 7,8,9,10,2, - 15,18,17,16,19 - }; - - myMeshing.setConnectivity(ConnectivityPyra,MED_CELL,MED_PYRA5); - - int ConnectivityHexa[2*8]= - { - 11,12,13,14,7,8,9,10, - 15,16,17,18,11,12,13,14 - }; - - myMeshing.setConnectivity(ConnectivityHexa,MED_CELL,MED_HEXA8); - - // face part - - const int NumberOfFacesTypes = 2 ; - medGeometryElement FacesTypes[NumberOfFacesTypes] = {MED_TRIA3,MED_QUAD4} ; - const int NumberOfFacesElements[NumberOfFacesTypes] = {4,4} ; - - myMeshing.setNumberOfTypes(NumberOfFacesTypes,MED_FACE); - myMeshing.setTypes(FacesTypes,MED_FACE); - myMeshing.setNumberOfElements(NumberOfFacesElements,MED_FACE); - - const int sizeTria = 3*4 ; - int ConnectivityTria[sizeTria]= - { - 1,4,3, - 1,5,4, - 1,6,5, - 1,3,6 - }; - - myMeshing.setConnectivity(ConnectivityTria,MED_FACE,MED_TRIA3); - - int ConnectivityQua[4*4]= - { - 7,8,9,10, - 11,12,13,14, - 11,7,8,12, - 12,8,9,13 - }; - - myMeshing.setConnectivity(ConnectivityQua,MED_FACE,MED_QUAD4); - - // edge part - - // not yet implemented : if set, results are unpredictable. - - // Some groups : - - // Node : - { - GROUP myGroup ; - myGroup.setName("SomeNodes"); - myGroup.setMesh(&myMeshing); - myGroup.setEntity(MED_NODE); - myGroup.setNumberOfGeometricType(1); - medGeometryElement myTypes[1] = {MED_NONE}; - myGroup.setGeometricType(myTypes); - const int myNumberOfElements[1] = {4} ; - myGroup.setNumberOfElements(myNumberOfElements); - const int index[1+1] = {1,5} ; - const int value[4]= { 1,4,5,7} ; - myGroup.setNumber(index,value); - - myMeshing.addGroup(myGroup); - } - { - GROUP myGroup ; - myGroup.setName("OtherNodes"); - myGroup.setMesh(&myMeshing); - myGroup.setEntity(MED_NODE); - myGroup.setNumberOfGeometricType(1); - medGeometryElement myTypes[1] = {MED_NONE}; - myGroup.setGeometricType(myTypes); - const int myNumberOfElements[1] = {3} ; - myGroup.setNumberOfElements(myNumberOfElements); - const int index[1+1] = {1,4} ; - const int value[3]= { 2,3,6} ; - myGroup.setNumber(index,value); - - myMeshing.addGroup(myGroup); - } - - // Cell : - { - GROUP myGroup ; - myGroup.setName("SomeCells"); - myGroup.setMesh(&myMeshing); - myGroup.setEntity(MED_CELL); - myGroup.setNumberOfGeometricType(3); - medGeometryElement myTypes[3] = {MED_TETRA4,MED_PYRA5,MED_HEXA8}; - myGroup.setGeometricType(myTypes); - const int myNumberOfElements[3] = {4,1,2} ; - myGroup.setNumberOfElements(myNumberOfElements); - const int index[3+1] = {1,5,6,8} ; - const int value[4+1+2]= - { - 2,7,8,12, - 13, - 15,16 - }; - myGroup.setNumber(index,value); - - myMeshing.addGroup(myGroup); - } - { - GROUP myGroup ; - myGroup.setName("OtherCells"); - myGroup.setMesh(&myMeshing); - myGroup.setEntity(MED_CELL); - myGroup.setNumberOfGeometricType(2); - medGeometryElement myTypes[] = {MED_TETRA4,MED_PYRA5}; - myGroup.setGeometricType(myTypes); - const int myNumberOfElements[] = {4,1} ; - myGroup.setNumberOfElements(myNumberOfElements); - const int index[3+1] = {1,5,6} ; - const int value[4+1]= - { - 3,4,5,9, - 14 - }; - myGroup.setNumber(index,value); - - myMeshing.addGroup(myGroup); - } - - // Face : - { - GROUP myGroup ; - myGroup.setName("SomeFaces"); - myGroup.setMesh(&myMeshing); - myGroup.setEntity(MED_FACE); - myGroup.setNumberOfGeometricType(2); - medGeometryElement myTypes[2] = {MED_TRIA3,MED_QUAD4}; - myGroup.setGeometricType(myTypes); - const int myNumberOfElements[2] = {2,3} ; - myGroup.setNumberOfElements(myNumberOfElements); - const int index[2+1] = {1,3,6} ; - const int value[2+3]= - { - 2,4, - 5,6,8 - } ; - myGroup.setNumber(index,value); - - myMeshing.addGroup(myGroup); - } - { - GROUP myGroup ; - myGroup.setName("OtherFaces"); - myGroup.setMesh(&myMeshing); - myGroup.setEntity(MED_FACE); - myGroup.setNumberOfGeometricType(1); - medGeometryElement myTypes[1] = {MED_TRIA3}; - myGroup.setGeometricType(myTypes); - const int myNumberOfElements[1] = {2} ; - myGroup.setNumberOfElements(myNumberOfElements); - const int index[1+1] = {1,3} ; - const int value[2]= - { - 1,3 - } ; - myGroup.setNumber(index,value); - - myMeshing.addGroup(myGroup); - } - - // all rigtht, we save it ! - - int id = myMeshing.addDriver(MED_DRIVER,filename,myMeshing.getName()); - myMeshing.write(id) ; - -} diff --git a/doc/MEDMEM/MESHconnectivities.cxx b/doc/MEDMEM/MESHconnectivities.cxx deleted file mode 100644 index 2964ff9f8..000000000 --- a/doc/MEDMEM/MESHconnectivities.cxx +++ /dev/null @@ -1,132 +0,0 @@ -#include "MEDMEM_Mesh.hxx" -#include "MEDMEM_CellModel.hxx" - -int main (int argc, char ** argv) { - - const string MedFile = "pointe.med" ; - const string MeshName = "maa1" ; - MESH myMesh(MED_DRIVER,MedFile,MeshName) ; - myMesh.read() ; - - cout << "Mesh name : " << myMesh.getName() << endl << endl ; - - // we get all type for cell entity : - int NumberOfTypes = myMesh.getNumberOfTypes(MED_CELL) ; - const CELLMODEL * Types = myMesh.getCellsTypes(MED_CELL) ; - - cout << "Show Connectivity (Nodal) :" << endl ; - // this example use access with a specified medGeometryElement through - // CELLMODEL class - for (int i=0; iMEDMEM_UsersGuide_2on1.ps - -MEDMEM_UsersGuide_2on1.pdf: MEDMEM_UsersGuide_2on1.ps - ps2pdf MEDMEM_UsersGuide_2on1.ps MEDMEM_UsersGuide_2on1.pdf - - -MEDMEM_UML.eps:MEDMEM_UML.dia - dia -e $@ $< - -MEDMEM_UsersGuide.dvi: MEDMEM_UsersGuide.tex MEDMEM_UML.eps - echo "Running latex..." - latex $< - #echo "Running makeindex..." - #makeindex MEDMEM_UsersGuide.idx - echo "Rerunning latex...." - latex $< - latex_count=5 - while egrep -s 'Rerun (LaTeX|to get cross-references right)' MEDMEM_UsersGuide.log && [ $latex_count -gt 0 ] ;\ - do \ - echo "Rerunning latex...." ;\ - latex $< ;\ - latex_count=`expr $latex_count - 1` ;\ - done - -MEDMEM_UsersGuide.tex:MEDMEM_UsersGuide.tex.in - cd $(top_builddir) && CONFIG_FILES=./doc/MEDMEM/MEDMEM_UsersGuide.tex ./config.status - -# install procedure - -install: $(datadir)/doc ps_2on1 pdf_2on1 - $(RM) -r $(datadir)/doc/html_ref_user $(datadir)/doc/html_ref_devel $(datadir)/doc/*.ps $(datadir)/doc/*.pdf - cp -rf ./doc_ref_user/html $(datadir)/doc/html_ref_user - cp -rf ./doc_ref_devel/html $(datadir)/doc/html_ref_devel - cp -f MedMemory_user_2on1.ps MedMemory_user_2on1.pdf $(datadir)/doc - cp -f MEDMEM_UsersGuide_2on1.ps MEDMEM_UsersGuide_2on1.pdf $(datadir)/doc - cp -f MedMemory_devel_2on1.ps MedMemory_devel_2on1.pdf $(datadir)/doc - -$(datadir)/doc: - $(INSTALL) -d $@ && chmod 755 $@ - -cleandoc: - -$(RM) -r *pdf *ps doc_ref_* $(top_builddir)/src/MEDMEM/doc_ref_* .dep* diff --git a/doc/MEDMEM/TODO Drivers.txt b/doc/MEDMEM/TODO Drivers.txt deleted file mode 100644 index d6cd93c78..000000000 --- a/doc/MEDMEM/TODO Drivers.txt +++ /dev/null @@ -1,4 +0,0 @@ -1- Gerer l'appartenance d'un driver type 3 Within l'objet - -2- Within les méthodes addDriver : - driver = instances[driverType]->run(fileName, this) ; --> Il faut vérifier que le numéro auquel on accède existe ! diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index 5f5e47a48..000000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,33 +0,0 @@ - -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 30/11/2001 -# $Header$ -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ - -SUBDIRS=html MEDMEM - -doc: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done -clean: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -distclean: clean - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -install: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done diff --git a/doc/html/INPUT/HTML/MED.html b/doc/html/INPUT/HTML/MED.html deleted file mode 100644 index b8f484ade..000000000 --- a/doc/html/INPUT/HTML/MED.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface MESH
IDL file
Python
string getName ( )
return_value = getName ( )
long getSpaceDimension ( )
return_value = getSpaceDimension ( )
long getMeshDimension ( )
return_value = getMeshDimension ( )
string getCoordinateSystem ( )
return_value = getCoordinateSystem ( )
long getNumberOfNodes ( )
return_value = getNumberOfNodes ( )
double_array getCoordinates ( in medModeSwitch typeSwitch )
return_value = getCoordinates ( typeSwitch )
string_array getCoordinatesNames ( )
return_value = getCoordinatesNames ( )
string_array getCoordinatesUnits ( )
return_value = getCoordinatesUnits ( )
long getNumberOfTypes ( in medEntityMesh entity )
return_value = getNumberOfTypes ( entity )
medGeometryElement_array getTypes ( in medEntityMesh entity )
return_value = getTypes ( entity )
long getNumberOfElements ( in medEntityMesh entity, in medGeometryElement geomElement )
return_value = getNumberOfElements ( entity, geomElement )
long_array getConnectivity ( in medModeSwitch typeSwitch, in medConnectivity mode, in medEntityMesh entity, in medGeometryElement geomElement )
return_value = getConnectivity ( typeSwitch, mode, entity, geomElement )
long_array getConnectivityIndex ( in medConnectivity mode, in medEntityMesh entity )
return_value = getConnectivityIndex ( mode, entity )
long getElementNumber ( in medConnectivity mode, in medEntityMesh entity, in medGeometryElement type, in long_array connectivity )
return_value = getElementNumber ( mode, entity, type, connectivity )
long_array getReverseConnectivity ( in medConnectivity mode )
return_value = getReverseConnectivity ( mode )
long_array getReverseConnectivityIndex ( in medConnectivity mode )
return_value = getReverseConnectivityIndex ( mode )
long getNumberOfFamilies ( in medEntityMesh entity )
return_value = getNumberOfFamilies ( entity )
long getNumberOfGroups ( in medEntityMesh entity )
return_value = getNumberOfGroups ( entity )
Family_array getFamilies ( in medEntityMesh entity )
return_value = getFamilies ( entity )
FAMILY getFamily ( in medEntityMesh entity, in long familyNumber )
return_value = getFamily ( entity, familyNumber )
Group_array getGroups ( in medEntityMesh entity )
return_value = getGroups ( entity )
GROUP getGroup ( in medEntityMesh entity, in long groupNumber )
return_value = getGroup ( entity, groupNumber )
FIELD getVolume ( in SUPPORT mySupport )
return_value = getVolume ( mySupport )
FIELD getArea ( in SUPPORT mySupport )
return_value = getArea ( mySupport )
FIELD getLength ( in SUPPORT mySupport )
return_value = getLength ( mySupport )
FIELD getNormal ( in SUPPORT mySupport )
return_value = getNormal ( mySupport )
FIELD getBarycenter ( in SUPPORT mySupport )
return_value = getBarycenter ( mySupport )
void addInStudy ( in Study myStudy, in MESH myIor )
addInStudy ( myStudy, myIor )
long addDriver ( in medDriverTypes driverType, in string fileName, in string meshName )
return_value = addDriver ( driverType, fileName, meshName )
void rmDriver ( in long i )
rmDriver ( i )
void read ( in long i )
read ( i )
void write ( in long i, in string driverMeshName )
write ( i, driverMeshName )
long getCorbaIndex ( )
return_value = getCorbaIndex ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface SUPPORT
IDL file
Python
string getName ( )
return_value = getName ( )
string getDescription ( )
return_value = getDescription ( )
MESH getMesh ( )
return_value = getMesh ( )
medEntityMesh getEntity ( )
return_value = getEntity ( )
boolean isOnAllElements ( )
return_value = isOnAllElements ( )
long getNumberOfElements ( in medGeometryElement geomElement )
return_value = getNumberOfElements ( geomElement )
medGeometryElement_array getTypes ( )
return_value = getTypes ( )
long_array getNumber ( in medGeometryElement geomElement )
return_value = getNumber ( geomElement )
long_array getNumberIndex ( )
return_value = getNumberIndex ( )
long getNumberOfGaussPoints ( in medGeometryElement geomElement )
return_value = getNumberOfGaussPoints ( geomElement )
long getCorbaIndex ( )
return_value = getCorbaIndex ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface FAMILY
IDL file
Python
long getIdentifier ( )
return_value = getIdentifier ( )
long getNumberOfAttributes ( )
return_value = getNumberOfAttributes ( )
long_array getAttributesIdentifiers ( )
return_value = getAttributesIdentifiers ( )
long getAttributeIdentifier ( in long i )
return_value = getAttributeIdentifier ( i )
long_array getAttributesValues ( )
return_value = getAttributesValues ( )
long getAttributeValue ( in long i )
return_value = getAttributeValue ( i )
string_array getAttributesDescriptions ( )
return_value = getAttributesDescriptions ( )
string getAttributeDescription ( in long i )
return_value = getAttributeDescription ( i )

- - - - - - - - - - - - - - - - - - - -
interface GROUP
IDL file
Python
long getNumberOfFamilies ( )
return_value = getNumberOfFamilies ( )
Family_array getFamilies ( )
return_value = getFamilies ( )
FAMILY getFamily ( in long i )
return_value = getFamily ( i )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface FIELD
IDL file
Python
string getName ( )
return_value = getName ( )
string getDescription ( )
return_value = getDescription ( )
SUPPORT getSupport ( )
return_value = getSupport ( )
long getNumberOfComponents ( )
return_value = getNumberOfComponents ( )
string_array getComponentsNames ( )
return_value = getComponentsNames ( )
string getComponentName ( in long i )
return_value = getComponentName ( i )
string_array getComponentsUnits ( )
return_value = getComponentsUnits ( )
string getComponentUnit ( in long i )
return_value = getComponentUnit ( i )
long getIterationNumber ( )
return_value = getIterationNumber ( )
double getTime ( )
return_value = getTime ( )
long getOrderNumber ( )
return_value = getOrderNumber ( )
long addDriver ( in medDriverTypes driverType, in string fileName, in string fieldName )
return_value = addDriver ( driverType, fileName, fieldName )
void rmDriver ( in long i )
rmDriver ( i )
void read ( in long i )
read ( i )
void write ( in long i, in string driverFieldName )
write ( i, driverFieldName )
void addInStudy ( in Study myStudy, in FIELD myIor )
addInStudy ( myStudy, myIor )
long getCorbaIndex ( )
return_value = getCorbaIndex ( )

- - - - - - - - - - - -
interface FIELDDOUBLE
IDL file
Python
double_array getValue ( in medModeSwitch mode )
return_value = getValue ( mode )

- - - - - - - - - - - -
interface FIELDINT
IDL file
Python
long_array getValue ( in medModeSwitch mode )
return_value = getValue ( mode )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface MED
IDL file
Python
long getNumberOfMeshes ( )
return_value = getNumberOfMeshes ( )
long getNumberOfFields ( )
return_value = getNumberOfFields ( )
string_array getMeshNames ( )
return_value = getMeshNames ( )
string_array getFieldNames ( )
return_value = getFieldNames ( )
MESH getMeshByName ( in string meshName )
return_value = getMeshByName ( meshName )
MESH getMesh ( in FIELD fieldPtr )
return_value = getMesh ( fieldPtr )
FIELD getField ( in string fieldName, in long pasTemps, in long numOrdre )
return_value = getField ( fieldName, pasTemps, numOrdre )
long addDriver ( in medDriverTypes driverType, in string fileName )
return_value = addDriver ( driverType, fileName )
void rmDriver ( in long i )
rmDriver ( i )
void readFileStruct ( in long i )
readFileStruct ( i )
void writeFrom ( in long i )
writeFrom ( i )
void write ( in long i )
write ( i )
void addMesh ( in MESH ptrMesh )
addMesh ( ptrMesh )
void addField ( in FIELD ptrField )
addField ( ptrField )
void addInStudy ( in Study myStudy, in MED medPtr )
addInStudy ( myStudy, medPtr )

-
diff --git a/doc/html/INPUT/HTML/MED_Gen.html b/doc/html/INPUT/HTML/MED_Gen.html deleted file mode 100644 index 44b43940b..000000000 --- a/doc/html/INPUT/HTML/MED_Gen.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - -
interface MED_Gen
IDL file
Python
MESH readMeshInFile ( in string fileName, in string studyName, in string meshName )
return_value = readMeshInFile ( fileName, studyName, meshName )
FIELD readFieldInFile ( in string fileName, in string studyName, in string fieldName, in long ordre, in long iter )
return_value = readFieldInFile ( fileName, studyName, fieldName, ordre, iter )
MED readStructFile ( in string fileName, in string studyName )
return_value = readStructFile ( fileName, studyName )
void readStructFileWithFieldType ( in string fileName, in string studyName )
readStructFileWithFieldType ( fileName, studyName )

-
diff --git a/doc/html/INPUT/doxyfile b/doc/html/INPUT/doxyfile deleted file mode 100755 index d7ec699ae..000000000 --- a/doc/html/INPUT/doxyfile +++ /dev/null @@ -1,201 +0,0 @@ -# Doxyfile 1.3-rc1 - -#--------------------------------------------------------------------------- -# General configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = "SALOME - MED - v.1.4.0" -PROJECT_NUMBER = id#1.1 -OUTPUT_DIRECTORY = ../ -OUTPUT_LANGUAGE = English -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = NO -ALWAYS_DETAILED_SEC = YES -INLINE_INHERITED_MEMB = YES -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -INTERNAL_DOCS = YES -CASE_SENSE_NAMES = YES -SHORT_NAMES = NO -HIDE_SCOPE_NAMES = NO -VERBATIM_HEADERS = YES -SHOW_INCLUDE_FILES = YES -JAVADOC_AUTOBRIEF = YES -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = NO -DISTRIBUTE_GROUP_DOC = NO -TAB_SIZE = 5 -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ALIASES = -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 25 -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = YES -SHOW_USED_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = log.txt -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = ../../../share/salome/idl/MED.idl \ - ../../../share/salome/idl/MED_Gen.idl -FILE_PATTERNS = -RECURSIVE = NO -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = sources/ -INPUT_FILTER = -FILTER_SOURCE_FILES = YES -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = sources/myheader.html -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -BINARY_TOC = YES -TOC_EXPAND = YES -DISABLE_INDEX = YES -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES -TREEVIEW_WIDTH = 250 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = NO -USE_PDFLATEX = NO -LATEX_BATCHMODE = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_SCHEMA = -XML_DTD = -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = NO -#--------------------------------------------------------------------------- -# Configuration::addtions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = YES -HIDE_UNDOC_RELATIONS = NO -HAVE_DOT = YES -CLASS_GRAPH = YES -COLLABORATION_GRAPH = NO -TEMPLATE_RELATIONS = YES -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DOT_IMAGE_FORMAT = jpg -DOT_PATH = -DOTFILE_DIRS = -MAX_DOT_GRAPH_WIDTH = 1024 -MAX_DOT_GRAPH_HEIGHT = 1200 -GENERATE_LEGEND = NO -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::addtions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO -CGI_NAME = search.cgi -CGI_URL = -DOC_URL = -DOC_ABSPATH = -BIN_ABSPATH = /usr/local/bin/ -EXT_DOC_PATHS = diff --git a/doc/html/INPUT/sources/Application-About.png b/doc/html/INPUT/sources/Application-About.png deleted file mode 100755 index 7b58330d50856e28562e8f9ed80dae72d6e6dda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19226 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

5r3>=?gKv-6#gF2kVYm^Euk4pDx%bDo{L~m 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 Ao&W#< diff --git a/doc/html/INPUT/sources/application.gif b/doc/html/INPUT/sources/application.gif deleted file mode 100644 index 0b05d5c18ee88779d283508781836e2b151f606f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2602 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 diff --git a/doc/html/INPUT/sources/bg_salome.gif b/doc/html/INPUT/sources/bg_salome.gif deleted file mode 100755 index 677b70468f798fe4fbc20fac3d706e61179ff12b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17294 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 diff --git a/doc/html/INPUT/sources/myheader.html b/doc/html/INPUT/sources/myheader.html deleted file mode 100755 index 83ca543cd..000000000 --- a/doc/html/INPUT/sources/myheader.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - Main Page - - - -  -
- - - - - - -
-
-
- - - - diff --git a/doc/html/INPUT/sources/occ.gif b/doc/html/INPUT/sources/occ.gif deleted file mode 100755 index ce017c8ae11236ef5c52eee1723657cb8b08989f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14790 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⁣iMxf-qnJ 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 diff --git a/doc/html/INPUT/sources/static/doxygen.css b/doc/html/INPUT/sources/static/doxygen.css deleted file mode 100755 index 0a8e93d50..000000000 --- a/doc/html/INPUT/sources/static/doxygen.css +++ /dev/null @@ -1,49 +0,0 @@ -H1 { text-align: center; } -CAPTION { font-weight: bold } -A.qindex {} -A.qindexRef {} -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code { text-decoration: none; font-weight: normal; color: #4444ee } -A.codeRef { font-weight: normal; color: #4444ee } -A:hover { text-decoration: none; background-color: lightblue } -DL.el { margin-left: -1cm } -DIV.fragment { width: 100%; border: none; background-color: #CCCCCC } -DIV.ah { background-color: #CCCCCC; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: lightblue; font-weight: bold; } -TD.mdname1 { background-color: lightblue; font-weight: bold; color: #602020; } -TD.mdname { background-color: lightblue; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold } -DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller } -BODY { background: url(sources/bg_salome.gif) } -TD.indexkey { - background-color: #CCCCCC; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px -} -TD.indexvalue { - background-color: #CCCCCC; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px -} -span.keyword { color: #008000 } -span.keywordtype { color: #604020 } -span.keywordflow { color: #e08000 } -span.comment { color: #800000 } -span.preprocessor { color: #806020 } -span.stringliteral { color: #002080 } -span.charliteral { color: #008080 } diff --git a/doc/html/INPUT/sources/static/page2.html b/doc/html/INPUT/sources/static/page2.html deleted file mode 100755 index 1891fe92c..000000000 --- a/doc/html/INPUT/sources/static/page2.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - Main Page - - - - -   -
- - - - - - - - -
- - -
-
- - -
- - diff --git a/doc/html/INPUT/sources/static/tree.js b/doc/html/INPUT/sources/static/tree.js deleted file mode 100755 index 761dcbf31..000000000 --- a/doc/html/INPUT/sources/static/tree.js +++ /dev/null @@ -1,23 +0,0 @@ -foldersTree = gFld("SALOME v.1.4.0 ", "", "") - insDoc(foldersTree, gLnk("Main Page", "", "main.html")) - -aux1 = insFld(foldersTree, gFld("TUI Reference Guide", "")) - aux2 = insFld(aux1, gFld("Modules", "")) - aux3 = insFld(aux2, gFld("SALOME MED module", "")) -/*! insDoc(aux3, gLnk("Overview", "", "overview_Med.html"))*/ - aux4 = insFld(aux3, gFld("Packages", "")) - insDoc(aux4, gLnk("SALOME_MED", "", "namespaceSALOME__MED.html")) -/*! insDoc(aux3, gLnk("Examples", "", "examples_MED.html")) -*/ - - insDoc(aux1, gLnk("Data Structures", "", "annotated.html")) - insDoc(aux1, gLnk("Class Hierarchy", "", "hierarchy.html")) - insDoc(aux1, gLnk("Class methods list", "", "functions.html")) - insDoc(aux1, gLnk("Namespace Members", "", "namespacemembers.html")) - insDoc(aux1, gLnk("File List", "", "files.html")) - -aux1 = insFld(foldersTree, gFld("IDL/Python mapping", "")) - insDoc(aux1, gLnk("Mapping of MED IDL definitions to Python language", "", "page2.html")) -aux1 = insFld(foldersTree, gFld("Med Memory Documentations", "")) - insDoc(aux1, gLnk("Users documentation", "", "../html_ref_user/index.html")) - insDoc(aux1, gLnk("Developpers documentation", "", "../html_ref_devel/index.html")) diff --git a/doc/html/INPUT/sources/static/treeview.js b/doc/html/INPUT/sources/static/treeview.js deleted file mode 100644 index 55eb43d07..000000000 --- a/doc/html/INPUT/sources/static/treeview.js +++ /dev/null @@ -1,505 +0,0 @@ -//**************************************************************** -// You are free to copy the "Folder-Tree" script as long as you -// keep this copyright notice: -// Script found in: http://www.geocities.com/Paris/LeftBank/2178/ -// Author: Marcelino Alves Martins (martins@hks.com) December '97. -//**************************************************************** - -//Log of changes: -// 17 Feb 98 - Fix initialization flashing problem with Netscape -// -// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS; -// make the ftien4 a js file -// -// DvH: Dec 2000 - Made some minor changes to support external -// references - -// Definition of class Folder -// ***************************************************************** - -function Folder(folderDescription, tagName, hreference) //constructor -{ - //constant data - this.desc = folderDescription - this.tagName = tagName - this.hreference = hreference - this.id = -1 - this.navObj = 0 - this.iconImg = 0 - this.nodeImg = 0 - this.isLastNode = 0 - - //dynamic data - this.isOpen = true - this.iconSrc = "ftv2folderopen.png" - this.children = new Array - this.nChildren = 0 - - //methods - this.initialize = initializeFolder - this.setState = setStateFolder - this.addChild = addChild - this.createIndex = createEntryIndex - this.hide = hideFolder - this.display = display - this.renderOb = drawFolder - this.totalHeight = totalHeight - this.subEntries = folderSubEntries - this.outputLink = outputFolderLink -} - -function setStateFolder(isOpen) -{ - var subEntries - var totalHeight - var fIt = 0 - var i=0 - - if (isOpen == this.isOpen) - return - - if (browserVersion == 2) - { - totalHeight = 0 - for (i=0; i < this.nChildren; i++) - totalHeight = totalHeight + this.children[i].navObj.clip.height - subEntries = this.subEntries() - if (this.isOpen) - totalHeight = 0 - totalHeight - for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) - indexOfEntries[fIt].navObj.moveBy(0, totalHeight) - } - this.isOpen = isOpen - propagateChangesInState(this) -} - -function propagateChangesInState(folder) -{ - var i=0 - - if (folder.isOpen) - { - if (folder.nodeImg) - if (folder.isLastNode) - folder.nodeImg.src = "ftv2mlastnode.png" - else - folder.nodeImg.src = "ftv2mnode.png" - folder.iconImg.src = "ftv2folderopen.png" - for (i=0; i 0) - auxEv = "" - else - auxEv = "" - - if (level>0) - if (lastNode) //the last 'brother' in the children array - { - this.renderOb(leftSide + auxEv + "") -// leftSide = leftSide + "" - this.isLastNode = 1 - } - else - { - this.renderOb(leftSide + auxEv + "") - leftSide = leftSide + "" - this.isLastNode = 0 - } - else - this.renderOb("") - - if (nc > 0) - { - level = level + 1 - for (i=0 ; i < this.nChildren; i++) - { - if (i == this.nChildren-1) - this.children[i].initialize(level, 1, leftSide) - else - this.children[i].initialize(level, 0, leftSide) - } - } -} - -function drawFolder(leftSide) -{ - if (browserVersion == 2) { - if (!doc.yPos) - doc.yPos=8 - doc.write("") - } - if (browserVersion == 3) - { - doc.write("
") - } - - doc.write("\n") - doc.write("\n\n") - doc.write("\n
") - doc.write(leftSide) - this.outputLink() - doc.write("") - doc.write("") - if (USETEXTLINKS) - { - this.outputLink() - doc.write(this.desc + "") - } - else - doc.write(this.desc) - -/*! - if (this.tagName!="") - { - doc.write(" [external]") - } -*/ - doc.write("
\n") - - if (browserVersion == 2) { - doc.write("") - } - if (browserVersion == 3) { - doc.write("
") - } - - if (browserVersion == 1) { - this.navObj = doc.all["folder"+this.id] - this.iconImg = doc.all["folderIcon"+this.id] - this.nodeImg = doc.all["nodeIcon"+this.id] - } else if (browserVersion == 2) { - this.navObj = doc.layers["folder"+this.id] - this.iconImg = this.navObj.document.images["folderIcon"+this.id] - this.nodeImg = this.navObj.document.images["nodeIcon"+this.id] - doc.yPos=doc.yPos+this.navObj.clip.height - } else if (browserVersion == 3) { - this.navObj = doc.getElementById("folder"+this.id) - this.iconImg = doc.images.namedItem("folderIcon"+this.id) - this.nodeImg = doc.images.namedItem("nodeIcon"+this.id) - } -} - -function outputFolderLink() -{ - if (this.hreference) - { - doc.write(" 0) - doc.write("onClick='javascript:clickOnFolder("+this.id+")'") - doc.write(">") - } - else - doc.write("") -} - -function addChild(childNode) -{ - this.children[this.nChildren] = childNode - this.nChildren++ - return childNode -} - -function folderSubEntries() -{ - var i = 0 - var se = this.nChildren - - for (i=0; i < this.nChildren; i++){ - if (this.children[i].children) //is a folder - se = se + this.children[i].subEntries() - } - - return se -} - - -// Definition of class Item (a document or link inside a Folder) -// ************************************************************* - -function Item(itemDescription, tagName, itemLink) // Constructor -{ - // constant data - this.desc = itemDescription - this.tagName = tagName - this.link = itemLink - this.id = -1 //initialized in initalize() - this.navObj = 0 //initialized in render() - this.iconImg = 0 //initialized in render() - this.iconSrc = "ftv2doc.png" - - // methods - this.initialize = initializeItem - this.createIndex = createEntryIndex - this.hide = hideItem - this.display = display - this.renderOb = drawItem - this.totalHeight = totalHeight -} - -function hideItem() -{ - if (browserVersion == 1 || browserVersion == 3) { - if (this.navObj.style.display == "none") - return - this.navObj.style.display = "none" - } else { - if (this.navObj.visibility == "hidden") - return - this.navObj.visibility = "hidden" - } -} - -function initializeItem(level, lastNode, leftSide) -{ - this.createIndex() - - if (level>0) - if (lastNode) //the last 'brother' in the children array - { - this.renderOb(leftSide + "") - leftSide = leftSide + "" - } - else - { - this.renderOb(leftSide + "") - leftSide = leftSide + "" - } - else - this.renderOb("") -} - -function drawItem(leftSide) -{ - if (browserVersion == 2) - doc.write("") - if (browserVersion == 3) - doc.write("
") - - doc.write("\n\n") - doc.write("\n
") - doc.write(leftSide) - if (this.link!="") - { - doc.write("") - } - doc.write("") - if (this.link!="") - { - doc.write("") - } - doc.write("") - if (USETEXTLINKS && this.link!="") - doc.write("" + this.desc + "") - else - doc.write(this.desc) -/*! - if (this.tagName!="") - { - doc.write(" [external]"); - } -*/ - doc.write("\n
\n") - - if (browserVersion == 2) - doc.write("") - if (browserVersion == 3) - doc.write("
") - - if (browserVersion == 1) { - this.navObj = doc.all["item"+this.id] - this.iconImg = doc.all["itemIcon"+this.id] - } else if (browserVersion == 2) { - this.navObj = doc.layers["item"+this.id] - this.iconImg = this.navObj.document.images["itemIcon"+this.id] - doc.yPos=doc.yPos+this.navObj.clip.height - } else if (browserVersion == 3) { - this.navObj = doc.getElementById("item"+this.id) - this.iconImg = doc.images.namedItem("itemIcon"+this.id) - } -} - - -// Methods common to both objects (pseudo-inheritance) -// ******************************************************** - -function display() -{ - if (browserVersion == 1 || browserVersion == 3) - this.navObj.style.display = "block" - else - this.navObj.visibility = "show" -} - -function createEntryIndex() -{ - this.id = nEntries - indexOfEntries[nEntries] = this - nEntries++ -} - -// total height of subEntries open -function totalHeight() //used with browserVersion == 2 -{ - var h = this.navObj.clip.height - var i = 0 - - if (this.isOpen) //is a folder and _is_ open - for (i=0 ; i < this.nChildren; i++) - h = h + this.children[i].totalHeight() - - return h -} - - -// Events -// ********************************************************* - -function clickOnFolder(folderId) -{ - var clicked = indexOfEntries[folderId] - - if (!clicked.isOpen) - clickOnNode(folderId) - - return - - if (clicked.isSelected) - return -} - -function clickOnNode(folderId) -{ - var clickedFolder = 0 - var state = 0 - - clickedFolder = indexOfEntries[folderId] - state = clickedFolder.isOpen - - clickedFolder.setState(!state) //open<->close -} - -function initializeDocument() -{ - doc = document; - if (doc.all) - browserVersion = 1 //IE4 - else - if (doc.layers) - browserVersion = 2 //NS4 - else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1) - browserVersion = 3 //mozilla - else - browserVersion = 0 //other - - foldersTree.initialize(0, 1, "") - foldersTree.display() - - if (browserVersion > 0) - { - if(browserVersion != 3) - doc.write(" ") - - // close the whole tree - clickOnNode(0) - // open the root folder - clickOnNode(0) - } -} - -// Auxiliary Functions for Folder-Treee backward compatibility -// ********************************************************* - -function gFld(description, tagName, hreference) -{ - folder = new Folder(description, tagName, hreference) - return folder -} - -function gLnk(description, tagName, linkData) -{ - fullLink = "" - - if (linkData!="") - { - fullLink = "'"+linkData+"' target=\"basefrm\"" - } - - linkItem = new Item(description, tagName, fullLink) - return linkItem -} - -function insFld(parentFolder, childFolder) -{ - return parentFolder.addChild(childFolder) -} - -function insDoc(parentFolder, document) -{ - parentFolder.addChild(document) -} - -// Global variables -// **************** - -USETEXTLINKS = 1 -indexOfEntries = new Array -nEntries = 0 -doc = document -browserVersion = 0 -selectedFolder=0 diff --git a/doc/html/Makefile.in b/doc/html/Makefile.in deleted file mode 100644 index 135b2daef..000000000 --- a/doc/html/Makefile.in +++ /dev/null @@ -1,39 +0,0 @@ -# -* Makefile *- -# -# Author : Vasily Rusyaev (Open Cascade NN) -# Date : 13/02/2003 -# $Header: -# -# source path -top_srcdir=@top_srcdir@ -root_srcdir=@ROOT_SRCDIR@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ -doxygen=@DOXYGEN@ - -@COMMENCE@ - -doc: - cp -fr $(srcdir)/INPUT ./; \ - cd INPUT; \ - sed 's|../../../share/salome|$(root_srcdir)|' doxyfile > doxyfile1; \ - mv -f doxyfile1 doxyfile; \ - $(doxygen) ./doxyfile; \ - cd ..; \ - cp -fr $(srcdir)/INPUT/sources/static/*.* ./html/ - cp -fr $(srcdir)/INPUT/sources/ html/ - cp -fr $(srcdir)/INPUT/HTML/ html/ - -clean: - rm -rf html - -distclean: clean - rm -rf INPUT - -install: - $(INSTALL) -d $(docdir); \ - cp -rf html $(docdir) - -uninstall: - rm -rf $(docdir)/html diff --git a/resources/pointe.med b/resources/pointe.med deleted file mode 100644 index 99ea55289d10e25617446bac5f84e4390b9b56bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75776 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 diff --git a/src/MedClient/test/resources/pointe.med b/src/MedClient/test/resources/pointe.med deleted file mode 100644 index 430a74bd66aa41aa72035b1b3c284dbc81c04ec4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80011 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 -- 2.39.2