\doxysection{Mat4.\+hpp}
\hypertarget{Mat4_8hpp_source}{}\label{Mat4_8hpp_source}\index{/home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/Math/Mat4.hpp@{/home/chr/devel/PhD/Environment/pub/PCBEnv/pcbenv/cxx/Math/Mat4.hpp}}

\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#ifndef\ GYM\_PCB\_MATH\_MAT4\_H}}
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#define\ GYM\_PCB\_MATH\_MAT4\_H}}
\DoxyCodeLine{00004\ }
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}Geometry.hpp"{}}}
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ <cassert>}}
\DoxyCodeLine{00007\ }
\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ }math}
\DoxyCodeLine{00009\ \{}
\DoxyCodeLine{00010\ }
\DoxyCodeLine{00011\ \textcolor{keyword}{class\ }Mat4}
\DoxyCodeLine{00012\ \{}
\DoxyCodeLine{00013\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00014\ \ \ \ \ Mat4()\ \{\ \}}
\DoxyCodeLine{00015\ \ \ \ \ Mat4(Real\ all);}
\DoxyCodeLine{00016\ \ \ \ \ Mat4(\textcolor{keyword}{const}\ Real\ *);}
\DoxyCodeLine{00017\ }
\DoxyCodeLine{00018\ \ \ \ \ \textcolor{keyword}{const}\ Real\ *data()\textcolor{keyword}{\ const\ }\{\ \textcolor{keywordflow}{return}\ \&m[0];\ \}}
\DoxyCodeLine{00019\ }
\DoxyCodeLine{00020\ \ \ \ \ Real\&\ operator[](uint\ i)\ \{\ assert(i\ <\ 16);\ \textcolor{keywordflow}{return}\ m[i];\ \}}
\DoxyCodeLine{00021\ \ \ \ \ Real\ operator[](uint\ i)\textcolor{keyword}{\ const\ }\{\ assert(i\ <\ 16);\ \textcolor{keywordflow}{return}\ m[i];\ \}}
\DoxyCodeLine{00022\ }
\DoxyCodeLine{00023\ \ \ \ \ Mat4\&\ operator=(\textcolor{keyword}{const}\ Mat4\&);}
\DoxyCodeLine{00024\ }
\DoxyCodeLine{00025\ \ \ \ \ Mat4\&\ operator+=(\textcolor{keyword}{const}\ Mat4\&);}
\DoxyCodeLine{00026\ \ \ \ \ Mat4\ \ operator+(\textcolor{keyword}{const}\ Mat4\&)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00027\ \ \ \ \ Mat4\&\ operator-\/=(\textcolor{keyword}{const}\ Mat4\&);}
\DoxyCodeLine{00028\ \ \ \ \ Mat4\ \ operator-\/(\textcolor{keyword}{const}\ Mat4\&)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00029\ \ \ \ \ Mat4\&\ operator*=(Real);}
\DoxyCodeLine{00030\ \ \ \ \ Mat4\ \ operator*(Real)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00031\ }
\DoxyCodeLine{00032\ \ \ \ \ Mat4\&\ operator*=(\textcolor{keyword}{const}\ Mat4\&);}
\DoxyCodeLine{00033\ \ \ \ \ Mat4\ \ operator*(\textcolor{keyword}{const}\ Mat4\&)\ \textcolor{keyword}{const};}
\DoxyCodeLine{00034\ }
\DoxyCodeLine{00035\ \ \ \ \ Mat4\&\ setOrtho(\textcolor{keyword}{const}\ Vector\_3\ \&L\_B\_N,\ \textcolor{keyword}{const}\ Vector\_3\ \&R\_T\_F);}
\DoxyCodeLine{00036\ }
\DoxyCodeLine{00037\ \ \ \ \ std::string\ str()\ \textcolor{keyword}{const};}
\DoxyCodeLine{00038\ }
\DoxyCodeLine{00039\ \textcolor{keyword}{private}:}
\DoxyCodeLine{00040\ \ \ \ \ Real\ m[16];}
\DoxyCodeLine{00041\ }
\DoxyCodeLine{00042\ \textcolor{keyword}{public}:}
\DoxyCodeLine{00043\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ Mat4\ ID;}
\DoxyCodeLine{00044\ \ \ \ \ \textcolor{keyword}{static}\ \textcolor{keyword}{const}\ Mat4\ ZERO;}
\DoxyCodeLine{00045\ \};}
\DoxyCodeLine{00046\ }
\DoxyCodeLine{00047\ \}\ \textcolor{comment}{//\ namespace\ math}}
\DoxyCodeLine{00048\ }
\DoxyCodeLine{00049\ \textcolor{preprocessor}{\#endif\ }\textcolor{comment}{//\ GYM\_PCB\_MATH\_MAT4\_H}}

\end{DoxyCode}
