+ if ( !badSmooEdges.empty() && step >= stepLimit / 2 )
+ {
+ // look for the best smooth of _LayerEdge's neighboring badSmooEdges
+ vector<_Simplex> simplices;
+ for ( size_t i = 0; i < badSmooEdges.size(); ++i )
+ {
+ _LayerEdge* ledge = badSmooEdges[i];
+ _Simplex::GetSimplices( ledge->_nodes[0], simplices, data._ignoreFaceIds );
+ for ( size_t iS = 0; iS < simplices.size(); ++iS )
+ {
+ TNode2Edge::iterator n2e = data._n2eMap.find( simplices[iS]._nNext );
+ if ( n2e != data._n2eMap.end()) {
+ _LayerEdge* ledge2 = n2e->second;
+ if ( ledge2->_nodes[0]->getshapeId() == sInd )
+ ledge2->Smooth( step, isConcaveFace, /*findBest=*/true );
+ }
+ }
+ }
+ }