\hypertarget{a01409}{\section{Open\+Mesh\+:\+:Vector\+T$<$ Scalar, D\+I\+M $>$ Class Template Reference}
\label{a01409}\index{Open\+Mesh\+::\+Vector\+T$<$ Scalar, D\+I\+M $>$@{Open\+Mesh\+::\+Vector\+T$<$ Scalar, D\+I\+M $>$}}
}


{\ttfamily \#include $<$Open\+Mesh/\+Core/\+Math/\+Vector\+T.\+hh$>$}

Inheritance diagram for Open\+Mesh\+:\+:Vector\+T$<$ Scalar, D\+I\+M $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a01409}
\end{center}
\end{figure}
\subsection*{Related Functions}
(Note that these are not member functions.) \begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Scalar1 , typename Scalar2 , int N$>$ }\\\hyperlink{a01409}{Vector\+T}$<$ Scalar1, N $>$ \hyperlink{a01409_a6c9dccea834fba16e8886b6afb789d99}{operator$\ast$} (Scalar2 \+\_\+s, const \hyperlink{a01409}{Vector\+T}$<$ Scalar1, N $>$ \&\+\_\+v)
\item 
{\footnotesize template$<$typename Scalar , int N$>$ }\\Scalar \hyperlink{a01409_ac3dc4987bd61adcfa40070fffbba8840}{dot} (const \hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \&\+\_\+v1, const \hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \&\+\_\+v2)
\item 
{\footnotesize template$<$typename Scalar , int N$>$ }\\\hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \hyperlink{a01409_a0864a90d6e3e293f6a7d39545779c097}{cross} (const \hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \&\+\_\+v1, const \hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \&\+\_\+v2)
\item 
{\footnotesize template$<$typename Scalar , int D\+I\+M$>$ }\\Scalar \hyperlink{a01409_a11c55f84a338fadb0f528496f163dd5c}{dot} (const \hyperlink{a01409}{Vector\+T}$<$ Scalar, D\+I\+M $>$ \&\+\_\+v1, const \hyperlink{a01409}{Vector\+T}$<$ Scalar, D\+I\+M $>$ \&\+\_\+v2)
\item 
{\footnotesize template$<$typename L\+Scalar , typename R\+Scalar , int D\+I\+M$>$ }\\auto \hyperlink{a01409_ae5bf4201e8b2a8953722924d68c8a2ca}{cross} (const \hyperlink{a01409}{Vector\+T}$<$ L\+Scalar, D\+I\+M $>$ \&\+\_\+v1, const \hyperlink{a01409}{Vector\+T}$<$ R\+Scalar, D\+I\+M $>$ \&\+\_\+v2) -\/$>$ decltype(\+\_\+v1\%\+\_\+v2)
\item 
{\footnotesize template$<$typename Scalar , int D\+I\+M$>$ }\\void \hyperlink{a01409_a724841f281b97bc48ce50ac7a95b0167}{swap} (\hyperlink{a01409}{Vector\+T}$<$ Scalar, D\+I\+M $>$ \&\+\_\+v1, \hyperlink{a01409}{Vector\+T}$<$ Scalar, D\+I\+M $>$ \&\+\_\+v2) noexcept(noexcept(\+\_\+v1.\+swap(\+\_\+v2)))
\item 
{\footnotesize template$<$typename Scalar1 , typename Scalar2 , int N$>$ }\\\hyperlink{a01409}{Vector\+T}$<$ Scalar1, N $>$ \hyperlink{a01409_a6c9dccea834fba16e8886b6afb789d99}{operator$\ast$} (Scalar2 \+\_\+s, const \hyperlink{a01409}{Vector\+T}$<$ Scalar1, N $>$ \&\+\_\+v)
\item 
{\footnotesize template$<$typename Scalar , int N$>$ }\\Scalar \hyperlink{a01409_ac3dc4987bd61adcfa40070fffbba8840}{dot} (const \hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \&\+\_\+v1, const \hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \&\+\_\+v2)
\item 
{\footnotesize template$<$typename Scalar , int N$>$ }\\\hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \hyperlink{a01409_a0864a90d6e3e293f6a7d39545779c097}{cross} (const \hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \&\+\_\+v1, const \hyperlink{a01409}{Vector\+T}$<$ Scalar, N $>$ \&\+\_\+v2)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Scalar, int D\+I\+M$>$class Open\+Mesh\+::\+Vector\+T$<$ Scalar, D\+I\+M $>$}

A vector is an array of $<$N$>$ values of type $<$Scalar$>$. The actual data is stored in an \hyperlink{a01405}{Vector\+Data\+T}, this class just adds the necessary operators. 

Definition at line 83 of file Vector11\+T.\+hh.



