Salome HOME
Merge from V6_main 01/04/2013
[modules/med.git] / doc / MEDMEM / MEDMEM_InvokingDriverFromStandardObjectMethod.cxx
1 // Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22
23 #include "MEDMEM_Exception.hxx"
24 #include "MEDMEM_define.hxx"
25
26 #include "MEDMEM_Field.hxx"
27 #include "MEDMEM_Mesh.hxx"
28
29 using namespace MEDMEM ;
30 using namespace MED_EN ;
31
32 main () {
33   
34   const char * fileName   = "pointe.med";
35   const char * fileName2  = "fieldCellDoubleOfpointe.med";
36   const char * fieldName  = "fieldcelldoublescalar";
37   const char * meshName   = "maa1";
38     
39   try {
40     // Test creation of drivers from the standard driver method of an object
41     FIELD<double> * myField = new FIELD<double>();
42     int myDriver1 = myField->addDriver(MED_DRIVER, fileName, fieldName);
43     myField->read();
44     //This test failed due to inadequate Support implementation
45     myField->rmDriver();  // TESTER LA VALIDITE DE myDriver2 !!!!
46
47     int myDriver2 = myField->addDriver(MED_DRIVER, fileName2, fieldName);
48     myField->write(myDriver2);
49     //This test failed due to inadequate Support implementation
50     myField->rmDriver(myDriver2);
51
52     MESH * myMesh  = new MESH();
53     int myDriver3  = myMesh->addDriver(MED_DRIVER, fileName, meshName);
54     myMesh->read();
55     myMesh->rmDriver();
56
57
58     myMesh->removeReference();
59     myField->removeReference();
60
61   } catch (MEDEXCEPTION& ex){
62     MESSAGE_MED(ex.what()) ;
63   }
64 }