Salome HOME
0021988: EDF 2484 SMESH : NETGEN and GDHS3D/BLSURF mixed meshes
authoreap <eap@opencascade.com>
Mon, 19 Nov 2012 16:26:52 +0000 (16:26 +0000)
committereap <eap@opencascade.com>
Mon, 19 Nov 2012 16:26:52 +0000 (16:26 +0000)
  Fix checkConformIgnoredAlgos()

src/SMESH/SMESH_Gen.cxx

index 4a31ee0db774be07037e995d104d715d6f966e65..e34ae9828dda32a26c5552c6377a17c34d726f1b 100644 (file)
@@ -585,7 +585,8 @@ static bool checkConformIgnoredAlgos(SMESH_Mesh&               aMesh,
       int dim = algo->GetDim();
       int aMaxGlobIgnoDim = ( aGlobIgnoAlgo ? aGlobIgnoAlgo->GetDim() : -1 );
 
-      if ( dim < aMaxGlobIgnoDim )
+      if ( dim < aMaxGlobIgnoDim &&
+           ( isGlobal || !aGlobIgnoAlgo->SupportSubmeshes() ))
       {
         // algo is hidden by a global algo
         theErrors.push_back( SMESH_Gen::TAlgoStateError() );
@@ -812,7 +813,8 @@ bool SMESH_Gen::GetAlgoState(SMESH_Mesh&               theMesh,
   for (dim = 3; dim > 0; dim--)
   {
     if (aGlobAlgoArr[ dim ] &&
-        !aGlobAlgoArr[ dim ]->NeedDiscreteBoundary())
+        !aGlobAlgoArr[ dim ]->NeedDiscreteBoundary() /*&&
+        !aGlobAlgoArr[ dim ]->SupportSubmeshes()*/ )
     {
       aGlobIgnoAlgo = aGlobAlgoArr[ dim ];
       break;