\hypertarget{a00799}{\section{Open\+Mesh\+:\+:Decimater\+:\+:Mc\+Decimater\+T$<$ Mesh\+T $>$ Class Template Reference}
\label{a00799}\index{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T$<$ Mesh\+T $>$@{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T$<$ Mesh\+T $>$}}
}


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

Inheritance diagram for Open\+Mesh\+:\+:Decimater\+:\+:Mc\+Decimater\+T$<$ Mesh\+T $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{a00799}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00799_a5950abd4cad1bf61e0e0a9daba42d3ce}{typedef \hyperlink{a00799}{Mc\+Decimater\+T}$<$ Mesh\+T $>$ {\bfseries Self}}\label{a00799_a5950abd4cad1bf61e0e0a9daba42d3ce}

\item 
\hypertarget{a00799_a3054af0c7659c3f27f693018b131cd0c}{typedef Mesh\+T {\bfseries Mesh}}\label{a00799_a3054af0c7659c3f27f693018b131cd0c}

\item 
\hypertarget{a00799_a8cff5875e1e456667f0ca05420ca3e92}{typedef \hyperlink{a00417}{Collapse\+Info\+T}$<$ Mesh\+T $>$ {\bfseries Collapse\+Info}}\label{a00799_a8cff5875e1e456667f0ca05420ca3e92}

\item 
\hypertarget{a00799_a6501d09092b4df14a3e46a7a161f9337}{typedef \hyperlink{a00846}{Mod\+Base\+T}$<$ Mesh\+T $>$ {\bfseries Module}}\label{a00799_a6501d09092b4df14a3e46a7a161f9337}

\item 
\hypertarget{a00799_ad056e5c852766bec7e05d23f59c1b9ba}{typedef std\+::vector$<$ \hyperlink{a00846}{Module} $\ast$ $>$ {\bfseries Module\+List}}\label{a00799_ad056e5c852766bec7e05d23f59c1b9ba}

\item 
\hypertarget{a00799_a6dc3f96d74cf75d323ea940027e3974d}{typedef Module\+List\+::iterator {\bfseries Module\+List\+Iterator}}\label{a00799_a6dc3f96d74cf75d323ea940027e3974d}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00799_afe1195415c6af21ccf2a887311f049ed}{\hyperlink{a00799_afe1195415c6af21ccf2a887311f049ed}{Mc\+Decimater\+T} (Mesh \&\+\_\+mesh)}\label{a00799_afe1195415c6af21ccf2a887311f049ed}

\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\hypertarget{a00799_a61aed0a3dbbe2d939c2a99e5f3533454}{\hyperlink{a00799_a61aed0a3dbbe2d939c2a99e5f3533454}{$\sim$\+Mc\+Decimater\+T} ()}\label{a00799_a61aed0a3dbbe2d939c2a99e5f3533454}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{a00799_a970cfba9e739a07ff77fa1969e97ad82}{decimate} (size\+\_\+t \+\_\+n\+\_\+collapses)
\item 
\hypertarget{a00799_acdaedd58779309579511a37ff4520e54}{size\+\_\+t \hyperlink{a00799_acdaedd58779309579511a37ff4520e54}{decimate\+\_\+to} (size\+\_\+t \+\_\+n\+\_\+vertices)}\label{a00799_acdaedd58779309579511a37ff4520e54}

\begin{DoxyCompactList}\small\item\em Decimate to target complexity, returns number of collapses. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{a00799_a24b41676c8b93a5587a2bb36dbfb0b94}{decimate\+\_\+to\+\_\+faces} (size\+\_\+t \+\_\+n\+\_\+vertices=0, size\+\_\+t \+\_\+n\+\_\+faces=0)
\item 
size\+\_\+t \hyperlink{a00799_abb7c3b986b8319da869023e2c1dfc44b}{decimate\+\_\+constraints\+\_\+only} (float \+\_\+factor)
\item 
\hypertarget{a00799_ac5d8a59149367a5e8494b352d505c062}{size\+\_\+t {\bfseries samples} ()}\label{a00799_ac5d8a59149367a5e8494b352d505c062}

