X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Regular_1D.cxx;fp=src%2FStdMeshers%2FStdMeshers_Regular_1D.cxx;h=331cb75e689815f865815b66773d8cf9cdb766ab;hp=2f2c879f085bf09226aa356490120849a834594b;hb=979d9c81fc7d64b846496c171530f06ee7206baf;hpb=7ea81bbe6e068500dbaf7ff693dd05f33b974c53 diff --git a/src/StdMeshers/StdMeshers_Regular_1D.cxx b/src/StdMeshers/StdMeshers_Regular_1D.cxx index 2f2c879f0..331cb75e6 100644 --- a/src/StdMeshers/StdMeshers_Regular_1D.cxx +++ b/src/StdMeshers/StdMeshers_Regular_1D.cxx @@ -992,10 +992,6 @@ bool StdMeshers_Regular_1D::computeInternalParameters(SMESH_Mesh & theMesh, { const std::vector& aPnts = _fpHyp->GetPoints(); std::vector nbsegs = _fpHyp->GetNbSegments(); - if ( theReverse ) - std::reverse( nbsegs.begin(), nbsegs.end() ); - if ( nbsegs.empty() ) - nbsegs.push_back( 1 ); // sort normalized params, taking into account theReverse TColStd_SequenceOfReal Params; @@ -1033,6 +1029,16 @@ bool StdMeshers_Regular_1D::computeInternalParameters(SMESH_Mesh & theMesh, uVec.back() = theLastU; // divide segments + if ( theReverse ) + { + if ((int) nbsegs.size() > Params.Length() + 1 ) + nbsegs.resize( Params.Length() + 1 ); + std::reverse( nbsegs.begin(), nbsegs.end() ); + } + if ( nbsegs.empty() ) + { + nbsegs.push_back( 1 ); + } Params.InsertBefore( 1, 0.0 ); Params.Append( 1.0 ); double eltSize, segmentSize, par1, par2;