\hypertarget{class_ogre_1_1_math}{}\doxysection{Ogre\+::Math Class Reference}
\label{class_ogre_1_1_math}\index{Ogre::Math@{Ogre::Math}}


Class to provide access to common mathematical functions.  




{\ttfamily \#include $<$Ogre\+Math.\+h$>$}

\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{class_ogre_1_1_math_1_1_random_value_provider}{Random\+Value\+Provider}}
\begin{DoxyCompactList}\small\item\em This class is used to provide an external random value provider. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0}{Angle\+Unit}} \{ \mbox{\hyperlink{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0aa3cc35278645b4c94a023500eeb06fa5}{A\+U\+\_\+\+D\+E\+G\+R\+EE}}, 
\mbox{\hyperlink{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0a897ddcfb0c6c6491215f0e3555577eee}{A\+U\+\_\+\+R\+A\+D\+I\+AN}}
 \}
\begin{DoxyCompactList}\small\item\em The angular units used by the A\+PI. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_math_a4b1c2dbd4ad45996551abeab9cda6dd6}{Math}} (unsigned int trig\+Table\+Size=4096)
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_math_a48d9d08ae3a9fc24532482c863a0fa01}{$\sim$\+Math}} ()
\begin{DoxyCompactList}\small\item\em Default destructor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \mbox{\hyperlink{class_ogre_1_1_math_a38e4535958eded3cec072af7abb1e181}{Abs}} (const \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \&d\+Value)
\begin{DoxyCompactList}\small\item\em Absolute value function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_math_ae753ba9a2539f155a10709bae58625d5}{Abs}} (const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&r\+Value)
\begin{DoxyCompactList}\small\item\em Absolute value function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_ae9e2434f05aed3c19b600af6b48c59b7}{Abs}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Absolute value function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_math_a53869f3197b0f991aea7f5edf6b620e2}{A\+Cos}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Arc cosine function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a49496b87d555199f1ce163a6027ee17c}{Angle\+Units\+To\+Degrees}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} units)
\begin{DoxyCompactList}\small\item\em Convert from the current Angle\+Unit to degrees. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a0aaca1a9734a5185bb33650ccf625954}{Angle\+Units\+To\+Radians}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} units)
\begin{DoxyCompactList}\small\item\em Convert from the current Angle\+Unit to radians. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_math_acd5aff5514f5a69799661b26803804c5}{A\+Sin}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Arc sine function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_math_a190d852cb22fb1435f0b8ff5ae580553}{A\+Tan}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Arc tangent function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_math_a8b1113cd4e7b50d4933bebd39a805348}{A\+Tan2}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} fY, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} fX)
\begin{DoxyCompactList}\small\item\em Arc tangent between two values function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a6beb574317f8085bab69587ef7dc72ed}{bounding\+Radius\+From\+A\+A\+BB}} (const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&aabb)
\begin{DoxyCompactList}\small\item\em Get the radius of the origin-\/centered bounding sphere from the bounding box. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a7e988f7561906c49d7610b57c7bfc728}{bounding\+Radius\+From\+A\+A\+B\+B\+Centered}} (const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&aabb)
\begin{DoxyCompactList}\small\item\em Get the radius of the bbox-\/centered bounding sphere from the bounding box. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_affine3}{Affine3}} \mbox{\hyperlink{class_ogre_1_1_math_aa339e5bde4dfb3b4cb7e7e47ec998140}{build\+Reflection\+Matrix}} (const \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} \&p)
\begin{DoxyCompactList}\small\item\em Build a reflection matrix for the passed in plane. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \mbox{\hyperlink{group___math_ga813d02a0ee4c69dab452767fba1cef8a}{calculate\+Basic\+Face\+Normal}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v1, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v2, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v3)
\begin{DoxyCompactList}\small\item\em Calculate a face normal, no w-\/information. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \mbox{\hyperlink{group___math_gabcc5bd946f4c1fb73b851493e17b11b3}{calculate\+Basic\+Face\+Normal\+Without\+Normalize}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v1, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v2, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v3)
\begin{DoxyCompactList}\small\item\em Calculate a face normal without normalize, no w-\/information. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_a739a289a4d5235f5f509a1795f5ffd5b}{Vector4}} \mbox{\hyperlink{group___math_gae5ba1fde5b6a0056fd637d4e6b781a2a}{calculate\+Face\+Normal}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v1, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v2, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v3)
\begin{DoxyCompactList}\small\item\em Calculate a face normal, including the w component which is the offset from the origin. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_a739a289a4d5235f5f509a1795f5ffd5b}{Vector4}} \mbox{\hyperlink{group___math_gabc24b5e11a3a613f60dc44f6056dc61c}{calculate\+Face\+Normal\+Without\+Normalize}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v1, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v2, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v3)
\begin{DoxyCompactList}\small\item\em Calculate a face normal without normalize, including the w component which is the offset from the origin. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \mbox{\hyperlink{class_ogre_1_1_math_a115235aa59b977879a3b889169c7b0f0}{calculate\+Tangent\+Space\+Vector}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&position1, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&position2, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&position3, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} u1, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} v1, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} u2, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} v2, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} u3, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} v3)
\begin{DoxyCompactList}\small\item\em Calculates the tangent space vector for a given set of positions / texture coords. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_aa75e7aa666b0ef3a847416b5646ca955}{Ceil}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Ceiling function Returns the smallest following integer. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename T $>$ }\\static T \mbox{\hyperlink{class_ogre_1_1_math_a0de224c93b57ff8414892d77f9a2d81d}{Clamp}} (T val, T minval, T maxval)
\begin{DoxyCompactList}\small\item\em Clamp a value within an inclusive range. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a926ea9552a822969f87939154afd1070}{Cos}} (const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&f\+Value, bool use\+Tables=false)
\begin{DoxyCompactList}\small\item\em Cosine function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a8a67ce762f77625bf62487ff5ea37bc0}{Cos}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value, bool use\+Tables=false)
\begin{DoxyCompactList}\small\item\em Cosine function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a9d7c5024ffb068064eb5194b9484aa87}{Degrees\+To\+Angle\+Units}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} degrees)
\begin{DoxyCompactList}\small\item\em Convert from degrees to the current Angle\+Unit. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_ac0fd8176acceb9af5911d15cce14fb50}{Degrees\+To\+Radians}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} degrees)
\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a34452ad868e46e1c9a6b5202f612b390}{Exp}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_af362f19574a389ad79fbdd628010daad}{Floor}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Floor function Returns the largest previous integer. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a572d6fed0aa293aa6129e3db3605e97c}{gaussian\+Distribution}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} x, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} offset=0.\+0f, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} scale=1.\+0f)
\begin{DoxyCompactList}\small\item\em Generates a value based on the Gaussian (normal) distribution function with the given offset and scale parameters. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0}{Angle\+Unit}} \mbox{\hyperlink{class_ogre_1_1_math_a15efa0bc6eff509b83e61bc6f2465dfa}{get\+Angle\+Unit}} (void)
\begin{DoxyCompactList}\small\item\em Get the unit being used for angles. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{class_ogre_1_1_math_ad9885e718c5559a7acf9f7bb297f41c2}{I\+Abs}} (int i\+Value)
\item 
static int \mbox{\hyperlink{class_ogre_1_1_math_a9adb00fe453393f48e3c58c993a93e4d}{I\+Ceil}} (float f\+Value)
\item 
static int \mbox{\hyperlink{class_ogre_1_1_math_aece40785651ff1ffa963627fb6da64a6}{I\+Floor}} (float f\+Value)
\item 
static bool \mbox{\hyperlink{group___math_gab3e9b9df69bd3255f3b64254e66c3321}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} \&plane, const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&box)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} / box intersection test. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} \mbox{\hyperlink{class_ogre_1_1_math_ab69d3e2f0de5367ca8da9f7a6a158822}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&ray, const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&box)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / box intersection. \end{DoxyCompactList}\item 
static bool \mbox{\hyperlink{class_ogre_1_1_math_a6297525bcf134fc00bcf347d0bb15ac0}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&ray, const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&box, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$d1, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$d2)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / box intersection, returns boolean result and two intersection distance. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} \mbox{\hyperlink{group___math_gafc5955de7b6ba0dfa860cc751c6321db}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&ray, const \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} \&plane)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / plane intersection. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} \mbox{\hyperlink{group___math_ga64ed9272da4fcaccd8b1009a31358c61}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&ray, const \mbox{\hyperlink{class_ogre_1_1_sphere}{Sphere}} \&sphere, bool discard\+Inside=true)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / sphere intersection. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} \mbox{\hyperlink{class_ogre_1_1_math_ab2ac15f1cb4470672165af53d2d40cf4}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&ray, const std\+::list$<$ \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} $>$ \&plane\+List, bool normal\+Is\+Outside)
\item 
static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} \mbox{\hyperlink{class_ogre_1_1_math_a144ae6243207c465be665a58082c878e}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&ray, const std\+::vector$<$ \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} $>$ \&plane\+List, bool normal\+Is\+Outside)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / convex plane list intersection test. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} \mbox{\hyperlink{class_ogre_1_1_math_a716bffc8e7a1a2bbb0496b195c91557c}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&ray, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&a, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&b, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c, bool positive\+Side=true, bool negative\+Side=true)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / triangle intersection, returns boolean result and distance. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} \mbox{\hyperlink{class_ogre_1_1_math_ad11416877e5559b2aa9e1851a588de69}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&ray, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&a, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&b, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&normal, bool positive\+Side=true, bool negative\+Side=true)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / triangle intersection, returns boolean result and distance. \end{DoxyCompactList}\item 
static bool \mbox{\hyperlink{class_ogre_1_1_math_aceb1ac86a8b0b4762ab0f0c97151f753}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_sphere}{Sphere}} \&sphere, const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&box)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_sphere}{Sphere}} / box intersection test. \end{DoxyCompactList}\item 
static bool \mbox{\hyperlink{group___math_ga04786a5e338650d6eafc987b394d221c}{intersects}} (const \mbox{\hyperlink{class_ogre_1_1_sphere}{Sphere}} \&sphere, const \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} \&plane)
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_sphere}{Sphere}} / plane intersection test. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a4d91be9e4d4f6bb826488f12d70a14f4}{Inv\+Sqrt}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Inverse square root i.\+e. \end{DoxyCompactList}\item 
static int \mbox{\hyperlink{class_ogre_1_1_math_a8bd528a67c5115c4a806c2bf23111ffe}{I\+Sign}} (int i\+Value)
\item 
static bool \mbox{\hyperlink{class_ogre_1_1_math_a8e299aa79c3a90617cbe764ee977b703}{is\+NaN}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f)
\item 
{\footnotesize template$<$typename V , typename T $>$ }\\static V \mbox{\hyperlink{class_ogre_1_1_math_aab7bd7f2233826cbfc5f4e2ac51a97d8}{lerp}} (const V \&v0, const V \&v1, const T \&t)
\begin{DoxyCompactList}\small\item\em Simulate the shader function lerp which performers linear interpolation. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a09521a106825acbaac711211de57242b}{Log}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_ac453f2205d3deb1c29aa9ef806b8a9ec}{Log2}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a34fe16bca3f1e3083a82412079a5fcdf}{LogN}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} base, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\item 
static \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} \mbox{\hyperlink{class_ogre_1_1_math_a23c7798ef5a11dea62318b5be2983c2d}{make\+Perspective\+Matrix}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} left, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} right, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} bottom, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} top, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} z\+Near, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} z\+Far)
\begin{DoxyCompactList}\small\item\em This creates \textquotesingle{}uniform\textquotesingle{} perspective projection matrix, which depth range \mbox{[}-\/1,1\mbox{]}, right-\/handed rules. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_affine3}{Affine3}} \mbox{\hyperlink{class_ogre_1_1_math_a940f61ee807ac6eecda86b300f125bd8}{make\+View\+Matrix}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&position, const \mbox{\hyperlink{class_ogre_1_1_quaternion}{Quaternion}} \&orientation, const \mbox{\hyperlink{class_ogre_1_1_affine3}{Affine3}} $\ast$reflect\+Matrix=0)
\begin{DoxyCompactList}\small\item\em This creates a view matrix. \end{DoxyCompactList}\item 
static bool \mbox{\hyperlink{class_ogre_1_1_math_a2c5d853f3430541b427152b4a1c1229b}{point\+In\+Tri2D}} (const \mbox{\hyperlink{namespace_ogre_a8542e5da4c0e0bda0d0bf5745329ea88}{Vector2}} \&p, const \mbox{\hyperlink{namespace_ogre_a8542e5da4c0e0bda0d0bf5745329ea88}{Vector2}} \&a, const \mbox{\hyperlink{namespace_ogre_a8542e5da4c0e0bda0d0bf5745329ea88}{Vector2}} \&b, const \mbox{\hyperlink{namespace_ogre_a8542e5da4c0e0bda0d0bf5745329ea88}{Vector2}} \&c)
\begin{DoxyCompactList}\small\item\em Checks whether a given point is inside a triangle, in a 2-\/dimensional (Cartesian) space. \end{DoxyCompactList}\item 
static bool \mbox{\hyperlink{class_ogre_1_1_math_a1d4851d2640e1a9ad98298b8d89351ac}{point\+In\+Tri3D}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&p, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&a, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&b, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&normal)
\begin{DoxyCompactList}\small\item\em Checks whether a given 3D point is inside a triangle. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_ab4038bf12c37a466c025c2de86307a13}{Pow}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Base, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Exponent)
\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a5bf9a37ed880a35ae569c668b8fc1ffb}{Radians\+To\+Angle\+Units}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} radians)
\begin{DoxyCompactList}\small\item\em Convert from radians to the current Angle\+Unit . \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a771ded9a927aaf2c1a1418a63e816ca8}{Radians\+To\+Degrees}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} radians)
\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a2de1fc1467a3b402bf435fd48cff356f}{Range\+Random}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Low, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+High)
\begin{DoxyCompactList}\small\item\em Generate a random number within the range provided. \end{DoxyCompactList}\item 
static bool \mbox{\hyperlink{class_ogre_1_1_math_a890336e0e4b6914024bfefd79c08f432}{Real\+Equal}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} a, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} b, \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} tolerance=std\+::numeric\+\_\+limits$<$ \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $>$\+::epsilon())
\begin{DoxyCompactList}\small\item\em Compare 2 reals, using tolerance for inaccuracies. \end{DoxyCompactList}\item 
static double \mbox{\hyperlink{class_ogre_1_1_math_a1f5796ed99c642a78c8ab2438752d2b0}{saturate}} (double t)
\item 
static float \mbox{\hyperlink{class_ogre_1_1_math_a11a5dc9a435892a7b4786f9e1c9b997a}{saturate}} (float t)
\begin{DoxyCompactList}\small\item\em Simulate the shader function saturate that clamps a parameter value between 0 and 1. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{class_ogre_1_1_math_afb791263d1e8508fc75f698a20d96b87}{set\+Angle\+Unit}} (\mbox{\hyperlink{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0}{Angle\+Unit}} unit)
\begin{DoxyCompactList}\small\item\em These functions used to set the assumed angle units (radians or degrees) expected when using the \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} type. \end{DoxyCompactList}\item 
static void \mbox{\hyperlink{class_ogre_1_1_math_a95f03d27b8c0fc1c7f7b947b3146c581}{Set\+Random\+Value\+Provider}} (\mbox{\hyperlink{class_ogre_1_1_math_1_1_random_value_provider}{Random\+Value\+Provider}} $\ast$provider)
\item 
static \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \mbox{\hyperlink{class_ogre_1_1_math_ad9c0f83ef1988f05bc423ac01f8013c4}{Sign}} (const \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \&d\+Value)
\item 
static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_math_abfd68b4df9b4745a17342650a80e2544}{Sign}} (const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&r\+Value)
\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a6e0e74db303c82ffa5a1623c14505455}{Sign}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_aa6562b753755c2e21200b7d4479c2dcd}{Sin}} (const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&f\+Value, bool use\+Tables=false)
\begin{DoxyCompactList}\small\item\em Sine function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a87fdeb1d010d7297868125ff624b496d}{Sin}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value, bool use\+Tables=false)
\begin{DoxyCompactList}\small\item\em Sine function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a626ae51af294ae54cee7e1e530937d7e}{Sqr}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Squared function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \mbox{\hyperlink{class_ogre_1_1_math_a0945a29fc442a83685cff2998b02c348}{Sqrt}} (const \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \&f\+Value)
\begin{DoxyCompactList}\small\item\em Square root function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_math_a6bd8cafd36d77c6132c8e0d5061bf6d6}{Sqrt}} (const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&f\+Value)
\begin{DoxyCompactList}\small\item\em Square root function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_ab1ee8b71699ce68bd8cf91113ead793e}{Sqrt}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value)
\begin{DoxyCompactList}\small\item\em Square root function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a800db34eeeedfa6e6f40f003081c4e7e}{Symmetric\+Random}} ()
\begin{DoxyCompactList}\small\item\em Generate a random number in the range \mbox{[}-\/1,1\mbox{]}. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a2e48340939157bf5b35dda39cbd717ec}{Tan}} (const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&f\+Value, bool use\+Tables=false)
\begin{DoxyCompactList}\small\item\em Tangent function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_ac21236fc284a91e8b9d36929692981cd}{Tan}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} f\+Value, bool use\+Tables=false)
\begin{DoxyCompactList}\small\item\em Tangent function. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}} \mbox{\hyperlink{class_ogre_1_1_math_a2befae58a1a5e608901955396310c617}{uint16\+Cast}} (size\+\_\+t t)
\begin{DoxyCompactList}\small\item\em saturated cast of size\+\_\+t to uint16 \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a17da3bb870f8654628d6f429a144aea1}{Unit\+Random}} ()
\begin{DoxyCompactList}\small\item\em Generate a random number of unit length. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_ac66bbf7ffd258ae1d0a79bbb8e39a3b2}{f\+Deg2\+Rad}}
\item 
static const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a6b4150f9ea142d15c5913d6505cb6a23}{f\+Rad2\+Deg}}
\item 
static const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a98d6d0e2b5e0c73c17d16ac97d94f939}{H\+A\+L\+F\+\_\+\+PI}}
\item 
static const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_ac2f6916aed097d695a0bffd4ca8a22dd}{L\+O\+G2}}
\begin{DoxyCompactList}\small\item\em Stored value of log(2) for frequent use. \end{DoxyCompactList}\item 
static const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a83fdfd933be03233fc58b80e23740186}{N\+E\+G\+\_\+\+I\+N\+F\+I\+N\+I\+TY}}
\item 
static const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_aee3e908f569f6d83d8359ef0d88a0461}{PI}}
\item 
static const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a96373da6032ed7c1ff668430f89393a6}{P\+O\+S\+\_\+\+I\+N\+F\+I\+N\+I\+TY}}
\item 
static const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_math_a58d139439316e19e9142000f1a6bdf6d}{T\+W\+O\+\_\+\+PI}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Class to provide access to common mathematical functions. 

