78 const int N =
distance(__begin, __end);
88 for (T i = __begin; i != __end; ++i) {
90 const double xx = 1.0 - i->getDX() * i->getDX();
91 const double yy = 1.0 - i->getDY() * i->getDY();
92 const double zz = 1.0 - i->getDZ() * i->getDZ();
94 const double xy = -i->getDX() * i->getDY();
95 const double xz = -i->getDX() * i->getDZ();
96 const double yz = -i->getDY() * i->getDZ();
107 x += xx * i->getX() + xy * i->getY() + xz * i->getZ();
108 y += xy * i->getX() + yy * i->getY() + yz * i->getZ();
109 z += xz * i->getX() + yz * i->getY() + zz * i->getZ();
118 __x = V.a00 * x + V.a01 * y + V.a02 * z;
119 __y = V.a10 * x + V.a11 * y + V.a12 * z;
120 __z = V.a20 * x + V.a21 * y + V.a22 * z;
123 throw JValueOutOfRange(
"JEstimator<JPoint3D>::JEstimator(): Not enough data points.");