{
const std::vector<double>& aPnts = _fpHyp->GetPoints();
std::vector<int> nbsegs = _fpHyp->GetNbSegments();
- if ( theReverse )
- std::reverse( nbsegs.begin(), nbsegs.end() );
// sort normalized params, taking into account theReverse
TColStd_SequenceOfReal Params;
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;