\hypertarget{class_ogre_1_1_vector3}{}\section{Ogre\+:\+:Vector3 Class Reference}
\label{class_ogre_1_1_vector3}\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}


Standard 3-\/dimensional vector.  




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

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_vector3_ab75a79e6126d060995368fe8647418eb}{Vector3} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vector3_a64c48c8b902431103b9e9d7a372cedd7}{Vector3} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} fX, const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} fY, const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} fZ)
\item 
\hyperlink{class_ogre_1_1_vector3_afaa92dd5ee9762c5461cb6d7916f6d55}{Vector3} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} af\+Coordinate\mbox{[}3\mbox{]})
\item 
\hyperlink{class_ogre_1_1_vector3_ac3c34be918e6bea663404c5364dad048}{Vector3} (const int af\+Coordinate\mbox{[}3\mbox{]})
\item 
\hyperlink{class_ogre_1_1_vector3_a84db6b6e0412f7a2e91e50649d6d9794}{Vector3} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} scaler)
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_a5c942df8fa6e15d5a6300effcb2bf991}{abs\+Dot\+Product} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&vec) const
\begin{DoxyCompactList}\small\item\em Calculates the absolute dot (scalar) product of this vector with another. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_radian}{Radian} \hyperlink{class_ogre_1_1_vector3_aa353bdc212097f903b7edf4171ddc257}{angle\+Between} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&dest) const
\begin{DoxyCompactList}\small\item\em Gets the angle between 2 vectors. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a2500548e775c294aab7bff6f7f8f312a}{cross\+Product} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector) const
\begin{DoxyCompactList}\small\item\em Calculates the cross-\/product of 2 vectors, i.\+e. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vector3_a1818c9740f43005be86f9c9c78316ae1}{direction\+Equals} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs, const \hyperlink{class_ogre_1_1_radian}{Radian} \&tolerance) const
\begin{DoxyCompactList}\small\item\em Returns whether this vector is within a directional tolerance of another vector. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_a4f589cffa205896c40a04b8f1355ad3c}{distance} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs) const
\begin{DoxyCompactList}\small\item\em Returns the distance to another vector. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_ad677c37bfc81b5b5472e76a59647b704}{dot\+Product} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&vec) const
\begin{DoxyCompactList}\small\item\em Calculates the dot (scalar) product of this vector with another. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_quaternion}{Quaternion} \hyperlink{class_ogre_1_1_vector3_a9a19e5c4686278159203e2963a8750e7}{get\+Rotation\+To} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&dest, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&fallback\+Axis=\hyperlink{class_ogre_1_1_vector3_a5da94afc089ec07612b4a2615bb6b86f}{Vector3\+::\+Z\+E\+RO}) const
\begin{DoxyCompactList}\small\item\em Gets the shortest arc quaternion to rotate this vector to the destination vector. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vector3_a07ceddb4d4a444a2e3ae083553c6175e}{is\+NaN} () const
\begin{DoxyCompactList}\small\item\em Check whether this vector contains valid values. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vector3_a71dc79c44c5e846009caa3a34f5a90af}{is\+Zero\+Length} (void) const
\begin{DoxyCompactList}\small\item\em Returns true if this vector is zero length. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_a845e0b7d98524445b617e23b3d7f58c4}{length} () const
\begin{DoxyCompactList}\small\item\em Returns the length (magnitude) of the vector. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_vector3_a61e91dcf16f7db52d299e976526218e3}{make\+Ceil} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&cmp)
\begin{DoxyCompactList}\small\item\em Sets this vector\textquotesingle{}s components to the maximum of its own and the ones of the passed in vector. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_vector3_a8430bb9f7756acb8256497f004afac49}{make\+Floor} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&cmp)
\begin{DoxyCompactList}\small\item\em Sets this vector\textquotesingle{}s components to the minimum of its own and the ones of the passed in vector. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a2de9940bb3a5a3ee1c22dd95047cec0c}{mid\+Point} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&vec) const
\begin{DoxyCompactList}\small\item\em Returns a vector at a point half way between this and the passed in vector. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_a9e572a5cc4e1ed826839e5281d8f1d3b}{normalise} ()
\begin{DoxyCompactList}\small\item\em Normalises the vector. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a3aca610d8cc0298d0c49ddc9a445f5cd}{normalised\+Copy} (void) const
\begin{DoxyCompactList}\small\item\em As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vector3_ae167dd5313e3d54df296f9af8738fb20}{operator!=} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector) const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_ac94c7993dcf9b587276e3a316fb391c5}{operator$\ast$} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} f\+Scalar) const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a33fb4087baa5de613694f537988c5619}{operator$\ast$} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs) const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_a78fde8c253396d0f2d5c9c3513a7a45e}{operator$\ast$=} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} f\+Scalar)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_ae07f7542f2e4929d92c0a2beb85b4ed8}{operator$\ast$=} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a4640fcef1910c4519d43200f1c652ffd}{operator+} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector) const
\item 
const \hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_a970143717158b8ccb94519662a37ad9a}{operator+} () const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_ae3ac60e2c77755046f6a00f09f54793a}{operator+=} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_a1ee74f38b762d0d0a5bf961268a74a74}{operator+=} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} f\+Scalar)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a255e3c7fb62deb607a46c2326a347d42}{operator-\/} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector) const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a5e7b2efc8efd2caab55fdd73bff752ab}{operator-\/} () const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_ac514b9e1f5dbe855b1458a2d72a27621}{operator-\/=} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_adb8b9ff11371c1b011f8d46c36c54d40}{operator-\/=} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} f\+Scalar)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a62cc08b4fae8976000d85fde3e41cde4}{operator/} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} f\+Scalar) const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_af4da7c9f5ef668b1c93bd2b55a41352e}{operator/} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs) const
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_afd733cc4140ba78de2427b8fa9951e12}{operator/=} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} f\+Scalar)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_vector3_ad8b5fad0c40ae5dd087bbade10b8403e}{operator/=} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector)
\item 
bool \hyperlink{class_ogre_1_1_vector3_a9831cfbc0d6de6ddd8722908d2d0f732}{operator$<$} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs) const
\begin{DoxyCompactList}\small\item\em Returns true if the vector\textquotesingle{}s scalar components are all greater that the ones of the vector it is compared against. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vector3_a28a2bdc8a0bdd14aaa8101d7e7235d0b}{operator==} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector) const
\item 
bool \hyperlink{class_ogre_1_1_vector3_ae7e7bd521456f7302c5d5357908e90aa}{operator$>$} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs) const
\begin{DoxyCompactList}\small\item\em Returns true if the vector\textquotesingle{}s scalar components are all smaller that the ones of the vector it is compared against. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_a2db7f74eca6fac9ac5418cc4605c0453}{operator\mbox{[}$\,$\mbox{]}} (const size\+\_\+t i) const
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \& \hyperlink{class_ogre_1_1_vector3_ab5a34a541047cf3b7aa223d77ee8f126}{operator\mbox{[}$\,$\mbox{]}} (const size\+\_\+t i)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a602309978c89c94bd8a58fa340a7e640}{perpendicular} (void) const
\begin{DoxyCompactList}\small\item\em Generates a vector perpendicular to this vector (eg an \textquotesingle{}up\textquotesingle{} vector). \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vector3_ac5698b56782997ed9a30f395fd835ccd}{position\+Closes} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} tolerance=1e-\/03f) const
\begin{DoxyCompactList}\small\item\em Returns whether this vector is within a positional tolerance of another vector, also take scale of the vectors into account. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vector3_a1df1c56b58d76060f0709f296c71645b}{position\+Equals} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs, \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} tolerance=1e-\/03) const
\begin{DoxyCompactList}\small\item\em Returns whether this vector is within a positional tolerance of another vector. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a3041764b2adbfe683e16fb38414a9ef2}{primary\+Axis} () const
\begin{DoxyCompactList}\small\item\em Extract the primary (dominant) axis from this direction vector. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} $\ast$ \hyperlink{class_ogre_1_1_vector3_a7952f09744c63b5230ba4ea4b2c2d00a}{ptr} ()
\begin{DoxyCompactList}\small\item\em Pointer accessor for direct copying. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} $\ast$ \hyperlink{class_ogre_1_1_vector3_abc02b2c1df6e9506187bf9218c8d6c16}{ptr} () const
\begin{DoxyCompactList}\small\item\em Pointer accessor for direct copying. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a86bbd6dde7721a77d6c56d2ec280eda2}{random\+Deviant} (const \hyperlink{class_ogre_1_1_radian}{Radian} \&angle, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&up=\hyperlink{class_ogre_1_1_vector3_a5da94afc089ec07612b4a2615bb6b86f}{Vector3\+::\+Z\+E\+RO}) const
\begin{DoxyCompactList}\small\item\em Generates a new random vector which deviates from this vector by a given angle in a random direction. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_ab3ae984e99200dffa41eaffb2cb14f35}{reflect} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&normal) const
\begin{DoxyCompactList}\small\item\em Calculates a reflection vector to the plane with the given normal . \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_af4e1e3e7df9fbba46c60a22eacfddef2}{squared\+Distance} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs) const
\begin{DoxyCompactList}\small\item\em Returns the square of the distance to another vector. \end{DoxyCompactList}\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_a2f82726a193902e24c8b0b02f7e918da}{squared\+Length} () const
\begin{DoxyCompactList}\small\item\em Returns the square of the length(magnitude) of the vector. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vector2}{Vector2} \hyperlink{class_ogre_1_1_vector3_acdfb27b5a990112e3f731a2be8a54aec}{xy} () const
\begin{DoxyCompactList}\small\item\em Swizzle-\/like narrowing operations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_a27be092ad0b7e0504ddf4db5cd565f14}{x}
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_a05ca4492ce30a049ae4102e3f5e85aff}{y}
\item 
\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} \hyperlink{class_ogre_1_1_vector3_ab1f9e7702256f32156be4d7e0fdafd7e}{z}
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const \hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a46e43c65e6da1ff630652694a966d63c}{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+X}
\item 
static const \hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a6b674c303fc2ade68ce2fd6ae74b8c11}{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Y}
\item 
static const \hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_abdeebea4e94e114215a51831f9792f19}{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Z}
\item 
static const \hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a6a27e8a3a9156701f586afeed1516fb8}{U\+N\+I\+T\+\_\+\+S\+C\+A\+LE}
\item 
static const \hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a0c21d1f120c5eab83aa966e5de1df311}{U\+N\+I\+T\+\_\+X}
\item 
static const \hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a8d1a1f7af535bcc8d9c78b1732bc1b90}{U\+N\+I\+T\+\_\+Y}
\item 
static const \hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_ad25aed2e9367cfa879d3e3c231c5a136}{U\+N\+I\+T\+\_\+Z}
\item 
static const \hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a5da94afc089ec07612b4a2615bb6b86f}{Z\+E\+RO}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a92d7a0e4025b82401c2baa1e43c86ab1}{operator$\ast$} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} f\+Scalar, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a09fc339aca944e8b0bb21d02215a092e}{operator+} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&lhs, const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} rhs)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_aa5a711e980d3f906f83bf4740b573aaf}{operator+} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} lhs, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a2c6a217a917e372153a225a53fd5b99f}{operator-\/} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&lhs, const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} rhs)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_aeca31428e2157b9a26380b3a7eec482e}{operator-\/} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} lhs, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rhs)
\item 
\hyperlink{class_ogre_1_1_vector3}{Vector3} \hyperlink{class_ogre_1_1_vector3_a3505ef8e8c296ad49bdbe837185fa0e2}{operator/} (const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} f\+Scalar, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&rk\+Vector)
\item 
std\+::ostream \& \hyperlink{class_ogre_1_1_vector3_a151b7be26d6dc535fd2583f74011084d}{operator$<$$<$} (std\+::ostream \&o, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v)
\begin{DoxyCompactList}\small\item\em Function for writing to a stream. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Standard 3-\/dimensional vector. 

