#ifndef _SPLINE_H #define _SPLINE_H #include #include #include #include #include #include "cv.h" #include "vec.h" #include "util.h" using namespace std; // A very simple implementation of a catmull rom spline in 3D class Spline { public: vector points; Spline() {} Spline(vec3d p) { setPoint(p); } int findState(float time); void setPoint(vec3d point); int getSplinePoint(float time, vec3d &vnew); vec3d getNormal(float time); vec3d getNormalPoint(int pt); vec3d findCentroid(); void drawSpline(IplImage* image); static vec getCatMull(double t, double k); }; void operator+= (Spline &sp, vec3d v); #endif // _SPLINE_H