\hypertarget{a00131}{
\section{mln::algebra::h\_\-vec$<$ d, C $>$ Class Template Reference}
\label{d7/d06/a00131}\index{mln::algebra::h\_\-vec@{mln::algebra::h\_\-vec}}
}


N-\/Dimensional vector with homogeneous coordinates.  




{\ttfamily \#include $<$h\_\-vec.hh$>$}



Inherits mln::algebra::vec$<$ d+1, C $>$.

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum 
\begin{DoxyCompactList}\small\item\em Dimension is the 'natural' one (3 for 3D), not the one of the vector (dim + 1). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00131_afeb6136a94788d5f20036ba749d8ccf8}{h\_\-vec} ()
\begin{DoxyCompactList}\small\item\em Constructor without argument. \item\end{DoxyCompactList}\item 
\hyperlink{a00131_a6cb0ad6b7d925c537d9978cdd2345a51}{h\_\-vec} (const vec$<$ d+1, C $>$ \&other)
\begin{DoxyCompactList}\small\item\em Constructor with the underlying vector. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename U $>$ }\\\hyperlink{a03753_ac1653764ebe921476afbaac0e1480102}{operator mat$<$ n, 1, U $>$} () const 
\begin{DoxyCompactList}\small\item\em Conversion to a matrix. \item\end{DoxyCompactList}\item 
mat$<$ 1, n, T $>$ \hyperlink{a03753_a8e34a03d0a5c9c64108af93e9a963bac}{t} () const 
\begin{DoxyCompactList}\small\item\em Transposition. \item\end{DoxyCompactList}\item 
vec$<$ d, C $>$ \hyperlink{a00131_a6445c6be1f94047f4d85b21eb4e83dd5}{to\_\-vec} () const 
\begin{DoxyCompactList}\small\item\em Back to the natural (non-\/homogeneous) space. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const vec$<$ n, T $>$ \hyperlink{a03753_a6971fe04e3737c3e8eee8bf9b95f7122}{origin} = all\_\-to(0)
\begin{DoxyCompactList}\small\item\em Origin value. \item\end{DoxyCompactList}\item 
static const vec$<$ n, T $>$ \hyperlink{a03753_ad747fe86676ca69801f32b42cbee845a}{zero} = all\_\-to(0)
\begin{DoxyCompactList}\small\item\em Zero value. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$unsigned d, typename C$>$ class mln::algebra::h\_\-vec$<$ d, C $>$}

N-\/Dimensional vector with homogeneous coordinates. 

Definition at line 94 of file h\_\-vec.hh.



