\hypertarget{a00907}{\section{Open\+Mesh\+:\+:Decimater\+:\+:Observer Class Reference}
\label{a00907}\index{Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}}
}


\hyperlink{a00907}{Observer} class.  




{\ttfamily \#include $<$libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Decimater/\+Observer.\+hh$>$}

Inheritance diagram for Open\+Mesh\+:\+:Decimater\+:\+:Observer\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00907}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00907_a750859bbf0ed03ba1b6cb2601305e9f6}{Observer} (size\+\_\+t \+\_\+notification\+Interval)
\item 
\hypertarget{a00907_a5146f52949ea9a510db353f48335259a}{virtual \hyperlink{a00907_a5146f52949ea9a510db353f48335259a}{$\sim$\+Observer} ()}\label{a00907_a5146f52949ea9a510db353f48335259a}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\hypertarget{a00907_adfb58e57638f68765187beab8e0f7551}{size\+\_\+t \hyperlink{a00907_adfb58e57638f68765187beab8e0f7551}{get\+\_\+interval} () const }\label{a00907_adfb58e57638f68765187beab8e0f7551}

\begin{DoxyCompactList}\small\item\em Get the interval between notification steps. \end{DoxyCompactList}\item 
\hypertarget{a00907_a2aead36d8cb482a9d19d0f485db3e786}{void \hyperlink{a00907_a2aead36d8cb482a9d19d0f485db3e786}{set\+\_\+interval} (size\+\_\+t \+\_\+notification\+Interval)}\label{a00907_a2aead36d8cb482a9d19d0f485db3e786}

\begin{DoxyCompactList}\small\item\em Set the interval between notification steps. \end{DoxyCompactList}\item 
virtual void \hyperlink{a00907_ae7279c819cb88693c739f109bc21eaf4}{notify} (size\+\_\+t \+\_\+step)=0
\begin{DoxyCompactList}\small\item\em callback \end{DoxyCompactList}\item 
virtual bool \hyperlink{a00907_a46ee4bf949f65d3043aee6173bc29d0c}{abort} () const 
\begin{DoxyCompactList}\small\item\em Abort callback. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00907_ae7d982d1075e70013820cd5de896bb5c}{size\+\_\+t {\bfseries notification\+Interval\+\_\+}}\label{a00907_ae7d982d1075e70013820cd5de896bb5c}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a00907}{Observer} class. 

Observers can be used to monitor the progress of the decimation and to abort it in between. 

Definition at line 82 of file Observer.\+hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00907_a750859bbf0ed03ba1b6cb2601305e9f6}{\index{Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}!Observer@{Observer}}
\index{Observer@{Observer}!Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}}
\subsubsection[{Observer}]{\setlength{\rightskip}{0pt plus 5cm}Open\+Mesh\+::\+Decimater\+::\+Observer\+::\+Observer (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+notification\+Interval}
\end{DoxyParamCaption}
)}}\label{a00907_a750859bbf0ed03ba1b6cb2601305e9f6}
Create an observer


\begin{DoxyParams}{Parameters}
{\em \+\_\+notification\+Interval} & Interval of decimation steps between notifications. \\
\hline
\end{DoxyParams}


Definition at line 69 of file Observer.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a00907_a46ee4bf949f65d3043aee6173bc29d0c}{\index{Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}!abort@{abort}}
\index{abort@{abort}!Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}}
\subsubsection[{abort}]{\setlength{\rightskip}{0pt plus 5cm}bool Open\+Mesh\+::\+Decimater\+::\+Observer\+::abort (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00907_a46ee4bf949f65d3043aee6173bc29d0c}


Abort callback. 

After each notification, this function is called by the decimater. If the function returns true, the decimater will stop at a consistent state. Otherwise it will continue.

\begin{DoxyReturn}{Returns}
abort Yes or No 
\end{DoxyReturn}


Reimplemented in \hyperlink{a00485_adc5d6c62b535ce9362e90222dbf46be5}{Decimate\+Thread}.



Definition at line 88 of file Observer.\+cc.

\hypertarget{a00907_ae7279c819cb88693c739f109bc21eaf4}{\index{Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}!notify@{notify}}
\index{notify@{notify}!Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}}
\subsubsection[{notify}]{\setlength{\rightskip}{0pt plus 5cm}virtual void Open\+Mesh\+::\+Decimater\+::\+Observer\+::notify (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+step}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{a00907_ae7279c819cb88693c739f109bc21eaf4}


callback 

This function has to be overloaded. It will be called regularly during the decimation process and will return the current step.


\begin{DoxyParams}{Parameters}
{\em \+\_\+step} & Current step of the decimater \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{a00485_a9fba228d45e2cae87488c6cfe07464cc}{Decimate\+Thread}.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Decimater/\hyperlink{a02040}{Observer.\+hh}\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Decimater/\hyperlink{a02039}{Observer.\+cc}\end{DoxyCompactItemize}
