From: eap Date: Tue, 20 Nov 2012 14:27:25 +0000 (+0000) Subject: Regression of bugs/D5 X-Git-Tag: V6_6_0rc1~24 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0ec8a4babaa4bab0d0213d0783490ca1e7ad7bd9;p=modules%2Fsmesh.git Regression of bugs/D5 --- diff --git a/src/StdMeshers/StdMeshers_Regular_1D.cxx b/src/StdMeshers/StdMeshers_Regular_1D.cxx index 6ea520001..e151b794e 100644 --- a/src/StdMeshers/StdMeshers_Regular_1D.cxx +++ b/src/StdMeshers/StdMeshers_Regular_1D.cxx @@ -560,17 +560,20 @@ void StdMeshers_Regular_1D::redistributeNearVertices (SMESH_Mesh & theM double Um = *itU++; double Lm = GCPnts_AbscissaPoint::Length( theC3d, Um, *itU); double L = GCPnts_AbscissaPoint::Length( theC3d, *itU, l); - StdMeshers_Regular_1D algo( *this ); - algo._hypType = BEG_END_LENGTH; - algo._value[ BEG_LENGTH_IND ] = Lm; - algo._value[ END_LENGTH_IND ] = vertexLength; + static StdMeshers_Regular_1D* auxAlgo = 0; + if ( !auxAlgo ) { + auxAlgo = new StdMeshers_Regular_1D( _gen->GetANewId(), _studyId, _gen ); + auxAlgo->_hypType = BEG_END_LENGTH; + } + auxAlgo->_value[ BEG_LENGTH_IND ] = Lm; + auxAlgo->_value[ END_LENGTH_IND ] = vertexLength; double from = *itU, to = l; if ( isEnd1 ) { std::swap( from, to ); - std::swap( algo._value[ BEG_LENGTH_IND ], algo._value[ END_LENGTH_IND ]); + std::swap( auxAlgo->_value[ BEG_LENGTH_IND ], auxAlgo->_value[ END_LENGTH_IND ]); } list params; - if ( algo.computeInternalParameters( theMesh, theC3d, L, from, to, params, false )) + if ( auxAlgo->computeInternalParameters( theMesh, theC3d, L, from, to, params, false )) { if ( isEnd1 ) params.reverse(); while ( 1 + nHalf-- )