| 
    CeresEngine 0.2.0
    
   A game development framework 
   | 
 
An affine transformation matrix for use in drawing 2D graphics. More...
#include <CeresEngine/Math/Rect.hpp>
Public Member Functions | |
| TAffineTransform ()=default | |
| TAffineTransform (const TMatrix3< T > &raw) | |
| TAffineTransform | concatenating (const TAffineTransform &t) const | 
| Returns an affine transformation matrix constructed by combining two existing affine transforms.   | |
| TAffineTransform | operator* (const TAffineTransform &rhs) const | 
| Returns an affine transformation matrix constructed by combining two existing affine transforms.     | |
| TAffineTransform | rotatedBy (T angle) const | 
| Returns an affine transformation matrix constructed by rotating an existing affine transform.   | |
| TAffineTransform | operator>> (T angle) | 
| Returns an affine transformation matrix constructed by rotating an existing affine transform.     | |
| TAffineTransform | operator<< (T angle) | 
| Returns an affine transformation matrix constructed by rotating an existing affine transform.     | |
| TAffineTransform | scaledBy (T sx, T sy) const | 
| Returns an affine transformation matrix constructed by scaling an existing affine transform.   | |
| TAffineTransform | operator* (const TVector2< T > &point) | 
| Returns an affine transformation matrix constructed by scaling an existing affine transform.     | |
| TAffineTransform | operator/ (const TVector2< T > &point) | 
| Returns an affine transformation matrix constructed by scaling an existing affine transform.     | |
| TAffineTransform | operator* (const T &scale) | 
| Returns an affine transformation matrix constructed by scaling an existing affine transform.     | |
| TAffineTransform | operator/ (const T &scale) | 
| Returns an affine transformation matrix constructed by scaling an existing affine transform.     | |
| TAffineTransform | translatedBy (T x, T y) const | 
| Returns an affine transformation matrix constructed by translating an existing affine transform.   | |
| TAffineTransform | operator+ (const TVector2< T > &point) | 
| Returns an affine transformation matrix constructed by translating an existing affine transform.     | |
| TAffineTransform | operator- (const TVector2< T > &point) | 
| Returns an affine transformation matrix constructed by translating an existing affine transform.     | |
| TAffineTransform | invert () const | 
| Returns an affine transformation matrix constructed by inverting an existing affine transform.   | |
| TPoint2< T > | operator() (const TPoint2< T > &point) const | 
| Returns the point resulting from an affine transformation of an existing point.   | |
| TSize2< T > | operator() (const TSize2< T > &size) const | 
| Returns the size resulting from an affine transformation of an existing size.   | |
| TRect2< T > | operator() (TRect2< T > rect) const | 
| Applies an affine transform to a rectangle.   | |
Static Public Member Functions | |
| static TAffineTransform | rotation (T angle) | 
| Returns an affine transformation matrix constructed by rotating an existing affine transform.     | |
| static TAffineTransform | scaling (T sx, T sy) | 
| Returns an affine transformation matrix constructed by scaling an existing affine transform.     | |
| static TAffineTransform | translation (T x, T y) | 
| Returns an affine transformation matrix constructed by translating an existing affine transform.     | |
Public Attributes | |
| TMatrix3< T > | raw = glm::identity<TMatrix3<T>>() | 
Friends | |
| bool | operator== (const TAffineTransform &lhs, const TAffineTransform &rhs) | 
| bool | operator!= (const TAffineTransform &lhs, const TAffineTransform &rhs) | 
An affine transformation matrix for use in drawing 2D graphics.
An affine transformation matrix is used to rotate, scale, translate, or skew the objects you draw in a graphics context. The TAffineTransform type provides functions for creating, concatenating, and applying affine transformations.
Affine transforms are represented by a 3 by 3 matrix.
      
  | 
  default | 
      
  | 
  inline | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by combining two existing affine transforms.
Concatenation combines two affine transformation matrices by multiplying them together. You might perform several concatenations in order to create a single affine transform that contains the cumulative effects of several transformations.
Note that matrix operations are not commutative—the order in which you concatenate matrices is important. That is, the result of multiplying matrix t1 by matrix t2 does not necessarily equal the result of multiplying matrix t2 by matrix t1.
| t | The affine transform to concatenate to this affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by inverting an existing affine transform.
Inversion is generally used to provide reverse transformation of points within transformed objects. Given the coordinates (x,y), which have been transformed by a given matrix to new coordinates (x’,y’), transforming the coordinates (x’,y’) by the inverse matrix produces the original coordinates (x,y).
      
  | 
  inline | 
Returns the point resulting from an affine transformation of an existing point.
| point | A point that specifies the x- and y-coordinates to transform. | 
      
  | 
  inline | 
