From: apo Date: Mon, 1 Aug 2005 06:52:40 +0000 (+0000) Subject: Bug fixing - Data should be applied only for correctly loaded Gauss Points X-Git-Tag: BR-D5-38-2003_D2005-12-09~141 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0ae332313638a18be81a52e44517ceaa1741edb2;p=modules%2Fvisu.git Bug fixing - Data should be applied only for correctly loaded Gauss Points --- diff --git a/src/CONVERTOR/VISU_Convertor_impl.cxx b/src/CONVERTOR/VISU_Convertor_impl.cxx index 2601aa61..ae2be549 100644 --- a/src/CONVERTOR/VISU_Convertor_impl.cxx +++ b/src/CONVERTOR/VISU_Convertor_impl.cxx @@ -950,11 +950,21 @@ namespace aFloatArray->SetName(aFieldName.c_str()); TGeom2Value& aGeom2Value = theValForTime->myGeom2Value; - TGeom2Value::const_iterator anIter = aGeom2Value.begin(); - for(int aTupleId = 0; anIter != aGeom2Value.end(); anIter++){ - const TMeshValue& aMeshValue = anIter->second; - int aGeom = anIter->first; + PGaussMeshImpl aGaussMesh = theValForTime->myGaussMesh; + const TGeom2GaussSubMesh& aGeom2GaussSubMesh = aGaussMesh->myGeom2GaussSubMesh; + TGeom2GaussSubMesh::const_iterator anIter = aGeom2GaussSubMesh.begin(); + for(int aTupleId = 0; anIter != aGeom2GaussSubMesh.end(); anIter++){ + vtkIdType aGeom = anIter->first; + PGaussSubMeshImpl aGaussSubMesh = anIter->second; + if(!aGaussSubMesh->myIsDone) + continue; + + TGeom2Value::const_iterator anIter2 = aGeom2Value.find(aGeom); + if(anIter2 == aGeom2Value.end()) + EXCEPTION(runtime_error,"GetTimeStampOnGaussMesh >> Can't find values for corresponding Gauss Points SubMesh"); + + const TMeshValue& aMeshValue = anIter2->second; int aNbElem = aMeshValue.myNbElem; int aNbGauss = aMeshValue.myNbGauss; int aNbComp = aMeshValue.myNbComp;