X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Mesh.cxx;h=e7acf1db4d60ec3e0b970637eadeef3e5e2b59bc;hb=a4be05bc3b1de5753d74501144c3ff1416606a12;hp=3f16ab7dd58be1869e0428e07ca8e675e4cb8a9b;hpb=e330934ca6f8bb1f67b5367bb65a861868998aeb;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_Mesh.cxx b/src/SMESH/SMESH_Mesh.cxx index 3f16ab7dd..e7acf1db4 100644 --- a/src/SMESH/SMESH_Mesh.cxx +++ b/src/SMESH/SMESH_Mesh.cxx @@ -361,6 +361,7 @@ double SMESH_Mesh::GetShapeDiagonalSize(const TopoDS_Shape & aShape) bool isPrecise = false; if ( nbFaces < maxNbFaces ) try { + OCC_CATCH_SIGNALS; GEOMUtils::PreciseBoundingBox( aShape, Box ); isPrecise = true; } @@ -1193,8 +1194,8 @@ void SMESH_Mesh::NotifySubMeshesHypothesisModification(const SMESH_Hypothesis* h if ( !GetMeshDS()->IsUsedHypothesis( hyp )) return; - if (_callUp) - _callUp->HypothesisModified(); + if (_callUp && hyp) + _callUp->HypothesisModified( hyp->GetID() ); SMESH_Algo *algo; const SMESH_HypoFilter* compatibleHypoKind; @@ -1347,8 +1348,8 @@ bool SMESH_Mesh::IsComputedOK() if ( NbNodes() == 0 ) return false; - if ( !HasShapeToMesh() ) - return true; + // if ( !HasShapeToMesh() ) + // return true; if ( SMESH_subMesh* mainSM = GetSubMeshContaining( 1 )) { @@ -1508,7 +1509,7 @@ void SMESH_Mesh::ExportSAUV(const char *file, cmd += "from medutilities import my_remove ; my_remove(r'" + medfilename + "')"; cmd += "\""; system(cmd.c_str()); - ExportMED(medfilename.c_str(), theMeshName, theAutoGroups, + ExportMED(medfilename.c_str(), theMeshName, theAutoGroups, /*minor=*/-1, /*meshPart=*/NULL, /*theAutoDimension=*/false, /*theAddODOnVertices=*/false, /*theAllElemsToGroup=*/true ); // theAllElemsToGroup is for PAL0023413 #ifdef WIN32 @@ -2430,8 +2431,9 @@ bool SMESH_Mesh::SortByMeshOrder(std::vector& theListToSort) con { TPosInList smPos = find( smBeg, smEnd, smVec[i] ); if ( smPos != smEnd ) { - onlyOrderedList.push_back( smVec[i] ); sortedPos[ distance( smBeg, smPos )] = smPos; + if ( sortedPos.size() > onlyOrderedList.size() ) + onlyOrderedList.push_back( smVec[i] ); } } }