Regression of bugs/D5

This commit is contained in:
eap 2012-11-20 14:27:25 +00:00
parent 934c691b92
commit 0ec8a4baba

View File

@ -560,17 +560,20 @@ void StdMeshers_Regular_1D::redistributeNearVertices (SMESH_Mesh & theM
double Um = *itU++; double Um = *itU++;
double Lm = GCPnts_AbscissaPoint::Length( theC3d, Um, *itU); double Lm = GCPnts_AbscissaPoint::Length( theC3d, Um, *itU);
double L = GCPnts_AbscissaPoint::Length( theC3d, *itU, l); double L = GCPnts_AbscissaPoint::Length( theC3d, *itU, l);
StdMeshers_Regular_1D algo( *this ); static StdMeshers_Regular_1D* auxAlgo = 0;
algo._hypType = BEG_END_LENGTH; if ( !auxAlgo ) {
algo._value[ BEG_LENGTH_IND ] = Lm; auxAlgo = new StdMeshers_Regular_1D( _gen->GetANewId(), _studyId, _gen );
algo._value[ END_LENGTH_IND ] = vertexLength; auxAlgo->_hypType = BEG_END_LENGTH;
}
auxAlgo->_value[ BEG_LENGTH_IND ] = Lm;
auxAlgo->_value[ END_LENGTH_IND ] = vertexLength;
double from = *itU, to = l; double from = *itU, to = l;
if ( isEnd1 ) { if ( isEnd1 ) {
std::swap( from, to ); 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<double> params; list<double> 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(); if ( isEnd1 ) params.reverse();
while ( 1 + nHalf-- ) while ( 1 + nHalf-- )