00001 #ifndef CAJUN_SPLINE_H 00002 #define CAJUN_SPLINE_H 00003 00004 #include <vector> 00005 00006 namespace cajun 00007 { 00009 typedef std::vector< std::vector< std::vector <double> > > spline_curve_t; 00010 00011 class spline_t 00012 { 00013 public: 00014 static void spline_init (spline_curve_t &myc, 00015 const double spline_pts_[12]); 00016 static void spline_point (double pt[3], const spline_curve_t &spline_curve, double s); 00017 private: 00023 static void CubicSplineCoefficientEQ0 (std::vector< std::vector<double> > &myc, int myn, 00024 int mybeg, int myend); 00025 }; 00026 }; 00027 00028 00029 #endif