--------------------------------------------------
| 274 | |
| 275 | // -------------------------------------------------- |
| 276 | void SampleDiscrete(TempMesh& out,IfcFloat a, IfcFloat b) const override { |
| 277 | ai_assert( InRange( a ) ); |
| 278 | ai_assert( InRange( b ) ); |
| 279 | |
| 280 | const size_t cnt = EstimateSampleCount(a,b); |
| 281 | out.mVerts.reserve(out.mVerts.size() + cnt); |
| 282 | |
| 283 | for(const CurveEntry& entry : curves) { |
| 284 | const size_t curCnt = out.mVerts.size(); |
| 285 | entry.first->SampleDiscrete(out); |
| 286 | |
| 287 | if (!entry.second && curCnt != out.mVerts.size()) { |
| 288 | std::reverse(out.mVerts.begin() + curCnt, out.mVerts.end()); |
| 289 | } |
| 290 | } |
| 291 | } |
| 292 | |
| 293 | // -------------------------------------------------- |
| 294 | ParamRange GetParametricRange() const override { |