\hypertarget{a00042}{
\section{mln::hexa$<$ I $>$ Struct Template Reference}
\label{d5/db6/a00042}\index{mln::hexa@{mln::hexa}}
}


hexagonal image class.  




{\ttfamily \#include $<$hexa.hh$>$}



Inheritance diagram for mln::hexa$<$ I $>$:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=253pt]{d4/db4/a03520}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef hexa\_\-bkd\_\-piter\_\-$<$ \hyperlink{a00135}{box2d} $>$ \hyperlink{a00042_aa7538cebe12dd1ca32586311da02e83f}{bkd\_\-piter}
\begin{DoxyCompactList}\small\item\em FIXME : should it be in box2d\_\-h? Backward \hyperlink{a00345}{Site\_\-Iterator} associated type. \item\end{DoxyCompactList}\item 
typedef hexa\_\-fwd\_\-piter\_\-$<$ \hyperlink{a00135}{box2d} $>$ \hyperlink{a00042_ae699bd6733d03e15a5d749246efb3b3b}{fwd\_\-piter}
\begin{DoxyCompactList}\small\item\em FIXME : should it be in box2d\_\-h? Forward \hyperlink{a00345}{Site\_\-Iterator} associated type. \item\end{DoxyCompactList}\item 
typedef I::lvalue \hyperlink{a00042_a1bf21aeb3487447a5449a384c1aee48b}{lvalue}
\begin{DoxyCompactList}\small\item\em Lvalue associated type. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00330}{point2d\_\-h} \hyperlink{a00042_ac2dfa987dda1377c870af4ca011be7c3}{psite}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00329}{Point} site type. \item\end{DoxyCompactList}\item 
typedef I::rvalue \hyperlink{a00042_afaf819e6325724033de73c18959a7a1e}{rvalue}
\begin{DoxyCompactList}\small\item\em Return type of read-\/only access. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00042}{hexa}$<$ tag::image\_\-$<$ I $>$ $>$ \hyperlink{a00042_aad5de944fd0a79c8eea1d34579644501}{skeleton}
\begin{DoxyCompactList}\small\item\em Skeleton. \item\end{DoxyCompactList}\item 
typedef I::value \hyperlink{a00042_a4e18ce0d62902fe1d9c9997a6931c41f}{value}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00418}{Value} associated type. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const \hyperlink{a00135}{box2d\_\-h} \& \hyperlink{a00042_ab65c44beb9657288f0fed3ca93fb234d}{domain} () const 
\begin{DoxyCompactList}\small\item\em Give the definition domain. \item\end{DoxyCompactList}\item 
bool \hyperlink{a00042_a5383abff7fe4e2b699e1bacc127dfb43}{has} (const \hyperlink{a00330}{psite} \&p) const 
\begin{DoxyCompactList}\small\item\em Test if {\ttfamily p} belongs to the image domain. \item\end{DoxyCompactList}\item 
\hyperlink{a00042_ab2de1f7509594503d432d8e678c40924}{hexa} (I \&ima)
\begin{DoxyCompactList}\small\item\em Constructor with an base image. \item\end{DoxyCompactList}\item 
\hyperlink{a00042_a87a8cffca7b3a8e0e51ed89bbb9f33d5}{hexa} ()
\begin{DoxyCompactList}\small\item\em Constructor without argument. \item\end{DoxyCompactList}\item 
\hyperlink{a00042_a1bf21aeb3487447a5449a384c1aee48b}{lvalue} \hyperlink{a00042_a06a84f359244ff5822cefb8e095d3d6e}{operator()} (const \hyperlink{a00330}{point2d\_\-h} \&p)
\begin{DoxyCompactList}\small\item\em Read-\/write access of pixel value at hexa point site {\ttfamily p}. \item\end{DoxyCompactList}\item 
\hyperlink{a00042_afaf819e6325724033de73c18959a7a1e}{rvalue} \hyperlink{a00042_acf23650fa43e67243f2d54bda0e9cbef}{operator()} (const \hyperlink{a00330}{point2d\_\-h} \&p) const 
\begin{DoxyCompactList}\small\item\em Read-\/only access of pixel value at hexa point site {\ttfamily p}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename I$>$ struct mln::hexa$<$ I $>$}

hexagonal image class. The parameter {\ttfamily I} is the type of the base image. This image class which handles hexagonal grid.

