Salome HOME
22011: [CEA 736] Mesh ends with "Global 2D algorithm is missing"
authoreap <eap@opencascade.com>
Mon, 17 Dec 2012 16:37:18 +0000 (16:37 +0000)
committereap <eap@opencascade.com>
Mon, 17 Dec 2012 16:37:18 +0000 (16:37 +0000)
  In checkMissing(), check only sub-meshes on meshable shapes (edges,faces,solids)

src/SMESH/SMESH_Gen.cxx

index 58b649bf7a285e62a12b036522648c8e44b014a1..4651d9793c7a0fbb114aec555991e0b208b6ce9d 100644 (file)
@@ -652,8 +652,15 @@ static bool checkMissing(SMESH_Gen*                aGen,
                          set<SMESH_subMesh*>&      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");