44 #ifndef vpTemplateTrackerMIBSpline_hh
45 #define vpTemplateTrackerMIBSpline_hh
47 #include <visp3/core/vpConfig.h>
49 #include <visp3/core/vpImage.h>
50 #include <visp3/core/vpMath.h>
51 #include <visp3/tt/vpTemplateTrackerHeader.h>
52 #include <visp3/tt/vpTemplateTrackerBSpline.h>
54 #include <visp3/tt_mi/vpTemplateTrackerMI.h>
56 #ifndef DOXYGEN_SHOULD_SKIP_THIS
58 class VISP_EXPORT vpTemplateTrackerMIBSpline
61 static void PutPVBsplineD(
double *Prt,
int cr,
double er,
int ct,
double et,
int Nc,
double val,
const int °re);
62 static void PutPVBsplineD3(
double *Prt,
int cr,
double er,
int ct,
double et,
int Nc,
double val);
63 static void PutPVBsplineD4(
double *Prt,
int cr,
double er,
int ct,
double et,
int Nc,
double val);
65 static void PutTotPVBspline(
double *Prt,
int cr,
double &er,
int ct,
double &et,
int Nc,
double *val,
unsigned int &NbParam,
int °ree);
66 static void PutTotPVBspline(
double *Prt,
double *dPrt,
double *d2Prt,
int cr,
double &er,
int ct,
double &et,
int Ncb,
double *val,
unsigned int &NbParam,
int °ree);
67 static void PutTotPVBspline3(
double *Prt,
int cr,
double &er,
int ct,
double &et,
int Nc,
double *val,
unsigned int &NbParam);
68 static void PutTotPVBspline3(
double *Prt,
double *dPrt,
double *d2Prt,
int cr,
double &er,
int ct,
double &et,
int Ncb,
double *val,
unsigned int &NbParam);
69 static void PutTotPVBspline4(
double *Prt,
int cr,
double er,
int ct,
double et,
int Nc,
double *val,
unsigned int &NbParam);
70 static void PutTotPVBspline4(
double *Prt,
double *dPrt,
double *d2Prt,
int cr,
double er,
int ct,
double et,
int Ncb,
double *val,
unsigned int &NbParam);
73 static void PutTotPVBspline3(
double *Prt,
double &er,
double *et,
unsigned int NbParam);
74 static void PutTotPVBspline4(
double *Prt,
double &er,
double *et,
unsigned int NbParam);
77 static void PutTotPVBsplineNoSecond(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Nc,
double *val,
unsigned int &NbParam,
int °ree);
78 static void PutTotPVBsplineNoSecond(
double *Prt,
double *dPrt,
int &cr,
double &er,
int &ct,
double &et,
int &Ncb,
double *val,
unsigned int &NbParam,
int °ree);
79 static void PutTotPVBspline3NoSecond(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Nc,
double *val,
unsigned int &NbParam);
80 static void PutTotPVBspline3NoSecond(
double *Prt,
double *dPrt,
int &cr,
double &er,
int &ct,
double &et,
int &Ncb,
double *val,
unsigned int &NbParam);
81 static void PutTotPVBspline4NoSecond(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Nc,
double *val,
unsigned int &NbParam);
82 static void PutTotPVBspline4NoSecond(
double *Prt,
double *dPrt,
int &cr,
double &er,
int &ct,
double &et,
int &Ncb,
double *val,
unsigned int &NbParam);
84 static void PutTotPVBsplinePrtTout(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Nc,
unsigned int &NbParam,
int °ree);
85 static void PutTotPVBspline3PrtTout(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Nc,
unsigned int &NbParam);
86 static void PutTotPVBspline4PrtTout(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Nc,
unsigned int &NbParam);
88 static void PutTotPVBsplinePrt(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Ncb,
unsigned int &NbParam,
int °ree);
89 static void PutTotPVBspline3Prt(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Ncb);
90 static void PutTotPVBspline4Prt(
double *Prt,
int &cr,
double &er,
int &ct,
double &et,
int &Ncb);
92 static double Bspline3(
double diff);
93 static double Bspline4i(
double diff,
int &interv);
95 static double dBspline3(
double diff);
96 static double dBspline4(
double diff);
98 static double d2Bspline3(
double diff);
99 static double d2Bspline4(
double diff);