# matrix.cpp File Reference

`#include "matrix.h"`
`#include "quat.h"`
`#include "vector.h"`
`#include <string.h>`
`#include <math.h>`

Include dependency graph for matrix.cpp:

## Defines

#define | LIB3DS_EXPORT

## Functions

void | lib3ds_matrix_zero (Lib3dsMatrix m)
void | lib3ds_matrix_identity (Lib3dsMatrix m)
void | lib3ds_matrix_copy (Lib3dsMatrix dest, Lib3dsMatrix src)
void | lib3ds_matrix_neg (Lib3dsMatrix m)
void | lib3ds_matrix_abs (Lib3dsMatrix m)
void | lib3ds_matrix_transpose (Lib3dsMatrix m)
void | lib3ds_matrix_add (Lib3dsMatrix m, Lib3dsMatrix a, Lib3dsMatrix b)
void | lib3ds_matrix_sub (Lib3dsMatrix m, Lib3dsMatrix a, Lib3dsMatrix b)
void | lib3ds_matrix_mul (Lib3dsMatrix m, Lib3dsMatrix a, Lib3dsMatrix b)
void | lib3ds_matrix_scalar (Lib3dsMatrix m, Lib3dsFloat k)
Lib3dsFloat | lib3ds_matrix_det (Lib3dsMatrix m)
void | lib3ds_matrix_adjoint (Lib3dsMatrix m)
Lib3dsBool | lib3ds_matrix_inv (Lib3dsMatrix m)
void | lib3ds_matrix_translate_xyz (Lib3dsMatrix m, Lib3dsFloat x, Lib3dsFloat y, Lib3dsFloat z)
void | lib3ds_matrix_translate (Lib3dsMatrix m, Lib3dsVector t)
void | lib3ds_matrix_scale_xyz (Lib3dsMatrix m, Lib3dsFloat x, Lib3dsFloat y, Lib3dsFloat z)
void | lib3ds_matrix_scale (Lib3dsMatrix m, Lib3dsVector s)
void | lib3ds_matrix_rotate_x (Lib3dsMatrix m, Lib3dsFloat phi)
void | lib3ds_matrix_rotate_y (Lib3dsMatrix m, Lib3dsFloat phi)
void | lib3ds_matrix_rotate_z (Lib3dsMatrix m, Lib3dsFloat phi)
void | lib3ds_matrix_rotate (Lib3dsMatrix m, Lib3dsQuat q)
void | lib3ds_matrix_rotate_axis (Lib3dsMatrix m, Lib3dsVector axis, Lib3dsFloat angle)
void | lib3ds_matrix_camera (Lib3dsMatrix matrix, Lib3dsVector pos, Lib3dsVector tgt, Lib3dsFloat roll)
void | lib3ds_matrix_dump (Lib3dsMatrix matrix)

## Define Documentation

#define LIB3DS_EXPORT