\item 
\hypertarget{a00799_a9ffdd544cc357da5ab7df13238426987}{void {\bfseries set\+\_\+samples} (const size\+\_\+t \+\_\+value)}\label{a00799_a9ffdd544cc357da5ab7df13238426987}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00799_a62f9d47a4990ba4a1c78ba422c9aa0b8}{Mesh \& {\bfseries mesh\+\_\+}}\label{a00799_a62f9d47a4990ba4a1c78ba422c9aa0b8}

\item 
\hypertarget{a00799_a07041ed7dd207a11caac2013b0d86185}{size\+\_\+t {\bfseries random\+Samples\+\_\+}}\label{a00799_a07041ed7dd207a11caac2013b0d86185}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Mesh\+T$>$class Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T$<$ Mesh\+T $>$}

Multiple choice decimater framework \begin{DoxySeeAlso}{See also}
Base\+Mod\+T, \hyperlink{decimater_docu}{Mesh Decimation Framework} 
\end{DoxySeeAlso}


Definition at line 82 of file Mc\+Decimater\+T.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00799_a970cfba9e739a07ff77fa1969e97ad82}{\index{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T@{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}!decimate@{decimate}}
\index{decimate@{decimate}!Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T@{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}}
\subsubsection[{decimate}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ size\+\_\+t {\bf Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}$<$ Mesh $>$\+::decimate (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+n\+\_\+collapses}
\end{DoxyParamCaption}
)}}\label{a00799_a970cfba9e739a07ff77fa1969e97ad82}
Decimate (perform \+\_\+n\+\_\+collapses collapses). Return number of performed collapses. If \+\_\+n\+\_\+collapses is not given reduce as much as possible 

Definition at line 108 of file Mc\+Decimater\+T.\+cc.

\hypertarget{a00799_abb7c3b986b8319da869023e2c1dfc44b}{\index{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T@{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}!decimate\+\_\+constraints\+\_\+only@{decimate\+\_\+constraints\+\_\+only}}
\index{decimate\+\_\+constraints\+\_\+only@{decimate\+\_\+constraints\+\_\+only}!Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T@{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}}
\subsubsection[{decimate\+\_\+constraints\+\_\+only}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ size\+\_\+t {\bf Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}$<$ Mesh $>$\+::decimate\+\_\+constraints\+\_\+only (
\begin{DoxyParamCaption}
\item[{float}]{\+\_\+factor}
\end{DoxyParamCaption}
)}}\label{a00799_abb7c3b986b8319da869023e2c1dfc44b}
Decimate only with constraints, while \+\_\+factor gives the percentage of the constraints that should be used 

Definition at line 375 of file Mc\+Decimater\+T.\+cc.

\hypertarget{a00799_a24b41676c8b93a5587a2bb36dbfb0b94}{\index{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T@{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}!decimate\+\_\+to\+\_\+faces@{decimate\+\_\+to\+\_\+faces}}
\index{decimate\+\_\+to\+\_\+faces@{decimate\+\_\+to\+\_\+faces}!Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T@{Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}}
\subsubsection[{decimate\+\_\+to\+\_\+faces}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ size\+\_\+t {\bf Open\+Mesh\+::\+Decimater\+::\+Mc\+Decimater\+T}$<$ Mesh $>$\+::decimate\+\_\+to\+\_\+faces (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+n\+\_\+vertices = {\ttfamily 0}, }
\item[{size\+\_\+t}]{\+\_\+n\+\_\+faces = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}\label{a00799_a24b41676c8b93a5587a2bb36dbfb0b94}
Decimate to target complexity (vertices and faces). Stops when the number of vertices or the number of faces is reached. Returns number of performed collapses. 

Definition at line 232 of file Mc\+Decimater\+T.\+cc.



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