Returns the size resulting from an affine transformation of an existing size.
| size | A size that specifies the x- and y-dimensions to transform. | 
      
  | 
  inline | 
Applies an affine transform to a rectangle.
Because affine transforms do not preserve rectangles in general, this function returns the smallest rectangle that contains the transformed corner points of the rect parameter. If the affine transform consists solely of scaling and translation operations, then the returned rectangle coincides with the rectangle constructed from the four transformed corners.
| rect | The rectangle whose corner points you want to transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by scaling an existing affine transform.
You use this function to create a new affine transformation matrix by adding scaling values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to scale a coordinate system.
| sx | The value by which to scale x values of the affine transform. | 
| sy | The value by which to scale y values of the affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by combining two existing affine transforms.
Concatenation combines two affine transformation matrices by multiplying them together. You might perform several concatenations in order to create a single affine transform that contains the cumulative effects of several transformations.
Note that matrix operations are not commutative—the order in which you concatenate matrices is important. That is, the result of multiplying matrix t1 by matrix t2 does not necessarily equal the result of multiplying matrix t2 by matrix t1.
| t | The affine transform to concatenate to this affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by scaling an existing affine transform.
You use this function to create a new affine transformation matrix by adding scaling values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to scale a coordinate system.
| sx | The value by which to scale x values of the affine transform. | 
| sy | The value by which to scale y values of the affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by translating an existing affine transform.
You use this function to create a new affine transformation matrix by adding translation values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to move a coordinate system.
| x | The value by which to move x values with the affine transform. | 
| y | The value by which to move y values with the affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by translating an existing affine transform.
You use this function to create a new affine transformation matrix by adding translation values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to move a coordinate system.
| x | The value by which to move x values with the affine transform. | 
| y | The value by which to move y values with the affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by scaling an existing affine transform.
You use this function to create a new affine transformation matrix by adding scaling values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to scale a coordinate system.
| sx | The value by which to scale x values of the affine transform. | 
| sy | The value by which to scale y values of the affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by scaling an existing affine transform.
You use this function to create a new affine transformation matrix by adding scaling values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to scale a coordinate system.
| sx | The value by which to scale x values of the affine transform. | 
| sy | The value by which to scale y values of the affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by rotating an existing affine transform.
You use this function to create a new affine transformation matrix by adding a rotation value to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to rotate a coordinate system.
| angle | The angle, in radians, by which to rotate the affine transform. A positive value specifies clockwise rotation and a negative value specifies counterclockwise rotation. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by rotating an existing affine transform.
You use this function to create a new affine transformation matrix by adding a rotation value to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to rotate a coordinate system.
| angle | The angle, in radians, by which to rotate the affine transform. A positive value specifies clockwise rotation and a negative value specifies counterclockwise rotation. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by rotating an existing affine transform.
You use this function to create a new affine transformation matrix by adding a rotation value to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to rotate a coordinate system.
| angle | The angle, in radians, by which to rotate the affine transform. A positive value specifies clockwise rotation and a negative value specifies counterclockwise rotation. | 
      
  | 
  inlinestatic | 
Returns an affine transformation matrix constructed by rotating an existing affine transform.
You use this function to create a new affine transformation matrix by adding a rotation value to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to rotate a coordinate system.
| angle | The angle, in radians, by which to rotate the affine transform. A positive value specifies clockwise rotation and a negative value specifies counterclockwise rotation. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by scaling an existing affine transform.
You use this function to create a new affine transformation matrix by adding scaling values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to scale a coordinate system.
| sx | The value by which to scale x values of the affine transform. | 
| sy | The value by which to scale y values of the affine transform. | 
      
  | 
  inlinestatic | 
Returns an affine transformation matrix constructed by scaling an existing affine transform.
You use this function to create a new affine transformation matrix by adding scaling values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to scale a coordinate system.
| sx | The value by which to scale x values of the affine transform. | 
| sy | The value by which to scale y values of the affine transform. | 
      
  | 
  inline | 
Returns an affine transformation matrix constructed by translating an existing affine transform.
You use this function to create a new affine transformation matrix by adding translation values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to move a coordinate system.
| x | The value by which to move x values with the affine transform. | 
| y | The value by which to move y values with the affine transform. | 
      
  | 
  inlinestatic | 
Returns an affine transformation matrix constructed by translating an existing affine transform.
You use this function to create a new affine transformation matrix by adding translation values to an existing affine transform. The resulting structure represents a new affine transform, which you can use (and reuse, if you want) to move a coordinate system.
| x | The value by which to move x values with the affine transform. | 
| y | The value by which to move y values with the affine transform. | 
      
  | 
  friend | 
      
  | 
  friend | 
| TMatrix3<T> Math::TAffineTransform< T >::raw = glm::identity<TMatrix3<T>>() |