Be more tolerant when looking for existing nodes on EDGE
map< double, const SMDS_MeshNode* >::iterator u2n = ++paramsOfNodes.begin();
map< double, const SMDS_MeshNode* >::iterator u2nEnd = --paramsOfNodes.end();
TPoint* p;
+ const double tolFact = ( paramsOfNodes.size() == points.size() ) ? 0.3 : 0.05;
while ( u2n != u2nEnd && pItF != points.end() )
{
const double u = u2n->first;
const SMDS_MeshNode* n = u2n->second;
- const double tol = ( (++u2n)->first - u ) / 20;
+ const double tol = ( (++u2n)->first - u ) * tolFact;
do
{
p = ( isForward ? *pItF : *pItR );