| 388 | } |
| 389 | |
| 390 | float ofMap(float val, float fromStart, float fromEnd, float toStart, float toEnd, bool clamp) |
| 391 | { |
| 392 | float ret; |
| 393 | if (fromEnd - fromStart != 0) |
| 394 | ret = ((val - fromStart) / (fromEnd - fromStart)) * (toEnd - toStart) + toStart; |
| 395 | else |
| 396 | ret = toEnd; |
| 397 | if (clamp) |
| 398 | ret = ofClamp(ret, MIN(toStart, toEnd), MAX(toStart, toEnd)); |
| 399 | return ret; |
| 400 | } |
| 401 | |
| 402 | float ofRandom(float max) |
| 403 | { |