Salome HOME
Update Help for VISU module.
[modules/visu.git] / src / CONVERTOR / VISU_MedConvertor.cxx
index bc9e31d189302e56234b5228f9af575c97186180..5c47189b9081756454c329f21a91ca5a9cdfc6f0 100644 (file)
@@ -157,8 +157,8 @@ VISU_Convertor* VISU_MedConvertor::Build()  {
   MSG(MYDEBUG,"VISU_MedConvertor::Build()");
   INITMSG(MYDEBUG,"GetNbMeshes() = "<<aNbMeshes<<"\n");
 
-  for(TInt iMesh = 1; iMesh <= aNbMeshes; iMesh++)
-    try{
+  for (TInt iMesh = 1; iMesh <= aNbMeshes; iMesh++) {
+    try {
     PMeshInfo aMeshInfo = aMed->GetPMeshInfo(iMesh);
 
     PNodeInfo aNodeInfo = aMed->GetPNodeInfo(aMeshInfo);
@@ -424,11 +424,13 @@ VISU_Convertor* VISU_MedConvertor::Build()  {
       TInt aNbComp = aFieldInfo->GetNbComp();
       const string& aFieldName = aFieldInfo->GetName();
 
+      MED::TErr anErr;
       MED::TGeom aTGeom;
       EEntiteMaillage aMEntity;
-      TInt aNbTimeStamps = aMed->GetNbTimeStamps(aFieldInfo,aEntityInfo,aMEntity,aTGeom);
-      if (aNbTimeStamps<1)
+      TInt aNbTimeStamps = aMed->GetNbTimeStamps(aFieldInfo,aEntityInfo,aMEntity,aTGeom,&anErr);
+      if (anErr < 0 || aNbTimeStamps < 1)
        continue;
+
       TEntity aVEntity = MEDEntityToVTK(aMEntity);
       VISU::PMeshOnEntity aMeshOnEntity = aMesh->myMeshOnEntityMap[aVEntity];
       TFieldMap& aFieldMap = aMeshOnEntity->myFieldMap;
@@ -457,10 +459,14 @@ VISU_Convertor* VISU_MedConvertor::Build()  {
        PTimeStampInfo aTimeStamp = aMed->GetPTimeStampInfo(aFieldInfo,
                                                            aMEntity,
                                                            aTGeom,
-                                                           iTimeStamp);
+                                                           iTimeStamp,
+                                                            &anErr);
+        if (anErr < 0)
+          continue;
+
        TFloat aDt = aTimeStamp->GetDt();
        const string& anUnitDt = aTimeStamp->GetUnitDt();
-       PTimeStampVal aTimeStampVal = aMed->GetPTimeStampVal(aTimeStamp);
+       PTimeStampVal aTimeStampVal = aMed->GetPTimeStampVal(aTimeStamp,&anErr);
        TValField& aValField = aField->myValField;
        PMEDValForTime aValForTime = aValField[iTimeStamp](new TMEDValForTime());
        aValForTime->myId = iTimeStamp;
@@ -477,6 +483,7 @@ VISU_Convertor* VISU_MedConvertor::Build()  {
   } catch(...){
     EXCEPTION(runtime_error,"Unknown exception !!!");
   }
+  }
 
   return this; 
 }