23 lines
642 B
C
23 lines
642 B
C
|
#ifndef SPLINE_H
|
||
|
#define SPLINE_H
|
||
|
|
||
|
#include "HandmadeMath.h"
|
||
|
|
||
|
HMM_Vec2 *catmull_rom_ma_v2(HMM_Vec2 *cp, float ma);
|
||
|
HMM_Vec3 *catmull_rom_ma_v3(HMM_Vec3 *cp, float ma);
|
||
|
HMM_Vec4 *catmull_rom_ma_v4(HMM_Vec4 *cp, float ma);
|
||
|
|
||
|
HMM_Vec2 catmull_rom_query(HMM_Vec2 *cp, float d, HMM_Mat4 *G);
|
||
|
|
||
|
HMM_Vec2 catmull_rom_pos(HMM_Vec2 *cp, float d);
|
||
|
HMM_Vec2 catmull_rom_tan(HMM_Vec2 *cp, float d);
|
||
|
HMM_Vec2 catmull_rom_curv(HMM_Vec2 *cp, float d);
|
||
|
HMM_Vec2 catmull_rom_wig(HMM_Vec2 *cp, float d);
|
||
|
|
||
|
float catmull_rom_len(HMM_Vec2 *cp);
|
||
|
|
||
|
/* Returns closest point on a curve given a point p */
|
||
|
HMM_Vec2 catmull_rom_closest(HMM_Vec2 *cp, HMM_Vec2 p);
|
||
|
|
||
|
#endif
|