2 /* Programme de test du constructeur de copies de la classe MEDARRAY de MEDMEM
10 #include "MEDMEM_Exception.hxx"
11 #include "MEDMEM_Mesh.hxx"
12 #include "MEDMEM_Family.hxx"
13 #include "MEDMEM_Group.hxx"
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"
22 void affiche_medarray(MEDARRAY<double> & myMedArray)
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) ;
30 for (int j=0;j<numberof;j++)
31 cout << node[j] << " " ;
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) ;
39 for (int j=0;j<numberof;j++)
40 cout << node[j] << " " ;
43 MESSAGE("Show all 3 :");
44 numberof = myMedArray.getLeadingValue() ;
45 for (int i=1; i<=myMedArray.getLengthValue() ; i++) {
47 for (int j=1;j<numberof+1;j++)
48 cout << myMedArray.getIJ(i,j) << " " ;
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++) {
58 for (int j=0;j<numberof;j++)
59 cout << NoInterlaceArray[j*length+i] << " " ;
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;
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;
78 int main (int argc, char ** argv) {
81 if ((argc !=3) && (argc != 4)) {
82 cerr << "Usage : " << argv[0]
83 << " filename meshname fieldname" << endl << endl;
87 const med_int nb_noeuds = 8;
88 const med_int dimension = 3;
89 const medModeSwitch mode = MED_NO_INTERLACE;
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());
98 affiche_medarray(* myMedArray);
99 MEDARRAY<double> * myMedArray2 = new MEDARRAY<double>();
100 * myMedArray2 = * myMedArray;
102 affiche_medarray(* myMedArray2);