1 #ifndef __JFIT__JLINE1ZESTIMATOR__ 
    2 #define __JFIT__JLINE1ZESTIMATOR__ 
   18 namespace JPP { 
using namespace JFIT; }
 
  111       const int N = 
distance(__begin, __end);
 
  113       if (N >= NUMBER_OF_PARAMETERS) {
 
  117         for (T i = __begin; i != __end; ++i) {
 
  137         double xi =  
j->getX() - getX();
 
  138         double yi =  
j->getY() - getY();
 
  141         for (
bool done = 
false; !done; ) {
 
  143           if ((done = (++
j == __end))) {
 
  147           double xj =  
j->getX() - getX();
 
  148           double yj =  
j->getY() - getY();
 
  155           const double y  = ((xj + xi) * dx +
 
  187         __x += V.a00 * y0  +  V.a01 * y1  +  V.a02 * y2;
 
  188         __y += V.a10 * y0  +  V.a11 * y1  +  V.a12 * y2;
 
  189         __t  = V.a20 * y0  +  V.a21 * y1  +  V.a22 * y2;
 
  195         throw JValueOutOfRange(
"JEstimator<JLine1Z>::JEstimator(): Not enough data points.");
 
  222       const int N = 
distance(__begin, __end);
 
  224       if (N >= NUMBER_OF_PARAMETERS) {
 
  236           const double dx = i->getX() - getX();
 
  237           const double dy = i->getY() - getY();
 
  239           const double rt = sqrt(dx*dx + dy*dy);
 
  254             const double dx = 
j->getX() - getX();
 
  255             const double dy = 
j->getY() - getY();
 
  256             const double dz = 
j->getZ() - getZ();
 
  258             const double rt = sqrt(dx*dx + dy*dy);
 
  271             x1 += xr * (*col) * ts;
 
  272             y1 += yr * (*col) * ts;
 
  273             t1 += tr * (*col) * ts;
 
  275             V.a00 += xr * (*col) * xc;
 
  276             V.a01 += xr * (*col) * yc;
 
  277             V.a02 += xr * (*col) * tc;
 
  278             V.a11 += yr * (*col) * yc;
 
  279             V.a12 += yr * (*col) * tc;
 
  280             V.a22 += tr * (*col) * tc;
 
  290         __x += V.a00 * x1  +  V.a01 * y1  +  V.a02 * t1;
 
  291         __y += V.a10 * x1  +  V.a11 * y1  +  V.a12 * t1;
 
  292         __t  = V.a20 * x1  +  V.a21 * y1  +  V.a22 * t1;
 
  295         throw JValueOutOfRange(
"JEstimator<JLine1Z>::update(): Not enough data points.");
 
  300     static const int NUMBER_OF_PARAMETERS  =  3;