\hypertarget{a00329}{
\section{mln::Point$<$ P $>$ Struct Template Reference}
\label{dd/d4e/a00329}\index{mln::Point@{mln::Point}}
}


Base class for implementation of point classes.  




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



Inheritance diagram for mln::Point$<$ P $>$:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=314pt]{d8/d1b/a03592}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef P \hyperlink{a00329_a75d95d005c295555cde1383f31875935}{point}
\begin{DoxyCompactList}\small\item\em The associated point type is itself. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const P \& \hyperlink{a00329_a168bf01a8434c9733fa16fb01ddc6c23}{to\_\-point} () const 
\begin{DoxyCompactList}\small\item\em It is a \hyperlink{a00329}{Point} so it returns itself. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Related Functions}
(Note that these are not member functions.) \begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename P , typename D $>$ }\\P \& \hyperlink{a00329_a519931563e718fd3f8bbe0aeec2c94b5}{operator+=} (\hyperlink{a00329}{Point}$<$ P $>$ \&p, const \hyperlink{a00177}{Dpoint}$<$ D $>$ \&dp)
\begin{DoxyCompactList}\small\item\em Shift a point {\ttfamily by} a delta-\/point {\ttfamily dp}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename P , typename D $>$ }\\P \& \hyperlink{a00329_ab2a8b33b28a52c126d57bb0399823389}{operator-\/=} (\hyperlink{a00329}{Point}$<$ P $>$ \&p, const \hyperlink{a00177}{Dpoint}$<$ D $>$ \&dp)
\begin{DoxyCompactList}\small\item\em Shift a point {\ttfamily by} the negate of a delta-\/point {\ttfamily dp}. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$typename P , typename D $>$ }\\P \& \hyperlink{a00329_adeec27492fb1e658d588d96cffec49f0}{operator/} (\hyperlink{a00329}{Point}$<$ P $>$ \&p, const value::Scalar$<$ D $>$ \&dp)
\begin{DoxyCompactList}\small\item\em Divise a point {\ttfamily by} a scalar {\ttfamily s}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


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

Base class for implementation of point classes. A point is an element of a space.

For instance, \hyperlink{a01799_aa60d2ccb56ddbe212cce22a6f61e178f}{mln::point2d} is the type of elements defined on the discrete square grid of the 2D plane. 

Definition at line 62 of file concept/point.hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00329_a75d95d005c295555cde1383f31875935}{
\index{mln::Point@{mln::Point}!point@{point}}
\index{point@{point}!mln::Point@{mln::Point}}
\subsubsection[{point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename P $>$ typedef P {\bf mln::Point}$<$ P $>$::{\bf point}}}
\label{dd/d4e/a00329_a75d95d005c295555cde1383f31875935}


The associated point type is itself. 



Definition at line 66 of file concept/point.hh.



\subsection{Member Function Documentation}
\hypertarget{a00329_a168bf01a8434c9733fa16fb01ddc6c23}{
\index{mln::Point@{mln::Point}!to\_\-point@{to\_\-point}}
\index{to\_\-point@{to\_\-point}!mln::Point@{mln::Point}}
\subsubsection[{to\_\-point}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename P $>$ const P \& {\bf mln::Point}$<$ P $>$::to\_\-point (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{dd/d4e/a00329_a168bf01a8434c9733fa16fb01ddc6c23}


It is a \hyperlink{a00329}{Point} so it returns itself. 



Definition at line 130 of file concept/point.hh.



\subsection{Friends And Related Function Documentation}
\hypertarget{a00329_a519931563e718fd3f8bbe0aeec2c94b5}{
\index{mln::Point@{mln::Point}!operator+=@{operator+=}}
\index{operator+=@{operator+=}!mln::Point@{mln::Point}}
\subsubsection[{operator+=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename P , typename D $>$ P \& operator+= (
\begin{DoxyParamCaption}
\item[{{\bf Point}$<$ P $>$ \&}]{ p, }
\item[{const {\bf Dpoint}$<$ D $>$ \&}]{ dp}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}related\mbox{]}}}}
\label{dd/d4e/a00329_a519931563e718fd3f8bbe0aeec2c94b5}


Shift a point {\ttfamily by} a delta-\/point {\ttfamily dp}. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em p}]The targeted point. \item[\mbox{\tt[in]} {\em dp}]A delta-\/point. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the point {\ttfamily p} once translated by {\ttfamily dp}.
\end{DoxyReturn}
\begin{DoxyPrecond}{Precondition}
The type of {\ttfamily dp} has to be compatible with the type of {\ttfamily p}. 
\end{DoxyPrecond}


Definition at line 137 of file concept/point.hh.

\hypertarget{a00329_ab2a8b33b28a52c126d57bb0399823389}{
\index{mln::Point@{mln::Point}!operator-\/=@{operator-\/=}}
\index{operator-\/=@{operator-\/=}!mln::Point@{mln::Point}}
\subsubsection[{operator-\/=}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename P , typename D $>$ P \& operator-\/= (
\begin{DoxyParamCaption}
\item[{{\bf Point}$<$ P $>$ \&}]{ p, }
\item[{const {\bf Dpoint}$<$ D $>$ \&}]{ dp}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}related\mbox{]}}}}
\label{dd/d4e/a00329_ab2a8b33b28a52c126d57bb0399823389}


Shift a point {\ttfamily by} the negate of a delta-\/point {\ttfamily dp}. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em p}]The targeted point. \item[\mbox{\tt[in]} {\em dp}]A delta-\/point. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the point {\ttfamily p} once translated by -\/ {\ttfamily dp}.
\end{DoxyReturn}
\begin{DoxyPrecond}{Precondition}
The type of {\ttfamily dp} has to be compatible with the type of {\ttfamily p}. 
\end{DoxyPrecond}


Definition at line 149 of file concept/point.hh.

\hypertarget{a00329_adeec27492fb1e658d588d96cffec49f0}{
\index{mln::Point@{mln::Point}!operator/@{operator/}}
\index{operator/@{operator/}!mln::Point@{mln::Point}}
\subsubsection[{operator/}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename P , typename D $>$ P \& operator/ (
\begin{DoxyParamCaption}
\item[{{\bf Point}$<$ P $>$ \&}]{ p, }
\item[{const value::Scalar$<$ D $>$ \&}]{ dp}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}related\mbox{]}}}}
\label{dd/d4e/a00329_adeec27492fb1e658d588d96cffec49f0}


Divise a point {\ttfamily by} a scalar {\ttfamily s}. 


\begin{DoxyParams}{Parameters}
\item[\mbox{\tt[in,out]} {\em p}]The targeted point. \item[\mbox{\tt[in]} {\em dp}]A scalar. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to the point {\ttfamily p} once divised by {\ttfamily s}. 
\end{DoxyReturn}


Definition at line 163 of file concept/point.hh.

