# Matrix_implementation.cpp File Reference

`#include <osg/Quat>`
`#include <osg/Notify>`
`#include <osg/Math>`
`#include <osg/Timer>`
`#include <osg/GL>`
`#include <stdlib.h>`

Include dependency graph for Matrix_implementation.cpp:

This graph shows which files directly or indirectly include this file:

## Defines

#define | SET_ROW(row, v1, v2, v3, v4)
#define | INNER_PRODUCT(a, b, r, c)
#define | QX q._v[0]
#define | QY q._v[1]
#define | QZ q._v[2]
#define | QW q._v[3]
#define | d r22
#define | px r00
#define | py r01
#define | pz r02
#define | one_over_s one_over_det
#define | a r10
#define | b r11
#define | c r12
#define | tx r10
#define | ty r11
#define | tz r12
#define | SGL_SWAP(a, b, temp) ((temp)=(a),(a)=(b),(b)=(temp))

## Functions

template<class T>
T | SGL_ABS (T a)

## Define Documentation

#define a r10

#define b r11

#define c r12

#define d r22

#define INNER_PRODUCT | ( | a,
|  | b,
|  | r,
|  | c |  | ) |

Value:

    ((a)._mat[r][0] * (b)._mat[0][c]) \
        +((a)._mat[r][1] * (b)._mat[1][c]) \
        +((a)._mat[r][2] * (b)._mat[2][c]) \
        +((a)._mat[r][3] * (b)._mat[3][c])

#define one_over_s one_over_det

#define px r00

#define py r01

#define pz r02

#define QW q._v[3]

#define QX q._v[0]

#define QY q._v[1]

#define QZ q._v[2]

#define SET_ROW | ( | row,
|  | v1,
|  | v2,
|  | v3,
|  | v4 |  | ) |

Value:

    _mat[(row)][0] = (v1); \
        _mat[(row)][1] = (v2); \
        _mat[(row)][2] = (v3); \
        _mat[(row)][3] = (v4);

#define SGL_SWAP | ( | a,
|  | b,
|  | temp |  | ) | ((temp)=(a),(a)=(b),(b)=(temp))

#define tx r10

#define ty r11

#define tz r12

## Function Documentation

template<class T>
T SGL_ABS | ( | T | a | ) | `[inline]`