\begin{DoxyRemark}{Remarks}
Most of the maths functions are aliased versions of the C runtime library functions. They are aliased here to provide future optimisation opportunities, either from faster R\+T\+Ls or custom math approximations. 
\end{DoxyRemark}
\begin{DoxyNote}{Note}
~\newline
This is based on Mgc\+Math.\+h from \href{http://www.geometrictools.com/}{\texttt{ Wild Magic}}. 
\end{DoxyNote}


\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0}\label{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0}} 
\index{Ogre::Math@{Ogre::Math}!AngleUnit@{AngleUnit}}
\index{AngleUnit@{AngleUnit}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{AngleUnit}{AngleUnit}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0}{Ogre\+::\+Math\+::\+Angle\+Unit}}}



The angular units used by the A\+PI. 

This functionality is now deprecated in favor of discreet angular unit types ( see \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} and \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} above ). The only place this functionality is actually still used is when parsing files. Search for usage of the \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} class for those instances \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{AU\_DEGREE@{AU\_DEGREE}!Ogre::Math@{Ogre::Math}}\index{Ogre::Math@{Ogre::Math}!AU\_DEGREE@{AU\_DEGREE}}}\mbox{\Hypertarget{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0aa3cc35278645b4c94a023500eeb06fa5}\label{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0aa3cc35278645b4c94a023500eeb06fa5}} 
A\+U\+\_\+\+D\+E\+G\+R\+EE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{AU\_RADIAN@{AU\_RADIAN}!Ogre::Math@{Ogre::Math}}\index{Ogre::Math@{Ogre::Math}!AU\_RADIAN@{AU\_RADIAN}}}\mbox{\Hypertarget{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0a897ddcfb0c6c6491215f0e3555577eee}\label{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0a897ddcfb0c6c6491215f0e3555577eee}} 
A\+U\+\_\+\+R\+A\+D\+I\+AN&\\
\hline

