3 #include <cstring> // memcpy
7 #ifndef CXX_GLOBAL_CSTD
22 #define mateq(m1, m2) memcpy(m1, m2, sizeof(matriz_data))
25 Matriz::matriz_data const Matriz::MATIDEN = { {1, 0}, {0, 1}};
34 void Matriz::rota(int code)
38 float const cs = (odd(code)) ? 0 : (1 - code);
39 float const sn = (odd(code)) ? (2 - code) : 0;
48 void Matriz::escala(float x, float y)
58 void Matriz::matmat(matriz_data & a)
61 c[0][0] = a[0][0] * m_[0][0] + a[0][1] * m_[1][0];
62 c[1][0] = a[1][0] * m_[0][0] + a[1][1] * m_[1][0];
63 c[0][1] = a[0][0] * m_[0][1] + a[0][1] * m_[1][1];
64 c[1][1] = a[1][0] * m_[0][1] + a[1][1] * m_[1][1];
69 void Matriz::transf(float xp, float yp, float & x, float & y)
71 x = m_[0][0] * xp + m_[0][1] * yp;
72 y = m_[1][0] * xp + m_[1][1] * yp;