| 511 | } |
| 512 | |
| 513 | void SL::Split(const Spline1& spline, Spline1* spline0, Spline1* spline1) |
| 514 | { |
| 515 | float q0 = (spline.x + spline.y) * 0.5f; |
| 516 | float q1 = (spline.y + spline.z) * 0.5f; |
| 517 | float q2 = (spline.z + spline.w) * 0.5f; |
| 518 | |
| 519 | float r0 = (q0 + q1) * 0.5f; |
| 520 | float r1 = (q1 + q2) * 0.5f; |
| 521 | |
| 522 | float s0 = (r0 + r1) * 0.5f; |
| 523 | |
| 524 | float sx = spline.x; |
| 525 | float sw = spline.w; |
| 526 | |
| 527 | *spline0 = Spline1(sx, q0, r0, s0); |
| 528 | *spline1 = Spline1(s0, r1, q2, sw); |
| 529 | } |
| 530 | |
| 531 | void SL::Split(const Spline1& spline, float t, Spline1* spline0, Spline1* spline1) |
| 532 | { |