\subsection{Member Enumeration Documentation}
\hypertarget{a00131_a7d9220c574d3f385f682fdfb74833dac}{
\subsubsection[{"@8}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned d, typename C$>$ anonymous enum}}
\label{d7/d06/a00131_a7d9220c574d3f385f682fdfb74833dac}


Dimension is the 'natural' one (3 for 3D), not the one of the vector (dim + 1). 



Definition at line 98 of file h\_\-vec.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00131_afeb6136a94788d5f20036ba749d8ccf8}{
\index{mln::algebra::h\_\-vec@{mln::algebra::h\_\-vec}!h\_\-vec@{h\_\-vec}}
\index{h\_\-vec@{h\_\-vec}!mln::algebra::h_vec@{mln::algebra::h\_\-vec}}
\subsubsection[{h\_\-vec}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned d, typename C $>$ {\bf mln::algebra::h\_\-vec}$<$ d, C $>$::{\bf h\_\-vec} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d7/d06/a00131_afeb6136a94788d5f20036ba749d8ccf8}


Constructor without argument. 



Definition at line 117 of file h\_\-vec.hh.



References mln::literal::one.

\hypertarget{a00131_a6cb0ad6b7d925c537d9978cdd2345a51}{
\index{mln::algebra::h\_\-vec@{mln::algebra::h\_\-vec}!h\_\-vec@{h\_\-vec}}
\index{h\_\-vec@{h\_\-vec}!mln::algebra::h_vec@{mln::algebra::h\_\-vec}}
\subsubsection[{h\_\-vec}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned d, typename C $>$ {\bf mln::algebra::h\_\-vec}$<$ d, C $>$::{\bf h\_\-vec} (
\begin{DoxyParamCaption}
\item[{const vec$<$ d+1, C $>$ \&}]{ other}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d7/d06/a00131_a6cb0ad6b7d925c537d9978cdd2345a51}


Constructor with the underlying vector. 



Definition at line 128 of file h\_\-vec.hh.



\subsection{Member Function Documentation}
\hypertarget{a03753_ac1653764ebe921476afbaac0e1480102}{
\index{mln::algebra::h\_\-vec@{mln::algebra::h\_\-vec}!operator mat$<$ n, 1, U $>$@{operator mat$<$ n, 1, U $>$}}
\index{operator mat$<$ n, 1, U $>$@{operator mat$<$ n, 1, U $>$}!mln::algebra::h_vec@{mln::algebra::h\_\-vec}}
\subsubsection[{operator mat$<$ n, 1, U $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename T $>$ template$<$typename U $>$ mln::algebra::vec$<$ n, T $>$::operator mat$<$ n, 1, U $>$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, inherited\mbox{]}}}}
\label{d1/ddb/a03753_ac1653764ebe921476afbaac0e1480102}


Conversion to a matrix. 



Definition at line 368 of file algebra/mat.hh.

\hypertarget{a03753_a8e34a03d0a5c9c64108af93e9a963bac}{
\index{mln::algebra::h\_\-vec@{mln::algebra::h\_\-vec}!t@{t}}
\index{t@{t}!mln::algebra::h_vec@{mln::algebra::h\_\-vec}}
\subsubsection[{t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename T $>$ mat$<$ 1, n, T $>$ mln::algebra::vec$<$ n, T $>$::t (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, inherited\mbox{]}}}}
\label{d1/ddb/a03753_a8e34a03d0a5c9c64108af93e9a963bac}


Transposition. 



Definition at line 858 of file algebra/mat.hh.

\hypertarget{a00131_a6445c6be1f94047f4d85b21eb4e83dd5}{
\index{mln::algebra::h\_\-vec@{mln::algebra::h\_\-vec}!to\_\-vec@{to\_\-vec}}
\index{to\_\-vec@{to\_\-vec}!mln::algebra::h_vec@{mln::algebra::h\_\-vec}}
\subsubsection[{to\_\-vec}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned d, typename C $>$ vec$<$ d, C $>$ {\bf mln::algebra::h\_\-vec}$<$ d, C $>$::to\_\-vec (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d7/d06/a00131_a6445c6be1f94047f4d85b21eb4e83dd5}


Back to the natural (non-\/homogeneous) space. 



Definition at line 145 of file h\_\-vec.hh.



\subsection{Member Data Documentation}
\hypertarget{a03753_a6971fe04e3737c3e8eee8bf9b95f7122}{
\index{mln::algebra::h\_\-vec@{mln::algebra::h\_\-vec}!origin@{origin}}
\index{origin@{origin}!mln::algebra::h_vec@{mln::algebra::h\_\-vec}}
\subsubsection[{origin}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename T$>$ const vec$<$ n, T $>$ mln::algebra::vec$<$ n, T $>$::origin = all\_\-to(0)\hspace{0.3cm}{\ttfamily  \mbox{[}static, inherited\mbox{]}}}}
\label{d1/ddb/a03753_a6971fe04e3737c3e8eee8bf9b95f7122}


Origin value. 



Definition at line 247 of file algebra/vec.hh.

\hypertarget{a03753_ad747fe86676ca69801f32b42cbee845a}{
\index{mln::algebra::h\_\-vec@{mln::algebra::h\_\-vec}!zero@{zero}}
\index{zero@{zero}!mln::algebra::h_vec@{mln::algebra::h\_\-vec}}
\subsubsection[{zero}]{\setlength{\rightskip}{0pt plus 5cm}template$<$unsigned n, typename T$>$ const vec$<$ n, T $>$ mln::algebra::vec$<$ n, T $>$::zero = all\_\-to(0)\hspace{0.3cm}{\ttfamily  \mbox{[}static, inherited\mbox{]}}}}
\label{d1/ddb/a03753_ad747fe86676ca69801f32b42cbee845a}


Zero value. 



Definition at line 244 of file algebra/vec.hh.

