\hypertarget{class_ogre_1_1_vector}{}\doxysection{Ogre\+::Vector$<$ dims, T $>$ Class Template Reference}
\label{class_ogre_1_1_vector}\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}


Standard N-\/dimensional vector.  




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



Inheritance diagram for Ogre\+::Vector$<$ dims, T $>$\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=239pt]{class_ogre_1_1_vector__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_vector_a7d01f88f113d198ac5ee8b961c6d8823}{Vector}} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
{\footnotesize template$<$int N = dims$>$ }\\\mbox{\hyperlink{class_ogre_1_1_vector_a546a336592df20866c2bb52fa615ddf0}{Vector}} (const typename std\+::enable\+\_\+if$<$ N==4, \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} $>$\+::type \&rhs, T fW=1.\+0f)
\item 
{\footnotesize template$<$typename U $>$ }\\\mbox{\hyperlink{class_ogre_1_1_vector_a389e8be5818ba2c48c525441ce862f06}{Vector}} (const U $\ast$\+\_\+ptr)
\item 
{\footnotesize template$<$typename U $>$ }\\\mbox{\hyperlink{class_ogre_1_1_vector_a08b4b207bff9bb43d77fe6133a0e4980}{Vector}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, U $>$ \&o)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector_ae6f3059c85986465741bf40fbe5ae348}{Vector}} (T \+\_\+x, T \+\_\+y)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector_af56d266815fd97c34840189945b67cfa}{Vector}} (T \+\_\+x, T \+\_\+y, T \+\_\+z)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector_a8d9fe8c6b9bcb237278eae92a5e95a58}{Vector}} (T \+\_\+x, T \+\_\+y, T \+\_\+z, T \+\_\+w)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector_a921c3ae9fd07f00bf5abcf39de7e5640}{Vector}} (T s)
\item 
\mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_vector_a5ba1b2a4ccc2cac6a5155718a2a8aeee}{angle\+Between}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&dest) const
\begin{DoxyCompactList}\small\item\em Gets the angle between 2 vectors. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_vector_a94d43755b7ab8ef60b8809d942579e8c}{distance}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&rhs) const
\begin{DoxyCompactList}\small\item\em Returns the distance to another vector. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_ogre_1_1_vector_ae610ff4982860298852e56af6b2fe36c}{dot\+Product}} (const \mbox{\hyperlink{struct_ogre_1_1_vector_base}{Vector\+Base}}$<$ dims, T $>$ \&vec) const
\begin{DoxyCompactList}\small\item\em Calculates the dot (scalar) product of this vector with another. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_vector_a94e94ab01f806ed6c2a1931e3d5cc423}{is\+NaN}} () const
\begin{DoxyCompactList}\small\item\em Check whether this vector contains valid values. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_vector_a898d6f71ca95d09f784a97ee7129cf46}{is\+Zero\+Length}} () const
\begin{DoxyCompactList}\small\item\em Returns true if this vector is zero length. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_vector_a4e720e2f113f8c98192bc61dbcf1bddc}{length}} () const
\begin{DoxyCompactList}\small\item\em Returns the length (magnitude) of the vector. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_vector_abfd91a0fd283f8360079680e21ae40d4}{make\+Ceil}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&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 \mbox{\hyperlink{class_ogre_1_1_vector_abd61147c1de293b472d575e9e2d9c1c6}{make\+Floor}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&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 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_vector_a2d9b321bec779fc06de480897cda2027}{normalise}} ()
\begin{DoxyCompactList}\small\item\em Normalises the vector. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a43169cee2146a35d14ef47016f565d23}{normalised\+Copy}} () 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 \mbox{\hyperlink{class_ogre_1_1_vector_aeae20c648b8901369a7f2fbb517ce14c}{operator!=}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&v) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a8a4644dd6de4b9b2cf44ad72498f341e}{operator$\ast$}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&b) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_aae091019d5dcf1a45753803ea171bdc3}{operator$\ast$}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_a1dc25813ee155995ca2f4e8108b33d60}{operator$\ast$=}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&b)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_ab5bd91f114caf10b2d0540efa24868aa}{operator$\ast$=}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s)
\item 
const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_a057b75d799eb4451aad11792c67aac48}{operator+}} () const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_ac4d0621635c4396acd7559a906fbee5a}{operator+}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&b) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a0f196244fe8af4e5e146f8692b5fef98}{operator+}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_a386522f310cae6393cf2f7083887b74c}{operator+=}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&b)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_a9df35ae71171b9b5b14ef4b23132189d}{operator+=}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a14bf242fa100f9b229146fbd29c51555}{operator-\/}} () const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a0b86e1eb1890fc330b6e5fade5937641}{operator-\/}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&b) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a117f8d3469d2fdd1b2c7c7b8e1fe72ce}{operator-\/}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_a16b5a72850f8c3914001a7fe37dae5aa}{operator-\/=}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&b)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_a943ef3eb33538217ff3e05c4352aa398}{operator-\/=}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_ae7537fa260742c6237d30238c8018b1e}{operator/}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&b) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a2364e2028d08f8d16a9019774c727dd9}{operator/}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s) const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_abc1753ebfaf90224fecf871f72bddf56}{operator/=}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&b)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \& \mbox{\hyperlink{class_ogre_1_1_vector_abb0f4a8f92e098d79691ec70444c3862}{operator/=}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s)
\item 
bool \mbox{\hyperlink{class_ogre_1_1_vector_aac498789a02f7c024cede36f983c3c6a}{operator$<$}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&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 \mbox{\hyperlink{class_ogre_1_1_vector_a58d55aa3c2d3f5d64b8424c03273c22a}{operator==}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&v) const
\item 
bool \mbox{\hyperlink{class_ogre_1_1_vector_a082701eff89181d07e677ce7cd238a39}{operator$>$}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&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 
T \& \mbox{\hyperlink{class_ogre_1_1_vector_a019b02e3230cfae1271d95cf64818be6}{operator\mbox{[}$\,$\mbox{]}}} (size\+\_\+t i)
\item 
T \mbox{\hyperlink{class_ogre_1_1_vector_a94180c95cb7c54c16578c481172c851d}{operator\mbox{[}$\,$\mbox{]}}} (size\+\_\+t i) const
\item 
bool \mbox{\hyperlink{class_ogre_1_1_vector_ab147f247dcbe9cf0d2294f6633fb6e2b}{position\+Equals}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&rhs, \mbox{\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. \end{DoxyCompactList}\item 
T $\ast$ \mbox{\hyperlink{struct_ogre_1_1_vector_base_a19d1a5a8fef2d67aa592d26e3ccf0217}{ptr}} ()
\item 
const T $\ast$ \mbox{\hyperlink{struct_ogre_1_1_vector_base_a4c3eb8d9fcea0b19c04ad4745bc15215}{ptr}} () const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a0191e4be3471b658a601483f0f466c84}{reflect}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&normal) const
\begin{DoxyCompactList}\small\item\em Calculates a reflection vector to the plane with the given normal . \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_ogre_1_1_vector_a5480f610064a6f1c6895e528ff06c192}{squared\+Distance}} (const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&rhs) const
\begin{DoxyCompactList}\small\item\em Returns the square of the distance to another vector. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{class_ogre_1_1_vector_ae3644507471a16eb79a5b5480a8f4d9f}{squared\+Length}} () const
\begin{DoxyCompactList}\small\item\em Returns the square of the length(magnitude) of the vector. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ 2, T $>$ \mbox{\hyperlink{class_ogre_1_1_vector_a1c7f41144ad4c644ec2b007f0638c04a}{xy}} () const
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ 3, T $>$ \mbox{\hyperlink{class_ogre_1_1_vector_a3fdcc89d77047aa540d8b80ccec42181}{xyz}} () const
\begin{DoxyCompactList}\small\item\em Swizzle-\/like narrowing operations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
T \mbox{\hyperlink{struct_ogre_1_1_vector_base_a1b21ec054398dd1389acf0be59e287a5}{data}} \mbox{[}dims\mbox{]}
\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a9811dbb733402b01f1fd067ed84fb1a6}{operator$\ast$}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s, \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} v)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a44e4f029f3bbd57081fcfb5e197830cf}{operator+}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s, \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} v)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_ab8749d3209c046e3eba91a17436a7812}{operator-\/}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s, const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&v)
\item 
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector_a53dc8e9fa6980e60713fe81b09be5d54}{operator/}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} s, const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&v)
\item 
std\+::ostream \& \mbox{\hyperlink{class_ogre_1_1_vector_aa1fbf49bfff91764e9bc3dda315db6a6}{operator$<$$<$}} (std\+::ostream \&o, const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \&v)
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
\subsubsection*{template$<$int dims, typename T$>$\newline
class Ogre\+::\+Vector$<$ dims, T $>$}

