\hypertarget{a00178}{
\section{mln::dpoint$<$ G, C $>$ Struct Template Reference}
\label{d9/d90/a00178}\index{mln::dpoint@{mln::dpoint}}
}


Generic delta-\/point class.  




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



Inheritance diagram for mln::dpoint$<$ G, C $>$:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=370pt]{d4/d60/a03463}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \{ \hyperlink{a00178_a1ff3ca8613815be5288caaca9bd8d3fca414708389f97cb8541a64c8baaa4eaf4}{dim} =  G::dim
 \}
\item 
typedef C \hyperlink{a00178_ad484c4b8204ec9594b2c6b3b6077fab8}{coord}
\begin{DoxyCompactList}\small\item\em Coordinate associated type. \item\end{DoxyCompactList}\item 
typedef G \hyperlink{a00178_a9d1c22c31824b23975c719d0576ac70f}{grid}
\begin{DoxyCompactList}\small\item\em Grid associated type. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00330}{point}$<$ G, C $>$ \hyperlink{a00178_acf5b62bebba422b036efd84645e68d10}{psite}
\begin{DoxyCompactList}\small\item\em Psite associated type. \item\end{DoxyCompactList}\item 
typedef \hyperlink{a00330}{point}$<$ G, C $>$ \hyperlink{a00178_a0eca05baaf176940679806e926db5ee1}{site}
\begin{DoxyCompactList}\small\item\em \hyperlink{a00343}{Site} associated type. \item\end{DoxyCompactList}\item 
typedef algebra::vec$<$ G::dim, C $>$ \hyperlink{a00178_a6cebdd2c18de22604c89492cc91c1a7e}{vec}
\begin{DoxyCompactList}\small\item\em Algebra vector (vec) associated type. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00178_a6cf5475bdd4c737a5ae2a6617be424e5}{dpoint} ()
\begin{DoxyCompactList}\small\item\em Constructor without argument. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename C2 $>$ }\\\hyperlink{a00178_ae57c7900f14a08ff3d948c65dc5e31ea}{dpoint} (const algebra::vec$<$ dim, C2 $>$ \&v)
\begin{DoxyCompactList}\small\item\em Constructor from an algebra vector. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename F $>$ }\\\hyperlink{a00178_a8db202b83dda7019d1292e581fa2bbb3}{dpoint} (const \hyperlink{a00034}{Function\_\-v2v}$<$ F $>$ \&f)
\begin{DoxyCompactList}\small\item\em Constructor; coordinates are set by function {\ttfamily f}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename Q $>$ }\\\hyperlink{a00178_aeca74ec79b8399a097244459fd205187}{operator mln::algebra::vec$<$ dpoint$<$ G, C $>$::dim, Q $>$} () const 
\begin{DoxyCompactList}\small\item\em Conversion towards a algebra::vec. \item\end{DoxyCompactList}\item 
C \hyperlink{a00178_abcc4b12d3efeccd79b10adc348a3ab0f}{operator\mbox{[}$\,$\mbox{]}} (unsigned i) const 
\begin{DoxyCompactList}\small\item\em Read-\/only access to the {\ttfamily i-\/th} coordinate value. \item\end{DoxyCompactList}\item 
C \& \hyperlink{a00178_ae379f57bfdde8eff9f185e5e9b6b74f0}{operator\mbox{[}$\,$\mbox{]}} (unsigned i)
\begin{DoxyCompactList}\small\item\em Read-\/write access to the {\ttfamily i-\/th} coordinate value. \item\end{DoxyCompactList}\item 
void \hyperlink{a00178_a4d5704b0533877bf2c9f5caebde5ade2}{set\_\-all} (C c)
\begin{DoxyCompactList}\small\item\em Set all coordinates to the value {\ttfamily c}. \item\end{DoxyCompactList}\item 
\hyperlink{a00178_a6cebdd2c18de22604c89492cc91c1a7e}{vec} \hyperlink{a00178_a394449adbf2809a216e4dc7e95e474ea}{to\_\-vec} () const 
\begin{DoxyCompactList}\small\item\em Explicit conversion. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
\hyperlink{a00178_a9b0a69873cc3336064e3e5ccfd5f0355}{dpoint} (C ind)
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf }\par
{\em \label{_amgrpd41d8cd98f00b204e9800998ecf8427e}
 }\begin{DoxyCompactItemize}
