225 this->
Set(1, 0, 0, 0, 1, 0, 0, 0, 1);
233 this->
Set(1, 0, 0, 0, 1, 0, 0, 0, 1);
238 if (fabs(
dot - 1.0) <= 1
e-6)
241 this->
Set(1, 0, 0, 0, 1, 0, 0, 0, 1);
244 else if (fabs(
dot + 1.0) <= 1
e-6)
247 this->
Set(-1, 0, 0, 0, -1, 0, 0, 0, -1);
253 this->SetFromAxisAngle(
cross, acos(
dot));
465 T
t0 = this->data[2][2]*this->data[1][1]
466 - this->data[2][1]*this->data[1][2];
468 T
t1 = -(this->data[2][2]*this->data[1][0]
469 -this->data[2][0]*this->data[1][2]);
471 T
t2 = this->data[2][1]*this->data[1][0]
472 - this->data[2][0]*this->data[1][1];
474 return t0 * this->data[0][0]
475 +
t1 * this->data[0][1]
476 +
t2 * this->data[0][2];
483 T
t0 = this->data[2][2]*this->data[1][1] -
484 this->data[2][1]*this->data[1][2];
486 T
t1 = -(this->data[2][2]*this->data[1][0] -
487 this->data[2][0]*this->data[1][2]);
489 T
t2 = this->data[2][1]*this->data[1][0] -
490 this->data[2][0]*this->data[1][1];
492 T
invDet = 1.0 / (
t0 * this->data[0][0] +
493 t1 * this->data[0][1] +
494 t2 * this->data[0][2]);
498 - (this->data[2][2] * this->data[0][1] -
499 this->data[2][1] * this->data[0][2]),
500 + (this->data[1][2] * this->data[0][1] -
501 this->data[1][1] * this->data[0][2]),
503 + (this->data[2][2] * this->data[0][0] -
504 this->data[2][0] * this->data[0][2]),
505 - (this->data[1][2] * this->data[0][0] -
506 this->data[1][0] * this->data[0][2]),
508 - (this->data[2][1] * this->data[0][0] -
509 this->data[2][0] * this->data[0][1]),
510 + (this->data[1][1] * this->data[0][0] -
511 this->data[1][0] * this->data[0][1]));
527 this->data[0][0], this->data[1][0], this->data[2][0],
528 this->data[0][1], this->data[1][1], this->data[2][1],
529 this->data[0][2], this->data[1][2], this->data[2][2]);