From b69677548c841184a3bce7c63e9b88791d4f8b0b Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 17 Dec 2012 16:37:18 +0000 Subject: [PATCH] 22011: [CEA 736] Mesh ends with "Global 2D algorithm is missing" In checkMissing(), check only sub-meshes on meshable shapes (edges,faces,solids) --- src/SMESH/SMESH_Gen.cxx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/SMESH/SMESH_Gen.cxx b/src/SMESH/SMESH_Gen.cxx index 58b649bf7..4651d9793 100644 --- a/src/SMESH/SMESH_Gen.cxx +++ b/src/SMESH/SMESH_Gen.cxx @@ -652,8 +652,15 @@ static bool checkMissing(SMESH_Gen* aGen, set& aCheckedMap, list< SMESH_Gen::TAlgoStateError > & theErrors) { - if ( aSubMesh->GetSubShape().ShapeType() == TopAbs_VERTEX || - aCheckedMap.count( aSubMesh )) + switch ( aSubMesh->GetSubShape().ShapeType() ) + { + case TopAbs_EDGE: + case TopAbs_FACE: + case TopAbs_SOLID: break; // check this submesh, it can be meshed + default: + return true; // not meshable submesh + } + if ( aCheckedMap.count( aSubMesh )) return true; //MESSAGE("=====checkMissing");