\hypertarget{a00249}{
\section{mln::image2d\_\-h$<$ V $>$ Struct Template Reference}
\label{de/dbc/a00249}\index{mln::image2d\_\-h@{mln::image2d\_\-h}}
}


2d image based on an hexagonal mesh.  




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



Inheritance diagram for mln::image2d\_\-h$<$ V $>$:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=253pt]{d1/d19/a03526}
\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 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 Site\_\-Iterator associated type. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00248}{image2d}$<$ V $>$::\hyperlink{a00042_a1bf21aeb3487447a5449a384c1aee48b}{lvalue} \hyperlink{a00042_a1bf21aeb3487447a5449a384c1aee48b}{lvalue}
\begin{DoxyCompactList}\small\item\em Lvalue associated type. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00330}{point2d\_\-h} \hyperlink{a00249_a5d8bf3754973287f0ca521179f273a3f}{psite}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00329}{Point} site type. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00248}{image2d}$<$ V $>$::\hyperlink{a00042_afaf819e6325724033de73c18959a7a1e}{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\_\-$<$ \hyperlink{a00248}{image2d}$<$ V $>$ $>$ $>$ \hyperlink{a00042_aad5de944fd0a79c8eea1d34579644501}{skeleton}
\begin{DoxyCompactList}\small\item\em Skeleton. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00248}{image2d}$<$ V $>$::\hyperlink{a00042_a4e18ce0d62902fe1d9c9997a6931c41f}{value} \hyperlink{a00042_a4e18ce0d62902fe1d9c9997a6931c41f}{value}
\begin{DoxyCompactList}\small\item\em 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{a00249_a857eadd5cb5bff92c5fb810d05a5b54e}{image2d\_\-h} (int nrows, int ncols, unsigned bdr=border::thickness)
\begin{DoxyCompactList}\small\item\em Constructor with the numbers of rows and columns border thickness. \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 V$>$ struct mln::image2d\_\-h$<$ V $>$}

2d image based on an hexagonal mesh. 

