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"
20 using namespace MEDMEM;
23 void affiche_medarray(MEDARRAY<double> & myMedArray)
26 MESSAGE("Show all 1 :");
27 numberof = myMedArray.getLeadingValue() ;
28 for (int i=1; i<=myMedArray.getLengthValue() ; i++) {
29 const double * node = myMedArray.getRow(i) ;
31 for (int j=0;j<numberof;j++)
32 cout << node[j] << " " ;
35 MESSAGE("Show all 2 :");
36 numberof = myMedArray.getLengthValue() ;
37 for (int i=1; i<=myMedArray.getLeadingValue() ; i++) {
38 const double * node = myMedArray.getColumn(i) ;
40 for (int j=0;j<numberof;j++)
41 cout << node[j] << " " ;
44 MESSAGE("Show all 3 :");
45 numberof = myMedArray.getLeadingValue() ;
46 for (int i=1; i<=myMedArray.getLengthValue() ; i++) {
48 for (int j=1;j<numberof+1;j++)
49 cout << myMedArray.getIJ(i,j) << " " ;
53 MESSAGE("Show all 0 :");
54 numberof = myMedArray.getLeadingValue() ;
55 int length = myMedArray.getLengthValue() ;
56 const double * NoInterlaceArray = myMedArray.get(MED_NO_INTERLACE) ;
57 for (int i=0; i<length ; i++) {
59 for (int j=0;j<numberof;j++)
60 cout << NoInterlaceArray[j*length+i] << " " ;
66 cout << "Nombre de lignes : " << myMedArray.getLengthValue() << endl;
67 cout << "Nombre de colonnes : " << myMedArray.getLeadingValue() << endl;
68 cout << "Mode d'écriture en mémoire : " << myMedArray.getMode() << endl;
69 cout << "Valeurs (_valuesDefault) :" << endl;
71 for (med_int i=1; i<=myMedArray.getLengthValue(); i++) {
72 for (med_int j=1; j<=myMedArray.getLeadingValue(); j++)
73 cout << i << " " << j << " " << myMedArray.getIJ(i,j) << " " << endl;
79 int main (int argc, char ** argv) {
82 if ((argc !=3) && (argc != 4)) {
83 cerr << "Usage : " << argv[0]
84 << " filename meshname fieldname" << endl << endl;
88 const med_int nb_noeuds = 8;
89 const med_int dimension = 3;
90 const medModeSwitch mode = MED_NO_INTERLACE;
93 MEDARRAY<double> * myMedArray = new MEDARRAY<double>(dimension,nb_noeuds,mode);
94 for (med_int i=1; i<=myMedArray->getLengthValue(); i++) {
95 for (med_int j=1; j<=myMedArray->getLeadingValue(); j++)
96 myMedArray->setIJ(i,j,(double) random());
99 affiche_medarray(* myMedArray);
100 MEDARRAY<double> * myMedArray2 = new MEDARRAY<double>();
101 * myMedArray2 = * myMedArray;
102 // delete myMedArray; // si on recopie les tableaux
103 affiche_medarray(* myMedArray2);
104 delete myMedArray; // si on ne recopie pas les tableaux