acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
geometry2d::matrix Class Reference

Public Types

enum  e_mode { mode_append , mode_prepend }

Public Member Functions

 matrix (const matrix &)=default
matrix & operator= (const matrix &)=default
matrix & translate (::f64_point point, e_mode emode=mode_append)
matrix & translate (::f64 x, ::f64 y, e_mode emode=mode_append)
matrix & rotate (::f64 dAngleRadians, e_mode emode=mode_append)
matrix & scale (::f64 dRateX, ::f64 dRateY, e_mode emode=mode_append)
matrix & scale (const ::i32_point &point, e_mode emode=mode_append)
matrix & prepend (const matrix &m)
matrix & append (const matrix &m)
::f64 determinant () const
bool invert ()
matrix & operator* (const matrix &m)
virtual void SetElements (::f32 *fa)
void transform (i32_sequence2 &point)
void transform (f64_sequence2 &point)
void transform (f64_sequence2 *ppoint, ::collection::count c)
template<prototype_container CONTAINER>
void transform (CONTAINER &container)

Static Public Member Functions

static matrix translation (::f64_point point)
static matrix translation (::f64 x, ::f64 y)
static matrix rotation (::f64 dAngleRadians)
static matrix scaling (::f64 dRateX, ::f64 dRateY)
static matrix scaling (::f64_point point)
static matrix scaling (f64_size size)
static bool invert (matrix &aDst, const matrix &aSrc)

Public Attributes

union { 
   struct { 
      ::f64   a1 
      ::f64   a2 
      ::f64   a3 
      ::f64   b1 
      ::f64   b2 
      ::f64   b3 
      ::f64   c1 
      ::f64   c2 
      ::f64   c3 
   } 
   ::f64   da [9] 
   ::f64   a [3][3] 
}; 

The documentation for this class was generated from the following files:
  • prototype/geometry2d/matrix.h
  • prototype/geometry2d/matrix.cpp