Standard N-\/dimensional vector. 

A direction in N-\/D space represented as distances along the orthogonal axes. Note that positions, directions and scaling factors can be represented by a vector, depending on how you interpret the values. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vector_a7d01f88f113d198ac5ee8b961c6d8823}\label{class_ogre_1_1_vector_a7d01f88f113d198ac5ee8b961c6d8823}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!Vector@{Vector}}
\index{Vector@{Vector}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [1/8]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} (\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_vector_ae6f3059c85986465741bf40fbe5ae348}\label{class_ogre_1_1_vector_ae6f3059c85986465741bf40fbe5ae348}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!Vector@{Vector}}
\index{Vector@{Vector}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [2/8]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} (\begin{DoxyParamCaption}\item[{T}]{\+\_\+x,  }\item[{T}]{\+\_\+y }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_af56d266815fd97c34840189945b67cfa}\label{class_ogre_1_1_vector_af56d266815fd97c34840189945b67cfa}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!Vector@{Vector}}
\index{Vector@{Vector}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [3/8]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} (\begin{DoxyParamCaption}\item[{T}]{\+\_\+x,  }\item[{T}]{\+\_\+y,  }\item[{T}]{\+\_\+z }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a8d9fe8c6b9bcb237278eae92a5e95a58}\label{class_ogre_1_1_vector_a8d9fe8c6b9bcb237278eae92a5e95a58}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!Vector@{Vector}}
\index{Vector@{Vector}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [4/8]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} (\begin{DoxyParamCaption}\item[{T}]{\+\_\+x,  }\item[{T}]{\+\_\+y,  }\item[{T}]{\+\_\+z,  }\item[{T}]{\+\_\+w }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a546a336592df20866c2bb52fa615ddf0}\label{class_ogre_1_1_vector_a546a336592df20866c2bb52fa615ddf0}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!Vector@{Vector}}
\index{Vector@{Vector}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [5/8]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
template$<$int N = dims$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} (\begin{DoxyParamCaption}\item[{const typename std\+::enable\+\_\+if$<$ N==4, \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} $>$\+::type \&}]{rhs,  }\item[{T}]{fW = {\ttfamily 1.0f} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a389e8be5818ba2c48c525441ce862f06}\label{class_ogre_1_1_vector_a389e8be5818ba2c48c525441ce862f06}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!Vector@{Vector}}
\index{Vector@{Vector}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [6/8]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
template$<$typename U $>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} (\begin{DoxyParamCaption}\item[{const U $\ast$}]{\+\_\+ptr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a08b4b207bff9bb43d77fe6133a0e4980}\label{class_ogre_1_1_vector_a08b4b207bff9bb43d77fe6133a0e4980}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!Vector@{Vector}}
\index{Vector@{Vector}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [7/8]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
template$<$typename U $>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, U $>$ \&}]{o }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a921c3ae9fd07f00bf5abcf39de7e5640}\label{class_ogre_1_1_vector_a921c3ae9fd07f00bf5abcf39de7e5640}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!Vector@{Vector}}
\index{Vector@{Vector}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{Vector()}{Vector()}\hspace{0.1cm}{\footnotesize\ttfamily [8/8]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} (\begin{DoxyParamCaption}\item[{T}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vector_a3fdcc89d77047aa540d8b80ccec42181}\label{class_ogre_1_1_vector_a3fdcc89d77047aa540d8b80ccec42181}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!xyz@{xyz}}
\index{xyz@{xyz}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{xyz()}{xyz()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$3, T$>$ \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::xyz (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Swizzle-\/like narrowing operations. 

\mbox{\Hypertarget{class_ogre_1_1_vector_a1c7f41144ad4c644ec2b007f0638c04a}\label{class_ogre_1_1_vector_a1c7f41144ad4c644ec2b007f0638c04a}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!xy@{xy}}
\index{xy@{xy}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{xy()}{xy()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$2, T$>$ \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::xy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a94180c95cb7c54c16578c481172c851d}\label{class_ogre_1_1_vector_a94180c95cb7c54c16578c481172c851d}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
T \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{i }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a019b02e3230cfae1271d95cf64818be6}\label{class_ogre_1_1_vector_a019b02e3230cfae1271d95cf64818be6}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator[]()}{operator[]()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
T\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator\mbox{[}$\,$\mbox{]} (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{i }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a58d55aa3c2d3f5d64b8424c03273c22a}\label{class_ogre_1_1_vector_a58d55aa3c2d3f5d64b8424c03273c22a}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator==@{operator==}}
\index{operator==@{operator==}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
bool \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{v }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_ab147f247dcbe9cf0d2294f6633fb6e2b}\label{class_ogre_1_1_vector_ab147f247dcbe9cf0d2294f6633fb6e2b}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!positionEquals@{positionEquals}}
\index{positionEquals@{positionEquals}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{positionEquals()}{positionEquals()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
bool \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::position\+Equals (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{rhs,  }\item[{\mbox{\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. 


\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}
\mbox{\Hypertarget{class_ogre_1_1_vector_aeae20c648b8901369a7f2fbb517ce14c}\label{class_ogre_1_1_vector_aeae20c648b8901369a7f2fbb517ce14c}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
bool \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{v }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_aac498789a02f7c024cede36f983c3c6a}\label{class_ogre_1_1_vector_aac498789a02f7c024cede36f983c3c6a}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator$<$@{operator$<$}}
\index{operator$<$@{operator$<$}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator$<$()}{operator<()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
bool \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator$<$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{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. 

\mbox{\Hypertarget{class_ogre_1_1_vector_a082701eff89181d07e677ce7cd238a39}\label{class_ogre_1_1_vector_a082701eff89181d07e677ce7cd238a39}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator$>$@{operator$>$}}
\index{operator$>$@{operator$>$}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator$>$()}{operator>()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
bool \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator$>$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{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. 

\mbox{\Hypertarget{class_ogre_1_1_vector_abd61147c1de293b472d575e9e2d9c1c6}\label{class_ogre_1_1_vector_abd61147c1de293b472d575e9e2d9c1c6}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!makeFloor@{makeFloor}}
\index{makeFloor@{makeFloor}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{makeFloor()}{makeFloor()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
void \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::make\+Floor (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{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}


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

\mbox{\Hypertarget{class_ogre_1_1_vector_abfd91a0fd283f8360079680e21ae40d4}\label{class_ogre_1_1_vector_abfd91a0fd283f8360079680e21ae40d4}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!makeCeil@{makeCeil}}
\index{makeCeil@{makeCeil}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{makeCeil()}{makeCeil()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
void \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::make\+Ceil (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{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}


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

\mbox{\Hypertarget{class_ogre_1_1_vector_ae610ff4982860298852e56af6b2fe36c}\label{class_ogre_1_1_vector_ae610ff4982860298852e56af6b2fe36c}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!dotProduct@{dotProduct}}
\index{dotProduct@{dotProduct}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{dotProduct()}{dotProduct()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
T \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::dot\+Product (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_ogre_1_1_vector_base}{Vector\+Base}}$<$ dims, T $>$ \&}]{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} & \mbox{\hyperlink{class_ogre_1_1_vector}{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}


Referenced by Ogre\+::\+Math\+::calculate\+Face\+Normal(), Ogre\+::\+Math\+::calculate\+Face\+Normal\+Without\+Normalize(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::direction\+Equals(), Ogre\+::\+Plane\+::get\+Distance(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::get\+Rotation\+To(), Ogre\+::\+Ray\+::intersects(), and Ogre\+::\+Plane\+::redefine().

\mbox{\Hypertarget{class_ogre_1_1_vector_ae3644507471a16eb79a5b5480a8f4d9f}\label{class_ogre_1_1_vector_ae3644507471a16eb79a5b5480a8f4d9f}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!squaredLength@{squaredLength}}
\index{squaredLength@{squaredLength}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{squaredLength()}{squaredLength()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
T \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::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 Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::get\+Rotation\+To(), Ogre\+::\+Ray\+::intersects(), Ogre\+::\+Sphere\+::merge(), Ogre\+::\+Vector\+Base$<$ 3, Real $>$\+::position\+Closes(), and Ogre\+::\+Axis\+Aligned\+Box\+::squared\+Distance().

\mbox{\Hypertarget{class_ogre_1_1_vector_a898d6f71ca95d09f784a97ee7129cf46}\label{class_ogre_1_1_vector_a898d6f71ca95d09f784a97ee7129cf46}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!isZeroLength@{isZeroLength}}
\index{isZeroLength@{isZeroLength}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{isZeroLength()}{isZeroLength()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
bool \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::is\+Zero\+Length (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Returns true if this vector is zero length. 

\mbox{\Hypertarget{class_ogre_1_1_vector_a4e720e2f113f8c98192bc61dbcf1bddc}\label{class_ogre_1_1_vector_a4e720e2f113f8c98192bc61dbcf1bddc}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!length@{length}}
\index{length@{length}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{length()}{length()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::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 \mbox{\hyperlink{class_ogre_1_1_vector_ae3644507471a16eb79a5b5480a8f4d9f}{squared\+Length()}} instead. 
\end{DoxyWarning}


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

\mbox{\Hypertarget{class_ogre_1_1_vector_a94d43755b7ab8ef60b8809d942579e8c}\label{class_ogre_1_1_vector_a94d43755b7ab8ef60b8809d942579e8c}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!distance@{distance}}
\index{distance@{distance}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{distance()}{distance()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::distance (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{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 \mbox{\hyperlink{class_ogre_1_1_vector_a5480f610064a6f1c6895e528ff06c192}{squared\+Distance()}} instead. 
\end{DoxyWarning}
\mbox{\Hypertarget{class_ogre_1_1_vector_a5480f610064a6f1c6895e528ff06c192}\label{class_ogre_1_1_vector_a5480f610064a6f1c6895e528ff06c192}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!squaredDistance@{squaredDistance}}
\index{squaredDistance@{squaredDistance}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{squaredDistance()}{squaredDistance()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
T \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::squared\+Distance (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{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_vector_a2d9b321bec779fc06de480897cda2027}\label{class_ogre_1_1_vector_a2d9b321bec779fc06de480897cda2027}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!normalise@{normalise}}
\index{normalise@{normalise}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{normalise()}{normalise()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::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}


Referenced by Ogre\+::\+Math\+::calculate\+Basic\+Face\+Normal(), Ogre\+::\+Vector$<$ 4, float $>$\+::normalised\+Copy(), and Ogre\+::operator$\ast$().

\mbox{\Hypertarget{class_ogre_1_1_vector_a43169cee2146a35d14ef47016f565d23}\label{class_ogre_1_1_vector_a43169cee2146a35d14ef47016f565d23}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!normalisedCopy@{normalisedCopy}}
\index{normalisedCopy@{normalisedCopy}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{normalisedCopy()}{normalisedCopy()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::normalised\+Copy (\begin{DoxyParamCaption}{ }\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. 



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

\mbox{\Hypertarget{class_ogre_1_1_vector_a94e94ab01f806ed6c2a1931e3d5cc423}\label{class_ogre_1_1_vector_a94e94ab01f806ed6c2a1931e3d5cc423}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!isNaN@{isNaN}}
\index{isNaN@{isNaN}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{isNaN()}{isNaN()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
bool \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::is\+NaN (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Check whether this vector contains valid values. 

\mbox{\Hypertarget{class_ogre_1_1_vector_a5ba1b2a4ccc2cac6a5155718a2a8aeee}\label{class_ogre_1_1_vector_a5ba1b2a4ccc2cac6a5155718a2a8aeee}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!angleBetween@{angleBetween}}
\index{angleBetween@{angleBetween}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{angleBetween()}{angleBetween()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_radian}{Radian}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::angle\+Between (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{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}
\mbox{\Hypertarget{class_ogre_1_1_vector_a0191e4be3471b658a601483f0f466c84}\label{class_ogre_1_1_vector_a0191e4be3471b658a601483f0f466c84}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!reflect@{reflect}}
\index{reflect@{reflect}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{reflect()}{reflect()}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::reflect (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{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_vector_ab5bd91f114caf10b2d0540efa24868aa}\label{class_ogre_1_1_vector_ab5bd91f114caf10b2d0540efa24868aa}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator$\ast$=@{operator$\ast$=}}
\index{operator$\ast$=@{operator$\ast$=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator$\ast$=()}{operator*=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator$\ast$= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_abb0f4a8f92e098d79691ec70444c3862}\label{class_ogre_1_1_vector_abb0f4a8f92e098d79691ec70444c3862}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator/=()}{operator/=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator/= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a9df35ae71171b9b5b14ef4b23132189d}\label{class_ogre_1_1_vector_a9df35ae71171b9b5b14ef4b23132189d}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator+= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a943ef3eb33538217ff3e05c4352aa398}\label{class_ogre_1_1_vector_a943ef3eb33538217ff3e05c4352aa398}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator-\/= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a386522f310cae6393cf2f7083887b74c}\label{class_ogre_1_1_vector_a386522f310cae6393cf2f7083887b74c}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator+=()}{operator+=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator+= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a16b5a72850f8c3914001a7fe37dae5aa}\label{class_ogre_1_1_vector_a16b5a72850f8c3914001a7fe37dae5aa}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/=()}{operator-=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator-\/= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a1dc25813ee155995ca2f4e8108b33d60}\label{class_ogre_1_1_vector_a1dc25813ee155995ca2f4e8108b33d60}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator$\ast$=@{operator$\ast$=}}
\index{operator$\ast$=@{operator$\ast$=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator$\ast$=()}{operator*=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator$\ast$= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_abc1753ebfaf90224fecf871f72bddf56}\label{class_ogre_1_1_vector_abc1753ebfaf90224fecf871f72bddf56}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator/=@{operator/=}}
\index{operator/=@{operator/=}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator/=()}{operator/=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator/= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a14bf242fa100f9b229146fbd29c51555}\label{class_ogre_1_1_vector_a14bf242fa100f9b229146fbd29c51555}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator-\/ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a057b75d799eb4451aad11792c67aac48}\label{class_ogre_1_1_vector_a057b75d799eb4451aad11792c67aac48}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator+@{operator+}}
\index{operator+@{operator+}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}\& \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator+ (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_aae091019d5dcf1a45753803ea171bdc3}\label{class_ogre_1_1_vector_aae091019d5dcf1a45753803ea171bdc3}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator$\ast$()}{operator*()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator$\ast$ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a2364e2028d08f8d16a9019774c727dd9}\label{class_ogre_1_1_vector_a2364e2028d08f8d16a9019774c727dd9}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator/@{operator/}}
\index{operator/@{operator/}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator/()}{operator/()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a117f8d3469d2fdd1b2c7c7b8e1fe72ce}\label{class_ogre_1_1_vector_a117f8d3469d2fdd1b2c7c7b8e1fe72ce}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a0f196244fe8af4e5e146f8692b5fef98}\label{class_ogre_1_1_vector_a0f196244fe8af4e5e146f8692b5fef98}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator+@{operator+}}
\index{operator+@{operator+}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator+ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_ac4d0621635c4396acd7559a906fbee5a}\label{class_ogre_1_1_vector_ac4d0621635c4396acd7559a906fbee5a}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator+@{operator+}}
\index{operator+@{operator+}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator+()}{operator+()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator+ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{b }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a0b86e1eb1890fc330b6e5fade5937641}\label{class_ogre_1_1_vector_a0b86e1eb1890fc330b6e5fade5937641}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/()}{operator-()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator-\/ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{b }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a8a4644dd6de4b9b2cf44ad72498f341e}\label{class_ogre_1_1_vector_a8a4644dd6de4b9b2cf44ad72498f341e}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator$\ast$()}{operator*()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator$\ast$ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{b }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_ae7537fa260742c6237d30238c8018b1e}\label{class_ogre_1_1_vector_ae7537fa260742c6237d30238c8018b1e}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator/@{operator/}}
\index{operator/@{operator/}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator/()}{operator/()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} \mbox{\hyperlink{class_ogre_1_1_vector}{Ogre\+::\+Vector}}$<$ dims, T $>$\+::operator/ (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{b }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{struct_ogre_1_1_vector_base_a19d1a5a8fef2d67aa592d26e3ccf0217}\label{struct_ogre_1_1_vector_base_a19d1a5a8fef2d67aa592d26e3ccf0217}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!ptr@{ptr}}
\index{ptr@{ptr}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{ptr()}{ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
T$\ast$ \mbox{\hyperlink{struct_ogre_1_1_vector_base}{Ogre\+::\+Vector\+Base}}$<$ dims, T $>$\+::ptr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Referenced by Ogre\+::\+R\+T\+Shader\+::\+Uniform\+Parameter\+::set\+Gpu\+Parameter().

\mbox{\Hypertarget{struct_ogre_1_1_vector_base_a4c3eb8d9fcea0b19c04ad4745bc15215}\label{struct_ogre_1_1_vector_base_a4c3eb8d9fcea0b19c04ad4745bc15215}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!ptr@{ptr}}
\index{ptr@{ptr}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{ptr()}{ptr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
const T$\ast$ \mbox{\hyperlink{struct_ogre_1_1_vector_base}{Ogre\+::\+Vector\+Base}}$<$ dims, T $>$\+::ptr (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



\doxysubsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vector_a9811dbb733402b01f1fd067ed84fb1a6}\label{class_ogre_1_1_vector_a9811dbb733402b01f1fd067ed84fb1a6}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator$\ast$}{operator*}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} operator$\ast$ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s,  }\item[{\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a44e4f029f3bbd57081fcfb5e197830cf}\label{class_ogre_1_1_vector_a44e4f029f3bbd57081fcfb5e197830cf}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator+@{operator+}}
\index{operator+@{operator+}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator+}{operator+}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} operator+ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s,  }\item[{\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_ab8749d3209c046e3eba91a17436a7812}\label{class_ogre_1_1_vector_ab8749d3209c046e3eba91a17436a7812}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator-\/@{operator-\/}}
\index{operator-\/@{operator-\/}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator-\/}{operator-}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} operator-\/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_a53dc8e9fa6980e60713fe81b09be5d54}\label{class_ogre_1_1_vector_a53dc8e9fa6980e60713fe81b09be5d54}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator/@{operator/}}
\index{operator/@{operator/}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator/}{operator/}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
\mbox{\hyperlink{class_ogre_1_1_vector}{Vector}} operator/ (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{s,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}

\mbox{\Hypertarget{class_ogre_1_1_vector_aa1fbf49bfff91764e9bc3dda315db6a6}\label{class_ogre_1_1_vector_aa1fbf49bfff91764e9bc3dda315db6a6}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{operator$<$$<$}{operator<<}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
std\+::ostream\& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{o,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_vector}{Vector}}$<$ dims, T $>$ \&}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{struct_ogre_1_1_vector_base_a1b21ec054398dd1389acf0be59e287a5}\label{struct_ogre_1_1_vector_base_a1b21ec054398dd1389acf0be59e287a5}} 
\index{Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}!data@{data}}
\index{data@{data}!Ogre::Vector$<$ dims, T $>$@{Ogre::Vector$<$ dims, T $>$}}
\doxysubsubsection{\texorpdfstring{data}{data}}
{\footnotesize\ttfamily template$<$int dims, typename T$>$ \\
T \mbox{\hyperlink{struct_ogre_1_1_vector_base}{Ogre\+::\+Vector\+Base}}$<$ dims, T $>$\+::data\mbox{[}dims\mbox{]}\hspace{0.3cm}{\ttfamily [inherited]}}



Referenced by Ogre\+::\+Vector\+Base$<$ dims, int $>$\+::ptr(), and Ogre\+::\+Vector\+Base$<$ dims, int $>$\+::\+Vector\+Base().



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_prerequisites_8h}{Ogre\+Prerequisites.\+h}}\item 
\mbox{\hyperlink{_ogre_vector_8h}{Ogre\+Vector.\+h}}\end{DoxyCompactItemize}
