Matrix33#
- 
struct Matrix33#
- 3x3 matrix representation with column-major storage. - This structure represents a 3x3 matrix stored in column-major order. It provides matrix operations including arithmetic, element access, construction from quaternions, and static identity matrix creation. - The matrix is commonly used for 3D rotations, scaling, and other linear transformations in 3D space. - Public Functions - 
inline Matrix33()#
- Default constructor creating an uninitialized matrix. 
 - 
inline Matrix33(const float *ptr)#
- Constructor from row-major float array. - Creates a matrix from a float array where elements are stored as: [0,1,2, 3,4,5, 6,7,8] representing rows [0], [1], [2] - Parameters:
- ptr – [in] Pointer to array of 9 floats in row-major order 
 
 - 
inline Matrix33(const Vec3 &c1, const Vec3 &c2, const Vec3 &c3)#
- Constructor from three column vectors. - Parameters:
- c1 – [in] First column vector 
- c2 – [in] Second column vector 
- c3 – [in] Third column vector 
 
 
 - 
inline Matrix33(const Quat &q)#
- Constructor from quaternion rotation. - Creates a rotation matrix from the given quaternion by rotating the standard basis vectors (1,0,0), (0,1,0), (0,0,1). - Parameters:
- q – [in] Quaternion representing the rotation 
 
 - 
inline float operator()(int i, int j) const#
- Const element access operator. - Parameters:
- i – [in] Row index (0, 1, or 2) 
- j – [in] Column index (0, 1, or 2) 
 
- Returns:
- Const reference to the matrix element at (i,j) 
 
 - 
inline float &operator()(int i, int j)#
- Mutable element access operator. - Parameters:
- i – [in] Row index (0, 1, or 2) 
- j – [in] Column index (0, 1, or 2) 
 
- Returns:
- Mutable reference to the matrix element at (i,j) 
 
 - Public Members 
- 
inline Matrix33()#