IPAL52438: Projection 2D fails

Merge w/o parameter check if nb of existing and new nodes is same
This commit is contained in:
eap 2014-07-03 16:09:34 +04:00
parent 6440fc57c2
commit 9e3a675848

View File

@ -4018,7 +4018,21 @@ bool SMESH_Pattern::MakeMesh(SMESH_Mesh* theMesh,
map< double, const SMDS_MeshNode* >::iterator u2n = ++paramsOfNodes.begin(); map< double, const SMDS_MeshNode* >::iterator u2n = ++paramsOfNodes.begin();
map< double, const SMDS_MeshNode* >::iterator u2nEnd = --paramsOfNodes.end(); map< double, const SMDS_MeshNode* >::iterator u2nEnd = --paramsOfNodes.end();
TPoint* p; TPoint* p;
const double tolFact = ( paramsOfNodes.size() == points.size() ) ? 0.3 : 0.05; if ( paramsOfNodes.size() == points.size() )
{
for ( ; u2n != u2nEnd; ++u2n )
{
p = ( isForward ? *pItF : *pItR );
int pIndex = p - &myPoints[0];
if ( !nodesVector [ pIndex ] )
nodesVector [ pIndex ] = u2n->second;
++pItF;
++pItR;
}
}
else
{
const double tolFact = 0.05;
while ( u2n != u2nEnd && pItF != points.end() ) while ( u2n != u2nEnd && pItF != points.end() )
{ {
const double u = u2n->first; const double u = u2n->first;
@ -4039,6 +4053,7 @@ bool SMESH_Pattern::MakeMesh(SMESH_Mesh* theMesh,
} }
while ( p->myU < u && ( ++pItF, ++pItR != points.rend() )); while ( p->myU < u && ( ++pItF, ++pItR != points.rend() ));
} }
}
break; break;
} }
default:; default:;