1#ifndef MSLANG_AFFINETRANSFORMATION_H
2#define MSLANG_AFFINETRANSFORMATION_H
15 (*this)(0, 0) = row0[0];
16 (*this)(0, 1) = row0[1];
17 (*this)(0, 2) = row0[2];
18 (*this)(1, 0) = row1[0];
19 (*this)(1, 1) = row1[1];
20 (*this)(1, 2) = row1[2];
41 double det = (*this)(0, 0) * (*
this)(1, 1) - (*
this)(1, 0) * (*
this)(0, 1);
43 Ret(0, 0) = (*this)(1, 1) / det;
44 Ret(1, 0) = -(*this)(1, 0) / det;
45 Ret(0, 1) = -(*this)(0, 1) / det;
46 Ret(1, 1) = (*this)(0, 0) / det;
48 Ret(0, 2) = - Ret(0, 0) * (*this)(0, 2) - Ret(0, 1) * (*this)(1, 2);
49 Ret(1, 2) = - Ret(1, 0) * (*this)(0, 2) - Ret(1, 1) * (*this)(1, 2);
60 return atan2((*
this)(1, 0), (*
this)(0, 0));
68 matrix_t w = boost::numeric::ublas::prod(*
this, b);
82 C = boost::numeric::ublas::prod(A, BTenz);
boost::numeric::ublas::matrix< double > matrix_t
Vector_t< double, 3 > transformFrom(const Vector_t< double, 3 > &v) const
Vector_t< double, 3 > getOrigin() const
Vector_t< double, 3 > transformTo(const Vector_t< double, 3 > &v) const
AffineTransformation(const Vector_t< double, 3 > &row0, const Vector_t< double, 3 > &row1)
AffineTransformation getInverse() const
AffineTransformation mult(const AffineTransformation &B)