Salome HOME
This commit was generated by cvs2git to create branch 'IMPORT'.
[modules/med.git] / src / MEDMEM / test_affect_medarray.cxx
1 using namespace std;
2 /* Programme de test du constructeur de copies de la classe MEDARRAY de MEDMEM
3    jroy - 16/12/2002 */
4
5 #include <string>
6
7 #include <math.h>
8 #include <stdlib.h>
9
10 #include "MEDMEM_Exception.hxx"
11 #include "MEDMEM_Mesh.hxx"
12 #include "MEDMEM_Family.hxx"
13 #include "MEDMEM_Group.hxx"
14
15 #include "MEDMEM_MedMeshDriver.hxx"
16 #include "MEDMEM_MedFieldDriver.hxx"
17 #include "MEDMEM_Support.hxx"
18 #include "MEDMEM_Field.hxx"
19 #include "MEDMEM_define.hxx"
20
21
22 void affiche_medarray(MEDARRAY<double> & myMedArray)
23 {
24   int numberof ;
25   MESSAGE("Show all 1 :");
26   numberof = myMedArray.getLeadingValue() ;
27   for (int i=1; i<=myMedArray.getLengthValue() ; i++) {
28     double * node = myMedArray.getI(MED_FULL_INTERLACE,i) ;
29     cout << " - " ;
30     for (int j=0;j<numberof;j++)
31       cout << node[j] << " " ;
32     cout << endl ;
33   }
34   MESSAGE("Show all 2 :");
35   numberof = myMedArray.getLengthValue() ;
36   for (int i=1; i<=myMedArray.getLeadingValue() ; i++) {
37     double * node = myMedArray.getI(MED_NO_INTERLACE,i) ;
38     cout << " - " ;
39     for (int j=0;j<numberof;j++)
40       cout << node[j] << " " ;
41     cout << endl ;
42   }
43   MESSAGE("Show all 3 :");
44   numberof = myMedArray.getLeadingValue() ;
45   for (int i=1; i<=myMedArray.getLengthValue() ; i++) {
46     cout << " - " ;
47     for (int j=1;j<numberof+1;j++)
48       cout << myMedArray.getIJ(i,j) << " " ;
49     cout << endl ;
50   }
51
52   MESSAGE("Show all 0 :");
53   numberof = myMedArray.getLeadingValue() ;
54   int length = myMedArray.getLengthValue() ;
55   double * NoInterlaceArray = myMedArray.get(MED_NO_INTERLACE) ;
56   for (int i=0; i<length ; i++) {
57     cout << " - " ;
58     for (int j=0;j<numberof;j++)
59       cout << NoInterlaceArray[j*length+i] << " " ;
60     cout << endl ;
61   }
62
63
64   /*
65   cout << "Nombre de lignes : " << myMedArray.getLengthValue() << endl;
66   cout << "Nombre de colonnes : " << myMedArray.getLeadingValue() << endl;
67   cout << "Mode d'écriture en mémoire : " << myMedArray.getMode() << endl;
68   cout << "Valeurs (_valuesDefault) :" << endl;
69
70   for (med_int i=1; i<=myMedArray.getLengthValue(); i++) {
71     for (med_int j=1; j<=myMedArray.getLeadingValue(); j++)
72       cout << i << "  " << j << "    " << myMedArray.getIJ(i,j) << " " << endl;
73   }
74   */
75 }
76
77
78 int main (int argc, char ** argv) {
79
80   /*
81   if ((argc !=3) && (argc != 4)) {
82     cerr << "Usage : " << argv[0] 
83          << " filename meshname fieldname" << endl << endl;
84     exit(-1);
85   }
86   */
87   const med_int nb_noeuds = 8;
88   const med_int dimension = 3;
89   const medModeSwitch mode = MED_NO_INTERLACE;
90
91
92   MEDARRAY<double> * myMedArray = new MEDARRAY<double>(dimension,nb_noeuds,mode);
93   for (med_int i=1; i<=myMedArray->getLengthValue(); i++) {
94     for (med_int j=1; j<=myMedArray->getLeadingValue(); j++)
95       myMedArray->setIJ(i,j,(double) random());
96   };
97
98   affiche_medarray(* myMedArray);
99   MEDARRAY<double> * myMedArray2 = new MEDARRAY<double>();
100   * myMedArray2 = * myMedArray;
101   delete myMedArray;
102   affiche_medarray(* myMedArray2);
103   delete myMedArray2;
104
105   return 0;
106 }