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


\hyperlink{a08996}{Observer} class.  




{\ttfamily \#include $<$Open\+Flipper/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]{a08996}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a08996_a750859bbf0ed03ba1b6cb2601305e9f6}{Observer} (size\+\_\+t \+\_\+notification\+Interval)
\item 
\mbox{\Hypertarget{a08996_a5146f52949ea9a510db353f48335259a}\label{a08996_a5146f52949ea9a510db353f48335259a}} 
virtual \hyperlink{a08996_a5146f52949ea9a510db353f48335259a}{$\sim$\+Observer} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08996_a74e3ab359dbb2ce9c4a0d20869071941}\label{a08996_a74e3ab359dbb2ce9c4a0d20869071941}} 
size\+\_\+t \hyperlink{a08996_a74e3ab359dbb2ce9c4a0d20869071941}{get\+\_\+interval} () const
\begin{DoxyCompactList}\small\item\em Get the interval between notification steps. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08996_a2aead36d8cb482a9d19d0f485db3e786}\label{a08996_a2aead36d8cb482a9d19d0f485db3e786}} 
void \hyperlink{a08996_a2aead36d8cb482a9d19d0f485db3e786}{set\+\_\+interval} (size\+\_\+t \+\_\+notification\+Interval)
\begin{DoxyCompactList}\small\item\em Set the interval between notification steps. \end{DoxyCompactList}\item 
virtual void \hyperlink{a08996_ae7279c819cb88693c739f109bc21eaf4}{notify} (size\+\_\+t \+\_\+step)=0
\begin{DoxyCompactList}\small\item\em callback \end{DoxyCompactList}\item 
virtual bool \hyperlink{a08996_a8c18687cd88bbb0775577673c900d0a1}{abort} () const
\begin{DoxyCompactList}\small\item\em Abort callback. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08996_ae7d982d1075e70013820cd5de896bb5c}\label{a08996_ae7d982d1075e70013820cd5de896bb5c}} 
size\+\_\+t {\bfseries notification\+Interval\+\_\+}
\end{DoxyCompactItemize}


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

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

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



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a08996_a750859bbf0ed03ba1b6cb2601305e9f6}\label{a08996_a750859bbf0ed03ba1b6cb2601305e9f6}} 
\index{Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}!Observer@{Observer}}
\index{Observer@{Observer}!Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}}
\subsubsection{\texorpdfstring{Observer()}{Observer()}}
{\footnotesize\ttfamily Open\+Mesh\+::\+Decimater\+::\+Observer\+::\+Observer (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{\+\_\+notification\+Interval }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}

Create an observer


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


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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08996_a8c18687cd88bbb0775577673c900d0a1}\label{a08996_a8c18687cd88bbb0775577673c900d0a1}} 
\index{Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}!abort@{abort}}
\index{abort@{abort}!Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}}
\subsubsection{\texorpdfstring{abort()}{abort()}}
{\footnotesize\ttfamily bool Open\+Mesh\+::\+Decimater\+::\+Observer\+::abort (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



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{a10120_a83f1baf40a4aadd9b2f76f817ba7b849}{Decimate\+Thread}.



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

\mbox{\Hypertarget{a08996_ae7279c819cb88693c739f109bc21eaf4}\label{a08996_ae7279c819cb88693c739f109bc21eaf4}} 
\index{Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}!notify@{notify}}
\index{notify@{notify}!Open\+Mesh\+::\+Decimater\+::\+Observer@{Open\+Mesh\+::\+Decimater\+::\+Observer}}
\subsubsection{\texorpdfstring{notify()}{notify()}}
{\footnotesize\ttfamily virtual void Open\+Mesh\+::\+Decimater\+::\+Observer\+::notify (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{\+\_\+step }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



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{a10120_a9fba228d45e2cae87488c6cfe07464cc}{Decimate\+Thread}.



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