00001 00005 class SplineCurveInterpolBox 00006 00007 { 00008 protected: 00009 00010 Handle(MatBand(NUMT)) Ax, Ay; 00011 00012 public: 00013 00014 00015 void BSplineInterpolation( SplineSpace& space, 00016 const VecSimple(real)& x, 00017 Vec(NUMT)& f, 00018 Vec(NUMT)& coef, 00019 bool repeat = false); 00020 00021 void leastSquare( SplineSpace& space, 00022 const VecSimple(real)& x, 00023 const VecSimple(NUMT)& f, 00024 Vec(NUMT)& coef, 00025 const VecSimple(real)& weights); 00026 00027 00028 void PBSplineInterpolation( SplineSpace& space, 00029 const VecSimple(real)& t, 00030 const MatSimple(NUMT)& data, 00031 MatSimple(NUMT)& coef, 00032 bool repeat = false); 00033 00034 void PBSplineInterpolation( SplineSpace& space, 00035 const VecSimple(real)& t, 00036 const ArrayGenSimple(NUMT)& data, 00037 MatSimple(NUMT)& coef, 00038 bool repeat = false); 00039 00040 00041 void TPSurfaceInterpolation( SplineSpace& space1, 00042 SplineSpace& space2, 00043 const VecSimple(real)& x, 00044 const VecSimple(real)& y, 00045 const ArrayGenSimple(NUMT)& data, 00046 MatSimple(NUMT)& coef, 00047 bool repeat = false); 00048 00049 00050 void PTPSurfaceInterpolation( SplineSpace& space1, 00051 SplineSpace& space2, 00052 const VecSimple(real)& t1, 00053 const VecSimple(real)& t2, 00054 const MatSimple(NUMT)& xdata, 00055 const MatSimple(NUMT)& ydata, 00056 const MatSimple(NUMT)& zdata, 00057 MatSimple(NUMT)& xcoef, 00058 MatSimple(NUMT)& ycoef, 00059 MatSimple(NUMT)& zcoef, 00060 bool repeat = false); 00061 00062 00063 void TPVolumeInterpolation( VecSimplest(SplineSpace)& spaces, 00064 const VecSimplest(VecSimple(real))& x, 00065 const ArrayGenSimple(NUMT)& data, 00066 ArrayGenSimple(NUMT)& coef); 00067 }; 00068 00069