# common::AFFINE2D Struct Reference [Math Module, Affine 2D transform]

Affine transform of 2D point/vector. More...

#include <Math.hpp>

List of all members.

## Public Member Functions

AFFINE2D ()
AFFINE2D (float a, float b, float c, float d, float e, float f)
AFFINE2D (const float *arr)
operator float * ()
operator const float * () const
float & operator[] (size_t index)
float operator[] (size_t index) const
bool operator== (const AFFINE2D &rhs) const
bool operator!= (const AFFINE2D &rhs) const
float & operator() (uint row, uint col)
float operator() (uint row, uint col) const
AFFINE2D operator+ () const
AFFINE2D operator- () const
AFFINE2D operator+ (const AFFINE2D &rhs) const
AFFINE2D operator- (const AFFINE2D &rhs) const
AFFINE2D operator* (const AFFINE2D &rhs) const
AFFINE2Doperator+= (const AFFINE2D &rhs)
AFFINE2Doperator-= (const AFFINE2D &rhs)
AFFINE2Doperator*= (const AFFINE2D &rhs)
AFFINE2D operator* (float s) const
AFFINE2D operator/ (float s) const
AFFINE2Doperator*= (float s)
AFFINE2Doperator/= (float s)

## Public Attributes

union {
struct {
float   a
float   b
float   c
float   d
float   e
float   f
}
float   m [2][3]
};

## Detailed Description

Affine transform of 2D point/vector.

(xOut, yOut) = | a b |  | x | + | c |
| d e |  | y |   | f |

It means that:

(xOut, yOut) = (a*x + b*y + c, d*x + e*y + f)

Multiplication order is OpenGL-like, opposite to what MATRIX represents.
Elements are indexed as [row, column].
Text representation is: a,b,c;d,e,f

## Constructor & Destructor Documentation

 common::AFFINE2D::AFFINE2D ( ) [inline]
 common::AFFINE2D::AFFINE2D ( float a, float b, float c, float d, float e, float f ) [inline]
 common::AFFINE2D::AFFINE2D ( const float * arr ) [inline]

## Member Function Documentation

 common::AFFINE2D::operator const float * ( ) const [inline]
 common::AFFINE2D::operator float * ( ) [inline]
 bool common::AFFINE2D::operator!= ( const AFFINE2D & rhs ) const [inline]
 float common::AFFINE2D::operator() ( uint row, uint col ) const [inline]
 float& common::AFFINE2D::operator() ( uint row, uint col ) [inline]
 AFFINE2D common::AFFINE2D::operator* ( float s ) const [inline]
 AFFINE2D common::AFFINE2D::operator* ( const AFFINE2D & rhs ) const [inline]
 AFFINE2D& common::AFFINE2D::operator*= ( float s ) [inline]
 AFFINE2D& common::AFFINE2D::operator*= ( const AFFINE2D & rhs ) [inline]
 AFFINE2D common::AFFINE2D::operator+ ( const AFFINE2D & rhs ) const [inline]
 AFFINE2D common::AFFINE2D::operator+ ( ) const [inline]
 AFFINE2D& common::AFFINE2D::operator+= ( const AFFINE2D & rhs ) [inline]
 AFFINE2D common::AFFINE2D::operator- ( const AFFINE2D & rhs ) const [inline]
 AFFINE2D common::AFFINE2D::operator- ( ) const [inline]
 AFFINE2D& common::AFFINE2D::operator-= ( const AFFINE2D & rhs ) [inline]
 AFFINE2D common::AFFINE2D::operator/ ( float s ) const [inline]
 AFFINE2D& common::AFFINE2D::operator/= ( float s ) [inline]
 bool common::AFFINE2D::operator== ( const AFFINE2D & rhs ) const [inline]
 float common::AFFINE2D::operator[] ( size_t index ) const [inline]
 float& common::AFFINE2D::operator[] ( size_t index ) [inline]

## Member Data Documentation

 union { ... }
 float common::AFFINE2D::a
 float common::AFFINE2D::b
 float common::AFFINE2D::c
 float common::AFFINE2D::d
 float common::AFFINE2D::e
 float common::AFFINE2D::f
 float common::AFFINE2D::m[2][3]

The documentation for this struct was generated from the following file:

Generated on Wed Dec 16 20:44:55 2009 for CommonLib by  1.6.1