Salome HOME
fix CoincidentElements::IsSatisfy() for polyhedrons
authoreap <eap@opencascade.com>
Tue, 28 Feb 2012 13:32:04 +0000 (13:32 +0000)
committereap <eap@opencascade.com>
Tue, 28 Feb 2012 13:32:04 +0000 (13:32 +0000)
src/Controls/SMESH_Controls.cxx

index e65db837fb57b6999917e277799c5b077f829369..26348e012c76e895c5526dc3f2bc8884188d2038 100644 (file)
@@ -2161,11 +2161,12 @@ bool CoincidentElements::IsSatisfy( long theElementId )
   {
     if ( e->GetType() != GetType() ) return false;
     set< const SMDS_MeshNode* > elemNodes( e->begin_nodes(), e->end_nodes() );
+    const int nbNodes = e->NbNodes();
     SMDS_ElemIteratorPtr invIt = (*elemNodes.begin())->GetInverseElementIterator( GetType() );
     while ( invIt->more() )
     {
       const SMDS_MeshElement* e2 = invIt->next();
-      if ( e2 == e || e2->NbNodes() != (int)elemNodes.size() ) continue;
+      if ( e2 == e || e2->NbNodes() != nbNodes ) continue;
 
       bool sameNodes = true;
       for ( size_t i = 0; i < elemNodes.size() && sameNodes; ++i )