\item 
\hyperlink{a00178_aa83d94f6ec8d3483ccc8c929a0b8f74a}{dpoint} (const \hyperlink{a00280}{literal::zero\_\-t} \&)
\begin{DoxyCompactList}\small\item\em Constructors/assignments with literals. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
\subsubsection*{template$<$typename G, typename C$>$ struct mln::dpoint$<$ G, C $>$}

Generic delta-\/point class. Parameters are {\ttfamily G} the dimension of the space and {\ttfamily C} the coordinate type in this space. 

Definition at line 58 of file dpoint.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00178_ad484c4b8204ec9594b2c6b3b6077fab8}{
\index{mln::dpoint@{mln::dpoint}!coord@{coord}}
\index{coord@{coord}!mln::dpoint@{mln::dpoint}}
\subsubsection[{coord}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G, typename C$>$ typedef C {\bf mln::dpoint}$<$ G, C $>$::{\bf coord}}}
\label{d9/d90/a00178_ad484c4b8204ec9594b2c6b3b6077fab8}


Coordinate associated type. 



Definition at line 76 of file dpoint.hh.

\hypertarget{a00178_a9d1c22c31824b23975c719d0576ac70f}{
\index{mln::dpoint@{mln::dpoint}!grid@{grid}}
\index{grid@{grid}!mln::dpoint@{mln::dpoint}}
\subsubsection[{grid}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G, typename C$>$ typedef G {\bf mln::dpoint}$<$ G, C $>$::{\bf grid}}}
\label{d9/d90/a00178_a9d1c22c31824b23975c719d0576ac70f}


Grid associated type. 



Definition at line 67 of file dpoint.hh.

\hypertarget{a00178_acf5b62bebba422b036efd84645e68d10}{
\index{mln::dpoint@{mln::dpoint}!psite@{psite}}
\index{psite@{psite}!mln::dpoint@{mln::dpoint}}
\subsubsection[{psite}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G, typename C$>$ typedef {\bf point}$<$G,C$>$ {\bf mln::dpoint}$<$ G, C $>$::{\bf psite}}}
\label{d9/d90/a00178_acf5b62bebba422b036efd84645e68d10}


Psite associated type. 



Definition at line 70 of file dpoint.hh.

\hypertarget{a00178_a0eca05baaf176940679806e926db5ee1}{
\index{mln::dpoint@{mln::dpoint}!site@{site}}
\index{site@{site}!mln::dpoint@{mln::dpoint}}
\subsubsection[{site}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G, typename C$>$ typedef {\bf point}$<$G,C$>$ {\bf mln::dpoint}$<$ G, C $>$::{\bf site}}}
\label{d9/d90/a00178_a0eca05baaf176940679806e926db5ee1}


\hyperlink{a00343}{Site} associated type. 



Definition at line 73 of file dpoint.hh.

\hypertarget{a00178_a6cebdd2c18de22604c89492cc91c1a7e}{
\index{mln::dpoint@{mln::dpoint}!vec@{vec}}
\index{vec@{vec}!mln::dpoint@{mln::dpoint}}
\subsubsection[{vec}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G, typename C$>$ typedef algebra::vec$<$G::dim, C$>$ {\bf mln::dpoint}$<$ G, C $>$::{\bf vec}}}
\label{d9/d90/a00178_a6cebdd2c18de22604c89492cc91c1a7e}


Algebra vector (vec) associated type. 



Definition at line 79 of file dpoint.hh.



