Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 114657 Details for
Bug 155974
[science overlay] sci-misc/salome-* (New packages)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for MED
MED-3.2.2.patch (text/plain), 94.44 KB, created by
Daniel Tourde
on 2007-03-27 18:24:02 UTC
(
hide
)
Description:
Patch for MED
Filename:
MIME Type:
Creator:
Daniel Tourde
Created:
2007-03-27 18:24:02 UTC
Size:
94.44 KB
patch
obsolete
>? 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<string> 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<string,string> 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 <persistence> 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<< ", "<<aBaseName << endl; >+ SALOMEDS_Tool::RemoveTemporaryFiles(aPath.c_str(), aSeq.in(), true); >+ } >+ if (isASCII) >+ { >+ aSeq->length(1); >+ aSeq[0] = CORBA::string_dup(aASCIIFile.c_str()); >+// cout << "-----------------Remove " << aASCIIPath<< ", "<<aASCIIFile << endl; >+ SALOMEDS_Tool::RemoveTemporaryFiles(aASCIIPath.c_str(), aSeq, true); >+ } >+ >+ } // end loadStudy() > > } // no name namespace > >+ > //================================================================================ > /*! > * \brief Save data published under MED component >@@ -697,12 +812,8 @@ > const char* LOC = "Med_Gen_i::Load"; > BEGIN_OF(LOC); > >- // Get a temporary directory for a file >- TCollection_AsciiString aTmpDir = >- (isMultiFile)?TCollection_AsciiString((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); >+ loadStudy ( theComponent->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<string,string> 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<< ", "<<aBaseName << endl; >- SALOMEDS_Tool::RemoveTemporaryFiles(aPath.c_str(), aSeq.in(), true); >- } >- if (isASCII) >- { >- aSeq->length(1); >- aSeq[0] = CORBA::string_dup(aASCIIFile.c_str()); >-// cout << "-----------------Remove " << aASCIIPath<< ", "<<aASCIIFile << endl; >- SALOMEDS_Tool::RemoveTemporaryFiles(aASCIIPath.c_str(), aSeq, true); >- } >- >- SALOME_MED::MED_ptr myMedIOR = myMedI->_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<T>::_ptrField->setTime(dt); // PAL12664 > > // ret = med_2_2::MEDpasdetempsInfo(id, const_cast <char*> ( 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<T>::getMeshGeometricType(id,meshName,mySupport->getEntity(),meshGeoType,meshNbOfElOfType); > vector<MED_EN::medGeometryElement> supGeoType(mySupport->getTypes(), > mySupport->getTypes()+mySupport->getNumberOfTypes()); > vector < int > supNbOfElOfType(mySupport->getNumberOfElements(), >@@ -855,7 +857,7 @@ > MED_FIELD_DRIVER<T>::_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<T>::_ptrField->getValueType()==MED_EN::MED_INT32) > { >@@ -1060,7 +1062,7 @@ > } > } > >- END_OF(LOC); >+ // END_OF(LOC); > } > > template <class T> void MED_FIELD_RDONLY_DRIVER21<T>::write( void ) const >@@ -1102,7 +1104,11 @@ > string component_unit(component_count*MED_TAILLE_PNOM21,' ') ; > > const string * listcomponent_name=MED_FIELD_DRIVER<T>::_ptrField->getComponentsNames() ; >- const string * listcomponent_unit=MED_FIELD_DRIVER<T>::_ptrField->getMEDComponentsUnits() ; >+ const string * listcomponent_unit=MED_FIELD_DRIVER<T>::_ptrField->getMEDComponentsUnits(); >+ if ( ! listcomponent_name || ! listcomponent_unit ) >+ throw MEDEXCEPTION(LOCALIZED(STRING(LOC) <<" Udefined components of FIELD : " >+ << MED_FIELD_DRIVER<T>::_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 = "<<chaunit<<endl; > cout<<"==================> valeur de med_2_1::MED_REEL64 = "<<med_2_1::MED_REEL64<<endl; > */ >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >- if(_ptrField->getValueType()==MED_EN::MED_INT32) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) || defined(PCLINUX64_32) >+ if(MED_FIELD_DRIVER<T>::_ptrField->getValueType()==MED_EN::MED_INT32) > { >- int lgth2=_ptrField->getNumberOfValues(); >+ int lgth2=MED_FIELD_DRIVER<T>::_ptrField->getNumberOfValues(); > med_2_1::med_int *temp=new med_2_1::med_int[lgth2]; > for(int i2=0;i2<lgth2;i2++) > temp[i2]=(int)(value[i2]); >Index: MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedFieldDriver22.hxx >=================================================================== >RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedFieldDriver22.hxx,v >retrieving revision 1.9.2.3 >retrieving revision 1.9.2.10 >diff -c -u -r1.9.2.3 -r1.9.2.10 >--- MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedFieldDriver22.hxx 8 Sep 2006 12:30:02 -0000 1.9.2.3 >+++ MED_SRC_3.2.2/src/MEDMEM/MEDMEM_MedFieldDriver22.hxx 20 Oct 2006 09:00:49 -0000 1.9.2.10 >@@ -496,7 +496,9 @@ > (med_2_2::med_geometrie_element) *currentGeometry, > j, &ngauss, &numdt, &numo, dtunit, &dt, > maa, &local, &nmaa); >- >+ >+ MED_FIELD_DRIVER<T>::_ptrField->setTime(dt); // PAL12664 >+ > if ( ndt == numdt && numo == od ) { > alreadyFoundPdtIt = true; > >@@ -840,8 +842,8 @@ > <<") differs from FIELD object type (" << > MED_FIELD_DRIVER<T>::_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<T>::_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<int> > profilList (NumberOfTypes); >+ vector < vector<MED_EN::med_int> > profilList (NumberOfTypes); // IPAL13481 >+ vector < vector<MED_EN::med_int> > profilListFromFile (NumberOfTypes); // IPAL13481 > vector < string > profilNameList(NumberOfTypes); > char * profilName = new char[MED_TAILLE_NOM+1]; > > MESSAGE ("NumberOfTypes : "<< NumberOfTypes); > MED_FIELD_DRIVER<T>::_ptrField->_numberOfValues=0 ; > >- > for (int typeNo=0; typeNo<NumberOfTypes; typeNo++) { > > int numberOfValuesWc= nbOfElOfType[typeNo]*numberOfGaussPoint[typeNo+1]*numberOfComponents; >@@ -1117,7 +1117,7 @@ > > if (needConversionToDouble || needConversionToInt64 ) { > >- if (needConversionToInt64 ) //utiliser un trait >+ if (needConversionToInt64 ) //utiliser un trait > for(int i=0;i<numberOfValuesWc;++i) > myValues[index+i]=(int)(myValuesTmp[i]); > else >@@ -1148,6 +1148,7 @@ > MED_FIELD_DRIVER<T>::_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<T>::_ptrField->_numberOfValues+= >@@ -1183,6 +1184,7 @@ > } > // cout << *MED_FIELD_DRIVER<T>::_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<int> 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<int> 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<T>::_ptrField->_support=mySupport; //Prévenir l'utilisateur ? > >- > END_OF(LOC); > } > >@@ -1411,6 +1430,9 @@ > > const string * listcomponent_name=MED_FIELD_DRIVER<T>::_ptrField->getComponentsNames() ; > const string * listcomponent_unit=MED_FIELD_DRIVER<T>::_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<int> profil(&number[index-1],&(number[index-1])+numberOfElements); >+ vector<MED_EN::med_int/*int*/> 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<NumberOfNodes;i2++) > _ptrMesh->_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 <char *> (_ptrMesh->_name.c_str()), >@@ -1329,11 +1329,11 @@ > > for (int i=0;i<NumberOfFamilies;i++) { > >- med_2_1::med_int NumberOfAttributes = MEDnFam(_medIdt,const_cast <char *> (_meshName.c_str()),i+1,med_2_1::MED_ATTR) ; >+ med_2_1::med_int NumberOfAttributes = med_2_1::MEDnFam(_medIdt,const_cast <char *> (_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 <char *> (_meshName.c_str()),i+1,med_2_1::MED_GROUPE) ; >+ med_2_1::med_int NumberOfGroups = med_2_1::MEDnFam(_medIdt,const_cast <char *> (_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 <char *> (_ptrMesh->_name.c_str())), >@@ -1498,7 +1498,7 @@ > int i, err = 0 ; > for (i=0;i<Connectivity->_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 <char *> (_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;i2<lgth;i2++) >@@ -1984,7 +1984,7 @@ > // } > > ////////////////////////////////////////////////////////////////////////////////////// >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > int lgth=numberOfElements*(numberOfNodes+multi); > med_2_1::med_int *temp=new med_2_1::med_int[lgth]; > for(int i2=0;i2<lgth;i2++) >@@ -2021,7 +2021,7 @@ > const int * connectivity = _ptrMesh->getConnectivity(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;i2<lgth;i2++) >@@ -2113,7 +2113,7 @@ > SCRUTE(MEDArrayNodeFamily[j]); > } > if ( !_ptrMesh->getIsAGrid() ){ >-#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;i2<lgth;i2++) >@@ -2131,7 +2131,7 @@ > #endif > } > else{ >-#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;i2<lgth;i2++) >@@ -2207,14 +2207,14 @@ > } > > 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<lgth;i2++) > temp[i2]=(med_2_1::med_int) (MEDArrayFamily[i2]); > #endif > for (int i=0; i<numberOfTypes; i++) { >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > err = MEDfamEcr(_medIdt, const_cast <char *> ( _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<lgth;i2++) >@@ -2302,7 +2302,7 @@ > for (int i=0; i<numberOfTypes; i++) { > > int typeNumberOfElements = typeCount[i+1] - typeCount[i] ; >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > err = MEDfamEcr(_medIdt, const_cast <char *> ( _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<lgth;i2++) >@@ -2387,7 +2387,7 @@ > for (int i=0; i<numberOfTypes; i++) { > > int typeNumberOfElements = typeCount[i+1] - typeCount[i] ; >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > err = MEDfamEcr(_medIdt, const_cast <char *> ( _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() : "<<attributesDescriptions.c_str()); > MESSAGE(LOC<<"numberOfGroups : "<<numberOfGroups); > MESSAGE(LOC<<"groupsNames.c_str() : "<<groupsNames.c_str()); >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > int lgth=families[i]->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<NumberOfNodes;i2++) > _ptrMesh->_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<NumberOfFamilies;i++) > { >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > med_int tmp_NumberOfAttributes = med_2_2::MEDnAttribut(_medIdt, > const_cast <char *> > (_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 <char *> > (_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 <char *> > (_ptrMesh->_name.c_str()), tmp_MEDArrayNodeFamily, >@@ -1848,7 +1848,7 @@ > for (i=0;i<Connectivity->getNumberOfTypesWithPoly(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 <char *> (_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 <char *> ( _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<med_int> 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;i2<lgth;i2++) >@@ -2827,7 +2829,7 @@ > #endif > for (int i=0; i<numberOfTypes; i++) { > int typeNumberOfElements=_ptrMesh->getNumberOfElementsWithPoly(entity,types[i]); >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > err = MEDfamEcr(_medIdt, const_cast <char *> ( _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;i2<lgth;i2++) >@@ -2924,7 +2926,7 @@ > int typeNumberOfElements = _ptrMesh->getNumberOfElementsWithPoly(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 <char *> ( _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<lgth;i2++) >@@ -3026,7 +3028,7 @@ > SCRUTE(typeNumberOfElements); > SCRUTE(typeCount[i+1]); > SCRUTE(typeCount[i]); >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > err = MEDfamEcr(_medIdt, const_cast <char *> ( _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() : "<<attributesDescriptions.c_str()); > MESSAGE(LOC<<"numberOfGroups : "<<numberOfGroups); > MESSAGE(LOC<<"groupsNames.c_str() : "<<groupsNames.c_str()); >-#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) >+#if defined(IRIX64) || defined(OSF1) || defined(VPP5000) || defined(PCLINUX64) > int lgth=families[i]->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<int>& listOfElt, SUPPORT *supportToFill) const throw (MEDEXCEPTION); > SUPPORT *buildSupportOnElementsFromElementList(const list<int>& listOfElt, MED_EN::medEntityMesh entity) const throw (MEDEXCEPTION); > int getElementContainingPoint(const double *coord); >- vector< vector<double> > MESH::getBoundingBox() const; >+// vector< vector<double> > MESH::getBoundingBox() const; >+ vector< vector<double> > getBoundingBox() const; > template<class T> static > FIELD<T> * mergeFields(const vector< FIELD<T> * > & 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<string> profilNames) throw (MEDEXCEPTION){ > > const char * LOC = "SUPPORT::setProfilNames(vector<string> 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<string> 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;j<n*taille;j++) > *(conn+j) = *(old_conn+j); > dimd[0] = n*taille; >-#if defined(IRIX64)||defined(OSF1) >+#if defined(IRIX64)||defined(OSF1)||defined(PCLINUX64) > ret = _MEDdatasetNumEcrire(gid,"TMP",MED_INT64,MED_NO_INTERLACE, > taille,MED_ALL,MED_NOPF,MED_NO_PFLMOD,0,MED_NOPG,dimd, > (unsigned char*) conn); >Index: MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Med_i.cxx >=================================================================== >RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Med_i.cxx,v >retrieving revision 1.14.2.1 >retrieving revision 1.14.2.4 >diff -c -u -r1.14.2.1 -r1.14.2.4 >--- MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Med_i.cxx 23 Jun 2006 14:14:11 -0000 1.14.2.1 >+++ MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Med_i.cxx 20 Oct 2006 06:52:25 -0000 1.14.2.4 >@@ -228,7 +228,20 @@ > SALOMEDS::Study_ptr study) > { > string entryPath = SUPPORT_i::getEntryPath( support ); >- return ! CORBA::is_nil( study->FindObjectByPath( 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_<ORB_INIT>::Instance(); > ASSERT(SINGLETON_<ORB_INIT>::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<nbelements;i++) >+ { >+ myseq[i]=numbers[i]; >+SCRUTE(numbers[i]); >+ } >+ } >+ catch (MEDEXCEPTION &ex) >+ { >+ MESSAGE("Unable to access the support optionnal index"); >+ THROW_SALOME_CORBA_EXCEPTION(ex.what(), SALOME::INTERNAL_ERROR); >+ } >+ return myseq._retn(); >+ >+} >+ >+//============================================================================= >+/*! > * CORBA: 2nd get Nodes > */ > //============================================================================= >Index: MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Support_i.hxx >=================================================================== >RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Support_i.hxx,v >retrieving revision 1.10.2.1 >retrieving revision 1.10.2.2 >diff -c -u -r1.10.2.1 -r1.10.2.2 >--- MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Support_i.hxx 23 Jun 2006 14:15:01 -0000 1.10.2.1 >+++ MED_SRC_3.2.2/src/MEDMEM_I/MEDMEM_Support_i.hxx 17 Oct 2006 13:00:36 -0000 1.10.2.2 >@@ -77,6 +77,10 @@ > throw (SALOME::SALOME_Exception); > SALOME_MED::long_array* getNumber(SALOME_MED::medGeometryElement geomElement) > throw (SALOME::SALOME_Exception); >+ >+ SALOME_MED::long_array* getNumberFromFile(SALOME_MED::medGeometryElement geomElement) >+ throw (SALOME::SALOME_Exception); >+ > SALOME::SenderInt_ptr getSenderForNumber(SALOME_MED::medGeometryElement geomElement) > throw (SALOME::SALOME_Exception); > SALOME_MED::long_array* getNumberIndex() >Index: MED_SRC_3.2.2/src/MEDWrapper/Base/MED_Common.hxx >=================================================================== >RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/Base/MED_Common.hxx,v >retrieving revision 1.5 >retrieving revision 1.5.2.1 >diff -c -u -r1.5 -r1.5.2.1 >--- MED_SRC_3.2.2/src/MEDWrapper/Base/MED_Common.hxx 1 Jun 2006 11:21:18 -0000 1.5 >+++ MED_SRC_3.2.2/src/MEDWrapper/Base/MED_Common.hxx 21 Sep 2006 12:56:04 -0000 1.5.2.1 >@@ -52,10 +52,10 @@ > > typedef enum {eFAUX, eVRAI} EBooleen ; > typedef double TFloat; >-#if defined(SUN4SOL2) || defined(PCLINUX) || defined(OSF1_32) || defined(IRIX64_32) || defined(RS6000) || defined(HP9000) >+#if defined(SUN4SOL2) || defined(PCLINUX) || defined(PCLINUX64_32) || defined(OSF1_32) || defined(IRIX64_32) || defined(RS6000) || defined(HP9000) > typedef int TInt; > #endif >-#if defined(IRIX64) || defined(OSF1) >+#if defined(IRIX64) || defined(OSF1) || defined(PCLINUX64) > typedef long TInt; > #endif > typedef hid_t TIdt; >Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDattrNumEcrire.cxx >=================================================================== >RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDattrNumEcrire.cxx,v >retrieving revision 1.2 >retrieving revision 1.2.24.2 >diff -c -u -r1.2 -r1.2.24.2 >--- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDattrNumEcrire.cxx 3 Feb 2006 14:26:09 -0000 1.2 >+++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDattrNumEcrire.cxx 29 Sep 2006 08:14:07 -0000 1.2.24.2 >@@ -48,7 +48,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; >@@ -56,9 +56,9 @@ > break; > > case MED_INT : >-#if defined(IRIX64) || defined(OSF1) >+#if defined(IRIX64) || defined(OSF1) || defined(PCLINUX64) > type_hdf = H5T_NATIVE_LONG; >-#elif defined(PCLINUX) >+#elif defined(PCLINUX) || defined(PCLINUX64_32) > /* This explicit convertion avoid a core dump between in HDF&ASTER when reading on SGI > a file written under a PCLINUX system (in founction H5Tconvert), > we don't know yet if it is an HDF bug or an ASTER one */ >@@ -93,7 +93,7 @@ > if ((ret = H5Aclose(attr)) < 0) > return -1; > >-#if defined(PCLINUX) >+#if defined(PCLINUX) || defined(PCLINUX64_32) > /* This explicit convertion cancel the previous on which avoid a mysterious bug between HDF&ASTER when reading > a file written under a PCLINUX system, we don't know yet if it is an HDF bug or an ASTER one */ > if (type == MED_INT) >Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDattrNumLire.cxx >=================================================================== >RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDattrNumLire.cxx,v >retrieving revision 1.2 >retrieving revision 1.2.24.2 >diff -c -u -r1.2 -r1.2.24.2 >--- MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDattrNumLire.cxx 3 Feb 2006 14:26:09 -0000 1.2 >+++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/MEDattrNumLire.cxx 27 Sep 2006 06:33:22 -0000 1.2.24.2 >@@ -46,7 +46,7 @@ > switch(type) > { > case MED_REEL64 : >-#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; >@@ -54,7 +54,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; >@@ -68,6 +68,12 @@ > if ((ret = H5Aread(attid,type_hdf,val)) < 0) > return -1; > >+ if (strcmp(nom, MED_NOM_NGA) == 0 ) { >+ med_int* ngauss = (med_int*)val; >+ if( *ngauss <= 0 || *ngauss > 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<naretes[i]*taille;j++) > fprintf(stdout," %d ",*(connectivite+j)); >Index: MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/med.hxx >=================================================================== >RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/med.hxx,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/med.hxx 3 Feb 2006 14:26:10 -0000 1.2 >+++ MED_SRC_3.2.2/src/MEDWrapper/V2_1/Core/med.hxx 21 Sep 2006 12:56:04 -0000 1.2.24.1 >@@ -87,7 +87,7 @@ > #define MED_DIM1 1 /* PAS */ > #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 ! */ >@@ -116,7 +116,7 @@ > typedef double med_float; > #endif > >-#if defined(IRIX64) || defined(OSF1) >+#if defined(IRIX64) || defined(OSF1) || defined(PCLINUX64) > #define NOMF_POST_UNDERSCORE > > /* correspondance des types avec HDF 5 */ >Index: MED_SRC_3.2.2/src/MedClient/src/MemorySpy.cxx >=================================================================== >RCS file: /home/server/cvs/MED/MED_SRC_3.2.2/src/MedClient/src/MemorySpy.cxx,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.cxx 1 Jun 2006 11:21:18 -0000 1.4 >+++ MED_SRC_3.2.2/src/MedClient/src/MemorySpy.cxx 21 Sep 2006 12:56:04 -0000 1.4.2.1 >@@ -19,7 +19,7 @@ > // > #include "MemorySpy.hxx" > >-#ifdef PCLINUX >+#if defined(PCLINUX) || defined(PCLINUX64) || defined(PCLINUX64_32) > #include <unistd.h> > #include <string.h> > >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);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 155974
:
102571
|
102572
|
102573
|
114639
|
114650
|
114651
|
114653
|
114655
|
114657
|
114659
|
114660
|
114662
|
114664
|
120027
|
120226
|
131980
|
131981
|
131983
|
137331
|
137336
|
137338
|
137719
|
138048
|
138578
|
138580
|
138581
|
138582
|
138583
|
138584
|
138586
|
138588
|
138877
|
138896
|
138925
|
138960
|
139043
|
139045
|
139956
|
139958
|
139964
|
139965
|
139973
|
140002
|
140005
|
140007
|
140030
|
140032
|
140064
|
140066
|
140068
|
140071
|
140073
|
140086
|
140088
|
140280
|
140283
|
140301
|
140303
|
140366
|
140368
|
140373
|
140375
|
140378
|
140385
|
140386
|
140455
|
140466
|
140468
|
140472
|
140474
|
140637
|
141242
|
141243
|
141250
|
141252
|
141254
|
141256
|
141257
|
141462
|
141473
|
141474
|
141475
|
141565
|
141572
|
142892
|
142894
|
142905
|
143984
|
143986
|
144011
|
144061
|
144063
|
144084
|
144086
|
144089
|
144091
|
144093
|
144098
|
144105
|
144107
|
144117
|
144119
|
144182
|
144184
|
144185
|
144187
|
144188
|
144198
|
144223
|
144305
|
144306
|
144308
|
144310
|
144311
|
144313
|
144314
|
144316
|
144318
|
144320
|
144347
|
144348
|
144350
|
144352
|
144353
|
144354
|
144356
|
144357
|
144557
|
145883
|
145885
|
145887
|
146138
|
146414
|
147142
|
147146
|
148604
|
148606
|
148607
|
148609
|
148611
|
148613
|
148615
|
148617
|
148618
|
148619
|
150326
|
151031
|
151032
|
151034
|
151036
|
151038
|
151039
|
151040
|
151042
|
151044
|
151045
|
152339
|
152341
|
152343
|
152345
|
152347
|
152349
|
152351
|
152353
|
152355
|
152357
|
152359
|
152361
|
152363
|
152365
|
152369
|
152371
|
152979
|
153067
|
154323
|
154325
|
154327
|
154329
|
154331
|
154333
|
154335
|
158563
|
161347
|
163275
|
163841
|
163842
|
164412
|
164611
|
168552
|
168560
|
168624
|
168626
|
168724
|
168726
|
168734
|
168736
|
178432
|
178434
|
178739
|
179160
|
179161
|
179162
|
179237
|
179627
|
179628
|
183321
|
183323
|
183324
|
183325
|
183327
|
183329
|
183347
|
183348
|
189058
|
189059
|
189061
|
200799
|
200800
|
200802
|
200803
|
200805
|
200807
|
200809
|
200811
|
200812
|
200813
|
200815
|
200816
|
200818
|
200820
|
200821
|
200823
|
200825
|
204604
|
204699
|
204980
|
205339
|
223869
|
223871
|
232539
|
234261
|
253803
|
253805
|
254743
|
254751
|
254755
|
257260
|
257261
|
268839
|
268883
|
278009
|
286253
|
286255
|
286257
|
286259
|
286261
|
286263
|
286265
|
286267
|
286269
|
286271
|
286273
|
323878