\end{DoxyEnumFields}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_math_a4b1c2dbd4ad45996551abeab9cda6dd6}\label{class_ogre_1_1_math_a4b1c2dbd4ad45996551abeab9cda6dd6}} 
\index{Ogre::Math@{Ogre::Math}!Math@{Math}}
\index{Math@{Math}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Math()}{Math()}}
{\footnotesize\ttfamily Ogre\+::\+Math\+::\+Math (\begin{DoxyParamCaption}\item[{unsigned int}]{trig\+Table\+Size = {\ttfamily 4096} }\end{DoxyParamCaption})}



Default constructor. 


\begin{DoxyParams}{Parameters}
{\em trig\+Table\+Size} & Optional parameter to set the size of the tables used to implement Sin, Cos, Tan \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a48d9d08ae3a9fc24532482c863a0fa01}\label{class_ogre_1_1_math_a48d9d08ae3a9fc24532482c863a0fa01}} 
\index{Ogre::Math@{Ogre::Math}!````~Math@{$\sim$Math}}
\index{````~Math@{$\sim$Math}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{$\sim$Math()}{~Math()}}
{\footnotesize\ttfamily Ogre\+::\+Math\+::$\sim$\+Math (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Default destructor. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_math_ad9885e718c5559a7acf9f7bb297f41c2}\label{class_ogre_1_1_math_ad9885e718c5559a7acf9f7bb297f41c2}} 
\index{Ogre::Math@{Ogre::Math}!IAbs@{IAbs}}
\index{IAbs@{IAbs}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{IAbs()}{IAbs()}}
{\footnotesize\ttfamily static int Ogre\+::\+Math\+::\+I\+Abs (\begin{DoxyParamCaption}\item[{int}]{i\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_a9adb00fe453393f48e3c58c993a93e4d}\label{class_ogre_1_1_math_a9adb00fe453393f48e3c58c993a93e4d}} 
\index{Ogre::Math@{Ogre::Math}!ICeil@{ICeil}}
\index{ICeil@{ICeil}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{ICeil()}{ICeil()}}
{\footnotesize\ttfamily static int Ogre\+::\+Math\+::\+I\+Ceil (\begin{DoxyParamCaption}\item[{float}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_aece40785651ff1ffa963627fb6da64a6}\label{class_ogre_1_1_math_aece40785651ff1ffa963627fb6da64a6}} 
\index{Ogre::Math@{Ogre::Math}!IFloor@{IFloor}}
\index{IFloor@{IFloor}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{IFloor()}{IFloor()}}
{\footnotesize\ttfamily static int Ogre\+::\+Math\+::\+I\+Floor (\begin{DoxyParamCaption}\item[{float}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_a8bd528a67c5115c4a806c2bf23111ffe}\label{class_ogre_1_1_math_a8bd528a67c5115c4a806c2bf23111ffe}} 
\index{Ogre::Math@{Ogre::Math}!ISign@{ISign}}
\index{ISign@{ISign}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{ISign()}{ISign()}}
{\footnotesize\ttfamily static int Ogre\+::\+Math\+::\+I\+Sign (\begin{DoxyParamCaption}\item[{int}]{i\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_ae9e2434f05aed3c19b600af6b48c59b7}\label{class_ogre_1_1_math_ae9e2434f05aed3c19b600af6b48c59b7}} 
\index{Ogre::Math@{Ogre::Math}!Abs@{Abs}}
\index{Abs@{Abs}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Abs()}{Abs()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Abs (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Absolute value function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value whose absolute value will be returned. \\
\hline
\end{DoxyParams}


Referenced by Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::abs\+Dot\+Product(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::direction\+Equals(), Ogre\+::\+Quaternion\+::equals(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::get\+Rotation\+To(), Ogre\+::\+Ray\+::intersects(), Ogre\+::\+Sphere\+::intersects(), Ogre\+::\+Volume\+::\+Octree\+Node\+::is\+Iso\+Surface\+Near(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::perpendicular(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::primary\+Axis(), and Ogre\+::\+Axis\+Aligned\+Box\+::transform().

\mbox{\Hypertarget{class_ogre_1_1_math_a38e4535958eded3cec072af7abb1e181}\label{class_ogre_1_1_math_a38e4535958eded3cec072af7abb1e181}} 
\index{Ogre::Math@{Ogre::Math}!Abs@{Abs}}
\index{Abs@{Abs}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Abs()}{Abs()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} Ogre\+::\+Math\+::\+Abs (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \&}]{d\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Absolute value function. 


\begin{DoxyParams}{Parameters}
{\em d\+Value} & The value, in degrees, whose absolute value will be returned. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Degree\+::value\+Degrees().

\mbox{\Hypertarget{class_ogre_1_1_math_ae753ba9a2539f155a10709bae58625d5}\label{class_ogre_1_1_math_ae753ba9a2539f155a10709bae58625d5}} 
\index{Ogre::Math@{Ogre::Math}!Abs@{Abs}}
\index{Abs@{Abs}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Abs()}{Abs()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} Ogre\+::\+Math\+::\+Abs (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&}]{r\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Absolute value function. 


\begin{DoxyParams}{Parameters}
{\em r\+Value} & The value, in radians, whose absolute value will be returned. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Radian\+::value\+Radians().

\mbox{\Hypertarget{class_ogre_1_1_math_a53869f3197b0f991aea7f5edf6b620e2}\label{class_ogre_1_1_math_a53869f3197b0f991aea7f5edf6b620e2}} 
\index{Ogre::Math@{Ogre::Math}!ACos@{ACos}}
\index{ACos@{ACos}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{ACos()}{ACos()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} Ogre\+::\+Math\+::\+A\+Cos (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Arc cosine function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value whose arc cosine will be returned. \\
\hline
\end{DoxyParams}


Referenced by Ogre\+::\+Vector$<$ 4, float $>$\+::angle\+Between(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::direction\+Equals(), and Ogre\+::\+Quaternion\+::equals().

\mbox{\Hypertarget{class_ogre_1_1_math_acd5aff5514f5a69799661b26803804c5}\label{class_ogre_1_1_math_acd5aff5514f5a69799661b26803804c5}} 
\index{Ogre::Math@{Ogre::Math}!ASin@{ASin}}
\index{ASin@{ASin}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{ASin()}{ASin()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} Ogre\+::\+Math\+::\+A\+Sin (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Arc sine function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value whose arc sine will be returned. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a190d852cb22fb1435f0b8ff5ae580553}\label{class_ogre_1_1_math_a190d852cb22fb1435f0b8ff5ae580553}} 
\index{Ogre::Math@{Ogre::Math}!ATan@{ATan}}
\index{ATan@{ATan}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{ATan()}{ATan()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} Ogre\+::\+Math\+::\+A\+Tan (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Arc tangent function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value whose arc tangent will be returned. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a8b1113cd4e7b50d4933bebd39a805348}\label{class_ogre_1_1_math_a8b1113cd4e7b50d4933bebd39a805348}} 
\index{Ogre::Math@{Ogre::Math}!ATan2@{ATan2}}
\index{ATan2@{ATan2}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{ATan2()}{ATan2()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} Ogre\+::\+Math\+::\+A\+Tan2 (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{fY,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{fX }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Arc tangent between two values function. 


\begin{DoxyParams}{Parameters}
{\em fY} & The first value to calculate the arc tangent with. \\
\hline
{\em fX} & The second value to calculate the arc tangent with. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_aa75e7aa666b0ef3a847416b5646ca955}\label{class_ogre_1_1_math_aa75e7aa666b0ef3a847416b5646ca955}} 
\index{Ogre::Math@{Ogre::Math}!Ceil@{Ceil}}
\index{Ceil@{Ceil}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Ceil()}{Ceil()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Ceil (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Ceiling function Returns the smallest following integer. 

(example\+: Ceil(1.\+1) = 2)


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value to round up to the nearest integer. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a8e299aa79c3a90617cbe764ee977b703}\label{class_ogre_1_1_math_a8e299aa79c3a90617cbe764ee977b703}} 
\index{Ogre::Math@{Ogre::Math}!isNaN@{isNaN}}
\index{isNaN@{isNaN}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{isNaN()}{isNaN()}}
{\footnotesize\ttfamily static bool Ogre\+::\+Math\+::is\+NaN (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Referenced by Ogre\+::\+Dual\+Quaternion\+::is\+Na\+N(), Ogre\+::\+Quaternion\+::is\+Na\+N(), and Ogre\+::\+Vector$<$ 4, float $>$\+::is\+Na\+N().

\mbox{\Hypertarget{class_ogre_1_1_math_a926ea9552a822969f87939154afd1070}\label{class_ogre_1_1_math_a926ea9552a822969f87939154afd1070}} 
\index{Ogre::Math@{Ogre::Math}!Cos@{Cos}}
\index{Cos@{Cos}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Cos()}{Cos()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Cos (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&}]{f\+Value,  }\item[{bool}]{use\+Tables = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Cosine function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} in radians \\
\hline
{\em use\+Tables} & If true, uses lookup tables rather than calculation -\/ faster but less accurate. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Radian\+::value\+Radians().



Referenced by Ogre\+::\+Vector\+Base$<$ 2, Real $>$\+::random\+Deviant().

\mbox{\Hypertarget{class_ogre_1_1_math_a8a67ce762f77625bf62487ff5ea37bc0}\label{class_ogre_1_1_math_a8a67ce762f77625bf62487ff5ea37bc0}} 
\index{Ogre::Math@{Ogre::Math}!Cos@{Cos}}
\index{Cos@{Cos}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Cos()}{Cos()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Cos (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value,  }\item[{bool}]{use\+Tables = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Cosine function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} in radians \\
\hline
{\em use\+Tables} & If true, uses lookup tables rather than calculation -\/ faster but less accurate. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a34452ad868e46e1c9a6b5202f612b390}\label{class_ogre_1_1_math_a34452ad868e46e1c9a6b5202f612b390}} 
\index{Ogre::Math@{Ogre::Math}!Exp@{Exp}}
\index{Exp@{Exp}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Exp()}{Exp()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Exp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_af362f19574a389ad79fbdd628010daad}\label{class_ogre_1_1_math_af362f19574a389ad79fbdd628010daad}} 
\index{Ogre::Math@{Ogre::Math}!Floor@{Floor}}
\index{Floor@{Floor}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Floor()}{Floor()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Floor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Floor function Returns the largest previous integer. 

(example\+: Floor(1.\+9) = 1)


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value to round down to the nearest integer. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a09521a106825acbaac711211de57242b}\label{class_ogre_1_1_math_a09521a106825acbaac711211de57242b}} 
\index{Ogre::Math@{Ogre::Math}!Log@{Log}}
\index{Log@{Log}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Log()}{Log()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Log (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_ac453f2205d3deb1c29aa9ef806b8a9ec}\label{class_ogre_1_1_math_ac453f2205d3deb1c29aa9ef806b8a9ec}} 
\index{Ogre::Math@{Ogre::Math}!Log2@{Log2}}
\index{Log2@{Log2}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Log2()}{Log2()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Log2 (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_a34fe16bca3f1e3083a82412079a5fcdf}\label{class_ogre_1_1_math_a34fe16bca3f1e3083a82412079a5fcdf}} 
\index{Ogre::Math@{Ogre::Math}!LogN@{LogN}}
\index{LogN@{LogN}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{LogN()}{LogN()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+LogN (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{base,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_ab4038bf12c37a466c025c2de86307a13}\label{class_ogre_1_1_math_ab4038bf12c37a466c025c2de86307a13}} 
\index{Ogre::Math@{Ogre::Math}!Pow@{Pow}}
\index{Pow@{Pow}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Pow()}{Pow()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Pow (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Base,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Exponent }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_a6e0e74db303c82ffa5a1623c14505455}\label{class_ogre_1_1_math_a6e0e74db303c82ffa5a1623c14505455}} 
\index{Ogre::Math@{Ogre::Math}!Sign@{Sign}}
\index{Sign@{Sign}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sign()}{Sign()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Sign (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_abfd68b4df9b4745a17342650a80e2544}\label{class_ogre_1_1_math_abfd68b4df9b4745a17342650a80e2544}} 
\index{Ogre::Math@{Ogre::Math}!Sign@{Sign}}
\index{Sign@{Sign}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sign()}{Sign()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} Ogre\+::\+Math\+::\+Sign (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&}]{r\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References Ogre\+::\+Radian\+::value\+Radians().

\mbox{\Hypertarget{class_ogre_1_1_math_ad9c0f83ef1988f05bc423ac01f8013c4}\label{class_ogre_1_1_math_ad9c0f83ef1988f05bc423ac01f8013c4}} 
\index{Ogre::Math@{Ogre::Math}!Sign@{Sign}}
\index{Sign@{Sign}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sign()}{Sign()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} Ogre\+::\+Math\+::\+Sign (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \&}]{d\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References Ogre\+::\+Degree\+::value\+Degrees().

\mbox{\Hypertarget{class_ogre_1_1_math_a11a5dc9a435892a7b4786f9e1c9b997a}\label{class_ogre_1_1_math_a11a5dc9a435892a7b4786f9e1c9b997a}} 
\index{Ogre::Math@{Ogre::Math}!saturate@{saturate}}
\index{saturate@{saturate}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{saturate()}{saturate()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static float Ogre\+::\+Math\+::saturate (\begin{DoxyParamCaption}\item[{float}]{t }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Simulate the shader function saturate that clamps a parameter value between 0 and 1. 

\mbox{\Hypertarget{class_ogre_1_1_math_a1f5796ed99c642a78c8ab2438752d2b0}\label{class_ogre_1_1_math_a1f5796ed99c642a78c8ab2438752d2b0}} 
\index{Ogre::Math@{Ogre::Math}!saturate@{saturate}}
\index{saturate@{saturate}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{saturate()}{saturate()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static double Ogre\+::\+Math\+::saturate (\begin{DoxyParamCaption}\item[{double}]{t }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_a2befae58a1a5e608901955396310c617}\label{class_ogre_1_1_math_a2befae58a1a5e608901955396310c617}} 
\index{Ogre::Math@{Ogre::Math}!uint16Cast@{uint16Cast}}
\index{uint16Cast@{uint16Cast}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{uint16Cast()}{uint16Cast()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa8263b218e7d187ad5ef03a73a6ad7fd}{uint16}} Ogre\+::\+Math\+::uint16\+Cast (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{t }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



saturated cast of size\+\_\+t to uint16 

\mbox{\Hypertarget{class_ogre_1_1_math_aab7bd7f2233826cbfc5f4e2ac51a97d8}\label{class_ogre_1_1_math_aab7bd7f2233826cbfc5f4e2ac51a97d8}} 
\index{Ogre::Math@{Ogre::Math}!lerp@{lerp}}
\index{lerp@{lerp}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{lerp()}{lerp()}}
{\footnotesize\ttfamily template$<$typename V , typename T $>$ \\
static V Ogre\+::\+Math\+::lerp (\begin{DoxyParamCaption}\item[{const V \&}]{v0,  }\item[{const V \&}]{v1,  }\item[{const T \&}]{t }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Simulate the shader function lerp which performers linear interpolation. 

given 3 parameters v0, v1 and t the function returns the value of (1 -\/ t)$\ast$ v0 + t $\ast$ v1. where v0 and v1 are matching vector or scalar types and t can be either a scalar or a vector of the same type as a and b. \mbox{\Hypertarget{class_ogre_1_1_math_aa6562b753755c2e21200b7d4479c2dcd}\label{class_ogre_1_1_math_aa6562b753755c2e21200b7d4479c2dcd}} 
\index{Ogre::Math@{Ogre::Math}!Sin@{Sin}}
\index{Sin@{Sin}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sin()}{Sin()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Sin (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&}]{f\+Value,  }\item[{bool}]{use\+Tables = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sine function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} in radians \\
\hline
{\em use\+Tables} & If true, uses lookup tables rather than calculation -\/ faster but less accurate. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Radian\+::value\+Radians().



Referenced by Ogre\+::\+Vector\+Base$<$ 2, Real $>$\+::random\+Deviant().

\mbox{\Hypertarget{class_ogre_1_1_math_a87fdeb1d010d7297868125ff624b496d}\label{class_ogre_1_1_math_a87fdeb1d010d7297868125ff624b496d}} 
\index{Ogre::Math@{Ogre::Math}!Sin@{Sin}}
\index{Sin@{Sin}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sin()}{Sin()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Sin (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value,  }\item[{bool}]{use\+Tables = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Sine function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} in radians \\
\hline
{\em use\+Tables} & If true, uses lookup tables rather than calculation -\/ faster but less accurate. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a626ae51af294ae54cee7e1e530937d7e}\label{class_ogre_1_1_math_a626ae51af294ae54cee7e1e530937d7e}} 
\index{Ogre::Math@{Ogre::Math}!Sqr@{Sqr}}
\index{Sqr@{Sqr}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sqr()}{Sqr()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Sqr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Squared function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value to be squared (f\+Value$^\wedge$2) \\
\hline
\end{DoxyParams}


Referenced by Ogre\+::\+Sphere\+::intersects(), and Ogre\+::\+Sphere\+::merge().

\mbox{\Hypertarget{class_ogre_1_1_math_ab1ee8b71699ce68bd8cf91113ead793e}\label{class_ogre_1_1_math_ab1ee8b71699ce68bd8cf91113ead793e}} 
\index{Ogre::Math@{Ogre::Math}!Sqrt@{Sqrt}}
\index{Sqrt@{Sqrt}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sqrt()}{Sqrt()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Sqrt (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Square root function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value whose square root will be calculated. \\
\hline
\end{DoxyParams}


Referenced by Ogre\+::\+Axis\+Aligned\+Box\+::distance(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::get\+Rotation\+To(), Ogre\+::\+Ray\+::intersects(), Ogre\+::\+Vector$<$ 4, float $>$\+::length(), Ogre\+::\+Sphere\+::merge(), and Ogre\+::\+Quaternion\+::\+Norm().

\mbox{\Hypertarget{class_ogre_1_1_math_a6bd8cafd36d77c6132c8e0d5061bf6d6}\label{class_ogre_1_1_math_a6bd8cafd36d77c6132c8e0d5061bf6d6}} 
\index{Ogre::Math@{Ogre::Math}!Sqrt@{Sqrt}}
\index{Sqrt@{Sqrt}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sqrt()}{Sqrt()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} Ogre\+::\+Math\+::\+Sqrt (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Square root function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value, in radians, whose square root will be calculated. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The square root of the angle in radians. 
\end{DoxyReturn}


References Ogre\+::\+Radian\+::value\+Radians().

\mbox{\Hypertarget{class_ogre_1_1_math_a0945a29fc442a83685cff2998b02c348}\label{class_ogre_1_1_math_a0945a29fc442a83685cff2998b02c348}} 
\index{Ogre::Math@{Ogre::Math}!Sqrt@{Sqrt}}
\index{Sqrt@{Sqrt}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Sqrt()}{Sqrt()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} Ogre\+::\+Math\+::\+Sqrt (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_degree}{Degree}} \&}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Square root function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value, in degrees, whose square root will be calculated. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The square root of the angle in degrees. 
\end{DoxyReturn}


References Ogre\+::\+Degree\+::value\+Degrees().

\mbox{\Hypertarget{class_ogre_1_1_math_a4d91be9e4d4f6bb826488f12d70a14f4}\label{class_ogre_1_1_math_a4d91be9e4d4f6bb826488f12d70a14f4}} 
\index{Ogre::Math@{Ogre::Math}!InvSqrt@{InvSqrt}}
\index{InvSqrt@{InvSqrt}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{InvSqrt()}{InvSqrt()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Inv\+Sqrt (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Inverse square root i.\+e. 

1 / Sqrt(x), good for vector normalisation. 
\begin{DoxyParams}{Parameters}
{\em f\+Value} & The value whose inverse square root will be calculated. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a17da3bb870f8654628d6f429a144aea1}\label{class_ogre_1_1_math_a17da3bb870f8654628d6f429a144aea1}} 
\index{Ogre::Math@{Ogre::Math}!UnitRandom@{UnitRandom}}
\index{UnitRandom@{UnitRandom}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{UnitRandom()}{UnitRandom()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Unit\+Random (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Generate a random number of unit length. 

\begin{DoxyReturn}{Returns}
A random number in the range from \mbox{[}0,1\mbox{]}. 
\end{DoxyReturn}


Referenced by Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::random\+Deviant().

\mbox{\Hypertarget{class_ogre_1_1_math_a2de1fc1467a3b402bf435fd48cff356f}\label{class_ogre_1_1_math_a2de1fc1467a3b402bf435fd48cff356f}} 
\index{Ogre::Math@{Ogre::Math}!RangeRandom@{RangeRandom}}
\index{RangeRandom@{RangeRandom}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{RangeRandom()}{RangeRandom()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Range\+Random (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Low,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+High }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Generate a random number within the range provided. 


\begin{DoxyParams}{Parameters}
{\em f\+Low} & The lower bound of the range. \\
\hline
{\em f\+High} & The upper bound of the range. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A random number in the range from \mbox{[}f\+Low,f\+High\mbox{]}. 
\end{DoxyReturn}


Referenced by Ogre\+::\+Vector\+Base$<$ 2, Real $>$\+::random\+Deviant().

\mbox{\Hypertarget{class_ogre_1_1_math_a800db34eeeedfa6e6f40f003081c4e7e}\label{class_ogre_1_1_math_a800db34eeeedfa6e6f40f003081c4e7e}} 
\index{Ogre::Math@{Ogre::Math}!SymmetricRandom@{SymmetricRandom}}
\index{SymmetricRandom@{SymmetricRandom}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{SymmetricRandom()}{SymmetricRandom()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Symmetric\+Random (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Generate a random number in the range \mbox{[}-\/1,1\mbox{]}. 

\begin{DoxyReturn}{Returns}
A random number in the range from \mbox{[}-\/1,1\mbox{]}. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_math_a95f03d27b8c0fc1c7f7b947b3146c581}\label{class_ogre_1_1_math_a95f03d27b8c0fc1c7f7b947b3146c581}} 
\index{Ogre::Math@{Ogre::Math}!SetRandomValueProvider@{SetRandomValueProvider}}
\index{SetRandomValueProvider@{SetRandomValueProvider}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{SetRandomValueProvider()}{SetRandomValueProvider()}}
{\footnotesize\ttfamily static void Ogre\+::\+Math\+::\+Set\+Random\+Value\+Provider (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_math_1_1_random_value_provider}{Random\+Value\+Provider}} $\ast$}]{provider }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_a2e48340939157bf5b35dda39cbd717ec}\label{class_ogre_1_1_math_a2e48340939157bf5b35dda39cbd717ec}} 
\index{Ogre::Math@{Ogre::Math}!Tan@{Tan}}
\index{Tan@{Tan}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Tan()}{Tan()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Tan (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \&}]{f\+Value,  }\item[{bool}]{use\+Tables = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Tangent function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} in radians \\
\hline
{\em use\+Tables} & If true, uses lookup tables rather than calculation -\/ faster but less accurate. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Radian\+::value\+Radians().

\mbox{\Hypertarget{class_ogre_1_1_math_ac21236fc284a91e8b9d36929692981cd}\label{class_ogre_1_1_math_ac21236fc284a91e8b9d36929692981cd}} 
\index{Ogre::Math@{Ogre::Math}!Tan@{Tan}}
\index{Tan@{Tan}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Tan()}{Tan()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Tan (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{f\+Value,  }\item[{bool}]{use\+Tables = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Tangent function. 


\begin{DoxyParams}{Parameters}
{\em f\+Value} & \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} in radians \\
\hline
{\em use\+Tables} & If true, uses lookup tables rather than calculation -\/ faster but less accurate. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_ac0fd8176acceb9af5911d15cce14fb50}\label{class_ogre_1_1_math_ac0fd8176acceb9af5911d15cce14fb50}} 
\index{Ogre::Math@{Ogre::Math}!DegreesToRadians@{DegreesToRadians}}
\index{DegreesToRadians@{DegreesToRadians}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{DegreesToRadians()}{DegreesToRadians()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Degrees\+To\+Radians (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{degrees }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Referenced by Ogre\+::\+Degree\+::value\+Radians().

\mbox{\Hypertarget{class_ogre_1_1_math_a771ded9a927aaf2c1a1418a63e816ca8}\label{class_ogre_1_1_math_a771ded9a927aaf2c1a1418a63e816ca8}} 
\index{Ogre::Math@{Ogre::Math}!RadiansToDegrees@{RadiansToDegrees}}
\index{RadiansToDegrees@{RadiansToDegrees}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{RadiansToDegrees()}{RadiansToDegrees()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Radians\+To\+Degrees (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{radians }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Referenced by Ogre\+::\+Radian\+::value\+Degrees().

\mbox{\Hypertarget{class_ogre_1_1_math_afb791263d1e8508fc75f698a20d96b87}\label{class_ogre_1_1_math_afb791263d1e8508fc75f698a20d96b87}} 
\index{Ogre::Math@{Ogre::Math}!setAngleUnit@{setAngleUnit}}
\index{setAngleUnit@{setAngleUnit}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{setAngleUnit()}{setAngleUnit()}}
{\footnotesize\ttfamily static void Ogre\+::\+Math\+::set\+Angle\+Unit (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0}{Angle\+Unit}}}]{unit }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



These functions used to set the assumed angle units (radians or degrees) expected when using the \mbox{\hyperlink{class_ogre_1_1_angle}{Angle}} type. 

\begin{DoxyParagraph}{}
You can set this directly after creating a new \mbox{\hyperlink{class_ogre_1_1_root}{Root}}, and also before/after resource creation, depending on whether you want the change to affect resource files. 
\end{DoxyParagraph}
\mbox{\Hypertarget{class_ogre_1_1_math_a15efa0bc6eff509b83e61bc6f2465dfa}\label{class_ogre_1_1_math_a15efa0bc6eff509b83e61bc6f2465dfa}} 
\index{Ogre::Math@{Ogre::Math}!getAngleUnit@{getAngleUnit}}
\index{getAngleUnit@{getAngleUnit}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{getAngleUnit()}{getAngleUnit()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_math_ac8fd1d7167271f824e0210c29ee45ff0}{Angle\+Unit}} Ogre\+::\+Math\+::get\+Angle\+Unit (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the unit being used for angles. 

\mbox{\Hypertarget{class_ogre_1_1_math_a0aaca1a9734a5185bb33650ccf625954}\label{class_ogre_1_1_math_a0aaca1a9734a5185bb33650ccf625954}} 
\index{Ogre::Math@{Ogre::Math}!AngleUnitsToRadians@{AngleUnitsToRadians}}
\index{AngleUnitsToRadians@{AngleUnitsToRadians}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{AngleUnitsToRadians()}{AngleUnitsToRadians()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Angle\+Units\+To\+Radians (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{units }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Convert from the current Angle\+Unit to radians. 



Referenced by Ogre\+::\+Angle\+::operator Radian().

\mbox{\Hypertarget{class_ogre_1_1_math_a5bf9a37ed880a35ae569c668b8fc1ffb}\label{class_ogre_1_1_math_a5bf9a37ed880a35ae569c668b8fc1ffb}} 
\index{Ogre::Math@{Ogre::Math}!RadiansToAngleUnits@{RadiansToAngleUnits}}
\index{RadiansToAngleUnits@{RadiansToAngleUnits}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{RadiansToAngleUnits()}{RadiansToAngleUnits()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Radians\+To\+Angle\+Units (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{radians }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Convert from radians to the current Angle\+Unit . 



Referenced by Ogre\+::\+Radian\+::value\+Angle\+Units().

\mbox{\Hypertarget{class_ogre_1_1_math_a49496b87d555199f1ce163a6027ee17c}\label{class_ogre_1_1_math_a49496b87d555199f1ce163a6027ee17c}} 
\index{Ogre::Math@{Ogre::Math}!AngleUnitsToDegrees@{AngleUnitsToDegrees}}
\index{AngleUnitsToDegrees@{AngleUnitsToDegrees}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{AngleUnitsToDegrees()}{AngleUnitsToDegrees()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Angle\+Units\+To\+Degrees (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{units }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Convert from the current Angle\+Unit to degrees. 



Referenced by Ogre\+::\+Angle\+::operator Degree().

\mbox{\Hypertarget{class_ogre_1_1_math_a9d7c5024ffb068064eb5194b9484aa87}\label{class_ogre_1_1_math_a9d7c5024ffb068064eb5194b9484aa87}} 
\index{Ogre::Math@{Ogre::Math}!DegreesToAngleUnits@{DegreesToAngleUnits}}
\index{DegreesToAngleUnits@{DegreesToAngleUnits}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{DegreesToAngleUnits()}{DegreesToAngleUnits()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+Degrees\+To\+Angle\+Units (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{degrees }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Convert from degrees to the current Angle\+Unit. 



Referenced by Ogre\+::\+Degree\+::value\+Angle\+Units().

\mbox{\Hypertarget{class_ogre_1_1_math_a2c5d853f3430541b427152b4a1c1229b}\label{class_ogre_1_1_math_a2c5d853f3430541b427152b4a1c1229b}} 
\index{Ogre::Math@{Ogre::Math}!pointInTri2D@{pointInTri2D}}
\index{pointInTri2D@{pointInTri2D}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{pointInTri2D()}{pointInTri2D()}}
{\footnotesize\ttfamily static bool Ogre\+::\+Math\+::point\+In\+Tri2D (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_a8542e5da4c0e0bda0d0bf5745329ea88}{Vector2}} \&}]{p,  }\item[{const \mbox{\hyperlink{namespace_ogre_a8542e5da4c0e0bda0d0bf5745329ea88}{Vector2}} \&}]{a,  }\item[{const \mbox{\hyperlink{namespace_ogre_a8542e5da4c0e0bda0d0bf5745329ea88}{Vector2}} \&}]{b,  }\item[{const \mbox{\hyperlink{namespace_ogre_a8542e5da4c0e0bda0d0bf5745329ea88}{Vector2}} \&}]{c }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Checks whether a given point is inside a triangle, in a 2-\/dimensional (Cartesian) space. 

\begin{DoxyRemark}{Remarks}
The vertices of the triangle must be given in either trigonometrical (anticlockwise) or inverse trigonometrical (clockwise) order. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em p} & The point. \\
\hline
{\em a} & The triangle\textquotesingle{}s first vertex. \\
\hline
{\em b} & The triangle\textquotesingle{}s second vertex. \\
\hline
{\em c} & The triangle\textquotesingle{}s third vertex. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If the point resides in the triangle, {\bfseries{true}} is returned. 
\end{DoxyReturn}
\begin{DoxyParagraph}{}
If the point is outside the triangle, {\bfseries{false}} is returned. 
\end{DoxyParagraph}
\mbox{\Hypertarget{class_ogre_1_1_math_a1d4851d2640e1a9ad98298b8d89351ac}\label{class_ogre_1_1_math_a1d4851d2640e1a9ad98298b8d89351ac}} 
\index{Ogre::Math@{Ogre::Math}!pointInTri3D@{pointInTri3D}}
\index{pointInTri3D@{pointInTri3D}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{pointInTri3D()}{pointInTri3D()}}
{\footnotesize\ttfamily static bool Ogre\+::\+Math\+::point\+In\+Tri3D (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{p,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{a,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{b,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{normal }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Checks whether a given 3D point is inside a triangle. 

\begin{DoxyRemark}{Remarks}
The vertices of the triangle must be given in either trigonometrical (anticlockwise) or inverse trigonometrical (clockwise) order, and the point must be guaranteed to be in the same plane as the triangle 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em p} & p The point. \\
\hline
{\em a} & The triangle\textquotesingle{}s first vertex. \\
\hline
{\em b} & The triangle\textquotesingle{}s second vertex. \\
\hline
{\em c} & The triangle\textquotesingle{}s third vertex. \\
\hline
{\em normal} & The triangle plane\textquotesingle{}s normal (passed in rather than calculated on demand since the caller may already have it) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If the point resides in the triangle, {\bfseries{true}} is returned. 
\end{DoxyReturn}
\begin{DoxyParagraph}{}
If the point is outside the triangle, {\bfseries{false}} is returned. 
\end{DoxyParagraph}
\mbox{\Hypertarget{class_ogre_1_1_math_ab69d3e2f0de5367ca8da9f7a6a158822}\label{class_ogre_1_1_math_ab69d3e2f0de5367ca8da9f7a6a158822}} 
\index{Ogre::Math@{Ogre::Math}!intersects@{intersects}}
\index{intersects@{intersects}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{intersects()}{intersects()}\hspace{0.1cm}{\footnotesize\ttfamily [1/7]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} Ogre\+::\+Math\+::intersects (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&}]{ray,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&}]{box }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



\mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / box intersection. 

\mbox{\Hypertarget{class_ogre_1_1_math_a6297525bcf134fc00bcf347d0bb15ac0}\label{class_ogre_1_1_math_a6297525bcf134fc00bcf347d0bb15ac0}} 
\index{Ogre::Math@{Ogre::Math}!intersects@{intersects}}
\index{intersects@{intersects}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{intersects()}{intersects()}\hspace{0.1cm}{\footnotesize\ttfamily [2/7]}}
{\footnotesize\ttfamily static bool Ogre\+::\+Math\+::intersects (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&}]{ray,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&}]{box,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$}]{d1,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} $\ast$}]{d2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



\mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / box intersection, returns boolean result and two intersection distance. 


\begin{DoxyParams}{Parameters}
{\em ray} & The ray. \\
\hline
{\em box} & The box. \\
\hline
{\em d1} & A real pointer to retrieve the near intersection distance from the ray origin, maybe {\bfseries{null}} which means don\textquotesingle{}t care about the near intersection distance. \\
\hline
{\em d2} & A real pointer to retrieve the far intersection distance from the ray origin, maybe {\bfseries{null}} which means don\textquotesingle{}t care about the far intersection distance. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
If the ray is intersects the box, {\bfseries{true}} is returned, and the near intersection distance is return by {\itshape d1}, the far intersection distance is return by {\itshape d2}. Guarantee {\bfseries{0}} $<$= {\itshape d1} $<$= {\itshape d2}. 
\end{DoxyReturn}
\begin{DoxyParagraph}{}
If the ray isn\textquotesingle{}t intersects the box, {\bfseries{false}} is returned, and {\itshape d1} and {\itshape d2} is unmodified. 
\end{DoxyParagraph}
\mbox{\Hypertarget{class_ogre_1_1_math_ad11416877e5559b2aa9e1851a588de69}\label{class_ogre_1_1_math_ad11416877e5559b2aa9e1851a588de69}} 
\index{Ogre::Math@{Ogre::Math}!intersects@{intersects}}
\index{intersects@{intersects}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{intersects()}{intersects()}\hspace{0.1cm}{\footnotesize\ttfamily [3/7]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} Ogre\+::\+Math\+::intersects (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&}]{ray,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{a,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{b,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{normal,  }\item[{bool}]{positive\+Side = {\ttfamily true},  }\item[{bool}]{negative\+Side = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



\mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / triangle intersection, returns boolean result and distance. 


\begin{DoxyParams}{Parameters}
{\em ray} & The ray. \\
\hline
{\em a} & The triangle\textquotesingle{}s first vertex. \\
\hline
{\em b} & The triangle\textquotesingle{}s second vertex. \\
\hline
{\em c} & The triangle\textquotesingle{}s third vertex. \\
\hline
{\em normal} & The triangle plane\textquotesingle{}s normal (passed in rather than calculated on demand since the caller may already have it), doesn\textquotesingle{}t need normalised since we don\textquotesingle{}t care. \\
\hline
{\em positive\+Side} & Intersect with \char`\"{}positive side\char`\"{} of the triangle \\
\hline
{\em negative\+Side} & Intersect with \char`\"{}negative side\char`\"{} of the triangle \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_a716bffc8e7a1a2bbb0496b195c91557c}\label{class_ogre_1_1_math_a716bffc8e7a1a2bbb0496b195c91557c}} 
\index{Ogre::Math@{Ogre::Math}!intersects@{intersects}}
\index{intersects@{intersects}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{intersects()}{intersects()}\hspace{0.1cm}{\footnotesize\ttfamily [4/7]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} Ogre\+::\+Math\+::intersects (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&}]{ray,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{a,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{b,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c,  }\item[{bool}]{positive\+Side = {\ttfamily true},  }\item[{bool}]{negative\+Side = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



\mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / triangle intersection, returns boolean result and distance. 


\begin{DoxyParams}{Parameters}
{\em ray} & The ray. \\
\hline
{\em a} & The triangle\textquotesingle{}s first vertex. \\
\hline
{\em b} & The triangle\textquotesingle{}s second vertex. \\
\hline
{\em c} & The triangle\textquotesingle{}s third vertex. \\
\hline
{\em positive\+Side} & Intersect with \char`\"{}positive side\char`\"{} of the triangle \\
\hline
{\em negative\+Side} & Intersect with \char`\"{}negative side\char`\"{} of the triangle \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_aceb1ac86a8b0b4762ab0f0c97151f753}\label{class_ogre_1_1_math_aceb1ac86a8b0b4762ab0f0c97151f753}} 
\index{Ogre::Math@{Ogre::Math}!intersects@{intersects}}
\index{intersects@{intersects}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{intersects()}{intersects()}\hspace{0.1cm}{\footnotesize\ttfamily [5/7]}}
{\footnotesize\ttfamily static bool Ogre\+::\+Math\+::intersects (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_sphere}{Sphere}} \&}]{sphere,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&}]{box }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



\mbox{\hyperlink{class_ogre_1_1_sphere}{Sphere}} / box intersection test. 

\mbox{\Hypertarget{class_ogre_1_1_math_a144ae6243207c465be665a58082c878e}\label{class_ogre_1_1_math_a144ae6243207c465be665a58082c878e}} 
\index{Ogre::Math@{Ogre::Math}!intersects@{intersects}}
\index{intersects@{intersects}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{intersects()}{intersects()}\hspace{0.1cm}{\footnotesize\ttfamily [6/7]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} Ogre\+::\+Math\+::intersects (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&}]{ray,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} $>$ \&}]{plane\+List,  }\item[{bool}]{normal\+Is\+Outside }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



\mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} / convex plane list intersection test. 


\begin{DoxyParams}{Parameters}
{\em ray} & The ray to test with \\
\hline
{\em plane\+List} & List of planes which form a convex volume \\
\hline
{\em normal\+Is\+Outside} & Does the normal point outside the volume \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_math_ab2ac15f1cb4470672165af53d2d40cf4}\label{class_ogre_1_1_math_ab2ac15f1cb4470672165af53d2d40cf4}} 
\index{Ogre::Math@{Ogre::Math}!intersects@{intersects}}
\index{intersects@{intersects}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{intersects()}{intersects()}\hspace{0.1cm}{\footnotesize\ttfamily [7/7]}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group___math_ga3f791f5ff19bd8395f0008085e68bf10}{Ray\+Test\+Result}} Ogre\+::\+Math\+::intersects (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_ray}{Ray}} \&}]{ray,  }\item[{const std\+::list$<$ \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} $>$ \&}]{plane\+List,  }\item[{bool}]{normal\+Is\+Outside }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000079}{Deprecated}}]migrate to \mbox{\hyperlink{group___math_ga4cfa65f236aec1767fc85022e87059a0}{Plane\+List}} \end{DoxyRefDesc}
\mbox{\Hypertarget{class_ogre_1_1_math_a890336e0e4b6914024bfefd79c08f432}\label{class_ogre_1_1_math_a890336e0e4b6914024bfefd79c08f432}} 
\index{Ogre::Math@{Ogre::Math}!RealEqual@{RealEqual}}
\index{RealEqual@{RealEqual}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{RealEqual()}{RealEqual()}}
{\footnotesize\ttfamily static bool Ogre\+::\+Math\+::\+Real\+Equal (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{a,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{b,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{tolerance = {\ttfamily std\+:\+:numeric\+\_\+limits$<$\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}$>$\+:\+:epsilon()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Compare 2 reals, using tolerance for inaccuracies. 



Referenced by Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::get\+Rotation\+To(), Ogre\+::\+Matrix3\+::has\+Scale(), and Ogre\+::\+Vector$<$ 4, float $>$\+::position\+Equals().

\mbox{\Hypertarget{class_ogre_1_1_math_a115235aa59b977879a3b889169c7b0f0}\label{class_ogre_1_1_math_a115235aa59b977879a3b889169c7b0f0}} 
\index{Ogre::Math@{Ogre::Math}!calculateTangentSpaceVector@{calculateTangentSpaceVector}}
\index{calculateTangentSpaceVector@{calculateTangentSpaceVector}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{calculateTangentSpaceVector()}{calculateTangentSpaceVector()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} Ogre\+::\+Math\+::calculate\+Tangent\+Space\+Vector (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{position1,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{position2,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{position3,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{u1,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{v1,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{u2,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{v2,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{u3,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{v3 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Calculates the tangent space vector for a given set of positions / texture coords. 

\mbox{\Hypertarget{class_ogre_1_1_math_aa339e5bde4dfb3b4cb7e7e47ec998140}\label{class_ogre_1_1_math_aa339e5bde4dfb3b4cb7e7e47ec998140}} 
\index{Ogre::Math@{Ogre::Math}!buildReflectionMatrix@{buildReflectionMatrix}}
\index{buildReflectionMatrix@{buildReflectionMatrix}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{buildReflectionMatrix()}{buildReflectionMatrix()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_affine3}{Affine3}} Ogre\+::\+Math\+::build\+Reflection\+Matrix (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_plane}{Plane}} \&}]{p }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Build a reflection matrix for the passed in plane. 

\mbox{\Hypertarget{class_ogre_1_1_math_a572d6fed0aa293aa6129e3db3605e97c}\label{class_ogre_1_1_math_a572d6fed0aa293aa6129e3db3605e97c}} 
\index{Ogre::Math@{Ogre::Math}!gaussianDistribution@{gaussianDistribution}}
\index{gaussianDistribution@{gaussianDistribution}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{gaussianDistribution()}{gaussianDistribution()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::gaussian\+Distribution (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{x,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{offset = {\ttfamily 0.0f},  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{scale = {\ttfamily 1.0f} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Generates a value based on the Gaussian (normal) distribution function with the given offset and scale parameters. 

\mbox{\Hypertarget{class_ogre_1_1_math_a0de224c93b57ff8414892d77f9a2d81d}\label{class_ogre_1_1_math_a0de224c93b57ff8414892d77f9a2d81d}} 
\index{Ogre::Math@{Ogre::Math}!Clamp@{Clamp}}
\index{Clamp@{Clamp}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{Clamp()}{Clamp()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
static T Ogre\+::\+Math\+::\+Clamp (\begin{DoxyParamCaption}\item[{T}]{val,  }\item[{T}]{minval,  }\item[{T}]{maxval }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Clamp a value within an inclusive range. 



Referenced by Ogre\+::\+Vector$<$ 4, float $>$\+::angle\+Between().

\mbox{\Hypertarget{class_ogre_1_1_math_a940f61ee807ac6eecda86b300f125bd8}\label{class_ogre_1_1_math_a940f61ee807ac6eecda86b300f125bd8}} 
\index{Ogre::Math@{Ogre::Math}!makeViewMatrix@{makeViewMatrix}}
\index{makeViewMatrix@{makeViewMatrix}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{makeViewMatrix()}{makeViewMatrix()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_affine3}{Affine3}} Ogre\+::\+Math\+::make\+View\+Matrix (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{position,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_quaternion}{Quaternion}} \&}]{orientation,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_affine3}{Affine3}} $\ast$}]{reflect\+Matrix = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



This creates a view matrix. 

\mbox{[} Lx Uy Dz Tx \mbox{]} \mbox{[} Lx Uy Dz Ty \mbox{]} \mbox{[} Lx Uy Dz Tz \mbox{]} \mbox{[} 0 0 0 1 \mbox{]}

Where T = -\/(Transposed(\+Rot) $\ast$ Pos) \mbox{\Hypertarget{class_ogre_1_1_math_a23c7798ef5a11dea62318b5be2983c2d}\label{class_ogre_1_1_math_a23c7798ef5a11dea62318b5be2983c2d}} 
\index{Ogre::Math@{Ogre::Math}!makePerspectiveMatrix@{makePerspectiveMatrix}}
\index{makePerspectiveMatrix@{makePerspectiveMatrix}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{makePerspectiveMatrix()}{makePerspectiveMatrix()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_matrix4}{Matrix4}} Ogre\+::\+Math\+::make\+Perspective\+Matrix (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{left,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{right,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{bottom,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{top,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{z\+Near,  }\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{z\+Far }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



This creates \textquotesingle{}uniform\textquotesingle{} perspective projection matrix, which depth range \mbox{[}-\/1,1\mbox{]}, right-\/handed rules. 

\mbox{[} A 0 C 0 \mbox{]} \mbox{[} 0 B D 0 \mbox{]} \mbox{[} 0 0 q qn \mbox{]} \mbox{[} 0 0 -\/1 0 \mbox{]}

A = 2 $\ast$ near / (right -\/ left) B = 2 $\ast$ near / (top -\/ bottom) C = (right + left) / (right -\/ left) D = (top + bottom) / (top -\/ bottom) q = -\/ (far + near) / (far -\/ near) qn = -\/ 2 $\ast$ (far $\ast$ near) / (far -\/ near) \mbox{\Hypertarget{class_ogre_1_1_math_a6beb574317f8085bab69587ef7dc72ed}\label{class_ogre_1_1_math_a6beb574317f8085bab69587ef7dc72ed}} 
\index{Ogre::Math@{Ogre::Math}!boundingRadiusFromAABB@{boundingRadiusFromAABB}}
\index{boundingRadiusFromAABB@{boundingRadiusFromAABB}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{boundingRadiusFromAABB()}{boundingRadiusFromAABB()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::bounding\+Radius\+From\+A\+A\+BB (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&}]{aabb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the radius of the origin-\/centered bounding sphere from the bounding box. 

\mbox{\Hypertarget{class_ogre_1_1_math_a7e988f7561906c49d7610b57c7bfc728}\label{class_ogre_1_1_math_a7e988f7561906c49d7610b57c7bfc728}} 
\index{Ogre::Math@{Ogre::Math}!boundingRadiusFromAABBCentered@{boundingRadiusFromAABBCentered}}
\index{boundingRadiusFromAABBCentered@{boundingRadiusFromAABBCentered}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{boundingRadiusFromAABBCentered()}{boundingRadiusFromAABBCentered()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::bounding\+Radius\+From\+A\+A\+B\+B\+Centered (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \&}]{aabb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the radius of the bbox-\/centered bounding sphere from the bounding box. 



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_math_ac2f6916aed097d695a0bffd4ca8a22dd}\label{class_ogre_1_1_math_ac2f6916aed097d695a0bffd4ca8a22dd}} 
\index{Ogre::Math@{Ogre::Math}!LOG2@{LOG2}}
\index{LOG2@{LOG2}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{LOG2}{LOG2}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+L\+O\+G2\hspace{0.3cm}{\ttfamily [static]}}



Stored value of log(2) for frequent use. 

\mbox{\Hypertarget{class_ogre_1_1_math_a96373da6032ed7c1ff668430f89393a6}\label{class_ogre_1_1_math_a96373da6032ed7c1ff668430f89393a6}} 
\index{Ogre::Math@{Ogre::Math}!POS\_INFINITY@{POS\_INFINITY}}
\index{POS\_INFINITY@{POS\_INFINITY}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{POS\_INFINITY}{POS\_INFINITY}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+P\+O\+S\+\_\+\+I\+N\+F\+I\+N\+I\+TY\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Axis\+Aligned\+Box\+::get\+Half\+Size(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Size(), and Ogre\+::\+Axis\+Aligned\+Box\+::volume().

\mbox{\Hypertarget{class_ogre_1_1_math_a83fdfd933be03233fc58b80e23740186}\label{class_ogre_1_1_math_a83fdfd933be03233fc58b80e23740186}} 
\index{Ogre::Math@{Ogre::Math}!NEG\_INFINITY@{NEG\_INFINITY}}
\index{NEG\_INFINITY@{NEG\_INFINITY}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{NEG\_INFINITY}{NEG\_INFINITY}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+N\+E\+G\+\_\+\+I\+N\+F\+I\+N\+I\+TY\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_aee3e908f569f6d83d8359ef0d88a0461}\label{class_ogre_1_1_math_aee3e908f569f6d83d8359ef0d88a0461}} 
\index{Ogre::Math@{Ogre::Math}!PI@{PI}}
\index{PI@{PI}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{PI}{PI}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+PI\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_a58d139439316e19e9142000f1a6bdf6d}\label{class_ogre_1_1_math_a58d139439316e19e9142000f1a6bdf6d}} 
\index{Ogre::Math@{Ogre::Math}!TWO\_PI@{TWO\_PI}}
\index{TWO\_PI@{TWO\_PI}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{TWO\_PI}{TWO\_PI}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+T\+W\+O\+\_\+\+PI\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Vector\+Base$<$ 2, Real $>$\+::angle\+To(), and Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::random\+Deviant().

\mbox{\Hypertarget{class_ogre_1_1_math_a98d6d0e2b5e0c73c17d16ac97d94f939}\label{class_ogre_1_1_math_a98d6d0e2b5e0c73c17d16ac97d94f939}} 
\index{Ogre::Math@{Ogre::Math}!HALF\_PI@{HALF\_PI}}
\index{HALF\_PI@{HALF\_PI}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{HALF\_PI}{HALF\_PI}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::\+H\+A\+L\+F\+\_\+\+PI\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_ac66bbf7ffd258ae1d0a79bbb8e39a3b2}\label{class_ogre_1_1_math_ac66bbf7ffd258ae1d0a79bbb8e39a3b2}} 
\index{Ogre::Math@{Ogre::Math}!fDeg2Rad@{fDeg2Rad}}
\index{fDeg2Rad@{fDeg2Rad}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{fDeg2Rad}{fDeg2Rad}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::f\+Deg2\+Rad\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_math_a6b4150f9ea142d15c5913d6505cb6a23}\label{class_ogre_1_1_math_a6b4150f9ea142d15c5913d6505cb6a23}} 
\index{Ogre::Math@{Ogre::Math}!fRad2Deg@{fRad2Deg}}
\index{fRad2Deg@{fRad2Deg}!Ogre::Math@{Ogre::Math}}
\doxysubsubsection{\texorpdfstring{fRad2Deg}{fRad2Deg}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Math\+::f\+Rad2\+Deg\hspace{0.3cm}{\ttfamily [static]}}



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_math_8h}{Ogre\+Math.\+h}}\item 
\mbox{\hyperlink{_ogre_plane_8h}{Ogre\+Plane.\+h}}\item 
\mbox{\hyperlink{_ogre_ray_8h}{Ogre\+Ray.\+h}}\item 
\mbox{\hyperlink{_ogre_sphere_8h}{Ogre\+Sphere.\+h}}\item 
\mbox{\hyperlink{_ogre_vector_8h}{Ogre\+Vector.\+h}}\end{DoxyCompactItemize}
