? MED_SRC_3.2.2/aclocal.m4 ? MED_SRC_3.2.2/autom4te.cache ? MED_SRC_3.2.2/configure ? MED_SRC_3.2.2/configure.in ? MED_SRC_3.2.2/configure.in_new ? MED_SRC_3.2.2/configure.in_old Index: MED_SRC_3.2.2/adm_local/unix/config_files/check_Med2.m4 =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/adm_local/unix/config_files/check_Med2.m4,v retrieving revision 1.2 retrieving revision 1.2.50.1 diff -c -u -r1.2 -r1.2.50.1 --- MED_SRC_3.2.2/adm_local/unix/config_files/check_Med2.m4 5 Sep 2005 07:28:40 -0000 1.2 +++ MED_SRC_3.2.2/adm_local/unix/config_files/check_Med2.m4 21 Sep 2006 12:56:03 -0000 1.2.50.1 @@ -69,12 +69,88 @@ dnl check med2 header +f77int="F77INT32" +case $host_os in + irix5.* | irix6.* | osf4.* | osf5.* | linux* ) + + linux64="true" + expr "$host_os" : 'linux' >/dev/null && test ! x"$host_cpu" = x"x86_64" && linux64="false" + if test ! x"$linux64" = "xfalse" ; then + echo "$as_me:$LINENO: checking for 64bits integers size in F77/F90" >&5 +echo $ECHO_N "checking for 64bits integers size in F77/F90... $ECHO_C" >&6 + # Check whether --enable-int64 or --disable-int64 was given. +if test "${enable_int64+set}" = set; then + enableval="$enable_int64" + +fi; + case "X-$enable_int64" in + X-no) + echo "$as_me:$LINENO: result: \"disabled\"" >&5 +echo "${ECHO_T}\"disabled\"" >&6 + SUFFIXES="_32" + ;; + *) + echo "$as_me:$LINENO: result: \"enabled\"" >&5 +echo "${ECHO_T}\"enabled\"" >&6 + SUFFIXES="" + f77int="F77INT64" + ;; + esac + fi + ;; + *) + ;; +esac + +case $host_os in + linux*) + test x"$linux64" = x"true" && \ + MACHINE="PCLINUX64${SUFFIXES}" || \ + MACHINE=PCLINUX + ;; + hpux*) + MACHINE=HP9000 + ;; + aix4.*) + MACHINE=RS6000 + host_os_novers=aix4.x + ;; + irix5.*) + MACHINE="IRIX64${SUFFIXES}" + host_os_novers=irix5.x + ;; + irix6.*) + MACHINE="IRIX64${SUFFIXES}" + host_os_novers=irix6.x + ;; + osf4.*) + MACHINE="OSF1${SUFFIXES}" + host_os_novers=osf4.x + ;; + osf5.*) + MACHINE="OSF1${SUFFIXES}" + host_os_novers=osf5.x + ;; + solaris2.*) + MACHINE=SUN4SOL2 + host_os_novers=solaris2.x + ;; + uxpv*) + MACHINE=VPP5000 + ;; + *) + MACHINE= + host_os_novers=$host_os + ;; +esac + CPPFLAGS_old="$CPPFLAGS" dnl we must test system : linux = -DPCLINUX dnl we must test system : Alpha-OSF = -DOSF1 case $host_os in linux*) - CPPFLAGS="$CPPFLAGS -DPCLINUX $LOCAL_INCLUDES" + CPPFLAGS="$CPPFLAGS -D$MACHINE $LOCAL_INCLUDES" +dnl CPPFLAGS="$CPPFLAGS -DPCLINUX $LOCAL_INCLUDES" ;; osf*) CPPFLAGS="$CPPFLAGS -DOSF1 $LOCAL_INCLUDES" @@ -99,7 +175,8 @@ then case $host_os in linux*) - MED2_INCLUDES="-DPCLINUX $LOCAL_INCLUDES" + MED2_INCLUDES="-D$MACHINE $LOCAL_INCLUDES" +dnl MED2_INCLUDES="-DPCLINUX $LOCAL_INCLUDES" ;; osf*) MED2_INCLUDES="-DOSF1 $LOCAL_INCLUDES" Index: MED_SRC_3.2.2/idl/MED.idl =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/idl/MED.idl,v retrieving revision 1.18 retrieving revision 1.18.2.1 diff -c -u -r1.18 -r1.18.2.1 --- MED_SRC_3.2.2/idl/MED.idl 1 Jun 2006 11:21:13 -0000 1.18 +++ MED_SRC_3.2.2/idl/MED.idl 17 Oct 2006 13:01:31 -0000 1.18.2.1 @@ -651,6 +651,20 @@ raises (SALOME::SALOME_Exception); /*! + If the method %isOnAllElements() returns False, this method returns an array which + contains all numbers of given %medGeometryElement. + + Numbering is from file, ie numbers are bounded by 1 and + MESH::getNumberOfElement(entity,MED_ALL_ELEMENTS) and not by 1 and + MESH::getNumberOfElement(entity,geomElement). + + \note + If %SUPPORT is defined on MED_NODE, use MED_NONE %medGeometryElement type. + */ + SALOME_MED::long_array getNumberFromFile(in medGeometryElement geomElement) + raises (SALOME::SALOME_Exception); + + /*! Idem SALOME::Sender getNumber(in medGeometryElement geomElement) but returning Sender.\n It could be used in a Client code using the MED Client classes. */ Index: MED_SRC_3.2.2/src/MED/Med_Gen_i.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MED/Med_Gen_i.cxx,v retrieving revision 1.19.2.2 retrieving revision 1.19.2.6 diff -c -u -r1.19.2.2 -r1.19.2.6 --- MED_SRC_3.2.2/src/MED/Med_Gen_i.cxx 1 Sep 2006 10:01:45 -0000 1.19.2.2 +++ MED_SRC_3.2.2/src/MED/Med_Gen_i.cxx 20 Oct 2006 06:49:10 -0000 1.19.2.6 @@ -409,7 +409,18 @@ // Creation du champ FIELD_ * myField; - MED * mymed = new MED(MED_DRIVER,fileName) ; + MED * mymed; + try + { + mymed = new MED(MED_DRIVER,fileName) ; + } + catch (const std::exception & ex) + { + MESSAGE("Exception Interceptee : "); + SCRUTE(ex.what()); + THROW_SALOME_CORBA_EXCEPTION("Unable to find this file ",SALOME::BAD_PARAM); + } + try { deque fieldsNames = mymed->getFieldNames() ; @@ -553,7 +564,8 @@ else // temporary file return make_pair - ( isSave ? SALOMEDS_Tool::GetTmpDir() : theURL, + ( //isSave ? SALOMEDS_Tool::GetTmpDir() : theURL, + SALOMEDS_Tool::GetTmpDir(), "tmp.med" ); } @@ -600,22 +612,9 @@ SALOMEDS_Tool::RemoveTemporaryFiles(aPath.c_str(), aSeq.in(), true); } - SALOMEDS::SObject_var aMedMeshFather = theStudy->FindObject("MEDMESH"); - if (!CORBA::is_nil(aMedMeshFather)) { - SALOMEDS::ChildIterator_var anIter = theStudy->NewChildIterator(aMedMeshFather); - anIter->InitEx(1); - for(; anIter->More(); anIter->Next()) { - SALOMEDS::SObject_var aSO = anIter->Value(); - SALOME_MED::MESH_var myMesh = SALOME_MED::MESH::_narrow( aSO->GetObject() ); - if (! CORBA::is_nil(myMesh)) { - long driverId = myMesh->addDriver(SALOME_MED::MED_DRIVER, - aFile.c_str(), - myMesh->getName()); - myMesh->write(driverId,""); - } - } - } + // First save fields and their meshes and then not saved meshes + set< CORBA::Long > savedMeshIDs; SALOMEDS::SObject_var aMedFieldFather = theStudy->FindObject("MEDFIELD"); if (!CORBA::is_nil(aMedFieldFather)) { SALOMEDS::ChildIterator_var anIter = theStudy->NewChildIterator(aMedFieldFather); @@ -628,9 +627,45 @@ aFile.c_str(), myField->getName()); myField->write(driverId,""); + // save mesh + SALOME_MED::SUPPORT_var sup = myField->getSupport(); + if ( !sup->_is_nil() ) { + SALOME_MED::MESH_var mesh = sup->getMesh(); + if ( !mesh->_is_nil() ) { + CORBA::Long corbaID = mesh->getCorbaIndex(); + if ( savedMeshIDs.find( corbaID ) == savedMeshIDs.end() ) { + long driverId = mesh->addDriver(SALOME_MED::MED_DRIVER, + aFile.c_str(), + mesh->getName()); + mesh->write(driverId,""); + savedMeshIDs.insert( corbaID ); + } + } + } } } } + + SALOMEDS::SObject_var aMedMeshFather = theStudy->FindObject("MEDMESH"); + if (!CORBA::is_nil(aMedMeshFather)) { + SALOMEDS::ChildIterator_var anIter = theStudy->NewChildIterator(aMedMeshFather); + anIter->InitEx(1); + for(; anIter->More(); anIter->Next()) { + SALOMEDS::SObject_var aSO = anIter->Value(); + SALOME_MED::MESH_var myMesh = SALOME_MED::MESH::_narrow( aSO->GetObject() ); + if (! CORBA::is_nil(myMesh)) { + CORBA::Long corbaID = myMesh->getCorbaIndex(); + if ( savedMeshIDs.find( corbaID ) == savedMeshIDs.end() ) { + long driverId = myMesh->addDriver(SALOME_MED::MED_DRIVER, + aFile.c_str(), + myMesh->getName()); + myMesh->write(driverId,""); + savedMeshIDs.insert( corbaID ); + } + } + } + } + if ( isAscii ) HDFascii::ConvertFromHDFToASCII( aFile.c_str(), true); @@ -646,10 +681,90 @@ // Return the created byte stream END_OF(LOC); return aStreamFile._retn(); - } + + } // end of saveStudy() + + //================================================================================ + /*! + * \brief Load study contents + * \param theStudy - + * \param theURL - + * \param isMultiFile - + * \param isASCII - + * \retval char* - + */ + //================================================================================ + + void loadStudy(SALOMEDS::Study_ptr theStudy, + const SALOMEDS::TMPFile& theStream, + const char* theURL, + CORBA::Boolean isMultiFile, + CORBA::Boolean isASCII) + { + // Get a temporary directory for a file +// TCollection_AsciiString aTmpDir = +// isMultiFile ? (char*)theURL : (char*)SALOMEDS_Tool::GetTmpDir().c_str(); + //_saveFileName = CORBA::string_dup(aTmpDir.ToCString()); +// SALOMEDS::ListOfFileNames_var aSeq = +// SALOMEDS_Tool::PutStreamToFiles(theStream, aTmpDir.ToCString(), isMultiFile); + + // Get file name + pair aDir_aFileName = getPersistanceDirAndFileName + (theStudy, theURL, isMultiFile, RESTORE); + string& aPath = aDir_aFileName.first; + string& aBaseName = aDir_aFileName.second; + string aFile = aPath + aBaseName; + + SALOMEDS::ListOfFileNames_var aSeq = + SALOMEDS_Tool::PutStreamToFiles(theStream, aPath.c_str(), isMultiFile); + + string aASCIIPath, aASCIIFile; + if (isASCII) + { + aASCIIPath = HDFascii::ConvertFromASCIIToHDF(aFile.c_str()); + aASCIIFile = "hdf_from_ascii.hdf"; + aFile = aASCIIPath + aASCIIFile; + } + MED_i* myMedI = new MED_i(); + + // Read all meshes with supports and all fields + try + { +// cout << "-----------------Filename " << aFile << endl; + myMedI->initWithFieldType( theStudy, MED_DRIVER, aFile, true ); + + // publishing must be done by initWithFieldType according to flag + SALOME_MED::MED_ptr myMedIOR = myMedI->_this() ; + myMedI->addInStudy(theStudy,myMedIOR, 0); + } + catch (const std::exception & ex) + { + MESSAGE("Exception Interceptee : "); + SCRUTE(ex.what()); + THROW_SALOME_CORBA_EXCEPTION("Unable to read a hdf file",SALOME::BAD_PARAM); + }; + + // Remove tmp files + //SALOMEDS::ListOfFileNames_var aSeq = new SALOMEDS::ListOfFileNames; + if (!isMultiFile) { + aSeq->length(1); + aSeq[0]=CORBA::string_dup(aBaseName.c_str()); +// cout << "-----------------Remove " << aPath<< ", "<length(1); + aSeq[0] = CORBA::string_dup(aASCIIFile.c_str()); +// cout << "-----------------Remove " << aASCIIPath<< ", "<GetStudy(), theStream, theURL, isMultiFile, NON_ASCII ); + return true; } @@ -710,7 +821,8 @@ const SALOMEDS::TMPFile& theStream, const char* theURL, bool isMultiFile) { - return Load(theComponent, theStream, theURL, isMultiFile); + loadStudy ( theComponent->GetStudy(), theStream, theURL, isMultiFile, ASCII ); + return true; } //============================================================================= @@ -840,60 +952,6 @@ const char * LOC = "Med_Gen_i::LocalPersistentIDToIOR" ; BEGIN_OF(LOC) ; - bool isMesh, isField; - isMesh = isField = false; - - if (strcmp(aLocalPersistentID, "_MED Objet Med + /OBJ_MED/") == 0) // MED - { - // Get file name - pair aDir_aFileName = getPersistanceDirAndFileName - (theSObject->GetStudy(), _saveFileName.c_str(), isMultiFile, RESTORE); - string& aPath = aDir_aFileName.first; - string& aBaseName = aDir_aFileName.second; - string aFile = aPath + aBaseName; - - string aASCIIPath, aASCIIFile; - if (isASCII) - { - aASCIIPath = HDFascii::ConvertFromASCIIToHDF(aFile.c_str()); - aASCIIFile = "hdf_from_ascii.hdf"; - aFile = aASCIIPath + aASCIIFile; - } - MED_i* myMedI = new MED_i(); - - // Read all meshes with supports and all fields - try - { -// cout << "-----------------Filename " << aFile << endl; - myMedI->initWithFieldType( theSObject->GetStudy(), MED_DRIVER, aFile, true ); - } - catch (const std::exception & ex) - { - MESSAGE("Exception Interceptee : "); - SCRUTE(ex.what()); - THROW_SALOME_CORBA_EXCEPTION("Unable to read a hdf file",SALOME::BAD_PARAM); - }; - - // Remove tmp files - SALOMEDS::ListOfFileNames_var aSeq = new SALOMEDS::ListOfFileNames; - if (!isMultiFile) { - aSeq->length(1); - aSeq[0]=CORBA::string_dup(aBaseName.c_str()); -// cout << "-----------------Remove " << aPath<< ", "<length(1); - aSeq[0] = CORBA::string_dup(aASCIIFile.c_str()); -// cout << "-----------------Remove " << aASCIIPath<< ", "<_this(); - return(CORBA::string_dup(_orb->object_to_string(myMedIOR))); - } - return (CORBA::string_dup( theSObject->GetIOR() )); // is loaded along with MED } Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Connectivity.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Connectivity.cxx,v retrieving revision 1.18.2.2 retrieving revision 1.18.2.5 diff -c -u -r1.18.2.2 -r1.18.2.5 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Connectivity.cxx 6 Sep 2006 14:04:04 -0000 1.18.2.2 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Connectivity.cxx 17 Oct 2006 08:30:56 -0000 1.18.2.5 @@ -379,7 +379,7 @@ if (_polyhedronNodal != (POLYHEDRONARRAY*) NULL) delete _polyhedronNodal; _polyhedronNodal = new POLYHEDRONARRAY(NumberOfPolyhedron,NumberOfFaces,ConnectivitySize); -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int i ; MED_EN::med_int * tmp_PolyhedronIndex = new med_int[NumberOfPolyhedron+1] ; for ( i = 0 ; i < NumberOfPolyhedron+1 ; i++ ) @@ -793,7 +793,7 @@ ((CONNECTIVITY *)(this))->calculateNodalConnectivity(); if (_polyhedronNodal != (POLYHEDRONARRAY*) NULL) { //CCRT -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int i ; const MED_EN::med_int * tmp_PolyhedronConnectivity = _polyhedronNodal->getNodes(); int * PolyhedronConnectivity = new int[_polyhedronNodal->getNumberOfNodes()] ; @@ -834,7 +834,7 @@ // calculateNodalConnectivity(); if (_polyhedronNodal != (POLYHEDRONARRAY*) NULL) { //CCRT -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int i ; const MED_EN::med_int * tmp_PolyhedronFacesIndex = _polyhedronNodal->getFacesIndex(); int * PolyhedronFacesIndex = new int[_polyhedronNodal->getNumberOfFaces()+1] ; @@ -867,7 +867,7 @@ // calculateNodalConnectivity(); if (_polyhedronNodal != (POLYHEDRONARRAY*) NULL) { //CCRT -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int i ; const MED_EN::med_int * tmp_PolyhedronIndex = _polyhedronNodal->getPolyhedronIndex(); int * PolyhedronIndex = new int[_polyhedronNodal->getNumberOfPolyhedron()+1] ; @@ -1621,7 +1621,7 @@ { int myFaceNumberOfNodes = myPolyhedra.getFacesIndex()[j+1]-myPolyhedra.getFacesIndex()[j]; //CCRT -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int ii ; const med_int * Nodes = myPolyhedra.getNodes() ; int * tmp_Nodes = new int[myPolyhedra.getNumberOfNodes()] ; @@ -1629,7 +1629,7 @@ tmp_Nodes[ii] = Nodes[ii] ; const med_int * FacesIndex = myPolyhedra.getFacesIndex() ; int * tmp_FacesIndex = new int[myPolyhedra.getNumberOfFaces()+1] ; - for ( ii = 0 ; ii < myPolyhedra.getNumberOfNodes() ; ii++ ) + for ( ii = 0 ; ii < myPolyhedra.getNumberOfFaces() ; ii++ ) tmp_FacesIndex[ii] = FacesIndex[ii] ; //CCRT : copy of Nodes MEDMODULUSARRAY face_poly(myFaceNumberOfNodes,tmp_Nodes + tmp_FacesIndex[j]-1); @@ -1704,7 +1704,7 @@ if (getNumberOfPolyhedron() > 0) { -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int * tmp_PolyhedronIndex = new int[getNumberOfPolyhedron()+1] ; const MED_EN::med_int * PolyhedronIndex = _polyhedronNodal->getPolyhedronIndex() ; int ii ; Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedFieldDriver21.hxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedFieldDriver21.hxx,v retrieving revision 1.9.2.4 retrieving revision 1.9.2.9 diff -c -u -r1.9.2.4 -r1.9.2.9 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedFieldDriver21.hxx 8 Sep 2006 12:30:02 -0000 1.9.2.4 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedFieldDriver21.hxx 17 Oct 2006 07:08:07 -0000 1.9.2.9 @@ -441,6 +441,8 @@ (med_2_1::med_entite_maillage) entityCurrent, (med_2_1::med_geometrie_element) *currentGeometry, j,maa,&ngauss,&numdt,dtunit,&dt,&numo); + + MED_FIELD_DRIVER::_ptrField->setTime(dt); // PAL12664 // ret = med_2_2::MEDpasdetempsInfo(id, const_cast ( fieldName.c_str() ), // (med_2_1::med_entite_maillage) (*currentEntity).first, @@ -773,7 +775,7 @@ // Pour tester les profils aussi ? vector< MED_EN::medGeometryElement > meshGeoType; vector< int > meshNbOfElOfType; - getMeshGeometricType(id,meshName,mySupport->getEntity(),meshGeoType,meshNbOfElOfType); + MED_FIELD_DRIVER21::getMeshGeometricType(id,meshName,mySupport->getEntity(),meshGeoType,meshNbOfElOfType); vector supGeoType(mySupport->getTypes(), mySupport->getTypes()+mySupport->getNumberOfTypes()); vector < int > supNbOfElOfType(mySupport->getNumberOfElements(), @@ -855,7 +857,7 @@ MED_FIELD_DRIVER::_ptrField->_numberOfValues+=mySupport->getNumberOfElements(Types[i]); // Ne doit pas prendre en compte les points de Gauss med_2_1::med_err ret; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) || defined(PCLINUX64_32) int lgth2=NumberOfValues[i]*numberOfComponents; if(MED_FIELD_DRIVER::_ptrField->getValueType()==MED_EN::MED_INT32) { @@ -1060,7 +1062,7 @@ } } - END_OF(LOC); + // END_OF(LOC); } template void MED_FIELD_RDONLY_DRIVER21::write( void ) const @@ -1102,7 +1104,11 @@ string component_unit(component_count*MED_TAILLE_PNOM21,' ') ; const string * listcomponent_name=MED_FIELD_DRIVER::_ptrField->getComponentsNames() ; - const string * listcomponent_unit=MED_FIELD_DRIVER::_ptrField->getMEDComponentsUnits() ; + const string * listcomponent_unit=MED_FIELD_DRIVER::_ptrField->getMEDComponentsUnits(); + if ( ! listcomponent_name || ! listcomponent_unit ) + throw MEDEXCEPTION(LOCALIZED(STRING(LOC) <<" Udefined components of FIELD : " + << MED_FIELD_DRIVER::_ptrField->getName() << ".")); + int length ; for (int i=0; i < component_count ; i++) { length = min(MED_TAILLE_PNOM21,(int)listcomponent_name[i].size()); @@ -1250,10 +1256,10 @@ cout<<"==================> nom unit lu = "< valeur de med_2_1::MED_REEL64 = "<getValueType()==MED_EN::MED_INT32) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) || defined(PCLINUX64_32) + if(MED_FIELD_DRIVER::_ptrField->getValueType()==MED_EN::MED_INT32) { - int lgth2=_ptrField->getNumberOfValues(); + int lgth2=MED_FIELD_DRIVER::_ptrField->getNumberOfValues(); med_2_1::med_int *temp=new med_2_1::med_int[lgth2]; for(int i2=0;i2::_ptrField->setTime(dt); // PAL12664 + if ( ndt == numdt && numo == od ) { alreadyFoundPdtIt = true; @@ -840,8 +842,8 @@ <<") differs from FIELD object type (" << MED_FIELD_DRIVER::_ptrField->_valueType << ")" )) ; } -#if defined(IRIX64) || defined(OSF1) ||defined(VPP5000) - if (_ptrField->_valueType==MED_EN::MED_INT32 ) +#if defined(IRIX64) || defined(OSF1) ||defined(VPP5000) || defined(PCLINUX64) + if (MED_FIELD_DRIVER::_ptrField->_valueType==MED_EN::MED_INT32 ) needConversionToInt64=true; #endif break; @@ -892,7 +894,6 @@ << meshName << "|" )); } - MED_EN::medEntityMesh entityType = mySupport->getEntity(); //Si un SUPPORT était donné, récupère son nom, sa description et // le pointeur du maillage associé @@ -1003,7 +1004,6 @@ meshNbOfElOfType = MESHnbOfElOfType; } - // Test si le Support du Champ repose ou non sur toutes les entités géométriques // du maillage associé et positionne ou non l'attribut onAll du SUPPORT. // Il ne s'agit pas de la gestion des profils @@ -1065,14 +1065,14 @@ // du SUPPORT int profilSizeC = 0; vector < int > profilSize (NumberOfTypes,0); - vector < vector > profilList (NumberOfTypes); + vector < vector > profilList (NumberOfTypes); // IPAL13481 + vector < vector > profilListFromFile (NumberOfTypes); // IPAL13481 vector < string > profilNameList(NumberOfTypes); char * profilName = new char[MED_TAILLE_NOM+1]; MESSAGE ("NumberOfTypes : "<< NumberOfTypes); MED_FIELD_DRIVER::_ptrField->_numberOfValues=0 ; - for (int typeNo=0; typeNo::_fieldNum = MED_INVALID ; // we have not found right field, so reset the field number throw MEDEXCEPTION( LOCALIZED( STRING(LOC) <<": ERROR while reading values")) ; } + index += numberOfValuesWc; // Le support prend en compte le nombre de valeurs lié aux profils MED_FIELD_DRIVER::_ptrField->_numberOfValues+= @@ -1183,6 +1184,7 @@ } // cout << *MED_FIELD_DRIVER::_ptrField->_gaussModel[types[typeNo]] << endl; delete [] refcoo;delete [] gscoo; delete [] wg; + } delete[] gaussModelName ; @@ -1195,7 +1197,9 @@ profilSize[typeNo]=pflSize; profilList[typeNo].resize(pflSize); - ret = med_2_2::MEDprofilLire(id,&profilList[typeNo][0],profilName); // cf item 16 Effective STL + profilListFromFile[typeNo].resize(pflSize); + ret = med_2_2::MEDprofilLire(id,&profilList[typeNo][0],profilName); // cf item 16 Effective STL // IPAL13481 + profilListFromFile[typeNo] = profilList[typeNo]; profilNameList[typeNo]=string(profilName); } } @@ -1267,11 +1271,27 @@ for( int typeNo=0; typeNo < NumberOfTypes; typeNo++ ) index[typeNo+1]=index[typeNo]+profilSize[typeNo]; skyLine->setIndex(&index[0]); - for (int i=1; i <= profilList.size() ; i++) - skyLine->setI(i,&profilList[i-1][0]); + for (int i=1; i <= profilList.size() ; i++) { + vector aTmp(profilList[i-1].size()); // IPAL13481 + for (int j=0; j < profilList[i-1].size(); j++) + aTmp[j] = (int) profilList[i-1][j]; + skyLine->setI(i,&aTmp[0]); + //skyLine->setI(i,&profilList[i-1][0]); + } + + MEDSKYLINEARRAY * skyLineFromFile = new MEDSKYLINEARRAY(profilListFromFile.size(), profilSizeC ); + skyLineFromFile->setIndex(&index[0]); + for (int i=1; i <= profilListFromFile.size() ; i++) { + vector aTmp(profilListFromFile[i-1].size()); // IPAL13481 + for (int j=0; j < profilListFromFile[i-1].size(); j++) + aTmp[j] = (int) profilListFromFile[i-1][j]; + skyLineFromFile->setI(i,&aTmp[0]); + //skyLineFromFile->setI(i,&profilListFromFile[i-1][0]); + } mySupport->setAll(false); mySupport->setpartial(skyLine,true); + mySupport->setpartial_fromfile(skyLineFromFile,true); mySupport->setProfilNames(profilNameList); // cout << "Valeurs du skyline du SUPPORT partiel crée : " << *skyLine << endl; } @@ -1319,7 +1339,6 @@ MED_FIELD_DRIVER::_ptrField->_support=mySupport; //Prévenir l'utilisateur ? - END_OF(LOC); } @@ -1411,6 +1430,9 @@ const string * listcomponent_name=MED_FIELD_DRIVER::_ptrField->getComponentsNames() ; const string * listcomponent_unit=MED_FIELD_DRIVER::_ptrField->getMEDComponentsUnits() ; + if ( ! listcomponent_name || ! listcomponent_unit ) + throw MEDEXCEPTION(LOCALIZED(STRING(LOC) <<" Udefined components of FIELD : " + << fieldName << ".")); int length ; for (int i=0; i < component_count ; i++) { length = min(MED_TAILLE_PNOM22,(int)listcomponent_name[i].size()); @@ -1608,7 +1630,7 @@ // différents et est défini sur tous les éléments d'un type géométrique // mais pas de l'autre, il existe tout de même des profils sur les deux types géométriques. // Ce n'est pas le cas en MEDFICHIER. - vector profil(&number[index-1],&(number[index-1])+numberOfElements); + vector profil(&number[index-1],&(number[index-1])+numberOfElements); // Trouve l'index du type géométrique dans la liste des types géométriques du maillage // correspondant au type géométrique du champ en cours de traitement Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedMeshDriver21.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedMeshDriver21.cxx,v retrieving revision 1.7.2.1 retrieving revision 1.7.2.4 diff -c -u -r1.7.2.1 -r1.7.2.4 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedMeshDriver21.cxx 23 Jun 2006 14:07:52 -0000 1.7.2.1 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedMeshDriver21.cxx 6 Oct 2006 11:34:16 -0000 1.7.2.4 @@ -519,7 +519,7 @@ // INFOS(LOC<<"WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING"); MESSAGE(LOC<<"MED_MESH_RDONLY_DRIVER::getNoeuds() : Nodes have numbers, we DO TAKE care of them !"); _ptrMesh->_coordinate->_nodeNumber.set(NumberOfNodes) ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) for(med_2_1::med_int i2=0;i2_coordinate->_nodeNumber[i2]=(int)(tmp_node_number[i2]); #else @@ -1290,7 +1290,7 @@ // node int NumberOfNodes = _ptrMesh->getNumberOfNodes() ; MEDArrayNodeFamily = new int[ NumberOfNodes ]; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_2_1::med_int* MEDArrayNodeFamily2 = new med_2_1::med_int[ NumberOfNodes ]; err = med_2_1::MEDfamGridLire (_medIdt, const_cast (_ptrMesh->_name.c_str()), @@ -1329,11 +1329,11 @@ for (int i=0;i (_meshName.c_str()),i+1,med_2_1::MED_ATTR) ; + med_2_1::med_int NumberOfAttributes = med_2_1::MEDnFam(_medIdt,const_cast (_meshName.c_str()),i+1,med_2_1::MED_ATTR) ; if (NumberOfAttributes < 0) throw MEDEXCEPTION("MED_MESH_RDONLY_DRIVER21::getFAMILY() : NumberOfAttributes" ); - med_2_1::med_int NumberOfGroups = MEDnFam(_medIdt,const_cast (_meshName.c_str()),i+1,med_2_1::MED_GROUPE) ; + med_2_1::med_int NumberOfGroups = med_2_1::MEDnFam(_medIdt,const_cast (_meshName.c_str()),i+1,med_2_1::MED_GROUPE) ; if (NumberOfGroups < 0) throw MEDEXCEPTION("MED_MESH_RDONLY_DRIVER21::getFAMILY() : NumberOfGroups" ); @@ -1343,7 +1343,7 @@ int * AttributesValues = new int[NumberOfAttributes] ; string AttributesDescription(MED_TAILLE_DESC*NumberOfAttributes,' ') ; string GroupsNames(MED_TAILLE_LNOM*NumberOfGroups+1,'\0') ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_2_1::med_int tmp_NumberOfAttributes=NumberOfAttributes; med_2_1::med_int * AttributesIdentifier2 = new med_2_1::med_int[NumberOfAttributes] ; med_2_1::med_int * AttributesValues2 = new med_2_1::med_int[NumberOfAttributes] ; @@ -1460,7 +1460,7 @@ BEGIN_OF(LOC); if (_status==MED_OPENED) { int err = 0 ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=_ptrMesh->getNumberOfNodes(); med_2_1::med_int *temp=new med_2_1::med_int[lgth]; err = MEDfamLire(_medIdt,(const_cast (_ptrMesh->_name.c_str())), @@ -1498,7 +1498,7 @@ int i, err = 0 ; for (i=0;i_numberOfTypes;i++) { int NumberOfCell = Connectivity->_count[i+1]-Connectivity->_count[i] ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) const medGeometryElement * myTypes = _ptrMesh->getTypes(entity); int lgthI=_ptrMesh->getNumberOfElements(entity,myTypes[i]); med_2_1::med_int *temp=new med_2_1::med_int[lgthI]; @@ -1519,7 +1519,7 @@ // provisoire : si les faces ou les aretes sont des mailles !!! if (err != MED_VALID) { MESSAGE(LOC<<"search face/edge family on cell !!!"); -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgthI=_ptrMesh->getNumberOfElements(entity,myTypes[i]); med_2_1::med_int *temp=new med_2_1::med_int[lgthI]; err=MEDfamLire(_medIdt,const_cast (_ptrMesh->_name.c_str()), @@ -1883,7 +1883,7 @@ if (_ptrMesh->_arePresentOptionnalNodesNumbers==1) { -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=_ptrMesh->_coordinate->getNumberOfNodes(); med_2_1::med_int *temp=new med_2_1::med_int[lgth]; for(int i2=0;i2getConnectivity(MED_EN::MED_FULL_INTERLACE, MED_DESCENDING, entity, types[i]); // Pour l'instant la class utilise le multi..... -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=_ptrMesh->getConnectivityLength(MED_EN::MED_FULL_INTERLACE, MED_DESCENDING, entity, types[i]); med_2_1::med_int *temp=new med_2_1::med_int[lgth]; for(int i2=0;i2getIsAGrid() ){ -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=NumberOfNodes; med_2_1::med_int *temp=new med_2_1::med_int[lgth]; for(int i2=0;i2getGlobalNumberingIndex(entity) ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=NumberOfElements; med_2_1::med_int *temp=new med_2_1::med_int[lgth]; for(int i2=0;i2 ( _meshName.c_str() ), temp+typeCount[i]-1,typeCount[i+1]-typeCount[i], med_2_1::MED_REMP , @@ -2235,7 +2235,7 @@ << "| cells of geometric type |" << geoNames[ types[i]] <<"|in mesh |" << _ptrMesh->_name.c_str() << "|" )); } -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) delete [] temp; #endif delete[] MEDArrayFamily ; @@ -2293,7 +2293,7 @@ } const int * typeCount = _ptrMesh->getGlobalNumberingIndex(entity) ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=numberOfElements; med_2_1::med_int *temp=new med_2_1::med_int[lgth]; for(int i2=0;i2 ( _meshName.c_str() ), temp+typeCount[i]-1, typeNumberOfElements, med_2_1::MED_REMP , @@ -2320,7 +2320,7 @@ << "| faces of geometric type |" << geoNames[types[i]] <<"|in mesh |" << _ptrMesh->_name.c_str() << "|" )); } -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) delete [] temp; #endif delete[] familyArray ; @@ -2378,7 +2378,7 @@ } const int * typeCount = _ptrMesh->getGlobalNumberingIndex(entity) ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=numberOfElements; med_2_1::med_int *temp=new med_2_1::med_int[lgth]; for(int i2=0;i2 ( _meshName.c_str() ), temp+typeCount[i]-1, typeNumberOfElements, med_2_1::MED_REMP , @@ -2405,7 +2405,7 @@ << "| edges of geometric type |" << geoNames[types[i]] <<"|in mesh |" << _ptrMesh->_name.c_str() << "|" )); } -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) delete [] temp; #endif delete[] familyArray ; @@ -2491,7 +2491,7 @@ MESSAGE(LOC<<"attributesDescriptions.c_str() : "<getNumberOfAttributes(); med_2_1::med_int * AttributesIdentifier2 = new med_2_1::med_int[lgth] ; med_2_1::med_int * AttributesValues2 = new med_2_1::med_int[lgth] ; Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedMeshDriver22.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedMeshDriver22.cxx,v retrieving revision 1.13.2.1 retrieving revision 1.13.2.5 diff -c -u -r1.13.2.1 -r1.13.2.5 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedMeshDriver22.cxx 23 Jun 2006 14:07:52 -0000 1.13.2.1 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedMeshDriver22.cxx 17 Oct 2006 08:31:46 -0000 1.13.2.5 @@ -633,7 +633,7 @@ // INFOS(LOC<<"WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING"); MESSAGE(LOC<<"MED_MESH_RDONLY_DRIVER::getNoeuds() : Nodes have numbers, we DO TAKE care of them !"); _ptrMesh->_coordinate->_nodeNumber.set(NumberOfNodes) ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) for(med_2_2::med_int i2=0;i2_coordinate->_nodeNumber[i2]=(int)(tmp_node_number[i2]); #else @@ -1395,7 +1395,7 @@ if (Connectivity->_entityDimension == 2) {// 2D mesh : polygons in Connectivity //CCRT -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int* tmp_PolygonsConnectivity = new int[ConnectivitySize]; int i ; for ( i = 0 ; i < ConnectivitySize ; i++ ) @@ -1414,7 +1414,7 @@ { if (Connectivity->_constituent == NULL) // 3D mesh : polygons in Connectivity->_constituent Connectivity->_constituent = new CONNECTIVITY(MED_FACE); -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int* tmp_PolygonsConnectivity = new int[ConnectivitySize]; int i ; for ( i = 0 ; i < ConnectivitySize ; i++ ) @@ -1489,7 +1489,7 @@ } //CCRT -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int* tmp_Nodes = new int[NumberOfNodes]; int i ; for ( i = 0 ; i < NumberOfNodes ; i++ ) @@ -1639,7 +1639,7 @@ for (int i=0;i (_meshName.c_str()), @@ -1655,7 +1655,7 @@ if (NumberOfAttributes < 0) throw MEDEXCEPTION("MED_MESH_RDONLY_DRIVER22::getFAMILY() : NumberOfAttributes" ); -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_int tmp_NumberOfGroups = med_2_2::MEDnGroupe(_medIdt, const_cast (_meshName.c_str()),(i+1)) ; int NumberOfGroups = tmp_NumberOfGroups ; @@ -1673,7 +1673,7 @@ int * AttributesValues = new int[NumberOfAttributes] ; string AttributesDescription(MED_TAILLE_DESC*NumberOfAttributes,' ') ; string GroupsNames(MED_TAILLE_LNOM*NumberOfGroups+1,'\0') ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_int tmp_FamilyIdentifier ; med_int * tmp_AttributesIdentifier = new med_int[NumberOfAttributes] ; med_int * tmp_AttributesValues = new med_int[NumberOfAttributes] ; @@ -1807,7 +1807,7 @@ { int err = 0 ; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_int * tmp_MEDArrayNodeFamily = new med_int[_ptrMesh->getNumberOfNodes()] ; err = MEDfamLire(_medIdt, const_cast (_ptrMesh->_name.c_str()), tmp_MEDArrayNodeFamily, @@ -1848,7 +1848,7 @@ for (i=0;igetNumberOfTypesWithPoly(Connectivity->_entity);i++) { int NumberOfCell=Connectivity->getNumberOfElementsWithPoly(Connectivity->_entity,types[i]); -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_2_2::med_int * tmp_MEDArrayFamily = new med_2_2::med_int[NumberOfCell] ; err=MEDfamLire(_medIdt,const_cast (_ptrMesh->_name.c_str()), tmp_MEDArrayFamily,NumberOfCell, @@ -2309,7 +2309,7 @@ if (_ptrMesh->_arePresentOptionnalNodesNumbers==1) { -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) const int * NodesNumbers = _ptrMesh->_coordinate->getNodesNumbers() ; med_2_2::med_int * tmp_NodesNumbers = new med_int[_ptrMesh->_numberOfNodes] ; int ii ; @@ -2453,7 +2453,7 @@ // Polygons writing if (_ptrMesh->existPolygonsConnectivity(MED_NODAL,entity)) { -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_2_2::med_int * tmp_PolygonsConnectivityIndex = new med_2_2::med_int[_ptrMesh->getNumberOfPolygons()+1] ; const int * PolygonsConnectivityIndex = _ptrMesh->getPolygonsConnectivityIndex(MED_NODAL,entity) ; int ii ; @@ -2494,7 +2494,7 @@ // Polyhedron writing if (_ptrMesh->existPolyhedronConnectivity(MED_NODAL,entity)) { -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_2_2::med_int * tmp_PolyhedronIndex = new med_2_2::med_int[_ptrMesh->getNumberOfPolyhedron()+1] ; const int * PolyhedronIndex = _ptrMesh->getPolyhedronIndex(MED_NODAL) ; int ii ; @@ -2562,10 +2562,11 @@ // (MED_FR::med_geometrie_element) types[i], // MED_FR::MED_DESC ); -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) - med_2_2::med_int * tmp_Connectivity = new med_2_2::med_int[numberOfElements] ; +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) + int lgth = _ptrMesh->getConnectivityLength(MED_EN::MED_FULL_INTERLACE, MED_DESCENDING, entity, types[i]); + med_2_2::med_int * tmp_Connectivity = new med_2_2::med_int[lgth] ; int ii ; - for ( ii = 0 ; ii < numberOfElements ; ii++ ) + for ( ii = 0 ; ii < lgth ; ii++ ) tmp_Connectivity[ii] = connectivity[ii] ; err = med_2_2::MEDconnEcr(_medIdt, const_cast ( _meshName.c_str()), @@ -2603,7 +2604,7 @@ // Polygons writing if (_ptrMesh->existPolygonsConnectivity(MED_DESCENDING,entity)) { -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_2_2::med_int * tmp_PolygonsConnectivityIndex = new med_2_2::med_int[_ptrMesh->getNumberOfPolygons()+1] ; const int * PolygonsConnectivityIndex = _ptrMesh->getPolygonsConnectivityIndex(MED_DESCENDING,entity) ; int ii ; @@ -2647,7 +2648,7 @@ med_int NumberOfFaces = _ptrMesh->getPolyhedronIndex(MED_DESCENDING)[_ptrMesh->getNumberOfPolyhedron()]-1; vector FacesGeometricTypes(NumberOfFaces,MED_POLYGON); // by default all polyhedron faces are polygons -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) med_2_2::med_int * tmp_PolyhedronIndex = new med_2_2::med_int[_ptrMesh->getNumberOfPolyhedron()+1] ; const int * PolyhedronIndex = _ptrMesh->getPolyhedronIndex(MED_DESCENDING) ; int ii ; @@ -2818,8 +2819,9 @@ SCRUTE(MEDArrayFamily[i]); + const int * typeCount = _ptrMesh->getGlobalNumberingIndex(entity) ; int offset=0; -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=NumberOfElements; med_2_2::med_int *temp=new med_2_2::med_int[lgth]; for(int i2=0;i2getNumberOfElementsWithPoly(entity,types[i]); -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) err = MEDfamEcr(_medIdt, const_cast ( _meshName.c_str() ), (temp+offset),(typeCount[i+1]-typeCount[i]), //CCRT med_2_2::MED_REMP , @@ -2850,7 +2852,7 @@ offset+=typeNumberOfElements; } //CCRT Clutter -//CCRT#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +//CCRT#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) //CCRT delete [] temp; //CCRT#endif delete[] MEDArrayFamily ; @@ -2912,7 +2914,7 @@ SCRUTE(familyArray[i]); //CCRT Clutter -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=numberOfElements; med_2_2::med_int *temp=new med_2_2::med_int[lgth]; for(int i2=0;i2getNumberOfElementsWithPoly(entity,types[i]) ; SCRUTE(typeNumberOfElements); SCRUTE(offset); -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) err = MEDfamEcr(_medIdt, const_cast ( _meshName.c_str() ), (temp+offset), typeNumberOfElements, // (med_2_2::med_entite_maillage) entity, because Med Memory works only in Nodal connectivity @@ -2946,7 +2948,7 @@ offset+=typeNumberOfElements; } //CCRT there was "temp" and "familyArray" for OSF, but only "familyArray" for Linux ... -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) delete [] temp; //CCRT#endif #endif @@ -3013,7 +3015,7 @@ const int * typeCount = _ptrMesh->getGlobalNumberingIndex(entity) ; //CCRT : clutter : -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) int lgth=numberOfElements; med_2_2::med_int *temp=new med_2_2::med_int[lgth]; for(int i2=0;i2 ( _meshName.c_str() ), (temp+(typeCount[i]-1)), typeNumberOfElements, // (med_2_2::med_entite_maillage) entity, because Med Memory works only in Nodal connectivity @@ -3045,7 +3047,7 @@ << _ptrMesh->_name.c_str() << "|" )); } -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) delete [] temp; #endif delete[] familyArray ; @@ -3138,7 +3140,7 @@ MESSAGE(LOC<<"attributesDescriptions.c_str() : "<getNumberOfAttributes(); med_2_2::med_int * AttributesIdentifier2 = new med_2_2::med_int[lgth] ; med_2_2::med_int * AttributesValues2 = new med_2_2::med_int[lgth] ; Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Mesh.hxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Mesh.hxx,v retrieving revision 1.19.2.1 retrieving revision 1.19.2.5 diff -c -u -r1.19.2.1 -r1.19.2.5 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Mesh.hxx 25 Aug 2006 09:39:39 -0000 1.19.2.1 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Mesh.hxx 13 Oct 2006 14:19:41 -0000 1.19.2.5 @@ -299,7 +299,8 @@ void fillSupportOnNodeFromElementList(const list& listOfElt, SUPPORT *supportToFill) const throw (MEDEXCEPTION); SUPPORT *buildSupportOnElementsFromElementList(const list& listOfElt, MED_EN::medEntityMesh entity) const throw (MEDEXCEPTION); int getElementContainingPoint(const double *coord); - vector< vector > MESH::getBoundingBox() const; +// vector< vector > MESH::getBoundingBox() const; + vector< vector > getBoundingBox() const; template static FIELD * mergeFields(const vector< FIELD * > & others, bool meshCompare=false); /*! Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_ModulusArray.hxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_ModulusArray.hxx,v retrieving revision 1.7.2.2 retrieving revision 1.7.2.8 diff -c -u -r1.7.2.2 -r1.7.2.8 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_ModulusArray.hxx 6 Sep 2006 14:04:05 -0000 1.7.2.2 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_ModulusArray.hxx 6 Oct 2006 12:35:55 -0000 1.7.2.8 @@ -21,6 +21,8 @@ #define __MEDMODULUSARRAY_H__ #include "MEDMEM_Utilities.hxx" +#include "MEDMEM_define.hxx" + /* This class is use to set cyclic (modulus length) array. @@ -47,14 +49,15 @@ MEDMODULUSARRAY(int vertexLength, int totalLength, const int * array); ~MEDMODULUSARRAY() ; - const int & operator[](const int &i) const ; + const int operator[](const int &i) const ; int compare(const MEDMODULUSARRAY &modulusArray) const; }; + MEDMODULUSARRAY::MEDMODULUSARRAY(int length, const int * array) : - _length(length), _length2(length), _array(array) + _length(length), _array(array), _length2(0) { // SCRUTE(_length); // for (int i=0;i<_length;i++){ @@ -62,7 +65,7 @@ // } }; -MEDMODULUSARRAY::MEDMODULUSARRAY(int vertexLength, int totalLength, const int * array): + MEDMODULUSARRAY::MEDMODULUSARRAY(int vertexLength, int totalLength, const int * array): _length(vertexLength), _length2( totalLength ), _array(array) { } @@ -74,13 +77,13 @@ }; -const int & MEDMODULUSARRAY::operator[](const int &i) const +const int MEDMODULUSARRAY::operator[](const int &i) const { - //int position = i%_length ; - int position = i%_length2 ; + int position = i%_length ; + //int position = i%_length2 ; if (position < 0) - //position+=_length ; - position += _length2 ; + position+=_length ; + //position += _length2 ; return _array[position] ; }; Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Support.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Support.cxx,v retrieving revision 1.16.2.1 retrieving revision 1.16.2.4 diff -c -u -r1.16.2.1 -r1.16.2.4 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Support.cxx 26 Jun 2006 13:06:14 -0000 1.16.2.1 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Support.cxx 17 Oct 2006 12:59:15 -0000 1.16.2.4 @@ -414,6 +414,20 @@ END_OF(LOC); }; +void SUPPORT::setpartial_fromfile(MEDSKYLINEARRAY * number, bool shallowCopy) throw (MEDEXCEPTION) +//------------------- +{ + const char * LOC = "SUPPORT::setpartial_fromfile(MEDSKYLINEARRAY * number) : " ; + BEGIN_OF(LOC) ; + + if ( shallowCopy ) + _number_fromfile = number; + else + _number_fromfile = new MEDSKYLINEARRAY(*number); + + END_OF(LOC); +}; + void SUPPORT::setProfilNames(vector profilNames) throw (MEDEXCEPTION){ const char * LOC = "SUPPORT::setProfilNames(vector profilNames) : " ; Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Support.hxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Support.hxx,v retrieving revision 1.16.2.1 retrieving revision 1.16.2.4 diff -c -u -r1.16.2.1 -r1.16.2.4 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Support.hxx 16 Jun 2006 13:36:34 -0000 1.16.2.1 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_Support.hxx 17 Oct 2006 12:59:15 -0000 1.16.2.4 @@ -140,6 +140,15 @@ /*! \if developper + Array of size _index[_numberOfType]-1 wich contain number of + entities of each geometric type. We use file numbering.\n + Defined only if _isOnAllElts is false. + \endif + */ + mutable MEDSKYLINEARRAY * _number_fromfile; + + /*! + \if developper Array of size <_numberOfGeometricType> wich contain the profil name of entities of each geometric type.\n Defined only if _isOnAllElts is false. @@ -190,7 +199,9 @@ inline int getNumberOfElements(MED_EN::medGeometryElement GeometricType) const throw (MEDEXCEPTION); inline const int * getNumberOfElements() const throw (MEDEXCEPTION); virtual inline MEDSKYLINEARRAY * getnumber() const throw (MEDEXCEPTION); + virtual inline MEDSKYLINEARRAY * getnumberFromFile() const throw (MEDEXCEPTION); virtual inline const int * getNumber(MED_EN::medGeometryElement GeometricType) const throw (MEDEXCEPTION); + virtual inline const int * getNumberFromFile(MED_EN::medGeometryElement GeometricType) const throw (MEDEXCEPTION); virtual inline const int * getNumberIndex() const throw (MEDEXCEPTION); virtual int getValIndFromGlobalNumber(const int number) const throw (MEDEXCEPTION); @@ -204,6 +215,9 @@ void setpartial(MEDSKYLINEARRAY * number, bool shallowCopy=false) throw (MEDEXCEPTION); + + void setpartial_fromfile(MEDSKYLINEARRAY * number, bool shallowCopy=false) throw (MEDEXCEPTION); + // Si les noms de profils ne sont pas positionnés, les profils ne seront // pas écrits par MEDFICHIER. void setProfilNames(vector profilNames) throw (MEDEXCEPTION); @@ -273,6 +287,16 @@ return _number ; } +//--------------------------------------------------------------------- +inline MEDSKYLINEARRAY * SUPPORT::getnumberFromFile() const + throw (MEDEXCEPTION) +//--------------------------------------------------------------------- +{ + if (_number_fromfile==NULL) + throw MEDEXCEPTION("Support::getnumberFromFile : Not defined !") ; + return _number_fromfile ; +} + /*! If isOnAllElements is false, returns an array which contains all number of given medGeometryElement. @@ -300,6 +324,22 @@ throw MEDEXCEPTION(LOCALIZED(STRING(LOC)<<"GeometricType not found !")) ; } +//--------------------------------------------------------------------- +inline const int * SUPPORT::getNumberFromFile(MED_EN::medGeometryElement GeometricType) const + throw (MEDEXCEPTION) +//--------------------------------------------------------------------- +{ + const char * LOC = "Support::getNumberFromFile : " ; +// if (_isOnAllElts) +// throw MEDEXCEPTION(LOCALIZED(STRING(LOC)<<"Not defined, support is on all entity !")) ; + if (GeometricType==MED_EN::MED_ALL_ELEMENTS) + return _number_fromfile->getValue() ; + for (int i=0;i<_numberOfGeometricType;i++) + if (_geometricType[i]==GeometricType) + return _number_fromfile->getI(i+1) ; + throw MEDEXCEPTION(LOCALIZED(STRING(LOC)<<"GeometricType not found !")) ; +} + /*! If isOnAllElements is false, returns index of element number. Use it with getNumber(MED_ALL_ELEMENTS). Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_define.hxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_define.hxx,v retrieving revision 1.12 retrieving revision 1.12.2.1 diff -c -u -r1.12 -r1.12.2.1 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_define.hxx 1 Jun 2006 11:21:17 -0000 1.12 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_define.hxx 21 Sep 2006 12:56:04 -0000 1.12.2.1 @@ -113,7 +113,7 @@ // //#define MED_ALL 0 !!!!! NB: WARNING MED_ALL deja utilise dans l'enum medGeometryElement !!!!!!!! // #define MED_ALL 0 -#if defined(SUN4SOL2) || defined(PCLINUX) || defined(OSF1_32) || defined(IRIX64_32) || defined(RS6000) +#if defined(SUN4SOL2) || defined(PCLINUX) || defined(PCLINUX64_32) || defined(OSF1_32) || defined(IRIX64_32) || defined(RS6000) /* interface C/FORTRAN */ /* this true only with g77 and gcc : we must change it to use directly NOMF_... and INT32 or INT64 - it will be more simple to understand and to use ! */ // #define NOMF_POST_UNDERSCORE @@ -141,7 +141,7 @@ typedef double med_float; #endif -#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) +#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) // #define NOMF_POST_UNDERSCORE /* correspondance des types avec HDF 5 */ Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_medimport_src.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_medimport_src.cxx,v retrieving revision 1.5 retrieving revision 1.5.2.2 diff -c -u -r1.5 -r1.5.2.2 --- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_medimport_src.cxx 1 Jun 2006 11:21:17 -0000 1.5 +++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_medimport_src.cxx 5 Oct 2006 10:12:51 -0000 1.5.2.2 @@ -65,7 +65,7 @@ switch(type) { case MED_FLOAT64 : -#if defined(PCLINUX) || defined(OSF1) +#if defined(PCLINUX) || defined(PCLINUX64) || defined(PCLINUX64_32) || defined(OSF1) /* type_hdf = H5T_IEEE_F64BE; */ if (H5Tequal(hdf_file,H5T_IEEE_F64BE)) type_hdf = H5T_IEEE_F64LE; @@ -81,7 +81,7 @@ break; case MED_INT : -#if defined(IRIX64) || defined(OSF1) +#if defined(IRIX64) || defined(OSF1) || defined(PCLINUX64) type_hdf = H5T_NATIVE_LONG; #else type_hdf = H5T_NATIVE_INT; @@ -140,7 +140,7 @@ the file read under SGI is incorrect 2) Compaq OSF/1 is LE, since we force SGI64,SUN4SOL2,HP to write double in LE even if they are BE, mips OSF/1 must be BE REM : Be careful of compatibility between MED files when changing this (med2.2) */ -#if defined(PCLINUX) || defined(OSF1) +#if defined(PCLINUX) || defined(PCLINUX64) || defined(PCLINUX64_32) || defined(OSF1) /* type_hdf = H5T_IEEE_F64BE; */ if (H5Tequal(hdf_file,H5T_IEEE_F64BE)) type_hdf = H5T_IEEE_F64LE; @@ -866,7 +866,7 @@ if(old_conn == NULL) throw MEDEXCEPTION("Problem in the med File convertor 2.1 to 2.2, you should check the med File you wanted to mount in memory"); -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) ret = OLD_MEDdatasetNumLire(gid,MED_NOM_NOD,MED_INT64, MED_NO_INTERLACE,(med_size)taille,MED_ALL, 0,NULL,MED_NOPG, @@ -889,7 +889,7 @@ for (j=0;jFindObjectByPath( entryPath.c_str() )); + SALOMEDS::SObject_var so = study->FindObjectByPath( entryPath.c_str() ); + return ! CORBA::is_nil( so ); + } + bool isPublishedMesh(SALOMEDS::Study_ptr study) + { + string entryPath = "/Med/MEDMESH"; + SALOMEDS::SObject_var so = study->FindObjectByPath( entryPath.c_str() ); + if ( !so->_is_nil() ) { + CORBA::String_var ior = so->GetIOR(); + // for persistance: "published" means SObject exists but without IOR + bool published = ( strlen( ior ) == 0 ); + return published; + } + return false; } } @@ -240,8 +253,7 @@ void MED_i::initWithFieldType(SALOMEDS::Study_ptr myStudy,driverTypes driverType, const string & fileName, bool persistence) { // if (persistence): - // all meshes and fields contained in the file should be published, - // only some supports maybe not + // some supports, or meshes can be not published const char * LOC = "MED_i::initWithFieldType(driverTypes, const string &)"; BEGIN_OF(LOC); @@ -271,7 +283,8 @@ MESH_i * myMeshI = new MESH_i(myMesh); SALOME_MED::MESH_ptr myMeshIOR = myMeshI->_this(); _meshes[meshesNames[i]]=myMeshIOR; - myMeshI->addInStudy(myStudy,myMeshIOR); + if ( !persistence || isPublishedMesh(myStudy )) + myMeshI->addInStudy(myStudy,myMeshIOR); } // SUPPORTS : @@ -1254,6 +1267,9 @@ //============================================================================= /*! * CORBA: Add Med object in Study with a name medObjName + * + * FOR PERSISTANCE: if fileName is NULL string, looks for a SObject with a + * suitable name and bad IOR and update the IOR */ //============================================================================= void MED_i::addInStudy(SALOMEDS::Study_ptr myStudy, SALOME_MED::MED_ptr myIor, @@ -1282,36 +1298,69 @@ SALOME::BAD_PARAM); }; - MESSAGE("Add a MED Object under Med"); - - char * medObjName; - string::size_type pos1=string(fileName).rfind('/'); - string::size_type lenFileName = strlen(fileName); - string fileNameShort = string(fileName,pos1+1,lenFileName-pos1-1); - - SCRUTE(fileNameShort); - - int lenName = 21 + strlen(fileNameShort.c_str()) + 1; - medObjName = new char[lenName]; - medObjName = strcpy(medObjName,"MED_OBJECT_FROM_FILE_"); - medObjName = strcat(medObjName,fileNameShort.c_str()); + SALOMEDS::SObject_var medObj; + if ( ! fileName ) + { + // FOR PERSISTANCE: if fileName is a NULL string, + // looks for a SObject with a suitable name and + // bad IOR and update the IOR + SALOMEDS::ChildIterator_var anIter = myStudy->NewChildIterator( medfather ); + for ( ; anIter->More(); anIter->Next()) { + SALOMEDS::SObject_var obj = anIter->Value(); + // check name + CORBA::String_var name = obj->GetName(); + const char* suitableName1 = "MED_OBJECT_FROM_FILE_"; + const char* suitableName2 = "Objet MED"; + if ( strncmp( name, suitableName1, strlen(suitableName1)) == 0 || + strcmp( name, suitableName2 ) == 0 ) { + // check IOR + CORBA::String_var ior = obj->GetIOR(); + if ( strlen( ior ) == 0 ) { + medObj = obj; + break; + } + } + } + if ( medObj->_is_nil() ) + return; // nothing looking like MED found in the study + } + else + { + MESSAGE("Add a MED Object under Med"); - SALOMEDS::SObject_var newObj = myBuilder->NewObject(medfather); + char * medObjName; + string::size_type pos1=string(fileName).rfind('/'); + string::size_type lenFileName = strlen(fileName); + string fileNameShort = string(fileName,pos1+1,lenFileName-pos1-1); + + SCRUTE(fileNameShort); + + int lenName = 21 + strlen(fileNameShort.c_str()) + 1; + medObjName = new char[lenName]; + medObjName = strcpy(medObjName,"MED_OBJECT_FROM_FILE_"); + medObjName = strcat(medObjName,fileNameShort.c_str()); + + string path = string("/Med/") + medObjName; + medObj = myStudy->FindObjectByPath(path.c_str()); + if ( medObj->_is_nil() ) + medObj = myBuilder->NewObject(medfather); + + anAttr = myBuilder->FindOrCreateAttribute(medObj, "AttributeName"); + aName = SALOMEDS::AttributeName::_narrow(anAttr); + aName->SetValue(medObjName); + delete [] medObjName; + } ORB_INIT &init = *SINGLETON_::Instance(); ASSERT(SINGLETON_::IsAlreadyExisting()); CORBA::ORB_var &orb = init(0,0); string iorStr = orb->object_to_string(myIor); - anAttr = myBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"); + anAttr = myBuilder->FindOrCreateAttribute(medObj, "AttributeIOR"); aIOR = SALOMEDS::AttributeIOR::_narrow(anAttr); aIOR->SetValue(iorStr.c_str()); - anAttr = myBuilder->FindOrCreateAttribute(newObj, "AttributeName"); - aName = SALOMEDS::AttributeName::_narrow(anAttr); - aName->SetValue(medObjName); - _medId = newObj->GetID(); - myBuilder->CommitCommand(); - delete [] medObjName; + _medId = medObj->GetID(); + myBuilder->CommitCommand(); // char * medObjName1; // lenName = 26 + strlen(fileNameShort.c_str()); Index: MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Support_i.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Support_i.cxx,v retrieving revision 1.17.2.1 retrieving revision 1.17.2.4 diff -c -u -r1.17.2.1 -r1.17.2.4 --- MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Support_i.cxx 23 Jun 2006 14:15:01 -0000 1.17.2.1 +++ MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Support_i.cxx 17 Oct 2006 13:00:35 -0000 1.17.2.4 @@ -407,6 +407,45 @@ //============================================================================= /*! + * CORBA: get Nodes from file + */ +//============================================================================= +SALOME_MED::long_array * SUPPORT_i::getNumberFromFile(SALOME_MED::medGeometryElement geomElement) +throw (SALOME::SALOME_Exception) +{ + SCRUTE(_support); + SCRUTE(geomElement); + SCRUTE(convertIdlEltToMedElt(geomElement)); + + if (_support==NULL) + THROW_SALOME_CORBA_EXCEPTION("No associated Support", \ + SALOME::INTERNAL_ERROR); + SALOME_MED::long_array_var myseq= new SALOME_MED::long_array; + try + { + int nbelements=_support->getNumberOfElements(convertIdlEltToMedElt(geomElement)); + myseq->length(nbelements); +SCRUTE(_support->getName()); +SCRUTE(nbelements); +SCRUTE(convertIdlEltToMedElt(geomElement)); + const int * numbers=_support->getNumberFromFile(convertIdlEltToMedElt(geomElement)); + for (int i=0;i 128) + *ngauss =1; + } + if ((ret = H5Aclose(attid)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDbodyFittedEcr.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDbodyFittedEcr.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDbodyFittedEcr.cxx 3 Feb 2006 14:26:09 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDbodyFittedEcr.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -19,7 +19,7 @@ #include "med_outils.hxx" #include "med.hxx" -#if defined(IRIX64) +#if defined(IRIX64)||defined(PCLINUX64) #define MED_INTEGER MED_INT64 #else #define MED_INTEGER MED_INT32 Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampEcr.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampEcr.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampEcr.cxx 3 Feb 2006 14:26:09 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampEcr.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -203,7 +203,7 @@ break; case MED_INT32 : -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(datagroup2,MED_NOM_CO,MED_INT64,interlace,ncomp,numco,psize,pfltab,ngauss,dimd,val, mode)) < 0) return -1; @@ -215,7 +215,7 @@ break; case MED_INT64 : -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(datagroup2,MED_NOM_CO,MED_INT64,interlace,ncomp,numco,psize,pfltab,ngauss,dimd,val, mode)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampInfo.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampInfo.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampInfo.cxx 3 Feb 2006 14:26:09 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampInfo.cxx 5 Oct 2006 12:25:05 -0000 1.2.24.1 @@ -55,8 +55,15 @@ /* * La liste des attributs */ - if ((ret = _MEDattrEntierLire(gid,MED_NOM_TYP,(med_int*) type)) < 0) + + // MPV 05.10.2006 + // BUG IPAL 13482: on 64bit Mandriva OS sizeof(med_int)=8, but sizeof(med_type_champ)=4 + med_int aType; + // if ((ret = _MEDattrEntierLire(gid,MED_NOM_TYP,(med_int*) type)) < 0) + if ((ret = _MEDattrEntierLire(gid,MED_NOM_TYP,&aType)) < 0) return -1; + *type = (med_type_champ)aType; + if ((ret = _MEDattrStringLire(gid,MED_NOM_NOM,ncomp*MED_TAILLE_PNOM, comp)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampLire.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampLire.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampLire.cxx 3 Feb 2006 14:26:09 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDchampLire.cxx 21 Sep 2006 12:56:04 -0000 1.2.24.1 @@ -146,9 +146,9 @@ psize,pfltab,ngauss,val))< 0) return -1; break; - + case MED_INT32 : -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(datagroup2,MED_NOM_CO,MED_INT64, interlace,ncomp,numco, psize,pfltab,ngauss,val))< 0) @@ -162,7 +162,7 @@ break; case MED_INT64 : -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(datagroup2,MED_NOM_CO,MED_INT64, interlace,ncomp,numco, psize,pfltab,ngauss,val))< 0) Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDconnEcr.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDconnEcr.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDconnEcr.cxx 3 Feb 2006 14:26:09 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDconnEcr.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -106,7 +106,7 @@ return -1; } dimd[0] = nbre*taille; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(geoid,nom_dataset,MED_INT64,mode_switch,(med_size)taille,MED_ALL,MED_NOPF,0,MED_NOPG,dimd, (unsigned char*) connectivite,mode)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDconnLire.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDconnLire.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDconnLire.cxx 3 Feb 2006 14:26:09 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDconnLire.cxx 21 Sep 2006 12:56:04 -0000 1.2.24.1 @@ -116,7 +116,7 @@ } -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(geoid,nom_dataset,MED_INT64, mode_switch,(med_size)taille,MED_ALL, psize,pfltab,MED_NOPG, Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDdatasetNumEcrire.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDdatasetNumEcrire.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDdatasetNumEcrire.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDdatasetNumEcrire.cxx 21 Sep 2006 12:56:04 -0000 1.2.24.1 @@ -96,7 +96,7 @@ the file read under SGI is incorrect 2) Compaq OSF/1 is LE, since we force SGI64,SUN4SOL2,HP to write double in LE even if they are BE, mips OSF/1 must be BE REM : Be careful of compatibility between MED files when changing this (med2.2) */ -#if defined(PCLINUX) || defined(OSF1) +#if defined(PCLINUX) || defined(PCLINUX64) || defined(PCLINUX64_32) || defined(OSF1) type_hdf = H5T_IEEE_F64BE; #else type_hdf = H5T_IEEE_F64LE; @@ -104,7 +104,7 @@ break; case MED_INT32 : -#if defined(PCLINUX) +#if defined(PCLINUX) || defined(PCLINUX64) || defined(PCLINUX64_32) type_hdf = H5T_STD_I32BE; if ((H5Tconvert(H5T_NATIVE_INT,H5T_STD_I32BE,(hsize_t)*size,(void *)val,NULL,(hid_t)0)) < 0) return -1; @@ -428,7 +428,7 @@ if ((ret = H5Dclose(dataset)) < 0) return -1; -#if defined(PCLINUX) +#if defined(PCLINUX) || defined(PCLINUX64) || defined(PCLINUX64_32) if (type == MED_INT32) if ((H5Tconvert(H5T_STD_I32BE,H5T_NATIVE_INT,(hsize_t)*size,(void *)val,NULL,(hid_t)0)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDdatasetNumLire.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDdatasetNumLire.cxx,v retrieving revision 1.2.24.1 retrieving revision 1.2.24.2 diff -c -u -r1.2.24.1 -r1.2.24.2 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDdatasetNumLire.cxx 31 Aug 2006 14:30:50 -0000 1.2.24.1 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDdatasetNumLire.cxx 21 Sep 2006 12:56:04 -0000 1.2.24.2 @@ -95,7 +95,7 @@ the file read under SGI is incorrect 2) Compaq OSF/1 is LE, since we force SGI64,SUN4SOL2,HP to write double in LE even if they are BE, mips OSF/1 must be BE REM : Be careful of compatibility between MED files when changing this (med2.2) */ -#if defined(PCLINUX) || defined(OSF1) +#if defined(PCLINUX) || defined(OSF1) || defined(PCLINUX64) || defined(PCLINUX64_32) type_hdf = H5T_IEEE_F64BE; #else type_hdf = H5T_IEEE_F64LE; @@ -264,7 +264,7 @@ free(pflmem); free(pfldsk); } - + break; case MED_NO_INTERLACE : @@ -393,7 +393,7 @@ } free(pfldsk); - + }; break; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDequivEcr.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDequivEcr.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDequivEcr.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDequivEcr.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -87,7 +87,7 @@ dimd[0] = 2*n; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(datagroup,MED_NOM_COR,MED_INT64,MED_NO_INTERLACE,MED_DIM1,MED_ALL,MED_NOPF,0,MED_NOPG,dimd, (unsigned char*) corr,mode)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDequivLire.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDequivLire.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDequivLire.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDequivLire.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -71,7 +71,7 @@ } if ((datagroup = _MEDdatagroupOuvrir(eqid,nomdatagroup)) < 0) return -1; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(datagroup,MED_NOM_COR,MED_INT64, MED_NO_INTERLACE,1,MED_ALL, MED_NOPF,0,MED_NOPG, Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamCr.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamCr.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamCr.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamCr.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -118,7 +118,7 @@ * Le Data Set "IDE" */ dimd[0] = n_attr; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(datagroup,MED_NOM_IDE,MED_INT64,MED_NO_INTERLACE,MED_DIM1,MED_ALL,MED_NOPF,0,MED_NOPG,dimd, (unsigned char *)attr_ident,MED_REMP)) < 0) return -1; @@ -132,7 +132,7 @@ * Le Data Set "VAL" */ dimd[0] = n_attr; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(datagroup,MED_NOM_VAL,MED_INT64,MED_NO_INTERLACE,MED_DIM1,MED_ALL,MED_NOPF,0,MED_NOPG,dimd, (unsigned char*)attr_val,MED_REMP)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamEcr.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamEcr.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamEcr.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamEcr.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -86,7 +86,7 @@ else root = geoid; dimd[0] = n; -#if defined(IRIX64) || defined(OSF1) +#if defined(IRIX64) || defined(OSF1) || defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(root,MED_NOM_FAM,MED_INT64,MED_NO_INTERLACE,MED_DIM1,MED_ALL,MED_NOPF,0,MED_NOPG,dimd, (unsigned char*)fam,mode)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamInfo.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamInfo.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamInfo.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamInfo.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -103,7 +103,7 @@ /* * Le Data Set "IDE" */ -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(datagroup,MED_NOM_IDE,MED_INT64, MED_NO_INTERLACE,1,MED_ALL, MED_NOPF,0,MED_NOPG, @@ -120,7 +120,7 @@ /* * Le Data Set "VAL" */ -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(datagroup,MED_NOM_VAL,MED_INT64, MED_NO_INTERLACE,1,MED_ALL, MED_NOPF,0,MED_NOPG, Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamLire.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamLire.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamLire.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDfamLire.cxx 27 Sep 2006 06:33:22 -0000 1.2.24.1 @@ -81,7 +81,7 @@ root = entid; else root = geoid; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(root,MED_NOM_FAM,MED_INT64, MED_NO_INTERLACE,1,MED_ALL, MED_NOPF,0,MED_NOPG, Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDgridInfo.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDgridInfo.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDgridInfo.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDgridInfo.cxx 20 Oct 2006 13:19:53 -0000 1.2.24.1 @@ -47,11 +47,13 @@ maaid = _MEDdatagroupOuvrir(fid, chemin); if (maaid < 0) return(-1); - if (_MEDattrEntierLire(maaid, MED_NOM_GRD, typ) < 0) { + med_int aTmpType; // MPV bug IPAL 13621: for 64bits platform read 64 bits (not 32 - as for type) + if (_MEDattrEntierLire(maaid, MED_NOM_GRD, &aTmpType) < 0) { *isAGrid = 0; } else { *isAGrid = 1; }; + *typ = (med_grid_type)aTmpType;// MPV bug IPAL 13621: now use this 64bits value to set enumeration if (_MEDdatagroupFermer(maaid) < 0) return(-1); return(0); Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDnumEcr.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDnumEcr.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDnumEcr.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDnumEcr.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -86,7 +86,7 @@ else root = geoid; dimd[0] = n; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(root,MED_NOM_NUM,MED_INT64,MED_NO_INTERLACE,MED_DIM1,MED_ALL,MED_NOPF,0,MED_NOPG,dimd, (unsigned char*) num,mode)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDnumLire.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDnumLire.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDnumLire.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDnumLire.cxx 21 Sep 2006 12:56:04 -0000 1.2.24.1 @@ -81,7 +81,7 @@ root = entid; else root = geoid; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(root,MED_NOM_NUM,MED_INT64, MED_NO_INTERLACE,1,MED_ALL, MED_NOPF,0,MED_NOPG, Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDprofilEcr.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDprofilEcr.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDprofilEcr.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDprofilEcr.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -65,7 +65,7 @@ * On stocke le profil dans un dataset */ dimd[0] = n; -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumEcrire(pid,MED_NOM_PFL,MED_INT64,MED_NO_INTERLACE,MED_DIM1,MED_ALL,MED_NOPF,0,MED_NOPG,dimd, (unsigned char*) pflval,MED_REMP)) < 0) return -1; Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDprofilLire.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDprofilLire.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDprofilLire.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDprofilLire.cxx 27 Sep 2006 06:33:22 -0000 1.2.24.1 @@ -47,7 +47,7 @@ /* * Lecture du profil */ -#if defined(IRIX64)||defined(OSF1) +#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) if ((ret = _MEDdatasetNumLire(pid,MED_NOM_PFL,MED_INT64, MED_NO_INTERLACE,1,MED_ALL, MED_NOPF,0,MED_NOPG, Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/mdump_V2_1.cxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/mdump_V2_1.cxx,v retrieving revision 1.2 retrieving revision 1.2.24.1 diff -c -u -r1.2 -r1.2.24.1 --- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/mdump_V2_1.cxx 3 Feb 2006 14:26:10 -0000 1.2 +++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/mdump_V2_1.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.1 @@ -945,7 +945,7 @@ /* affichage des resultats */ if (ret == 0) { - fprintf(stdout,"\n- Aretes de type %d : ", nomare[i]); + fprintf(stdout,"\n- Aretes de type %s : ", nomare[i]); fprintf(stdout,"\n - Connectivité : \n"); for (j=0;j #include Index: MED_SRC_3.2.2/src/MedClient/src/MemorySpy.hxx =================================================================== RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MedClient/src/MemorySpy.hxx,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -c -u -r1.4 -r1.4.2.1 --- MED_SRC_3.2.2/src/MedClient/src/MemorySpy.hxx 1 Jun 2006 11:21:18 -0000 1.4 +++ MED_SRC_3.2.2/src/MedClient/src/MemorySpy.hxx 21 Sep 2006 12:56:04 -0000 1.4.2.1 @@ -29,7 +29,7 @@ MemorySpy(); ~MemorySpy(); long getCurrentMemoryUsage(); -#ifdef PCLINUX +#if defined(PCLINUX) || defined(PCLINUX64) || defined(PCLINUX64_32) //SOLARIS private: long parseString(char* line);