From: apo Date: Mon, 27 Feb 2006 13:09:57 +0000 (+0000) Subject: Fix for Bug IPAL11676 - Performance regression of 'generate frames' in animation X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=9f6201b1160a867278b7d11a7139959109de1602;p=modules%2Fsmesh.git Fix for Bug IPAL11676 - Performance regression of 'generate frames' in animation --- diff --git a/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx b/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx index 44e05bf77..9a9a31c23 100644 --- a/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx +++ b/src/DriverMED/DriverMED_R_SMESHDS_Mesh.cxx @@ -41,6 +41,7 @@ #ifdef _DEBUG_ static int MYDEBUG = 0; +//#define _DEXCEPT_ #else static int MYDEBUG = 0; #endif @@ -69,10 +70,12 @@ DriverMED_R_SMESHDS_Mesh ::Perform() { Status aResult = DRS_FAIL; +#ifndef _DEXCEPT_ try{ +#endif myFamilies.clear(); if(MYDEBUG) MESSAGE("Perform - myFile : "<GetNbMeshes()){ @@ -195,7 +198,9 @@ DriverMED_R_SMESHDS_Mesh SMDS_MeshElement* anElement = NULL; TInt aFamNum = aPolygoneInfo->GetFamNum(iElem); +#ifndef _DEXCEPT_ try{ +#endif if(anIsElemNum){ TInt anElemId = aPolygoneInfo->GetElemNum(iElem); anElement = myMesh->AddPolygonalFaceWithID(aNodeIds,anElemId); @@ -207,12 +212,13 @@ DriverMED_R_SMESHDS_Mesh anElement = myMesh->AddPolygonalFace(aNodes); isRenum = anIsElemNum; } +#ifndef _DEXCEPT_ }catch(const std::exception& exc){ aResult = DRS_FAIL; }catch (...){ aResult = DRS_FAIL; } - +#endif if(!anElement){ aResult = DRS_WARN_SKIP_ELEM; }else{ @@ -265,7 +271,9 @@ DriverMED_R_SMESHDS_Mesh SMDS_MeshElement* anElement = NULL; TInt aFamNum = aPolyedreInfo->GetFamNum(iElem); +#ifndef _DEXCEPT_ try{ +#endif if(anIsElemNum){ TInt anElemId = aPolyedreInfo->GetElemNum(iElem); anElement = myMesh->AddPolyhedralVolumeWithID(aNodeIds,aQuantities,anElemId); @@ -277,12 +285,13 @@ DriverMED_R_SMESHDS_Mesh anElement = myMesh->AddPolyhedralVolume(aNodes,aQuantities); isRenum = anIsElemNum; } +#ifndef _DEXCEPT_ }catch(const std::exception& exc){ aResult = DRS_FAIL; }catch(...){ aResult = DRS_FAIL; } - +#endif if(!anElement){ aResult = DRS_WARN_SKIP_ELEM; }else{ @@ -344,7 +353,9 @@ DriverMED_R_SMESHDS_Mesh TNodeIds aNodeIds(aNbNodes); bool anIsValidConnect = false; TCConnSlice aConnSlice = aCellInfo->GetConnSlice(iElem); +#ifndef _DEXCEPT_ try{ +#endif #ifdef _EDF_NODE_IDS_ if(anIsNodeNum) for(int iNode = 0; iNode < aNbNodes; iNode++) @@ -357,6 +368,7 @@ DriverMED_R_SMESHDS_Mesh aNodeIds[iNode] = aConnSlice[iNode]; #endif anIsValidConnect = true; +#ifndef _DEXCEPT_ }catch(const std::exception& exc){ //INFOS("Follow exception was cought:\n\t"<GetFamNum(iElem); +#ifndef _DEXCEPT_ try{ +#endif //MESSAGE("Try to create element # " << iElem << " with id = " // << aCellInfo->GetElemNum(iElem)); switch(aGeom){ @@ -504,6 +518,7 @@ DriverMED_R_SMESHDS_Mesh } break; } +#ifndef _DEXCEPT_ }catch(const std::exception& exc){ //INFOS("Follow exception was cought:\n\t"<