\subsection{Member Enumeration Documentation}
\hypertarget{a00178_a1ff3ca8613815be5288caaca9bd8d3fc}{
\subsubsection[{"@22}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G, typename C$>$ anonymous enum}}
\label{d9/d90/a00178_a1ff3ca8613815be5288caaca9bd8d3fc}
\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{dim@{dim}!mln::dpoint@{mln::dpoint}}\index{mln::dpoint@{mln::dpoint}!dim@{dim}}\item[{\em 
\hypertarget{a00178_a1ff3ca8613815be5288caaca9bd8d3fca414708389f97cb8541a64c8baaa4eaf4}{
dim}
\label{d9/d90/a00178_a1ff3ca8613815be5288caaca9bd8d3fca414708389f97cb8541a64c8baaa4eaf4}
}]Dimension of the space. \begin{DoxyInvariant}{Invariant}
dim $>$ 0 
\end{DoxyInvariant}
\end{description}
\end{Desc}



Definition at line 64 of file dpoint.hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00178_a6cf5475bdd4c737a5ae2a6617be424e5}{
\index{mln::dpoint@{mln::dpoint}!dpoint@{dpoint}}
\index{dpoint@{dpoint}!mln::dpoint@{mln::dpoint}}
\subsubsection[{dpoint}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C $>$ {\bf mln::dpoint}$<$ G, C $>$::{\bf dpoint} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_a6cf5475bdd4c737a5ae2a6617be424e5}


Constructor without argument. 



Definition at line 152 of file dpoint.hh.

\hypertarget{a00178_ae57c7900f14a08ff3d948c65dc5e31ea}{
\index{mln::dpoint@{mln::dpoint}!dpoint@{dpoint}}
\index{dpoint@{dpoint}!mln::dpoint@{mln::dpoint}}
\subsubsection[{dpoint}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C $>$ template$<$typename C2 $>$ {\bf mln::dpoint}$<$ G, C $>$::{\bf dpoint} (
\begin{DoxyParamCaption}
\item[{const algebra::vec$<$ dim, C2 $>$ \&}]{ v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_ae57c7900f14a08ff3d948c65dc5e31ea}


Constructor from an algebra vector. 



Definition at line 159 of file dpoint.hh.



References mln::dpoint$<$ G, C $>$::dim.

\hypertarget{a00178_a9b0a69873cc3336064e3e5ccfd5f0355}{
\index{mln::dpoint@{mln::dpoint}!dpoint@{dpoint}}
\index{dpoint@{dpoint}!mln::dpoint@{mln::dpoint}}
\subsubsection[{dpoint}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C$>$ {\bf mln::dpoint}$<$ G, C $>$::{\bf dpoint} (
\begin{DoxyParamCaption}
\item[{C}]{ ind}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_a9b0a69873cc3336064e3e5ccfd5f0355}
Constructors with different numbers of arguments (coordinates) w.r.t. the dimension. 

Definition at line 176 of file dpoint.hh.

\hypertarget{a00178_aa83d94f6ec8d3483ccc8c929a0b8f74a}{
\index{mln::dpoint@{mln::dpoint}!dpoint@{dpoint}}
\index{dpoint@{dpoint}!mln::dpoint@{mln::dpoint}}
\subsubsection[{dpoint}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C$>$ {\bf mln::dpoint}$<$ G, C $>$::{\bf dpoint} (
\begin{DoxyParamCaption}
\item[{const {\bf literal::zero\_\-t} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_aa83d94f6ec8d3483ccc8c929a0b8f74a}


Constructors/assignments with literals. 



Definition at line 203 of file dpoint.hh.

\hypertarget{a00178_a8db202b83dda7019d1292e581fa2bbb3}{
\index{mln::dpoint@{mln::dpoint}!dpoint@{dpoint}}
\index{dpoint@{dpoint}!mln::dpoint@{mln::dpoint}}
\subsubsection[{dpoint}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C $>$ template$<$typename F $>$ {\bf mln::dpoint}$<$ G, C $>$::{\bf dpoint} (
\begin{DoxyParamCaption}
\item[{const {\bf Function\_\-v2v}$<$ F $>$ \&}]{ f}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_a8db202b83dda7019d1292e581fa2bbb3}


Constructor; coordinates are set by function {\ttfamily f}. 



Definition at line 238 of file dpoint.hh.



\subsection{Member Function Documentation}
\hypertarget{a00178_aeca74ec79b8399a097244459fd205187}{
\index{mln::dpoint@{mln::dpoint}!operator mln::algebra::vec$<$ dpoint$<$ G, C $>$::dim, Q $>$@{operator mln::algebra::vec$<$ dpoint$<$ G, C $>$::dim, Q $>$}}
\index{operator mln::algebra::vec$<$ dpoint$<$ G, C $>$::dim, Q $>$@{operator mln::algebra::vec$<$ dpoint$<$ G, C $>$::dim, Q $>$}!mln::dpoint@{mln::dpoint}}
\subsubsection[{operator mln::algebra::vec$<$ dpoint$<$ G, C $>$::dim, Q $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C $>$ template$<$typename Q $>$ {\bf mln::dpoint}$<$ G, C $>$::operator mln::algebra::vec$<$ {\bf dpoint}$<$ G, C $>$::dim, Q $>$ (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_aeca74ec79b8399a097244459fd205187}


Conversion towards a algebra::vec. 



Definition at line 257 of file dpoint.hh.



References mln::dpoint$<$ G, C $>$::to\_\-vec().

\hypertarget{a00178_ae379f57bfdde8eff9f185e5e9b6b74f0}{
\index{mln::dpoint@{mln::dpoint}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!mln::dpoint@{mln::dpoint}}
\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C $>$ C \& {\bf mln::dpoint}$<$ G, C $>$::operator\mbox{[}$\,$\mbox{]} (
\begin{DoxyParamCaption}
\item[{unsigned}]{ i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_ae379f57bfdde8eff9f185e5e9b6b74f0}


Read-\/write access to the {\ttfamily i-\/th} coordinate value. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in]} {\em i}]The coordinate index. \end{DoxyParams}
\begin{DoxyPrecond}{Precondition}
{\ttfamily i} $<$ {\ttfamily dim} 
\end{DoxyPrecond}


Definition at line 144 of file dpoint.hh.



References mln::dpoint$<$ G, C $>$::dim.

\hypertarget{a00178_abcc4b12d3efeccd79b10adc348a3ab0f}{
\index{mln::dpoint@{mln::dpoint}!operator\mbox{[}\mbox{]}@{operator[]}}
\index{operator\mbox{[}\mbox{]}@{operator[]}!mln::dpoint@{mln::dpoint}}
\subsubsection[{operator[]}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C $>$ C {\bf mln::dpoint}$<$ G, C $>$::operator\mbox{[}$\,$\mbox{]} (
\begin{DoxyParamCaption}
\item[{unsigned}]{ i}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_abcc4b12d3efeccd79b10adc348a3ab0f}


Read-\/only access to the {\ttfamily i-\/th} coordinate value. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in]} {\em i}]The coordinate index. \end{DoxyParams}
\begin{DoxyPrecond}{Precondition}
{\ttfamily i} $<$ {\ttfamily dim} 
\end{DoxyPrecond}


Definition at line 136 of file dpoint.hh.



References mln::dpoint$<$ G, C $>$::dim.

\hypertarget{a00178_a4d5704b0533877bf2c9f5caebde5ade2}{
\index{mln::dpoint@{mln::dpoint}!set\_\-all@{set\_\-all}}
\index{set\_\-all@{set\_\-all}!mln::dpoint@{mln::dpoint}}
\subsubsection[{set\_\-all}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C$>$ void {\bf mln::dpoint}$<$ G, C $>$::set\_\-all (
\begin{DoxyParamCaption}
\item[{C}]{ c}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_a4d5704b0533877bf2c9f5caebde5ade2}


Set all coordinates to the value {\ttfamily c}. 



Definition at line 248 of file dpoint.hh.



Referenced by mln::win::line$<$ M, i, C $>$::line().

\hypertarget{a00178_a394449adbf2809a216e4dc7e95e474ea}{
\index{mln::dpoint@{mln::dpoint}!to\_\-vec@{to\_\-vec}}
\index{to\_\-vec@{to\_\-vec}!mln::dpoint@{mln::dpoint}}
\subsubsection[{to\_\-vec}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename G , typename C $>$ {\bf dpoint}$<$ G, C $>$::{\bf vec} {\bf mln::dpoint}$<$ G, C $>$::to\_\-vec (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{d9/d90/a00178_a394449adbf2809a216e4dc7e95e474ea}


Explicit conversion. 



Definition at line 265 of file dpoint.hh.



References mln::dpoint$<$ G, C $>$::dim.



Referenced by mln::dpoint$<$ G, C $>$::operator mln::algebra::vec$<$ dpoint$<$ G, C $>$::dim, Q $>$().