\begin{DoxyRemark}{Remarks}
A direction in 3D space represented as distances along the 3 orthogonal axes (x, y, z). Note that positions, directions and scaling factors can be represented by a vector, depending on how you interpret the values. 
\end{DoxyRemark}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vector3_ab75a79e6126d060995368fe8647418eb}\label{class_ogre_1_1_vector3_ab75a79e6126d060995368fe8647418eb}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!Vector3@{Vector3}}
\index{Vector3@{Vector3}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{Vector3()}{Vector3()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily Ogre\+::\+Vector3\+::\+Vector3 (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Default constructor. 

\begin{DoxyNote}{Note}
It does {\bfseries N\+OT} initialize the vector for efficiency. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_vector3_a64c48c8b902431103b9e9d7a372cedd7}\label{class_ogre_1_1_vector3_a64c48c8b902431103b9e9d7a372cedd7}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!Vector3@{Vector3}}
\index{Vector3@{Vector3}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{Vector3()}{Vector3()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily Ogre\+::\+Vector3\+::\+Vector3 (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{fX,  }\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{fY,  }\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{fZ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_afaa92dd5ee9762c5461cb6d7916f6d55}\label{class_ogre_1_1_vector3_afaa92dd5ee9762c5461cb6d7916f6d55}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!Vector3@{Vector3}}
\index{Vector3@{Vector3}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{Vector3()}{Vector3()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily Ogre\+::\+Vector3\+::\+Vector3 (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{af\+Coordinate\mbox{[}3\mbox{]} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_ac3c34be918e6bea663404c5364dad048}\label{class_ogre_1_1_vector3_ac3c34be918e6bea663404c5364dad048}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!Vector3@{Vector3}}
\index{Vector3@{Vector3}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{Vector3()}{Vector3()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily Ogre\+::\+Vector3\+::\+Vector3 (\begin{DoxyParamCaption}\item[{const int}]{af\+Coordinate\mbox{[}3\mbox{]} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a84db6b6e0412f7a2e91e50649d6d9794}\label{class_ogre_1_1_vector3_a84db6b6e0412f7a2e91e50649d6d9794}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!Vector3@{Vector3}}
\index{Vector3@{Vector3}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{Vector3()}{Vector3()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily Ogre\+::\+Vector3\+::\+Vector3 (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{scaler }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vector3_acdfb27b5a990112e3f731a2be8a54aec}\label{class_ogre_1_1_vector3_acdfb27b5a990112e3f731a2be8a54aec}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!xy@{xy}}
\index{xy@{xy}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{xy()}{xy()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector2}{Vector2} Ogre\+::\+Vector3\+::xy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Swizzle-\/like narrowing operations. 

\mbox{\Hypertarget{class_ogre_1_1_vector3_a2db7f74eca6fac9ac5418cc4605c0453}\label{class_ogre_1_1_vector3_a2db7f74eca6fac9ac5418cc4605c0453}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{i }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_ab5a34a541047cf3b7aa223d77ee8f126}\label{class_ogre_1_1_vector3_ab5a34a541047cf3b7aa223d77ee8f126}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}\& Ogre\+::\+Vector3\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{i }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a7952f09744c63b5230ba4ea4b2c2d00a}\label{class_ogre_1_1_vector3_a7952f09744c63b5230ba4ea4b2c2d00a}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!ptr@{ptr}}
\index{ptr@{ptr}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{ptr()}{ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}$\ast$ Ogre\+::\+Vector3\+::ptr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Pointer accessor for direct copying. 

\mbox{\Hypertarget{class_ogre_1_1_vector3_abc02b2c1df6e9506187bf9218c8d6c16}\label{class_ogre_1_1_vector3_abc02b2c1df6e9506187bf9218c8d6c16}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!ptr@{ptr}}
\index{ptr@{ptr}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{ptr()}{ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}$\ast$ Ogre\+::\+Vector3\+::ptr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Pointer accessor for direct copying. 

\mbox{\Hypertarget{class_ogre_1_1_vector3_a28a2bdc8a0bdd14aaa8101d7e7235d0b}\label{class_ogre_1_1_vector3_a28a2bdc8a0bdd14aaa8101d7e7235d0b}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator==@{operator==}}
\index{operator==@{operator==}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_ae167dd5313e3d54df296f9af8738fb20}\label{class_ogre_1_1_vector3_ae167dd5313e3d54df296f9af8738fb20}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::operator!= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a4640fcef1910c4519d43200f1c652ffd}\label{class_ogre_1_1_vector3_a4640fcef1910c4519d43200f1c652ffd}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator+@{operator+}}
\index{operator+@{operator+}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::operator+ (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a255e3c7fb62deb607a46c2326a347d42}\label{class_ogre_1_1_vector3_a255e3c7fb62deb607a46c2326a347d42}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::operator-\/ (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_ac94c7993dcf9b587276e3a316fb391c5}\label{class_ogre_1_1_vector3_ac94c7993dcf9b587276e3a316fb391c5}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator$\ast$()}{operator*()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::operator$\ast$ (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{f\+Scalar }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a33fb4087baa5de613694f537988c5619}\label{class_ogre_1_1_vector3_a33fb4087baa5de613694f537988c5619}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator$\ast$()}{operator*()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::operator$\ast$ (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a62cc08b4fae8976000d85fde3e41cde4}\label{class_ogre_1_1_vector3_a62cc08b4fae8976000d85fde3e41cde4}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator/@{operator/}}
\index{operator/@{operator/}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator/()}{operator/()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::operator/ (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{f\+Scalar }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_af4da7c9f5ef668b1c93bd2b55a41352e}\label{class_ogre_1_1_vector3_af4da7c9f5ef668b1c93bd2b55a41352e}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator/@{operator/}}
\index{operator/@{operator/}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator/()}{operator/()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::operator/ (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a970143717158b8ccb94519662a37ad9a}\label{class_ogre_1_1_vector3_a970143717158b8ccb94519662a37ad9a}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator+@{operator+}}
\index{operator+@{operator+}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator+ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a5e7b2efc8efd2caab55fdd73bff752ab}\label{class_ogre_1_1_vector3_a5e7b2efc8efd2caab55fdd73bff752ab}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::operator-\/ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_ae3ac60e2c77755046f6a00f09f54793a}\label{class_ogre_1_1_vector3_ae3ac60e2c77755046f6a00f09f54793a}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator+= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a1ee74f38b762d0d0a5bf961268a74a74}\label{class_ogre_1_1_vector3_a1ee74f38b762d0d0a5bf961268a74a74}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator+= (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{f\+Scalar }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_ac514b9e1f5dbe855b1458a2d72a27621}\label{class_ogre_1_1_vector3_ac514b9e1f5dbe855b1458a2d72a27621}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator-\/= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_adb8b9ff11371c1b011f8d46c36c54d40}\label{class_ogre_1_1_vector3_adb8b9ff11371c1b011f8d46c36c54d40}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator-\/= (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{f\+Scalar }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a78fde8c253396d0f2d5c9c3513a7a45e}\label{class_ogre_1_1_vector3_a78fde8c253396d0f2d5c9c3513a7a45e}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator$\ast$=@{operator$\ast$=}}
\index{operator$\ast$=@{operator$\ast$=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator$\ast$=()}{operator*=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator$\ast$= (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{f\+Scalar }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_ae07f7542f2e4929d92c0a2beb85b4ed8}\label{class_ogre_1_1_vector3_ae07f7542f2e4929d92c0a2beb85b4ed8}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator$\ast$=@{operator$\ast$=}}
\index{operator$\ast$=@{operator$\ast$=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator$\ast$=()}{operator*=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator$\ast$= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_afd733cc4140ba78de2427b8fa9951e12}\label{class_ogre_1_1_vector3_afd733cc4140ba78de2427b8fa9951e12}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator/=()}{operator/=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator/= (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{f\+Scalar }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_ad8b5fad0c40ae5dd087bbade10b8403e}\label{class_ogre_1_1_vector3_ad8b5fad0c40ae5dd087bbade10b8403e}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator/=()}{operator/=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Vector3\+::operator/= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a845e0b7d98524445b617e23b3d7f58c4}\label{class_ogre_1_1_vector3_a845e0b7d98524445b617e23b3d7f58c4}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!length@{length}}
\index{length@{length}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{length()}{length()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::length (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the length (magnitude) of the vector. 

\begin{DoxyWarning}{Warning}
This operation requires a square root and is expensive in terms of C\+PU operations. If you don\textquotesingle{}t need to know the exact length (e.\+g. for just comparing lengths) use \hyperlink{class_ogre_1_1_vector3_a2f82726a193902e24c8b0b02f7e918da}{squared\+Length()} instead. 
\end{DoxyWarning}


References Ogre\+::\+Math\+::\+Sqrt().



Referenced by angle\+Between().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a2f82726a193902e24c8b0b02f7e918da}\label{class_ogre_1_1_vector3_a2f82726a193902e24c8b0b02f7e918da}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!squared\+Length@{squared\+Length}}
\index{squared\+Length@{squared\+Length}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{squared\+Length()}{squaredLength()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::squared\+Length (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the square of the length(magnitude) of the vector. 

\begin{DoxyRemark}{Remarks}
This method is for efficiency -\/ calculating the actual length of a vector requires a square root, which is expensive in terms of the operations required. This method returns the square of the length of the vector, i.\+e. the same as the length but before the square root is taken. Use this if you want to find the longest / shortest vector without incurring the square root. 
\end{DoxyRemark}


Referenced by get\+Rotation\+To(), Ogre\+::\+Sphere\+::merge(), position\+Closes(), and Ogre\+::\+Axis\+Aligned\+Box\+::squared\+Distance().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a4f589cffa205896c40a04b8f1355ad3c}\label{class_ogre_1_1_vector3_a4f589cffa205896c40a04b8f1355ad3c}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!distance@{distance}}
\index{distance@{distance}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{distance()}{distance()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::distance (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the distance to another vector. 

\begin{DoxyWarning}{Warning}
This operation requires a square root and is expensive in terms of C\+PU operations. If you don\textquotesingle{}t need to know the exact distance (e.\+g. for just comparing distances) use \hyperlink{class_ogre_1_1_vector3_af4e1e3e7df9fbba46c60a22eacfddef2}{squared\+Distance()} instead. 
\end{DoxyWarning}
\mbox{\Hypertarget{class_ogre_1_1_vector3_af4e1e3e7df9fbba46c60a22eacfddef2}\label{class_ogre_1_1_vector3_af4e1e3e7df9fbba46c60a22eacfddef2}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!squared\+Distance@{squared\+Distance}}
\index{squared\+Distance@{squared\+Distance}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{squared\+Distance()}{squaredDistance()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::squared\+Distance (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns the square of the distance to another vector. 

\begin{DoxyRemark}{Remarks}
This method is for efficiency -\/ calculating the actual distance to another vector requires a square root, which is expensive in terms of the operations required. This method returns the square of the distance to another vector, i.\+e. the same as the distance but before the square root is taken. Use this if you want to find the longest / shortest distance without incurring the square root. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_vector3_ad677c37bfc81b5b5472e76a59647b704}\label{class_ogre_1_1_vector3_ad677c37bfc81b5b5472e76a59647b704}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!dot\+Product@{dot\+Product}}
\index{dot\+Product@{dot\+Product}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{dot\+Product()}{dotProduct()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::dot\+Product (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{vec }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Calculates the dot (scalar) product of this vector with another. 

\begin{DoxyRemark}{Remarks}
The dot product can be used to calculate the angle between 2 vectors. If both are unit vectors, the dot product is the cosine of the angle; otherwise the dot product must be divided by the product of the lengths of both vectors to get the cosine of the angle. This result can further be used to calculate the distance of a point from a plane. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em vec} & Vector with which to calculate the dot product (together with this one). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A float representing the dot product value. 
\end{DoxyReturn}


References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a5c942df8fa6e15d5a6300effcb2bf991}\label{class_ogre_1_1_vector3_a5c942df8fa6e15d5a6300effcb2bf991}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!abs\+Dot\+Product@{abs\+Dot\+Product}}
\index{abs\+Dot\+Product@{abs\+Dot\+Product}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{abs\+Dot\+Product()}{absDotProduct()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::abs\+Dot\+Product (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{vec }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Calculates the absolute dot (scalar) product of this vector with another. 

\begin{DoxyRemark}{Remarks}
This function work similar dot\+Product, except it use absolute value of each component of the vector to computing. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em vec} & Vector with which to calculate the absolute dot product (together with this one). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A Real representing the absolute dot product value. 
\end{DoxyReturn}


References Ogre\+::\+Math\+::\+Abs(), x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a9e572a5cc4e1ed826839e5281d8f1d3b}\label{class_ogre_1_1_vector3_a9e572a5cc4e1ed826839e5281d8f1d3b}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!normalise@{normalise}}
\index{normalise@{normalise}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{normalise()}{normalise()}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::normalise (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Normalises the vector. 

\begin{DoxyRemark}{Remarks}
This method normalises the vector such that it\textquotesingle{}s length / magnitude is 1. The result is called a unit vector. 
\end{DoxyRemark}
\begin{DoxyNote}{Note}
This function will not crash for zero-\/sized vectors, but there will be no changes made to their components. 
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
The previous length of the vector. 
\end{DoxyReturn}


References Ogre\+::\+Math\+::\+Sqrt().



Referenced by normalised\+Copy(), and Ogre\+::operator$\ast$().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a2500548e775c294aab7bff6f7f8f312a}\label{class_ogre_1_1_vector3_a2500548e775c294aab7bff6f7f8f312a}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!cross\+Product@{cross\+Product}}
\index{cross\+Product@{cross\+Product}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{cross\+Product()}{crossProduct()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::cross\+Product (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Calculates the cross-\/product of 2 vectors, i.\+e. 

the vector that lies perpendicular to them both. \begin{DoxyRemark}{Remarks}
The cross-\/product is normally used to calculate the normal vector of a plane, by calculating the cross-\/product of 2 non-\/equivalent vectors which lie on the plane (e.\+g. 2 edges of a triangle). 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em rk\+Vector} & Vector which, together with this one, will be used to calculate the cross-\/product. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A vector which is the result of the cross-\/product. This vector will {\bfseries N\+OT} be normalised, to maximise efficiency
\begin{DoxyItemize}
\item call \hyperlink{class_ogre_1_1_vector3_a9e572a5cc4e1ed826839e5281d8f1d3b}{Vector3\+::normalise} on the result if you wish this to be done. As for which side the resultant vector will be on, the returned vector will be on the side from which the arc from \textquotesingle{}this\textquotesingle{} to rk\+Vector is anticlockwise, e.\+g. U\+N\+I\+T\+\_\+\+Y.\+cross\+Product(\+U\+N\+I\+T\+\_\+\+Z) = U\+N\+I\+T\+\_\+X, whilst U\+N\+I\+T\+\_\+\+Z.\+cross\+Product(\+U\+N\+I\+T\+\_\+\+Y) = -\/\+U\+N\+I\+T\+\_\+X. This is because O\+G\+RE uses a right-\/handed coordinate system. 
\end{DoxyItemize}
\end{DoxyReturn}
\begin{DoxyParagraph}{}
For a clearer explanation, look a the left and the bottom edges of your monitor\textquotesingle{}s screen. Assume that the first vector is the left edge and the second vector is the bottom edge, both of them starting from the lower-\/left corner of the screen. The resulting vector is going to be perpendicular to both of them and will go {\itshape inside} the screen, towards the cathode tube (assuming you\textquotesingle{}re using a C\+RT monitor, of course). 
\end{DoxyParagraph}


References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a2de9940bb3a5a3ee1c22dd95047cec0c}\label{class_ogre_1_1_vector3_a2de9940bb3a5a3ee1c22dd95047cec0c}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!mid\+Point@{mid\+Point}}
\index{mid\+Point@{mid\+Point}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{mid\+Point()}{midPoint()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::mid\+Point (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{vec }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns a vector at a point half way between this and the passed in vector. 



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a9831cfbc0d6de6ddd8722908d2d0f732}\label{class_ogre_1_1_vector3_a9831cfbc0d6de6ddd8722908d2d0f732}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator$<$()}{operator<()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns true if the vector\textquotesingle{}s scalar components are all greater that the ones of the vector it is compared against. 



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_ae7e7bd521456f7302c5d5357908e90aa}\label{class_ogre_1_1_vector3_ae7e7bd521456f7302c5d5357908e90aa}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator$>$@{operator$>$}}
\index{operator$>$@{operator$>$}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator$>$()}{operator>()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns true if the vector\textquotesingle{}s scalar components are all smaller that the ones of the vector it is compared against. 



References x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a8430bb9f7756acb8256497f004afac49}\label{class_ogre_1_1_vector3_a8430bb9f7756acb8256497f004afac49}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!make\+Floor@{make\+Floor}}
\index{make\+Floor@{make\+Floor}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{make\+Floor()}{makeFloor()}}
{\footnotesize\ttfamily void Ogre\+::\+Vector3\+::make\+Floor (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{cmp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets this vector\textquotesingle{}s components to the minimum of its own and the ones of the passed in vector. 

\begin{DoxyRemark}{Remarks}
\textquotesingle{}Minimum\textquotesingle{} in this case means the combination of the lowest value of x, y and z from both vectors. Lowest is taken just numerically, not magnitude, so -\/1 $<$ 0. 
\end{DoxyRemark}


References x, y, and z.



Referenced by Ogre\+::\+Axis\+Aligned\+Box\+::intersection(), and Ogre\+::\+Axis\+Aligned\+Box\+::merge().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a61e91dcf16f7db52d299e976526218e3}\label{class_ogre_1_1_vector3_a61e91dcf16f7db52d299e976526218e3}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!make\+Ceil@{make\+Ceil}}
\index{make\+Ceil@{make\+Ceil}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{make\+Ceil()}{makeCeil()}}
{\footnotesize\ttfamily void Ogre\+::\+Vector3\+::make\+Ceil (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{cmp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Sets this vector\textquotesingle{}s components to the maximum of its own and the ones of the passed in vector. 

\begin{DoxyRemark}{Remarks}
\textquotesingle{}Maximum\textquotesingle{} in this case means the combination of the highest value of x, y and z from both vectors. Highest is taken just numerically, not magnitude, so 1 $>$ -\/3. 
\end{DoxyRemark}


References x, y, and z.



Referenced by Ogre\+::\+Axis\+Aligned\+Box\+::intersection(), and Ogre\+::\+Axis\+Aligned\+Box\+::merge().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a602309978c89c94bd8a58fa340a7e640}\label{class_ogre_1_1_vector3_a602309978c89c94bd8a58fa340a7e640}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!perpendicular@{perpendicular}}
\index{perpendicular@{perpendicular}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{perpendicular()}{perpendicular()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::perpendicular (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Generates a vector perpendicular to this vector (eg an \textquotesingle{}up\textquotesingle{} vector). 

\begin{DoxyRemark}{Remarks}
This method will return a vector which is perpendicular to this vector. There are an infinite number of possibilities but this method will guarantee to generate one of them. If you need more control you should use the \hyperlink{class_ogre_1_1_quaternion}{Quaternion} class. 
\end{DoxyRemark}


References Ogre\+::\+Math\+::\+Abs(), and normalised\+Copy().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a86bbd6dde7721a77d6c56d2ec280eda2}\label{class_ogre_1_1_vector3_a86bbd6dde7721a77d6c56d2ec280eda2}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!random\+Deviant@{random\+Deviant}}
\index{random\+Deviant@{random\+Deviant}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{random\+Deviant()}{randomDeviant()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::random\+Deviant (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_radian}{Radian} \&}]{angle,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{up = {\ttfamily \hyperlink{class_ogre_1_1_vector3_a5da94afc089ec07612b4a2615bb6b86f}{Vector3\+::\+Z\+E\+RO}} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Generates a new random vector which deviates from this vector by a given angle in a random direction. 

\begin{DoxyRemark}{Remarks}
This method assumes that the random number generator has already been seeded appropriately. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em angle} & The angle at which to deviate \\
\hline
{\em up} & \hyperlink{class_ogre_1_1_any}{Any} vector perpendicular to this one (which could generated by cross-\/product of this vector and any other non-\/colinear vector). If you choose not to provide this the function will derive one on it\textquotesingle{}s own, however if you provide one yourself the function will be faster (this allows you to reuse up vectors if you call this method more than once) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A random vector which deviates from this vector by angle. This vector will not be normalised, normalise it if you wish afterwards. 
\end{DoxyReturn}


References Ogre\+::\+Quaternion\+::\+From\+Angle\+Axis(), Ogre\+::\+Math\+::\+T\+W\+O\+\_\+\+PI, Ogre\+::\+Math\+::\+Unit\+Random(), and Z\+E\+RO.

\mbox{\Hypertarget{class_ogre_1_1_vector3_aa353bdc212097f903b7edf4171ddc257}\label{class_ogre_1_1_vector3_aa353bdc212097f903b7edf4171ddc257}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!angle\+Between@{angle\+Between}}
\index{angle\+Between@{angle\+Between}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{angle\+Between()}{angleBetween()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_radian}{Radian} Ogre\+::\+Vector3\+::angle\+Between (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{dest }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the angle between 2 vectors. 

\begin{DoxyRemark}{Remarks}
Vectors do not have to be unit-\/length but must represent directions. 
\end{DoxyRemark}


References Ogre\+::\+Math\+::\+A\+Cos(), Ogre\+::\+Math\+::\+Clamp(), and length().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a9a19e5c4686278159203e2963a8750e7}\label{class_ogre_1_1_vector3_a9a19e5c4686278159203e2963a8750e7}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!get\+Rotation\+To@{get\+Rotation\+To}}
\index{get\+Rotation\+To@{get\+Rotation\+To}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{get\+Rotation\+To()}{getRotationTo()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_quaternion}{Quaternion} Ogre\+::\+Vector3\+::get\+Rotation\+To (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{dest,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{fallback\+Axis = {\ttfamily \hyperlink{class_ogre_1_1_vector3_a5da94afc089ec07612b4a2615bb6b86f}{Vector3\+::\+Z\+E\+RO}} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the shortest arc quaternion to rotate this vector to the destination vector. 

\begin{DoxyRemark}{Remarks}
If you call this with a dest vector that is close to the inverse of this vector, we will rotate 180 degrees around the \textquotesingle{}fallback\+Axis\textquotesingle{} (if specified, or a generated axis if not) since in this case A\+NY axis of rotation is valid. 
\end{DoxyRemark}


References Ogre\+::\+Math\+::\+Abs(), Ogre\+::\+Quaternion\+::normalise(), Ogre\+::\+Math\+::\+Sqrt(), squared\+Length(), x, y, z, and Z\+E\+RO.

\mbox{\Hypertarget{class_ogre_1_1_vector3_a71dc79c44c5e846009caa3a34f5a90af}\label{class_ogre_1_1_vector3_a71dc79c44c5e846009caa3a34f5a90af}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!is\+Zero\+Length@{is\+Zero\+Length}}
\index{is\+Zero\+Length@{is\+Zero\+Length}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{is\+Zero\+Length()}{isZeroLength()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::is\+Zero\+Length (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns true if this vector is zero length. 

\mbox{\Hypertarget{class_ogre_1_1_vector3_a3aca610d8cc0298d0c49ddc9a445f5cd}\label{class_ogre_1_1_vector3_a3aca610d8cc0298d0c49ddc9a445f5cd}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!normalised\+Copy@{normalised\+Copy}}
\index{normalised\+Copy@{normalised\+Copy}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{normalised\+Copy()}{normalisedCopy()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::normalised\+Copy (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



As normalise, except that this vector is unaffected and the normalised vector is returned as a copy. 



References normalise().



Referenced by perpendicular().

\mbox{\Hypertarget{class_ogre_1_1_vector3_ab3ae984e99200dffa41eaffb2cb14f35}\label{class_ogre_1_1_vector3_ab3ae984e99200dffa41eaffb2cb14f35}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!reflect@{reflect}}
\index{reflect@{reflect}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{reflect()}{reflect()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::reflect (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{normal }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Calculates a reflection vector to the plane with the given normal . 

\begin{DoxyRemark}{Remarks}
NB assumes \textquotesingle{}this\textquotesingle{} is pointing A\+W\+AY F\+R\+OM the plane, invert if it is not. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_vector3_a1df1c56b58d76060f0709f296c71645b}\label{class_ogre_1_1_vector3_a1df1c56b58d76060f0709f296c71645b}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!position\+Equals@{position\+Equals}}
\index{position\+Equals@{position\+Equals}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{position\+Equals()}{positionEquals()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::position\+Equals (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{tolerance = {\ttfamily 1e-\/03} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns whether this vector is within a positional tolerance of another vector. 


\begin{DoxyParams}{Parameters}
{\em rhs} & The vector to compare with \\
\hline
{\em tolerance} & The amount that each element of the vector may vary by and still be considered equal \\
\hline
\end{DoxyParams}


References Ogre\+::\+Math\+::\+Real\+Equal(), x, y, and z.

\mbox{\Hypertarget{class_ogre_1_1_vector3_ac5698b56782997ed9a30f395fd835ccd}\label{class_ogre_1_1_vector3_ac5698b56782997ed9a30f395fd835ccd}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!position\+Closes@{position\+Closes}}
\index{position\+Closes@{position\+Closes}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{position\+Closes()}{positionCloses()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::position\+Closes (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs,  }\item[{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{tolerance = {\ttfamily 1e-\/03f} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns whether this vector is within a positional tolerance of another vector, also take scale of the vectors into account. 


\begin{DoxyParams}{Parameters}
{\em rhs} & The vector to compare with \\
\hline
{\em tolerance} & The amount (related to the scale of vectors) that distance of the vector may vary by and still be considered close \\
\hline
\end{DoxyParams}


References squared\+Length().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a1818c9740f43005be86f9c9c78316ae1}\label{class_ogre_1_1_vector3_a1818c9740f43005be86f9c9c78316ae1}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!direction\+Equals@{direction\+Equals}}
\index{direction\+Equals@{direction\+Equals}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{direction\+Equals()}{directionEquals()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::direction\+Equals (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs,  }\item[{const \hyperlink{class_ogre_1_1_radian}{Radian} \&}]{tolerance }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns whether this vector is within a directional tolerance of another vector. 


\begin{DoxyParams}{Parameters}
{\em rhs} & The vector to compare with \\
\hline
{\em tolerance} & The maximum angle by which the vectors may vary and still be considered equal \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
Both vectors should be normalised. 
\end{DoxyNote}


References Ogre\+::\+Math\+::\+Abs(), Ogre\+::\+Math\+::\+A\+Cos(), and Ogre\+::\+Radian\+::value\+Radians().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a07ceddb4d4a444a2e3ae083553c6175e}\label{class_ogre_1_1_vector3_a07ceddb4d4a444a2e3ae083553c6175e}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!is\+NaN@{is\+NaN}}
\index{is\+NaN@{is\+NaN}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{is\+Na\+N()}{isNaN()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vector3\+::is\+NaN (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Check whether this vector contains valid values. 



References Ogre\+::\+Math\+::is\+Na\+N().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a3041764b2adbfe683e16fb38414a9ef2}\label{class_ogre_1_1_vector3_a3041764b2adbfe683e16fb38414a9ef2}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!primary\+Axis@{primary\+Axis}}
\index{primary\+Axis@{primary\+Axis}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{primary\+Axis()}{primaryAxis()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::primary\+Axis (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Extract the primary (dominant) axis from this direction vector. 



References Ogre\+::\+Math\+::\+Abs(), N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+X, N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Y, N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Z, U\+N\+I\+T\+\_\+X, U\+N\+I\+T\+\_\+Y, and U\+N\+I\+T\+\_\+Z.



\subsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vector3_a92d7a0e4025b82401c2baa1e43c86ab1}\label{class_ogre_1_1_vector3_a92d7a0e4025b82401c2baa1e43c86ab1}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator$\ast$}{operator*}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} operator$\ast$ (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{f\+Scalar,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a3505ef8e8c296ad49bdbe837185fa0e2}\label{class_ogre_1_1_vector3_a3505ef8e8c296ad49bdbe837185fa0e2}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator/@{operator/}}
\index{operator/@{operator/}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator/}{operator/}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} operator/ (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{f\+Scalar,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rk\+Vector }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a09fc339aca944e8b0bb21d02215a092e}\label{class_ogre_1_1_vector3_a09fc339aca944e8b0bb21d02215a092e}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator+@{operator+}}
\index{operator+@{operator+}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator+}{operator+}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} operator+ (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{lhs,  }\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_aa5a711e980d3f906f83bf4740b573aaf}\label{class_ogre_1_1_vector3_aa5a711e980d3f906f83bf4740b573aaf}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator+@{operator+}}
\index{operator+@{operator+}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator+}{operator+}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} operator+ (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{lhs,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a2c6a217a917e372153a225a53fd5b99f}\label{class_ogre_1_1_vector3_a2c6a217a917e372153a225a53fd5b99f}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator-\/}{operator-}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} operator-\/ (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{lhs,  }\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_aeca31428e2157b9a26380b3a7eec482e}\label{class_ogre_1_1_vector3_aeca31428e2157b9a26380b3a7eec482e}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator-\/}{operator-}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_vector3}{Vector3} operator-\/ (\begin{DoxyParamCaption}\item[{const \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}]{lhs,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{rhs }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector3_a151b7be26d6dc535fd2583f74011084d}\label{class_ogre_1_1_vector3_a151b7be26d6dc535fd2583f74011084d}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{operator$<$$<$}{operator<<}}
{\footnotesize\ttfamily std\+::ostream\& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{o,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



Function for writing to a stream. 



\subsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vector3_a27be092ad0b7e0504ddf4db5cd565f14}\label{class_ogre_1_1_vector3_a27be092ad0b7e0504ddf4db5cd565f14}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!x@{x}}
\index{x@{x}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{x}{x}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::x}



Referenced by abs\+Dot\+Product(), Ogre\+::\+Axis\+Aligned\+Box\+::contains(), cross\+Product(), dot\+Product(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Center(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Children\+Dimensions(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Corner(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner1(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner2(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner3(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner4(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner5(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner7(), get\+Rotation\+To(), Ogre\+::\+Affine3\+::get\+Scale(), Ogre\+::\+Affine3\+::get\+Trans(), Ogre\+::\+Axis\+Aligned\+Box\+::intersection(), Ogre\+::\+Axis\+Aligned\+Box\+::intersects(), Ogre\+::\+Volume\+::\+Octree\+Node\+::is\+Border\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::is\+Border\+Right(), make\+Ceil(), make\+Floor(), Ogre\+::\+Transform\+Base\+::make\+Trans(), mid\+Point(), operator!=(), operator$\ast$(), Ogre\+::operator$\ast$(), operator$\ast$=(), operator+(), operator+=(), operator-\/(), Ogre\+::\+Plane\+::operator-\/(), operator-\/=(), operator/(), operator/=(), operator$<$(), operator==(), operator$>$(), position\+Equals(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Extents(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Maximum(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Maximum\+X(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Minimum(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Minimum\+X(), Ogre\+::\+Transform\+Base\+::set\+Scale(), Ogre\+::\+Transform\+Base\+::set\+Trans(), Ogre\+::\+Axis\+Aligned\+Box\+::squared\+Distance(), Ogre\+::\+Axis\+Aligned\+Box\+::transform(), and Ogre\+::\+Axis\+Aligned\+Box\+::volume().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a05ca4492ce30a049ae4102e3f5e85aff}\label{class_ogre_1_1_vector3_a05ca4492ce30a049ae4102e3f5e85aff}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!y@{y}}
\index{y@{y}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{y}{y}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::y}



Referenced by abs\+Dot\+Product(), Ogre\+::\+Axis\+Aligned\+Box\+::contains(), cross\+Product(), dot\+Product(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Center(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Children\+Dimensions(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Corner(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner1(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner2(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner3(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner4(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner5(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner7(), get\+Rotation\+To(), Ogre\+::\+Affine3\+::get\+Scale(), Ogre\+::\+Affine3\+::get\+Trans(), Ogre\+::\+Axis\+Aligned\+Box\+::intersection(), Ogre\+::\+Axis\+Aligned\+Box\+::intersects(), Ogre\+::\+Volume\+::\+Octree\+Node\+::is\+Border\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::is\+Border\+Top(), make\+Ceil(), make\+Floor(), Ogre\+::\+Transform\+Base\+::make\+Trans(), mid\+Point(), operator!=(), operator$\ast$(), Ogre\+::operator$\ast$(), operator$\ast$=(), operator+(), operator+=(), operator-\/(), Ogre\+::\+Plane\+::operator-\/(), operator-\/=(), operator/(), operator/=(), operator$<$(), operator==(), operator$>$(), position\+Equals(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Extents(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Maximum(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Maximum\+Y(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Minimum(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Minimum\+Y(), Ogre\+::\+Transform\+Base\+::set\+Scale(), Ogre\+::\+Transform\+Base\+::set\+Trans(), Ogre\+::\+Axis\+Aligned\+Box\+::squared\+Distance(), Ogre\+::\+Axis\+Aligned\+Box\+::transform(), and Ogre\+::\+Axis\+Aligned\+Box\+::volume().

\mbox{\Hypertarget{class_ogre_1_1_vector3_ab1f9e7702256f32156be4d7e0fdafd7e}\label{class_ogre_1_1_vector3_ab1f9e7702256f32156be4d7e0fdafd7e}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!z@{z}}
\index{z@{z}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{z}{z}}
{\footnotesize\ttfamily \hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real} Ogre\+::\+Vector3\+::z}



Referenced by abs\+Dot\+Product(), Ogre\+::\+Axis\+Aligned\+Box\+::contains(), cross\+Product(), dot\+Product(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Center(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Back\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Front\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Left\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right\+Bottom(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Right\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Center\+Top(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Children\+Dimensions(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Corner(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner1(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner2(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner3(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner4(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner5(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Corner7(), get\+Rotation\+To(), Ogre\+::\+Affine3\+::get\+Scale(), Ogre\+::\+Affine3\+::get\+Trans(), Ogre\+::\+Axis\+Aligned\+Box\+::intersection(), Ogre\+::\+Axis\+Aligned\+Box\+::intersects(), Ogre\+::\+Volume\+::\+Octree\+Node\+::is\+Border\+Back(), Ogre\+::\+Volume\+::\+Octree\+Node\+::is\+Border\+Front(), make\+Ceil(), make\+Floor(), Ogre\+::\+Transform\+Base\+::make\+Trans(), mid\+Point(), operator!=(), operator$\ast$(), Ogre\+::operator$\ast$(), operator$\ast$=(), operator+(), operator+=(), operator-\/(), Ogre\+::\+Plane\+::operator-\/(), operator-\/=(), operator/(), operator/=(), operator$<$(), operator==(), operator$>$(), position\+Equals(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Extents(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Maximum(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Maximum\+Z(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Minimum(), Ogre\+::\+Axis\+Aligned\+Box\+::set\+Minimum\+Z(), Ogre\+::\+Transform\+Base\+::set\+Scale(), Ogre\+::\+Transform\+Base\+::set\+Trans(), Ogre\+::\+Axis\+Aligned\+Box\+::squared\+Distance(), Ogre\+::\+Axis\+Aligned\+Box\+::transform(), and Ogre\+::\+Axis\+Aligned\+Box\+::volume().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a5da94afc089ec07612b4a2615bb6b86f}\label{class_ogre_1_1_vector3_a5da94afc089ec07612b4a2615bb6b86f}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!Z\+E\+RO@{Z\+E\+RO}}
\index{Z\+E\+RO@{Z\+E\+RO}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{Z\+E\+RO}{ZERO}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::\+Z\+E\+RO\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Instanced\+Entity\+::\+\_\+get\+Derived\+Position(), Ogre\+::\+Camera\+::\+Listener\+::camera\+Destroyed(), Ogre\+::\+Volume\+::\+Octree\+Node\+::get\+Children\+Dimensions(), Ogre\+::\+Entity\+::get\+Current\+Lod\+Index(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Half\+Size(), Ogre\+::\+Node\+::get\+Inherit\+Scale(), get\+Rotation\+To(), Ogre\+::\+Scene\+Node\+::get\+Show\+Bounding\+Box(), Ogre\+::\+Axis\+Aligned\+Box\+::get\+Size(), Ogre\+::\+Tangent\+Space\+Calc\+::get\+Split\+Rotated(), and random\+Deviant().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a0c21d1f120c5eab83aa966e5de1df311}\label{class_ogre_1_1_vector3_a0c21d1f120c5eab83aa966e5de1df311}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!U\+N\+I\+T\+\_\+X@{U\+N\+I\+T\+\_\+X}}
\index{U\+N\+I\+T\+\_\+X@{U\+N\+I\+T\+\_\+X}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{U\+N\+I\+T\+\_\+X}{UNIT\_X}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::\+U\+N\+I\+T\+\_\+X\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Billboard\+Chain\+::get\+Dynamic(), and primary\+Axis().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a8d1a1f7af535bcc8d9c78b1732bc1b90}\label{class_ogre_1_1_vector3_a8d1a1f7af535bcc8d9c78b1732bc1b90}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!U\+N\+I\+T\+\_\+Y@{U\+N\+I\+T\+\_\+Y}}
\index{U\+N\+I\+T\+\_\+Y@{U\+N\+I\+T\+\_\+Y}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{U\+N\+I\+T\+\_\+Y}{UNIT\_Y}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::\+U\+N\+I\+T\+\_\+Y\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Camera\+::\+Listener\+::camera\+Destroyed(), Ogre\+::\+Scene\+Node\+::get\+Show\+Bounding\+Box(), and primary\+Axis().

\mbox{\Hypertarget{class_ogre_1_1_vector3_ad25aed2e9367cfa879d3e3c231c5a136}\label{class_ogre_1_1_vector3_ad25aed2e9367cfa879d3e3c231c5a136}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!U\+N\+I\+T\+\_\+Z@{U\+N\+I\+T\+\_\+Z}}
\index{U\+N\+I\+T\+\_\+Z@{U\+N\+I\+T\+\_\+Z}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{U\+N\+I\+T\+\_\+Z}{UNIT\_Z}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::\+U\+N\+I\+T\+\_\+Z\hspace{0.3cm}{\ttfamily [static]}}



Referenced by primary\+Axis(), and Ogre\+::\+Portal\+Base\+::set\+Direction().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a46e43c65e6da1ff630652694a966d63c}\label{class_ogre_1_1_vector3_a46e43c65e6da1ff630652694a966d63c}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+X@{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+X}}
\index{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+X@{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+X}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+X}{NEGATIVE\_UNIT\_X}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::\+N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+X\hspace{0.3cm}{\ttfamily [static]}}



Referenced by primary\+Axis().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a6b674c303fc2ade68ce2fd6ae74b8c11}\label{class_ogre_1_1_vector3_a6b674c303fc2ade68ce2fd6ae74b8c11}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Y@{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Y}}
\index{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Y@{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Y}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Y}{NEGATIVE\_UNIT\_Y}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::\+N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Y\hspace{0.3cm}{\ttfamily [static]}}



Referenced by primary\+Axis().

\mbox{\Hypertarget{class_ogre_1_1_vector3_abdeebea4e94e114215a51831f9792f19}\label{class_ogre_1_1_vector3_abdeebea4e94e114215a51831f9792f19}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Z@{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Z}}
\index{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Z@{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Z}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Z}{NEGATIVE\_UNIT\_Z}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::\+N\+E\+G\+A\+T\+I\+V\+E\+\_\+\+U\+N\+I\+T\+\_\+Z\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Scene\+Node\+::get\+Show\+Bounding\+Box(), primary\+Axis(), and Ogre\+::\+Portal\+Base\+::set\+Direction().

\mbox{\Hypertarget{class_ogre_1_1_vector3_a6a27e8a3a9156701f586afeed1516fb8}\label{class_ogre_1_1_vector3_a6a27e8a3a9156701f586afeed1516fb8}} 
\index{Ogre\+::\+Vector3@{Ogre\+::\+Vector3}!U\+N\+I\+T\+\_\+\+S\+C\+A\+LE@{U\+N\+I\+T\+\_\+\+S\+C\+A\+LE}}
\index{U\+N\+I\+T\+\_\+\+S\+C\+A\+LE@{U\+N\+I\+T\+\_\+\+S\+C\+A\+LE}!Ogre\+::\+Vector3@{Ogre\+::\+Vector3}}
\subsubsection{\texorpdfstring{U\+N\+I\+T\+\_\+\+S\+C\+A\+LE}{UNIT\_SCALE}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3} Ogre\+::\+Vector3\+::\+U\+N\+I\+T\+\_\+\+S\+C\+A\+LE\hspace{0.3cm}{\ttfamily [static]}}



Referenced by Ogre\+::\+Static\+Geometry\+::get\+Name().



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_vector3_8h}{Ogre\+Vector3.\+h}\end{DoxyCompactItemize}
