X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctgraphics%2Ftransformmatrix.cpp;h=65ec8284caede7bab3ecbfcdedff4be3f66ea30a;hp=912226ef4a08e5a6b4c68c4acb87277ea6f4e8e5;hb=1a050c98763fbbc0662731b0b76953acede6f5d7;hpb=c8b19dfaffba9f06d8b6c40cb1bb83a8964867f7 diff --git a/libctgraphics/transformmatrix.cpp b/libctgraphics/transformmatrix.cpp index 912226e..65ec828 100644 --- a/libctgraphics/transformmatrix.cpp +++ b/libctgraphics/transformmatrix.cpp @@ -1,10 +1,10 @@ /***************************************************************************** ** FILE IDENTIFICATION ** -** Name: transformmatrix.cpp -** Function: Transform Matrix routine for graphic library -** Programmer: Kevin Rosenberg -** Date Started: 1-22-85 +** Name: transformmatrix.cpp +** Function: Transform Matrix routine for graphic library +** Programmer: Kevin Rosenberg +** Date Started: 1-22-85 ** ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg @@ -37,7 +37,7 @@ TransformationMatrix2D::TransformationMatrix2D (double m[3][3]) mtx[2][0] = m[2][0]; mtx[2][1] = m[2][1]; mtx[2][2] = m[2][2]; } -void +void TransformationMatrix2D::setTranslate (double x, double y) { setIdentity(); @@ -46,7 +46,7 @@ TransformationMatrix2D::setTranslate (double x, double y) } -void +void TransformationMatrix2D::setScale (double sx, double sy) { setIdentity(); @@ -55,7 +55,7 @@ TransformationMatrix2D::setScale (double sx, double sy) } -void +void TransformationMatrix2D::setShear (double shrx, double shry) { setIdentity(); @@ -63,7 +63,7 @@ TransformationMatrix2D::setShear (double shrx, double shry) mtx[0][1] = shry; } -void +void TransformationMatrix2D::setRotate (double theta) { double s = sin (theta); @@ -76,7 +76,7 @@ TransformationMatrix2D::setRotate (double theta) } -void +void TransformationMatrix2D::setIdentity () { mtx[0][0] = 1.; mtx[0][1] = 0.; mtx[0][2] = 0.; @@ -93,18 +93,18 @@ TransformationMatrix2D::invert () const double determ = determinant (); if (fabs(determ) < 1E-6) { sys_error (ERR_WARNING, "Determinant = %g [TransformationMatrix2D::invert]", determ); - print (std::cout); - std::cout << std::endl; + print (std::cout); + std::cout << std::endl; } b[0][0] = (mtx[1][1] * mtx[2][2] - mtx[2][1] * mtx[1][2]) / determ; b[1][0] = -(mtx[1][0] * mtx[2][2] - mtx[2][0] * mtx[1][2]) / determ; b[2][0] = (mtx[1][0] * mtx[2][1] - mtx[2][0] * mtx[1][1]) / determ; - + b[0][1] = -(mtx[0][1] * mtx[2][2] - mtx[2][1] * mtx[0][2]) / determ; b[1][1] = (mtx[0][0] * mtx[2][2] - mtx[2][0] * mtx[0][2]) / determ; b[2][1] = -(mtx[0][0] * mtx[2][1] - mtx[2][0] * mtx[0][1]) / determ; - + b[0][2] = (mtx[0][1] * mtx[1][2] - mtx[1][1] * mtx[0][2]) / determ; b[1][2] = -(mtx[0][0] * mtx[1][2] - mtx[1][0] * mtx[0][2]) / determ; b[2][2] = (mtx[0][0] * mtx[1][1] - mtx[1][0] * mtx[0][1]) / determ; @@ -113,7 +113,7 @@ TransformationMatrix2D::invert () const } -double +double TransformationMatrix2D::determinant () const { return @@ -123,7 +123,7 @@ TransformationMatrix2D::determinant () const } -void +void TransformationMatrix2D::transformPoint (double* pX, double *pY) const { double x = *pX * mtx[0][0] + *pY * mtx[1][0] + mtx[2][0]; @@ -136,9 +136,9 @@ TransformationMatrix2D::transformPoint (double* pX, double *pY) const void TransformationMatrix2D::print (std::ostream& ostr) const { - std::cout << mtx[0][0] << " " << mtx[0][1] << " " << mtx[0][2] << std::endl; - std::cout << mtx[1][0] << " " << mtx[1][1] << " " << mtx[1][2] << std::endl; - std::cout << mtx[2][0] << " " << mtx[2][1] << " " << mtx[2][2] << std::endl; + std::cout << mtx[0][0] << " " << mtx[0][1] << " " << mtx[0][2] << std::endl; + std::cout << mtx[1][0] << " " << mtx[1][1] << " " << mtx[1][2] << std::endl; + std::cout << mtx[2][0] << " " << mtx[2][1] << " " << mtx[2][2] << std::endl; } @@ -150,9 +150,9 @@ const TransformationMatrix2D operator* (const TransformationMatrix2D& a, const T for (int row = 0; row < 3; row++) for (int col = 0; col < 3; col++) { - c[row][col] = 0.; - for (int calc = 0; calc < 3; calc++) - c[row][col] += a.mtx[row][calc] * b.mtx[calc][col]; + c[row][col] = 0.; + for (int calc = 0; calc < 3; calc++) + c[row][col] += a.mtx[row][calc] * b.mtx[calc][col]; } return TransformationMatrix2D (c);