+ // remove faces that are merged off
+ for ( cutFacesIt = myCutFaces.cbegin(); cutFacesIt != myCutFaces.cend(); ++cutFacesIt )
+ {
+ const CutFace& cf = *cutFacesIt;
+ if ( !cf.myLinks.empty() || cf.myInitFace->IsNull() )
+ continue;
+
+ nodes.assign( cf.myInitFace->begin_nodes(), cf.myInitFace->end_nodes() );
+ for ( size_t i = 0; i < nodes.size(); ++i )
+ {
+ const SMDS_MeshNode* n = nodes[ i ];
+ while ( myRemove2KeepNodes.IsBound( n ))
+ n = myRemove2KeepNodes( n );
+ if ( n != nodes[ i ] && cf.myInitFace->GetNodeIndex( n ) >= 0 )
+ {
+ theNew2OldFaces[ cf.myInitFace->GetID() ].first = 0;
+ myMesh->RemoveFreeElement( cf.myInitFace );
+ break;
+ }
+ }
+ }
+