Definition at line 50 of file image2d\_\-h.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00042_aa7538cebe12dd1ca32586311da02e83f}{
\index{mln::image2d\_\-h@{mln::image2d\_\-h}!bkd\_\-piter@{bkd\_\-piter}}
\index{bkd\_\-piter@{bkd\_\-piter}!mln::image2d_h@{mln::image2d\_\-h}}
\subsubsection[{bkd\_\-piter}]{\setlength{\rightskip}{0pt plus 5cm}typedef hexa\_\-bkd\_\-piter\_\-$<${\bf box2d}$>$ {\bf mln::hexa}$<$ {\bf image2d}$<$ V $>$  $>$::{\bf bkd\_\-piter}\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{d5/db6/a00042_aa7538cebe12dd1ca32586311da02e83f}


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



Definition at line 140 of file hexa.hh.

\hypertarget{a00042_ae699bd6733d03e15a5d749246efb3b3b}{
\index{mln::image2d\_\-h@{mln::image2d\_\-h}!fwd\_\-piter@{fwd\_\-piter}}
\index{fwd\_\-piter@{fwd\_\-piter}!mln::image2d_h@{mln::image2d\_\-h}}
\subsubsection[{fwd\_\-piter}]{\setlength{\rightskip}{0pt plus 5cm}typedef hexa\_\-fwd\_\-piter\_\-$<${\bf box2d}$>$ {\bf mln::hexa}$<$ {\bf image2d}$<$ V $>$  $>$::{\bf fwd\_\-piter}\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{d5/db6/a00042_ae699bd6733d03e15a5d749246efb3b3b}


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



Definition at line 136 of file hexa.hh.

\hypertarget{a00042_a1bf21aeb3487447a5449a384c1aee48b}{
\index{mln::image2d\_\-h@{mln::image2d\_\-h}!lvalue@{lvalue}}
\index{lvalue@{lvalue}!mln::image2d_h@{mln::image2d\_\-h}}
\subsubsection[{lvalue}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf image2d}$<$ V $>$  ::{\bf lvalue} {\bf mln::hexa}$<$ {\bf image2d}$<$ V $>$  $>$::{\bf lvalue}\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{d5/db6/a00042_a1bf21aeb3487447a5449a384c1aee48b}


Lvalue associated type. 



Definition at line 126 of file hexa.hh.

\hypertarget{a00249_a5d8bf3754973287f0ca521179f273a3f}{
\index{mln::image2d\_\-h@{mln::image2d\_\-h}!psite@{psite}}
\index{psite@{psite}!mln::image2d_h@{mln::image2d\_\-h}}
\subsubsection[{psite}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename V $>$ typedef {\bf point2d\_\-h} {\bf mln::image2d\_\-h}$<$ V $>$::{\bf psite}}}
\label{de/dbc/a00249_a5d8bf3754973287f0ca521179f273a3f}


\hyperlink{a00329}{Point} site type. 



Reimplemented from \hyperlink{a00042_ac2dfa987dda1377c870af4ca011be7c3}{mln::hexa$<$ image2d$<$ V $>$ $>$}.



Definition at line 56 of file image2d\_\-h.hh.

\hypertarget{a00042_afaf819e6325724033de73c18959a7a1e}{
\index{mln::image2d\_\-h@{mln::image2d\_\-h}!rvalue@{rvalue}}
\index{rvalue@{rvalue}!mln::image2d_h@{mln::image2d\_\-h}}
\subsubsection[{rvalue}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf image2d}$<$ V $>$  ::{\bf rvalue} {\bf mln::hexa}$<$ {\bf image2d}$<$ V $>$  $>$::{\bf rvalue}\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{d5/db6/a00042_afaf819e6325724033de73c18959a7a1e}


Return type of read-\/only access. 



Definition at line 129 of file hexa.hh.

\hypertarget{a00042_aad5de944fd0a79c8eea1d34579644501}{
\index{mln::image2d\_\-h@{mln::image2d\_\-h}!skeleton@{skeleton}}
\index{skeleton@{skeleton}!mln::image2d_h@{mln::image2d\_\-h}}
\subsubsection[{skeleton}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf hexa}$<$ tag::image\_\-$<${\bf image2d}$<$ V $>$ $>$ $>$ {\bf mln::hexa}$<$ {\bf image2d}$<$ V $>$  $>$::{\bf skeleton}\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{d5/db6/a00042_aad5de944fd0a79c8eea1d34579644501}


Skeleton. 



Definition at line 120 of file hexa.hh.

\hypertarget{a00042_a4e18ce0d62902fe1d9c9997a6931c41f}{
\index{mln::image2d\_\-h@{mln::image2d\_\-h}!value@{value}}
\index{value@{value}!mln::image2d_h@{mln::image2d\_\-h}}
\subsubsection[{value}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf image2d}$<$ V $>$  ::{\bf value} {\bf mln::hexa}$<$ {\bf image2d}$<$ V $>$  $>$::{\bf value}\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{d5/db6/a00042_a4e18ce0d62902fe1d9c9997a6931c41f}


Value associated type. 



Definition at line 123 of file hexa.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00249_a857eadd5cb5bff92c5fb810d05a5b54e}{
\index{mln::image2d\_\-h@{mln::image2d\_\-h}!image2d\_\-h@{image2d\_\-h}}
\index{image2d\_\-h@{image2d\_\-h}!mln::image2d_h@{mln::image2d\_\-h}}
\subsubsection[{image2d\_\-h}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename V $>$ {\bf mln::image2d\_\-h}$<$ V $>$::{\bf image2d\_\-h} (
\begin{DoxyParamCaption}
\item[{int}]{ nrows, }
\item[{int}]{ ncols, }
\item[{unsigned}]{ bdr = {\ttfamily border::thickness}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{de/dbc/a00249_a857eadd5cb5bff92c5fb810d05a5b54e}


Constructor with the numbers of rows and columns border thickness. 

image2d\_\-h(3,6) will build this hexa image :

1 3 5 0 2 4 -\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/-\/ 0$|$ x x x $|$ 2$|$ x x x $|$ 4$|$ x x x 

Definition at line 82 of file image2d\_\-h.hh.



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


Give the definition domain. 

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


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

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


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

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


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

