<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="../style/class_view.xsl"?>
<Matrix>
===============================================
  Matrix - class to represent planar transformations
===============================================
Matrix is used to perform following transformations:
  x1 = x * a + y * b + e
  y1 = x * c + y * d + f

<CONSTRUCTOR>
  Matrix() - generic constructor, creates a Matrix that makes no change to coordinates
  Matrix(Matrix) - copy constructor
  Matrix([a, b, c, d, e, f]) - creates a Matrix and assigns coordinates from the list of float numbers
  Matrix(a, b, c, d, e, f) - creates a Matrix and assigns coordinates from float numbers

</CONSTRUCTOR>
	<ATTRIBUTES>
  a, b, c, d, e, f (float) - Matrix parameters

</ATTRIBUTES>
	<OPERATIONS>
  add - Matrix must be second operand, all parameters are added
  subtract - Matrix must be second operand, all parameters are subtracted
  multiply (with Matrix) - matrixes are multiplied
  multiply (with float number) - all parameters are scaled by the operand

</OPERATIONS>
	<METHODS>
  Assign - assigns new values to a Matrix, uses the same syntax as in constructors
  Add(Matrix m) - adds values of the Matrix m to current matrix
  Sub(Matrix m) - subtracts values of the Matrix m from current matrix
  Mul(float s) - mutiplies Matrix's parameters to s value
  Transform(Matrix m) - applies Matrix m transformation to the current Matrix

</METHODS>
</Matrix>
