\hypertarget{vectors_8h}{
\section{common/vectors.h File Reference}
\label{d3/d14/vectors_8h}\index{common/vectors.h@{common/vectors.h}}
}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef float \hyperlink{vectors_8h_a34b8d82aced6931bd3a572041e59aa7d}{vec\_\-t}
\item 
typedef \hyperlink{vectors_8h_a34b8d82aced6931bd3a572041e59aa7d}{vec\_\-t} \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} \mbox{[}3\mbox{]}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{vectors_8h_a397439f25672363721db3ef9070f9e3d}{VectorPosition} (const class \hyperlink{classAActor}{AActor} $\ast$thing, \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} out)
\item 
void \hyperlink{vectors_8h_a3a72fb10791f6d510fed79eef43338b4}{FixedAngleToVector} (\hyperlink{tables_8h_a3f67fb38226d50c4b96915764b21a5e2}{angle\_\-t} an, \hyperlink{m__fixed_8h_a7fdea216e6bec468d1569e8ab1bd469b}{fixed\_\-t} pitch, \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v)
\item 
\hyperlink{vectors_8h_a34b8d82aced6931bd3a572041e59aa7d}{vec\_\-t} \hyperlink{vectors_8h_a2e81050fba3e4e511a5ac4f669472f7b}{VectorLength} (const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v)
\item 
void \hyperlink{vectors_8h_ae2dfa25196724a5e12524a343cc93a26}{VectorMA} (const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} a, float scale, const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} \hyperlink{client_2src_2v__palette_8cpp_a2c8b5e93edf6061940ca34185468fa03}{b}, \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} out)
\item 
void \hyperlink{vectors_8h_a5c374e617e25584eee32b5044ccd3135}{VectorScale} (const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v, float scale, \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} out)
\item 
void \hyperlink{vectors_8h_a0a3ddc570b105204424b2d2354e749a4}{VectorScale2} (\hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v, float scale)
\item 
int \hyperlink{vectors_8h_a606de011dd69198f01251aa09062a39f}{VectorCompare} (const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v1, const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v2)
\item 
\hyperlink{vectors_8h_a34b8d82aced6931bd3a572041e59aa7d}{vec\_\-t} \hyperlink{vectors_8h_a26718fcd5642348914fa0bd49d19694c}{VectorNormalize} (\hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v)
\item 
\hyperlink{vectors_8h_a34b8d82aced6931bd3a572041e59aa7d}{vec\_\-t} \hyperlink{vectors_8h_a77bcb5921549ae7d02e83d680638b149}{VectorNormalize2} (const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v, \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} out)
\item 
void \hyperlink{vectors_8h_aecf9648658d7ca4c7c51497f0f235b80}{CrossProduct} (const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v1, const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} v2, \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} cross)
\item 
void \hyperlink{vectors_8h_a88b78932f69f212e386994d941cd7975}{ProjectPointOnPlane} (\hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} \hyperlink{lzoconf_8h_a5b862d67225176b67f9ccdb91e92c4f3}{dst}, const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} \hyperlink{server_2src_2c__console_8cpp_a7bc58a99d0c721378c1951474db4c3b8}{p}, const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} normal)
\item 
void \hyperlink{vectors_8h_ac1911182ec6ba5b710056432ffb7c685}{PerpendicularVector} (\hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} \hyperlink{lzoconf_8h_a5b862d67225176b67f9ccdb91e92c4f3}{dst}, const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} \hyperlink{minilzo_8cpp_a0e9117de7e6a340559202f88a1dbd9c6}{src})
\item 
void \hyperlink{vectors_8h_a8b90c01bc96ed978a2c1a8d4a08c13f0}{RotatePointAroundVector} (\hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} \hyperlink{lzoconf_8h_a5b862d67225176b67f9ccdb91e92c4f3}{dst}, const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} dir, const \hyperlink{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{vec3\_\-t} point, float degrees)
\item 
void \hyperlink{vectors_8h_a8331f23655fb7048adc0548269800a12}{R\_\-ConcatRotations} (const float in1\mbox{[}3\mbox{]}\mbox{[}3\mbox{]}, const float in2\mbox{[}3\mbox{]}\mbox{[}3\mbox{]}, float out\mbox{[}3\mbox{]}\mbox{[}3\mbox{]})
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\hypertarget{vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}{
\index{vectors.h@{vectors.h}!vec3\_\-t@{vec3\_\-t}}
\index{vec3\_\-t@{vec3\_\-t}!vectors.h@{vectors.h}}
\subsubsection[{vec3\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf vec\_\-t} {\bf vec3\_\-t}\mbox{[}3\mbox{]}}}
\label{d3/d14/vectors_8h_a5fab60d2366b4888d93d5814eb04c9e9}
\hypertarget{vectors_8h_a34b8d82aced6931bd3a572041e59aa7d}{
\index{vectors.h@{vectors.h}!vec\_\-t@{vec\_\-t}}
\index{vec\_\-t@{vec\_\-t}!vectors.h@{vectors.h}}
\subsubsection[{vec\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef float {\bf vec\_\-t}}}
\label{d3/d14/vectors_8h_a34b8d82aced6931bd3a572041e59aa7d}


\subsection{Function Documentation}
\hypertarget{vectors_8h_aecf9648658d7ca4c7c51497f0f235b80}{
\index{vectors.h@{vectors.h}!CrossProduct@{CrossProduct}}
\index{CrossProduct@{CrossProduct}!vectors.h@{vectors.h}}
\subsubsection[{CrossProduct}]{\setlength{\rightskip}{0pt plus 5cm}void CrossProduct (
\begin{DoxyParamCaption}
\item[{const {\bf vec3\_\-t}}]{v1, }
\item[{const {\bf vec3\_\-t}}]{v2, }
\item[{{\bf vec3\_\-t}}]{cross}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_aecf9648658d7ca4c7c51497f0f235b80}
\hypertarget{vectors_8h_a3a72fb10791f6d510fed79eef43338b4}{
\index{vectors.h@{vectors.h}!FixedAngleToVector@{FixedAngleToVector}}
\index{FixedAngleToVector@{FixedAngleToVector}!vectors.h@{vectors.h}}
\subsubsection[{FixedAngleToVector}]{\setlength{\rightskip}{0pt plus 5cm}void FixedAngleToVector (
\begin{DoxyParamCaption}
\item[{{\bf angle\_\-t}}]{an, }
\item[{{\bf fixed\_\-t}}]{pitch, }
\item[{{\bf vec3\_\-t}}]{v}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a3a72fb10791f6d510fed79eef43338b4}
\hypertarget{vectors_8h_ac1911182ec6ba5b710056432ffb7c685}{
\index{vectors.h@{vectors.h}!PerpendicularVector@{PerpendicularVector}}
\index{PerpendicularVector@{PerpendicularVector}!vectors.h@{vectors.h}}
\subsubsection[{PerpendicularVector}]{\setlength{\rightskip}{0pt plus 5cm}void PerpendicularVector (
\begin{DoxyParamCaption}
\item[{{\bf vec3\_\-t}}]{dst, }
\item[{const {\bf vec3\_\-t}}]{src}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_ac1911182ec6ba5b710056432ffb7c685}
\hypertarget{vectors_8h_a88b78932f69f212e386994d941cd7975}{
\index{vectors.h@{vectors.h}!ProjectPointOnPlane@{ProjectPointOnPlane}}
\index{ProjectPointOnPlane@{ProjectPointOnPlane}!vectors.h@{vectors.h}}
\subsubsection[{ProjectPointOnPlane}]{\setlength{\rightskip}{0pt plus 5cm}void ProjectPointOnPlane (
\begin{DoxyParamCaption}
\item[{{\bf vec3\_\-t}}]{dst, }
\item[{const {\bf vec3\_\-t}}]{p, }
\item[{const {\bf vec3\_\-t}}]{normal}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a88b78932f69f212e386994d941cd7975}
\hypertarget{vectors_8h_a8331f23655fb7048adc0548269800a12}{
\index{vectors.h@{vectors.h}!R\_\-ConcatRotations@{R\_\-ConcatRotations}}
\index{R\_\-ConcatRotations@{R\_\-ConcatRotations}!vectors.h@{vectors.h}}
\subsubsection[{R\_\-ConcatRotations}]{\setlength{\rightskip}{0pt plus 5cm}void R\_\-ConcatRotations (
\begin{DoxyParamCaption}
\item[{const float}]{in1\mbox{[}3\mbox{]}\mbox{[}3\mbox{]}, }
\item[{const float}]{in2\mbox{[}3\mbox{]}\mbox{[}3\mbox{]}, }
\item[{float}]{out\mbox{[}3\mbox{]}\mbox{[}3\mbox{]}}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a8331f23655fb7048adc0548269800a12}
\hypertarget{vectors_8h_a8b90c01bc96ed978a2c1a8d4a08c13f0}{
\index{vectors.h@{vectors.h}!RotatePointAroundVector@{RotatePointAroundVector}}
\index{RotatePointAroundVector@{RotatePointAroundVector}!vectors.h@{vectors.h}}
\subsubsection[{RotatePointAroundVector}]{\setlength{\rightskip}{0pt plus 5cm}void RotatePointAroundVector (
\begin{DoxyParamCaption}
\item[{{\bf vec3\_\-t}}]{dst, }
\item[{const {\bf vec3\_\-t}}]{dir, }
\item[{const {\bf vec3\_\-t}}]{point, }
\item[{float}]{degrees}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a8b90c01bc96ed978a2c1a8d4a08c13f0}
\hypertarget{vectors_8h_a606de011dd69198f01251aa09062a39f}{
\index{vectors.h@{vectors.h}!VectorCompare@{VectorCompare}}
\index{VectorCompare@{VectorCompare}!vectors.h@{vectors.h}}
\subsubsection[{VectorCompare}]{\setlength{\rightskip}{0pt plus 5cm}int VectorCompare (
\begin{DoxyParamCaption}
\item[{const {\bf vec3\_\-t}}]{v1, }
\item[{const {\bf vec3\_\-t}}]{v2}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a606de011dd69198f01251aa09062a39f}
\hypertarget{vectors_8h_a2e81050fba3e4e511a5ac4f669472f7b}{
\index{vectors.h@{vectors.h}!VectorLength@{VectorLength}}
\index{VectorLength@{VectorLength}!vectors.h@{vectors.h}}
\subsubsection[{VectorLength}]{\setlength{\rightskip}{0pt plus 5cm}{\bf vec\_\-t} VectorLength (
\begin{DoxyParamCaption}
\item[{const {\bf vec3\_\-t}}]{v}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a2e81050fba3e4e511a5ac4f669472f7b}
\hypertarget{vectors_8h_ae2dfa25196724a5e12524a343cc93a26}{
\index{vectors.h@{vectors.h}!VectorMA@{VectorMA}}
\index{VectorMA@{VectorMA}!vectors.h@{vectors.h}}
\subsubsection[{VectorMA}]{\setlength{\rightskip}{0pt plus 5cm}void VectorMA (
\begin{DoxyParamCaption}
\item[{const {\bf vec3\_\-t}}]{a, }
\item[{float}]{scale, }
\item[{const {\bf vec3\_\-t}}]{b, }
\item[{{\bf vec3\_\-t}}]{out}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_ae2dfa25196724a5e12524a343cc93a26}
\hypertarget{vectors_8h_a26718fcd5642348914fa0bd49d19694c}{
\index{vectors.h@{vectors.h}!VectorNormalize@{VectorNormalize}}
\index{VectorNormalize@{VectorNormalize}!vectors.h@{vectors.h}}
\subsubsection[{VectorNormalize}]{\setlength{\rightskip}{0pt plus 5cm}{\bf vec\_\-t} VectorNormalize (
\begin{DoxyParamCaption}
\item[{{\bf vec3\_\-t}}]{v}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a26718fcd5642348914fa0bd49d19694c}
\hypertarget{vectors_8h_a77bcb5921549ae7d02e83d680638b149}{
\index{vectors.h@{vectors.h}!VectorNormalize2@{VectorNormalize2}}
\index{VectorNormalize2@{VectorNormalize2}!vectors.h@{vectors.h}}
\subsubsection[{VectorNormalize2}]{\setlength{\rightskip}{0pt plus 5cm}{\bf vec\_\-t} VectorNormalize2 (
\begin{DoxyParamCaption}
\item[{const {\bf vec3\_\-t}}]{v, }
\item[{{\bf vec3\_\-t}}]{out}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a77bcb5921549ae7d02e83d680638b149}
\hypertarget{vectors_8h_a397439f25672363721db3ef9070f9e3d}{
\index{vectors.h@{vectors.h}!VectorPosition@{VectorPosition}}
\index{VectorPosition@{VectorPosition}!vectors.h@{vectors.h}}
\subsubsection[{VectorPosition}]{\setlength{\rightskip}{0pt plus 5cm}void VectorPosition (
\begin{DoxyParamCaption}
\item[{const class {\bf AActor} $\ast$}]{thing, }
\item[{{\bf vec3\_\-t}}]{out}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a397439f25672363721db3ef9070f9e3d}
\hypertarget{vectors_8h_a5c374e617e25584eee32b5044ccd3135}{
\index{vectors.h@{vectors.h}!VectorScale@{VectorScale}}
\index{VectorScale@{VectorScale}!vectors.h@{vectors.h}}
\subsubsection[{VectorScale}]{\setlength{\rightskip}{0pt plus 5cm}void VectorScale (
\begin{DoxyParamCaption}
\item[{const {\bf vec3\_\-t}}]{v, }
\item[{float}]{scale, }
\item[{{\bf vec3\_\-t}}]{out}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a5c374e617e25584eee32b5044ccd3135}
\hypertarget{vectors_8h_a0a3ddc570b105204424b2d2354e749a4}{
\index{vectors.h@{vectors.h}!VectorScale2@{VectorScale2}}
\index{VectorScale2@{VectorScale2}!vectors.h@{vectors.h}}
\subsubsection[{VectorScale2}]{\setlength{\rightskip}{0pt plus 5cm}void VectorScale2 (
\begin{DoxyParamCaption}
\item[{{\bf vec3\_\-t}}]{v, }
\item[{float}]{scale}
\end{DoxyParamCaption}
)}}
\label{d3/d14/vectors_8h_a0a3ddc570b105204424b2d2354e749a4}
