mirror of
https://github.com/JulianGro/overte.git
synced 2025-05-04 16:53:29 +02:00
Add asserts
This commit is contained in:
parent
c56ac24602
commit
e56d2d9b43
1 changed files with 4 additions and 0 deletions
|
@ -11,14 +11,18 @@
|
||||||
|
|
||||||
#include "Interpolate.h"
|
#include "Interpolate.h"
|
||||||
|
|
||||||
|
#include <assert.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
float Interpolate::bezierInterpolate(float y1, float y2, float y3, float u) {
|
float Interpolate::bezierInterpolate(float y1, float y2, float y3, float u) {
|
||||||
// https://en.wikipedia.org/wiki/Bezier_curve
|
// https://en.wikipedia.org/wiki/Bezier_curve
|
||||||
|
assert(0.0f <= u && u <= 1.0f);
|
||||||
return (1.0f - u) * (1.0f - u) * y1 + 2.0f * (1.0f - u) * u * y2 + u * u * y3;
|
return (1.0f - u) * (1.0f - u) * y1 + 2.0f * (1.0f - u) * u * y2 + u * u * y3;
|
||||||
}
|
}
|
||||||
|
|
||||||
float Interpolate::interpolate3Points(float y1, float y2, float y3, float u) {
|
float Interpolate::interpolate3Points(float y1, float y2, float y3, float u) {
|
||||||
|
assert(0.0f <= u && u <= 1.0f);
|
||||||
|
|
||||||
if (u <= 0.5f && y1 == y2 || u >= 0.5f && y2 == y3) {
|
if (u <= 0.5f && y1 == y2 || u >= 0.5f && y2 == y3) {
|
||||||
// Flat line.
|
// Flat line.
|
||||||
return y2;
|
return y2;
|
||||||
|
|
Loading…
Reference in a new issue