Ex : 1 3 5 7 9 11 0 2 4 6 8 10 -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ 0 XX$|$ $|$ $|$ $|$ $|$ $|$ $|$XX -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ 2 XX$|$ $|$ $|$ $|$ $|$ $|$ $|$XX -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ 4 XX$|$ $|$ $|$ $|$ $|$ $|$ $|$XX -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ 6 XX$|$ $|$ $|$ $|$ $|$ $|$ $|$XX -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ 8 XX$|$ $|$ $|$ $|$ $|$ $|$ $|$XX -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ 

Definition at line 116 of file hexa.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00042_aa7538cebe12dd1ca32586311da02e83f}{
\index{mln::hexa@{mln::hexa}!bkd\_\-piter@{bkd\_\-piter}}
\index{bkd\_\-piter@{bkd\_\-piter}!mln::hexa@{mln::hexa}}
\subsubsection[{bkd\_\-piter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I$>$ typedef hexa\_\-bkd\_\-piter\_\-$<${\bf box2d}$>$ {\bf mln::hexa}$<$ I $>$::{\bf bkd\_\-piter}}}
\label{d5/db6/a00042_aa7538cebe12dd1ca32586311da02e83f}


FIXME : should it be in box2d\_\-h? Backward \hyperlink{a00345}{Site\_\-Iterator} associated type. 



Definition at line 140 of file hexa.hh.

\hypertarget{a00042_ae699bd6733d03e15a5d749246efb3b3b}{
\index{mln::hexa@{mln::hexa}!fwd\_\-piter@{fwd\_\-piter}}
\index{fwd\_\-piter@{fwd\_\-piter}!mln::hexa@{mln::hexa}}
\subsubsection[{fwd\_\-piter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I$>$ typedef hexa\_\-fwd\_\-piter\_\-$<${\bf box2d}$>$ {\bf mln::hexa}$<$ I $>$::{\bf fwd\_\-piter}}}
\label{d5/db6/a00042_ae699bd6733d03e15a5d749246efb3b3b}


FIXME : should it be in box2d\_\-h? Forward \hyperlink{a00345}{Site\_\-Iterator} associated type. 



Definition at line 136 of file hexa.hh.

\hypertarget{a00042_a1bf21aeb3487447a5449a384c1aee48b}{
\index{mln::hexa@{mln::hexa}!lvalue@{lvalue}}
\index{lvalue@{lvalue}!mln::hexa@{mln::hexa}}
\subsubsection[{lvalue}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I$>$ typedef I ::{\bf lvalue} {\bf mln::hexa}$<$ I $>$::{\bf lvalue}}}
\label{d5/db6/a00042_a1bf21aeb3487447a5449a384c1aee48b}


Lvalue associated type. 



Definition at line 126 of file hexa.hh.

\hypertarget{a00042_ac2dfa987dda1377c870af4ca011be7c3}{
\index{mln::hexa@{mln::hexa}!psite@{psite}}
\index{psite@{psite}!mln::hexa@{mln::hexa}}
\subsubsection[{psite}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I$>$ typedef {\bf point2d\_\-h} {\bf mln::hexa}$<$ I $>$::{\bf psite}}}
\label{d5/db6/a00042_ac2dfa987dda1377c870af4ca011be7c3}


\hyperlink{a00329}{Point} site type. 



Reimplemented in \hyperlink{a00249_a5d8bf3754973287f0ca521179f273a3f}{mln::image2d\_\-h$<$ V $>$}.



Definition at line 132 of file hexa.hh.

\hypertarget{a00042_afaf819e6325724033de73c18959a7a1e}{
\index{mln::hexa@{mln::hexa}!rvalue@{rvalue}}
\index{rvalue@{rvalue}!mln::hexa@{mln::hexa}}
\subsubsection[{rvalue}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I$>$ typedef I ::{\bf rvalue} {\bf mln::hexa}$<$ I $>$::{\bf rvalue}}}
\label{d5/db6/a00042_afaf819e6325724033de73c18959a7a1e}


Return type of read-\/only access. 



Definition at line 129 of file hexa.hh.

\hypertarget{a00042_aad5de944fd0a79c8eea1d34579644501}{
\index{mln::hexa@{mln::hexa}!skeleton@{skeleton}}
\index{skeleton@{skeleton}!mln::hexa@{mln::hexa}}
\subsubsection[{skeleton}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I$>$ typedef {\bf hexa}$<$ tag::image\_\-$<$I$>$ $>$ {\bf mln::hexa}$<$ I $>$::{\bf skeleton}}}
\label{d5/db6/a00042_aad5de944fd0a79c8eea1d34579644501}


Skeleton. 



Definition at line 120 of file hexa.hh.

\hypertarget{a00042_a4e18ce0d62902fe1d9c9997a6931c41f}{
\index{mln::hexa@{mln::hexa}!value@{value}}
\index{value@{value}!mln::hexa@{mln::hexa}}
\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I$>$ typedef I ::{\bf value} {\bf mln::hexa}$<$ I $>$::{\bf value}}}
\label{d5/db6/a00042_a4e18ce0d62902fe1d9c9997a6931c41f}


\hyperlink{a00418}{Value} associated type. 



Definition at line 123 of file hexa.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00042_a87a8cffca7b3a8e0e51ed89bbb9f33d5}{
\index{mln::hexa@{mln::hexa}!hexa@{hexa}}
\index{hexa@{hexa}!mln::hexa@{mln::hexa}}
\subsubsection[{hexa}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ {\bf mln::hexa}$<$ I $>$::{\bf hexa} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d5/db6/a00042_a87a8cffca7b3a8e0e51ed89bbb9f33d5}


Constructor without argument. 



Definition at line 215 of file hexa.hh.

\hypertarget{a00042_ab2de1f7509594503d432d8e678c40924}{
\index{mln::hexa@{mln::hexa}!hexa@{hexa}}
\index{hexa@{hexa}!mln::hexa@{mln::hexa}}
\subsubsection[{hexa}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I$>$ {\bf mln::hexa}$<$ I $>$::{\bf hexa} (
\begin{DoxyParamCaption}
\item[{I \&}]{ ima}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d5/db6/a00042_ab2de1f7509594503d432d8e678c40924}


Constructor with an base image. 



Definition at line 222 of file hexa.hh.



\subsection{Member Function Documentation}
\hypertarget{a00042_ab65c44beb9657288f0fed3ca93fb234d}{
\index{mln::hexa@{mln::hexa}!domain@{domain}}
\index{domain@{domain}!mln::hexa@{mln::hexa}}
\subsubsection[{domain}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ const {\bf box2d\_\-h} \& {\bf mln::hexa}$<$ I $>$::domain (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d5/db6/a00042_ab65c44beb9657288f0fed3ca93fb234d}


Give the definition domain. 



Definition at line 250 of file hexa.hh.

\hypertarget{a00042_a5383abff7fe4e2b699e1bacc127dfb43}{
\index{mln::hexa@{mln::hexa}!has@{has}}
\index{has@{has}!mln::hexa@{mln::hexa}}
\subsubsection[{has}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ bool {\bf mln::hexa}$<$ I $>$::has (
\begin{DoxyParamCaption}
\item[{const {\bf psite} \&}]{ p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d5/db6/a00042_a5383abff7fe4e2b699e1bacc127dfb43}


Test if {\ttfamily p} belongs to the image domain. 



Definition at line 259 of file hexa.hh.



Referenced by mln::hexa$<$ I $>$::operator()().

\hypertarget{a00042_acf23650fa43e67243f2d54bda0e9cbef}{
\index{mln::hexa@{mln::hexa}!operator()@{operator()}}
\index{operator()@{operator()}!mln::hexa@{mln::hexa}}
\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ {\bf hexa}$<$ I $>$::{\bf rvalue} {\bf mln::hexa}$<$ I $>$::operator() (
\begin{DoxyParamCaption}
\item[{const {\bf point2d\_\-h} \&}]{ p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d5/db6/a00042_acf23650fa43e67243f2d54bda0e9cbef}


Read-\/only access of pixel value at hexa point site {\ttfamily p}. 



Definition at line 230 of file hexa.hh.



References mln::hexa$<$ I $>$::has().

\hypertarget{a00042_a06a84f359244ff5822cefb8e095d3d6e}{
\index{mln::hexa@{mln::hexa}!operator()@{operator()}}
\index{operator()@{operator()}!mln::hexa@{mln::hexa}}
\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename I $>$ {\bf hexa}$<$ I $>$::{\bf lvalue} {\bf mln::hexa}$<$ I $>$::operator() (
\begin{DoxyParamCaption}
\item[{const {\bf point2d\_\-h} \&}]{ p}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d5/db6/a00042_a06a84f359244ff5822cefb8e095d3d6e}


Read-\/write access of pixel value at hexa point site {\ttfamily p}. 



Definition at line 240 of file hexa.hh.



References mln::hexa$<$ I $>$::has().

