]> SALOME platform Git repositories - modules/visu.git/commitdiff
Salome HOME
Fix on Bug PAL8297. REGRESSION:Reading several time stamps on a field of a med2.1...
authorenk <enk@opencascade.com>
Mon, 28 Feb 2005 10:43:45 +0000 (10:43 +0000)
committerenk <enk@opencascade.com>
Mon, 28 Feb 2005 10:43:45 +0000 (10:43 +0000)
The regression is appeared during porting to MED2.2. The pointed MED files have TimeStamps that don't belong to whole mesh, only partially. The fix recovers the previus functionality.

src/CONVERTOR/VISU_MedConvertor.cxx

index 3eabe0885cd13cc8c6997841039f5898b16e972a..9c5e342edbb222f1264a1762d0ef0906b734ffb9 100644 (file)
@@ -756,17 +756,20 @@ VISU_MedConvertor::LoadField(const MED::PWrapper& theMed,
   MED::TInt aNbGauss = aTimeStampInfo->GetNbGauss();
   MED::TInt aNbComp = theField->myNbComp;
 
+  bool anIsTrimmed = theField->myIsTrimmed;
   const MED::TGeom& anEntityTGeom = theMeshOnEntity->myGeom;
   MED::TGeom::const_iterator aTGeomIter = anEntityTGeom.begin();
   for(; aTGeomIter != anEntityTGeom.end(); aTGeomIter++){
     const MED::EGeometrieElement& aGeom = aTGeomIter->first;
     const MED::TInt& aNbElem = aTGeomIter->second;
 
-    INITMSG(MYDEBUG,"LoadField - aGeom = "<<aGeom<<"; aNbElem = '"<<aNbElem<<endl);
+    INITMSG(MYDEBUG,"LoadField - aGeom = "<<aGeom<<"; aNbElem = "<<aNbElem<<endl);
 
     if(aTGeom.find(aGeom) == aTGeom.end()){
-      theField->myDataSize -= aNbElem*theField->myNbComp;
-      theField->myIsTrimmed = true;
+      if(!theField->myIsTrimmed){
+       theField->myDataSize -= aNbElem*theField->myNbComp;
+       anIsTrimmed = true;
+      }
     }else{
       int aVTKGeomType = MEDGeomToVTK(aGeom);
       VISU::TValForTimeImpl::TValForCellsWithType& anArray = theValForTime->myValForCells[aVTKGeomType];
@@ -781,5 +784,6 @@ VISU_MedConvertor::LoadField(const MED::PWrapper& theMed,
       }
     }
   }
+  theField->myIsTrimmed = anIsTrimmed;
   return 1; 
 }