Salome HOME
0021153: [CEA] non regression test fails
authoreap <eap@opencascade.com>
Tue, 1 Feb 2011 13:48:56 +0000 (13:48 +0000)
committereap <eap@opencascade.com>
Tue, 1 Feb 2011 13:48:56 +0000 (13:48 +0000)
    fix error that pyramids sharing one common node are not checked for intersection

src/StdMeshers/StdMeshers_QuadToTriaAdaptor.cxx

index bd0198e0e8685b52b31fbd4706fb1119b0a39c83..fcb88816769262322b7b30fa97afea2858973171 100644 (file)
@@ -91,7 +91,7 @@ namespace
         int ind = baseNodes[0] ? 1:0;
         if ( baseNodes[ ind ])
           return false; // pyramids with a common base face
-        baseNodes   [ ind ] = PrmI->GetNode(i);
+        baseNodes    [ ind ] = PrmI->GetNode(i);
         baseNodesIndI[ ind ] = i;
         baseNodesIndJ[ ind ] = j;
       }
@@ -1057,7 +1057,11 @@ bool StdMeshers_QuadToTriaAdaptor::Compute2ndPart(SMESH_Mesh&
       PsI[k] = SMESH_TNodeXYZ( n );
       SMDS_ElemIteratorPtr vIt = n->GetInverseElementIterator( SMDSAbs_Volume );
       while ( vIt->more() )
-        checkedPyrams.insert( vIt->next() );
+      {
+        const SMDS_MeshElement* PrmJ = vIt->next();
+        if ( SMESH_Algo::GetCommonNodes( PrmI, PrmJ ).size() > 1 )
+          checkedPyrams.insert( PrmJ );
+      }
     }
 
     // check intersection with distant pyramids