Salome HOME
Merge with version on tag OCC-V2_1_0d
[tools/medcoupling.git] / doc / MEDMEM / FIELDgeneral.cxx
1 using namespace std;
2 #include "MEDMEM_Mesh.hxx"
3 #include "MEDMEM_Field.hxx"
4
5 using namespace MEDMEM;
6
7 int main (int argc, char ** argv) {
8
9   const string MedFile = "pointe.med" ;
10   const string MeshName = "maa1" ;
11   const string FieldName = "fieldcelldoublevector" ;
12
13   /* read MESH */
14   MESH * myMesh = new MESH(MED_DRIVER,MedFile,MeshName) ;
15   //  myMesh->read() ;
16
17   /* read FIELD */
18   // we need a support :
19   SUPPORT * mySupport = new SUPPORT(myMesh,"Support on all Cells",MED_CELL);
20   FIELD<double> myField(mySupport,MED_DRIVER,MedFile,FieldName) ;
21   //  myField.read() ;
22
23   /* what in Field ? */
24   // How many components
25   int NumberOfCompoennts = myField.getNumberOfComponents() ;
26
27   const string * ComponentsNames = myField.getComponentsNames();
28   const string * ComponentsDescriptions = myField.getComponentsDescriptions();
29   const string * ComponentsUnits = myField.getMEDComponentsUnits();
30
31   for(int i=0;i<NumberOfCompoennts; i++) {
32     cout << "Component " << i << " :" <<endl ;
33     cout << "  - name        : " << ComponentsNames[i] << endl ;
34     cout << "  - description : " << ComponentsDescriptions[i] << endl ;
35     cout << "  - unit        : " << ComponentsUnits[i] << endl ;
36   }
37
38   // Which iteration :
39   int IterationNumber = myField.getIterationNumber() ; // negative mean undefined
40   int OrderNumber = myField.getOrderNumber() ;
41   // internal iteration at this time iteration, negative mean undefined
42   double Time = myField.getTime() ;
43
44   cout << "Iteration " << IterationNumber << " at time " << Time <<
45     " (and order number " << OrderNumber << ")" << endl ;
46
47   // How many Value :
48   int NumberOfValue = mySupport->getNumberOfElements(MED_ALL_ELEMENTS);
49   // Value
50   const double * Value = myField.getValue(MED_FULL_INTERLACE);
51   for(int i=0; i<NumberOfValue; i++) {
52     for(int j=0; j<NumberOfCompoennts; j++)
53       cout << Value[i*NumberOfCompoennts+j] << " " ;
54     cout << endl ;
55   }
56
57   delete mySupport;
58   delete myMesh;
59
60   return 0 ;
61 }