\hypertarget{a00455}{
\section{mln::window$<$ D $>$ Class Template Reference}
\label{dd/d63/a00455}\index{mln::window@{mln::window}}
}


Generic window class.  




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



Inherits window\_\-base$<$ D, window$<$ D $>$ $>$.

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{a00181}{dpsites\_\-bkd\_\-piter}$<$ \hyperlink{a00455}{window}$<$ D $>$ $>$ \hyperlink{a00455_a5e94eb662f4d8a5d8ace119b49e73195}{bkd\_\-qiter}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00345}{Site\_\-Iterator} type to browse the points of a basic window w.r.t. the reverse ordering of delta-\/points. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00182}{dpsites\_\-fwd\_\-piter}$<$ \hyperlink{a00455}{window}$<$ D $>$ $>$ \hyperlink{a00455_ad046d2708eab78020cbfd3188163e28a}{fwd\_\-qiter}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00345}{Site\_\-Iterator} type to browse the points of a basic window w.r.t. the ordering of delta-\/points. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00182}{fwd\_\-qiter} \hyperlink{a00455_a9c711e0c4b234c19f832fb25f000e39a}{qiter}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00345}{Site\_\-Iterator} type to browse the points of a basic window whatever the ordering of delta-\/points. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00455}{window}$<$ D $>$ \hyperlink{a00455_ade74e8c3fd17e2d76461824da2dd4855}{regular}
\begin{DoxyCompactList}\small\item\em Regular window associated type. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00455_aec69b2a1c51d2710a39bb38cb753a58d}{clear} ()
\begin{DoxyCompactList}\small\item\em Clear the window. \item\end{DoxyCompactList}\item 
unsigned \hyperlink{a00455_a1f1f96e9e0b0538f680e5f147b881f35}{delta} () const 
\begin{DoxyCompactList}\small\item\em Give the maximum coordinate gap between the window center and a window point. \item\end{DoxyCompactList}\item 
const D \& \hyperlink{a00455_a4f384574462cb0f662916e1ad0d2c2ad}{dp} (unsigned i) const 
\begin{DoxyCompactList}\small\item\em Give the {\ttfamily i-\/th} delta-\/point. \item\end{DoxyCompactList}\item 
bool \hyperlink{a00455_ac7c6ae1740abe9d97110c28b596e0d2a}{has} (const D \&dp) const 
\begin{DoxyCompactList}\small\item\em Test if {\ttfamily dp} is in this window definition. \item\end{DoxyCompactList}\item 
\hyperlink{a00455}{window}$<$ D $>$ \& \hyperlink{a00455_ac38db120bda6704534c4975b7e4d9c4d}{insert} (const D \&dp)
\begin{DoxyCompactList}\small\item\em Insert a delta-\/point {\ttfamily dp}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename W $>$ }\\\hyperlink{a00455}{window}$<$ D $>$ \& \hyperlink{a00455_a9fbb6df34115b937d8d7ac8589861368}{insert} (const \hyperlink{a00454}{Window}$<$ W $>$ \&win)
\begin{DoxyCompactList}\small\item\em Insert another window {\ttfamily win}. \item\end{DoxyCompactList}\item 
bool \hyperlink{a00455_a142114c9da69509c277c3a9dc6be0285}{is\_\-centered} () const 
\begin{DoxyCompactList}\small\item\em Test if the window is centered. \item\end{DoxyCompactList}\item 
bool \hyperlink{a00455_a4b9e84a883f1657edba8492c0658a0d6}{is\_\-empty} () const 
\begin{DoxyCompactList}\small\item\em Test if the window is empty (null size; no delta-\/point). \item\end{DoxyCompactList}\item 
bool \hyperlink{a00455_aa3b729e206dc51d7371784426c5aa098}{is\_\-symmetric} () const 
\item 
void \hyperlink{a00455_adffec0aa03cb0e63c4f1fe93ed705cc3}{print} (std::ostream \&ostr) const 
\begin{DoxyCompactList}\small\item\em Print the window definition into {\ttfamily ostr}. \item\end{DoxyCompactList}\item 
unsigned \hyperlink{a00455_a563cd22da7dca6e9e57517f59e388500}{size} () const 
\begin{DoxyCompactList}\small\item\em Give the window size, i.e., the number of delta-\/sites. \item\end{DoxyCompactList}\item 
const std::vector$<$ D $>$ \& \hyperlink{a00455_a813b187725e5970f09810ab3bfa182b6}{std\_\-vector} () const 
\begin{DoxyCompactList}\small\item\em Give the std vector of delta-\/points. \item\end{DoxyCompactList}\item 
void \hyperlink{a00455_a8b746e1bdd4d14f68d72ca074e5dd5f7}{sym} ()
\begin{DoxyCompactList}\small\item\em Apply a central symmetry to the target window. \item\end{DoxyCompactList}\item 
\hyperlink{a00455_a813b5c6207a9625d93278d2dcb830a98}{window} ()
\begin{DoxyCompactList}\small\item\em Constructor without argument. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
\hyperlink{a00455}{window}$<$ D $>$ \& \hyperlink{a00455_aee4267339e6b1261c34b85bbc0150e20}{insert} (const typename D::coord \&dind)
\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Related Functions}
(Note that these are not member functions.) \begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename D $>$ }\\bool \hyperlink{a00455_a2d2c26466dda417f0e3c7d118b068575}{operator==} (const \hyperlink{a00455}{window}$<$ D $>$ \&lhs, const \hyperlink{a00455}{window}$<$ D $>$ \&rhs)
\begin{DoxyCompactList}\small\item\em Equality comparison between windows {\ttfamily lhs} and {\ttfamily rhs}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename D$>$ class mln::window$<$ D $>$}