\subsection{Friends And Related Function Documentation}
\hypertarget{a01409_a0864a90d6e3e293f6a7d39545779c097}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!cross@{cross}}
\index{cross@{cross}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{cross}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar , int N$>$ {\bf Vector\+T}$<$ Scalar, N $>$ cross (
\begin{DoxyParamCaption}
\item[{const {\bf Vector\+T}$<$ Scalar, N $>$ \&}]{\+\_\+v1, }
\item[{const {\bf Vector\+T}$<$ Scalar, N $>$ \&}]{\+\_\+v2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_a0864a90d6e3e293f6a7d39545779c097}
symmetric version of the cross product 

Definition at line 272 of file Mesh\+Node2\+T.\+cc.

\hypertarget{a01409_a0864a90d6e3e293f6a7d39545779c097}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!cross@{cross}}
\index{cross@{cross}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{cross}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar , int N$>$ {\bf Vector\+T}$<$ Scalar, N $>$ cross (
\begin{DoxyParamCaption}
\item[{const {\bf Vector\+T}$<$ Scalar, N $>$ \&}]{\+\_\+v1, }
\item[{const {\bf Vector\+T}$<$ Scalar, N $>$ \&}]{\+\_\+v2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_a0864a90d6e3e293f6a7d39545779c097}
symmetric version of the cross product 

Definition at line 272 of file Vector\+T.\+hh.

\hypertarget{a01409_ae5bf4201e8b2a8953722924d68c8a2ca}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!cross@{cross}}
\index{cross@{cross}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{cross}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename L\+Scalar , typename R\+Scalar , int D\+I\+M$>$ auto cross (
\begin{DoxyParamCaption}
\item[{const {\bf Vector\+T}$<$ L\+Scalar, D\+I\+M $>$ \&}]{\+\_\+v1, }
\item[{const {\bf Vector\+T}$<$ R\+Scalar, D\+I\+M $>$ \&}]{\+\_\+v2}
\end{DoxyParamCaption}
) -\/$>$ decltype(\+\_\+v1 \% \+\_\+v2) \hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_ae5bf4201e8b2a8953722924d68c8a2ca}
symmetric version of the cross product 

Definition at line 707 of file Vector11\+T.\+hh.

\hypertarget{a01409_ac3dc4987bd61adcfa40070fffbba8840}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!dot@{dot}}
\index{dot@{dot}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar , int N$>$ Scalar dot (
\begin{DoxyParamCaption}
\item[{const {\bf Vector\+T}$<$ Scalar, N $>$ \&}]{\+\_\+v1, }
\item[{const {\bf Vector\+T}$<$ Scalar, N $>$ \&}]{\+\_\+v2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_ac3dc4987bd61adcfa40070fffbba8840}
symmetric version of the dot product 

Definition at line 263 of file Vector\+T.\+hh.

\hypertarget{a01409_ac3dc4987bd61adcfa40070fffbba8840}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!dot@{dot}}
\index{dot@{dot}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar , int N$>$ Scalar dot (
\begin{DoxyParamCaption}
\item[{const {\bf Vector\+T}$<$ Scalar, N $>$ \&}]{\+\_\+v1, }
\item[{const {\bf Vector\+T}$<$ Scalar, N $>$ \&}]{\+\_\+v2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_ac3dc4987bd61adcfa40070fffbba8840}
symmetric version of the dot product 

Definition at line 263 of file Mesh\+Node2\+T.\+cc.

\hypertarget{a01409_a11c55f84a338fadb0f528496f163dd5c}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!dot@{dot}}
\index{dot@{dot}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{dot}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar , int D\+I\+M$>$ Scalar dot (
\begin{DoxyParamCaption}
\item[{const {\bf Vector\+T}$<$ Scalar, D\+I\+M $>$ \&}]{\+\_\+v1, }
\item[{const {\bf Vector\+T}$<$ Scalar, D\+I\+M $>$ \&}]{\+\_\+v2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_a11c55f84a338fadb0f528496f163dd5c}
symmetric version of the dot product 

Definition at line 699 of file Vector11\+T.\+hh.

\hypertarget{a01409_a6c9dccea834fba16e8886b6afb789d99}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar1 , typename Scalar2 , int N$>$ {\bf Vector\+T}$<$ Scalar1, N $>$ operator$\ast$ (
\begin{DoxyParamCaption}
\item[{Scalar2}]{\+\_\+s, }
\item[{const {\bf Vector\+T}$<$ Scalar1, N $>$ \&}]{\+\_\+v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_a6c9dccea834fba16e8886b6afb789d99}
scalar $\ast$ vector 

Definition at line 254 of file Mesh\+Node2\+T.\+cc.

\hypertarget{a01409_a6c9dccea834fba16e8886b6afb789d99}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!operator$\ast$@{operator$\ast$}}
\index{operator$\ast$@{operator$\ast$}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{operator$\ast$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar1 , typename Scalar2 , int N$>$ {\bf Vector\+T}$<$ Scalar1, N $>$ operator$\ast$ (
\begin{DoxyParamCaption}
\item[{Scalar2}]{\+\_\+s, }
\item[{const {\bf Vector\+T}$<$ Scalar1, N $>$ \&}]{\+\_\+v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_a6c9dccea834fba16e8886b6afb789d99}
scalar $\ast$ vector 

Definition at line 254 of file Vector\+T.\+hh.

\hypertarget{a01409_a724841f281b97bc48ce50ac7a95b0167}{\index{Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}!swap@{swap}}
\index{swap@{swap}!Open\+Mesh\+::\+Vector\+T@{Open\+Mesh\+::\+Vector\+T}}
\subsubsection[{swap}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar , int D\+I\+M$>$ void swap (
\begin{DoxyParamCaption}
\item[{{\bf Vector\+T}$<$ Scalar, D\+I\+M $>$ \&}]{\+\_\+v1, }
\item[{{\bf Vector\+T}$<$ Scalar, D\+I\+M $>$ \&}]{\+\_\+v2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [related]}}}\label{a01409_a724841f281b97bc48ce50ac7a95b0167}
non-\/member swap 

Definition at line 715 of file Vector11\+T.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Geometry/Vector11\+T.\+hh\item 
A\+C\+G/\+Scenegraph/Mesh\+Node2\+T.\+cc\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Geometry/Vector\+T.\+hh\end{DoxyCompactItemize}