Generic window class. This type of window is just like a set of delta-\/points. The parameter is {\ttfamily D}, type of delta-\/point. 

Definition at line 85 of file window.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00455_a5e94eb662f4d8a5d8ace119b49e73195}{
\index{mln::window@{mln::window}!bkd\_\-qiter@{bkd\_\-qiter}}
\index{bkd\_\-qiter@{bkd\_\-qiter}!mln::window@{mln::window}}
\subsubsection[{bkd\_\-qiter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D$>$ typedef {\bf dpsites\_\-bkd\_\-piter}$<$ {\bf window}$<$D$>$ $>$ {\bf mln::window}$<$ D $>$::{\bf bkd\_\-qiter}}}
\label{dd/d63/a00455_a5e94eb662f4d8a5d8ace119b49e73195}


\hyperlink{a00345}{Site\_\-Iterator} type to browse the points of a basic window w.r.t. the reverse ordering of delta-\/points. 



Definition at line 124 of file window.hh.

\hypertarget{a00455_ad046d2708eab78020cbfd3188163e28a}{
\index{mln::window@{mln::window}!fwd\_\-qiter@{fwd\_\-qiter}}
\index{fwd\_\-qiter@{fwd\_\-qiter}!mln::window@{mln::window}}
\subsubsection[{fwd\_\-qiter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D$>$ typedef {\bf dpsites\_\-fwd\_\-piter}$<$ {\bf window}$<$D$>$ $>$ {\bf mln::window}$<$ D $>$::{\bf fwd\_\-qiter}}}
\label{dd/d63/a00455_ad046d2708eab78020cbfd3188163e28a}


\hyperlink{a00345}{Site\_\-Iterator} type to browse the points of a basic window w.r.t. the ordering of delta-\/points. 



Definition at line 119 of file window.hh.

\hypertarget{a00455_a9c711e0c4b234c19f832fb25f000e39a}{
\index{mln::window@{mln::window}!qiter@{qiter}}
\index{qiter@{qiter}!mln::window@{mln::window}}
\subsubsection[{qiter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D$>$ typedef {\bf fwd\_\-qiter} {\bf mln::window}$<$ D $>$::{\bf qiter}}}
\label{dd/d63/a00455_a9c711e0c4b234c19f832fb25f000e39a}


\hyperlink{a00345}{Site\_\-Iterator} type to browse the points of a basic window whatever the ordering of delta-\/points. 



Definition at line 129 of file window.hh.

\hypertarget{a00455_ade74e8c3fd17e2d76461824da2dd4855}{
\index{mln::window@{mln::window}!regular@{regular}}
\index{regular@{regular}!mln::window@{mln::window}}
\subsubsection[{regular}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D$>$ typedef {\bf window}$<$D$>$ {\bf mln::window}$<$ D $>$::{\bf regular}}}
\label{dd/d63/a00455_ade74e8c3fd17e2d76461824da2dd4855}


Regular window associated type. 



Definition at line 90 of file window.hh.



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


Constructor without argument. 

The constructed window is empty. 

Definition at line 207 of file window.hh.



\subsection{Member Function Documentation}
\hypertarget{a00455_aec69b2a1c51d2710a39bb38cb753a58d}{
\index{mln::window@{mln::window}!clear@{clear}}
\index{clear@{clear}!mln::window@{mln::window}}
\subsubsection[{clear}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ void {\bf mln::window}$<$ D $>$::clear (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_aec69b2a1c51d2710a39bb38cb753a58d}


Clear the window. 



Definition at line 254 of file window.hh.

\hypertarget{a00455_a1f1f96e9e0b0538f680e5f147b881f35}{
\index{mln::window@{mln::window}!delta@{delta}}
\index{delta@{delta}!mln::window@{mln::window}}
\subsubsection[{delta}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ unsigned {\bf mln::window}$<$ D $>$::delta (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_a1f1f96e9e0b0538f680e5f147b881f35}


Give the maximum coordinate gap between the window center and a window point. 



Definition at line 262 of file window.hh.



References mln::window$<$ D $>$::dp(), and mln::window$<$ D $>$::size().

\hypertarget{a00455_a4f384574462cb0f662916e1ad0d2c2ad}{
\index{mln::window@{mln::window}!dp@{dp}}
\index{dp@{dp}!mln::window@{mln::window}}
\subsubsection[{dp}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ const D \& {\bf mln::window}$<$ D $>$::dp (
\begin{DoxyParamCaption}
\item[{unsigned}]{ i}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_a4f384574462cb0f662916e1ad0d2c2ad}


Give the {\ttfamily i-\/th} delta-\/point. 



Definition at line 302 of file window.hh.



References mln::window$<$ D $>$::size().



Referenced by mln::window$<$ D $>$::delta(), and mln::window$<$ D $>$::insert().

\hypertarget{a00455_ac7c6ae1740abe9d97110c28b596e0d2a}{
\index{mln::window@{mln::window}!has@{has}}
\index{has@{has}!mln::window@{mln::window}}
\subsubsection[{has}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ bool {\bf mln::window}$<$ D $>$::has (
\begin{DoxyParamCaption}
\item[{const D \&}]{ dp}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_ac7c6ae1740abe9d97110c28b596e0d2a}


Test if {\ttfamily dp} is in this window definition. 



Definition at line 311 of file window.hh.

\hypertarget{a00455_ac38db120bda6704534c4975b7e4d9c4d}{
\index{mln::window@{mln::window}!insert@{insert}}
\index{insert@{insert}!mln::window@{mln::window}}
\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ {\bf window}$<$ D $>$ \& {\bf mln::window}$<$ D $>$::insert (
\begin{DoxyParamCaption}
\item[{const D \&}]{ dp}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_ac38db120bda6704534c4975b7e4d9c4d}


Insert a delta-\/point {\ttfamily dp}. 



Definition at line 327 of file window.hh.



Referenced by mln::c18(), mln::c26(), mln::c2\_\-3d\_\-sli(), mln::c4\_\-3d(), mln::c6(), mln::window$<$ D $>$::insert(), mln::morpho::line\_\-gradient(), mln::window$<$ D $>$::sym(), mln::convert::to\_\-upper\_\-window(), mln::convert::to\_\-window(), mln::win\_\-c4p(), mln::win\_\-c4p\_\-3d(), mln::win\_\-c8p(), and mln::win\_\-c8p\_\-3d().

\hypertarget{a00455_a9fbb6df34115b937d8d7ac8589861368}{
\index{mln::window@{mln::window}!insert@{insert}}
\index{insert@{insert}!mln::window@{mln::window}}
\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ template$<$typename W $>$ {\bf window}$<$ D $>$ \& {\bf mln::window}$<$ D $>$::insert (
\begin{DoxyParamCaption}
\item[{const {\bf Window}$<$ W $>$ \&}]{ win}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_a9fbb6df34115b937d8d7ac8589861368}


Insert another window {\ttfamily win}. 



Definition at line 337 of file window.hh.

\hypertarget{a00455_aee4267339e6b1261c34b85bbc0150e20}{
\index{mln::window@{mln::window}!insert@{insert}}
\index{insert@{insert}!mln::window@{mln::window}}
\subsubsection[{insert}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ {\bf window}$<$ D $>$ \& {\bf mln::window}$<$ D $>$::insert (
\begin{DoxyParamCaption}
\item[{const typename D::coord \&}]{ dind}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_aee4267339e6b1261c34b85bbc0150e20}
Insertion of a delta-\/point with different numbers of arguments (coordinates) w.r.t. the dimension. 

Definition at line 349 of file window.hh.



References mln::window$<$ D $>$::dp(), and mln::window$<$ D $>$::insert().

\hypertarget{a00455_a142114c9da69509c277c3a9dc6be0285}{
\index{mln::window@{mln::window}!is\_\-centered@{is\_\-centered}}
\index{is\_\-centered@{is\_\-centered}!mln::window@{mln::window}}
\subsubsection[{is\_\-centered}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ bool {\bf mln::window}$<$ D $>$::is\_\-centered (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_a142114c9da69509c277c3a9dc6be0285}


Test if the window is centered. 

\begin{DoxyReturn}{Returns}
True if the delta-\/point 0 belongs to the window. 
\end{DoxyReturn}


Definition at line 226 of file window.hh.



References mln::literal::zero.

\hypertarget{a00455_a4b9e84a883f1657edba8492c0658a0d6}{
\index{mln::window@{mln::window}!is\_\-empty@{is\_\-empty}}
\index{is\_\-empty@{is\_\-empty}!mln::window@{mln::window}}
\subsubsection[{is\_\-empty}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ bool {\bf mln::window}$<$ D $>$::is\_\-empty (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_a4b9e84a883f1657edba8492c0658a0d6}


Test if the window is empty (null size; no delta-\/point). 



Definition at line 246 of file window.hh.

\hypertarget{a00455_aa3b729e206dc51d7371784426c5aa098}{
\index{mln::window@{mln::window}!is\_\-symmetric@{is\_\-symmetric}}
\index{is\_\-symmetric@{is\_\-symmetric}!mln::window@{mln::window}}
\subsubsection[{is\_\-symmetric}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ bool {\bf mln::window}$<$ D $>$::is\_\-symmetric (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_aa3b729e206dc51d7371784426c5aa098}
Test if the window is symmetric.

\begin{DoxyReturn}{Returns}
True if for every dp of this window, -\/dp is also in this window. 
\end{DoxyReturn}


Definition at line 216 of file window.hh.



References mln::window$<$ D $>$::sym().

\hypertarget{a00455_adffec0aa03cb0e63c4f1fe93ed705cc3}{
\index{mln::window@{mln::window}!print@{print}}
\index{print@{print}!mln::window@{mln::window}}
\subsubsection[{print}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ void {\bf mln::window}$<$ D $>$::print (
\begin{DoxyParamCaption}
\item[{std::ostream \&}]{ ostr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_adffec0aa03cb0e63c4f1fe93ed705cc3}


Print the window definition into {\ttfamily ostr}. 



Definition at line 390 of file window.hh.

\hypertarget{a00455_a563cd22da7dca6e9e57517f59e388500}{
\index{mln::window@{mln::window}!size@{size}}
\index{size@{size}!mln::window@{mln::window}}
\subsubsection[{size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ unsigned {\bf mln::window}$<$ D $>$::size (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_a563cd22da7dca6e9e57517f59e388500}


Give the window size, i.e., the number of delta-\/sites. 



Definition at line 294 of file window.hh.



Referenced by mln::window$<$ D $>$::delta(), mln::window$<$ D $>$::dp(), mln::window$<$ D $>$::sym(), mln::win\_\-c4p(), mln::win\_\-c4p\_\-3d(), mln::win\_\-c8p(), and mln::win\_\-c8p\_\-3d().

\hypertarget{a00455_a813b187725e5970f09810ab3bfa182b6}{
\index{mln::window@{mln::window}!std\_\-vector@{std\_\-vector}}
\index{std\_\-vector@{std\_\-vector}!mln::window@{mln::window}}
\subsubsection[{std\_\-vector}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ const std::vector$<$ D $>$ \& {\bf mln::window}$<$ D $>$::std\_\-vector (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_a813b187725e5970f09810ab3bfa182b6}


Give the std vector of delta-\/points. 



Definition at line 319 of file window.hh.

\hypertarget{a00455_a8b746e1bdd4d14f68d72ca074e5dd5f7}{
\index{mln::window@{mln::window}!sym@{sym}}
\index{sym@{sym}!mln::window@{mln::window}}
\subsubsection[{sym}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ void {\bf mln::window}$<$ D $>$::sym (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d63/a00455_a8b746e1bdd4d14f68d72ca074e5dd5f7}


Apply a central symmetry to the target window. 



Definition at line 234 of file window.hh.



References mln::window$<$ D $>$::insert(), and mln::window$<$ D $>$::size().



Referenced by mln::window$<$ D $>$::is\_\-symmetric().



\subsection{Friends And Related Function Documentation}
\hypertarget{a00455_a2d2c26466dda417f0e3c7d118b068575}{
\index{mln::window@{mln::window}!operator==@{operator==}}
\index{operator==@{operator==}!mln::window@{mln::window}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename D $>$ bool operator== (
\begin{DoxyParamCaption}
\item[{const {\bf window}$<$ D $>$ \&}]{ lhs, }
\item[{const {\bf window}$<$ D $>$ \&}]{ rhs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}related\mbox{]}}}}
\label{dd/d63/a00455_a2d2c26466dda417f0e3c7d118b068575}


Equality comparison between windows {\ttfamily lhs} and {\ttfamily rhs}. 



Definition at line 400 of file window.hh.

