\hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT}{}\section{Open\+Mesh\+:\+:Decimater\+:\+:Mod\+QuadricT$<$ MeshT $>$ Class Template Reference}
\label{classOpenMesh_1_1Decimater_1_1ModQuadricT}\index{Open\+Mesh\+::\+Decimater\+::\+Mod\+Quadric\+T$<$ Mesh\+T $>$@{Open\+Mesh\+::\+Decimater\+::\+Mod\+Quadric\+T$<$ Mesh\+T $>$}}


Mesh decimation module computing collapse priority based on error quadrics.  




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

Inheritance diagram for Open\+Mesh\+:\+:Decimater\+:\+:Mod\+QuadricT$<$ MeshT $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classOpenMesh_1_1Decimater_1_1ModQuadricT}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_a5e58f0092957dcffd14d6ecb6778cc55}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_a5e58f0092957dcffd14d6ecb6778cc55}} 
{\bfseries D\+E\+C\+I\+M\+A\+T\+I\+N\+G\+\_\+\+M\+O\+D\+U\+LE} (\hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT}{Mod\+QuadricT}, MeshT, Quadric)
\item 
\hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_a133497b5da2d4164a2caaa694af2c64a}{Mod\+QuadricT} (MeshT \&\+\_\+mesh)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab61e337c3cea0e7c1e796207ec8bd7e0}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab61e337c3cea0e7c1e796207ec8bd7e0}} 
virtual \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab61e337c3cea0e7c1e796207ec8bd7e0}{$\sim$\+Mod\+QuadricT} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab82a1d6e9d34218a01e150fb447b47a8}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab82a1d6e9d34218a01e150fb447b47a8}} 
virtual void \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab82a1d6e9d34218a01e150fb447b47a8}{initialize} (void) override
\begin{DoxyCompactList}\small\item\em Initalize the module and prepare the mesh for decimation. \end{DoxyCompactList}\item 
virtual float \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_af4ac05dd987deba4903b419bd053a3ef}{collapse\+\_\+priority} (const \hyperlink{structOpenMesh_1_1Decimater_1_1CollapseInfoT}{Collapse\+Info} \&\+\_\+ci) override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_aebe8d7ca4c5f713b41f6108b9ac63f3b}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_aebe8d7ca4c5f713b41f6108b9ac63f3b}} 
virtual void \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_aebe8d7ca4c5f713b41f6108b9ac63f3b}{postprocess\+\_\+collapse} (const \hyperlink{structOpenMesh_1_1Decimater_1_1CollapseInfoT}{Collapse\+Info} \&\+\_\+ci) override
\begin{DoxyCompactList}\small\item\em Post-\/process halfedge collapse (accumulate quadrics) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab2b6ff0a7d2c8c4524b8a1a90e3fd7a8}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab2b6ff0a7d2c8c4524b8a1a90e3fd7a8}} 
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_ab2b6ff0a7d2c8c4524b8a1a90e3fd7a8}{set\+\_\+error\+\_\+tolerance\+\_\+factor} (double \+\_\+factor) override
\begin{DoxyCompactList}\small\item\em set the percentage of maximum quadric error \end{DoxyCompactList}\item 
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_a7fb01ec4e21be8b62d5c299b7126ce99}{set\+\_\+max\+\_\+err} (double \+\_\+err, bool \+\_\+binary=true)
\item 
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_af4f40b99ab088afe24cf10e9b3cda469}{unset\+\_\+max\+\_\+err} (void)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_adc91dc465e147abb93d23dec75920156}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_adc91dc465e147abb93d23dec75920156}} 
double \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_adc91dc465e147abb93d23dec75920156}{max\+\_\+err} () const
\begin{DoxyCompactList}\small\item\em Return value of max. allowed error. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_a5d19c4f2a2ba1cda94316f22917e5f43}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_a5d19c4f2a2ba1cda94316f22917e5f43}} 
double {\bfseries max\+\_\+err\+\_\+}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_add365e115cd723bd90f7a4dcf36746b3}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_add365e115cd723bd90f7a4dcf36746b3}} 
\hyperlink{structOpenMesh_1_1VPropHandleT}{V\+Prop\+HandleT}$<$ \hyperlink{classOpenMesh_1_1Geometry_1_1QuadricT}{Geometry\+::\+QuadricT}$<$ double $>$ $>$ {\bfseries quadrics\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\subsubsection*{template$<$class MeshT$>$\newline
class Open\+Mesh\+::\+Decimater\+::\+Mod\+Quadric\+T$<$ Mesh\+T $>$}

Mesh decimation module computing collapse priority based on error quadrics. 

This module can be used as a binary and non-\/binary module. 

Definition at line 75 of file Mod\+Quadric\+T.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_a133497b5da2d4164a2caaa694af2c64a}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_a133497b5da2d4164a2caaa694af2c64a}} 
\index{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}!Mod\+QuadricT@{Mod\+QuadricT}}
\index{Mod\+QuadricT@{Mod\+QuadricT}!Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}}
\subsubsection{\texorpdfstring{Mod\+Quadric\+T()}{ModQuadricT()}}
{\footnotesize\ttfamily template$<$class MeshT$>$ \\
\hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT}{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}$<$ MeshT $>$\+::\hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT}{Mod\+QuadricT} (\begin{DoxyParamCaption}\item[{MeshT \&}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [explicit]}}

Constructor 

Definition at line 88 of file Mod\+Quadric\+T.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_af4ac05dd987deba4903b419bd053a3ef}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_af4ac05dd987deba4903b419bd053a3ef}} 
\index{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}!collapse\+\_\+priority@{collapse\+\_\+priority}}
\index{collapse\+\_\+priority@{collapse\+\_\+priority}!Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}}
\subsubsection{\texorpdfstring{collapse\+\_\+priority()}{collapse\_priority()}}
{\footnotesize\ttfamily template$<$class MeshT$>$ \\
virtual float \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT}{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}$<$ MeshT $>$\+::collapse\+\_\+priority (\begin{DoxyParamCaption}\item[{const \hyperlink{structOpenMesh_1_1Decimater_1_1CollapseInfoT}{Collapse\+Info} \&}]{\+\_\+ci }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

Compute collapse priority based on error quadrics.

\begin{DoxySeeAlso}{See also}
\hyperlink{classOpenMesh_1_1Decimater_1_1ModBaseT_acb81c6b9a752741fce2366ca605cd14c}{Mod\+Base\+T\+::collapse\+\_\+priority()} for return values 

\hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_a7fb01ec4e21be8b62d5c299b7126ce99}{set\+\_\+max\+\_\+err()} 
\end{DoxySeeAlso}


Reimplemented from \hyperlink{classOpenMesh_1_1Decimater_1_1ModBaseT_acb81c6b9a752741fce2366ca605cd14c}{Open\+Mesh\+::\+Decimater\+::\+Mod\+Base\+T$<$ Mesh\+T $>$}.



Reimplemented in \hyperlink{classModBalancerT_a98d09d915ecb98c5e7e771175953be53}{Mod\+Balancer\+T$<$ D $>$}.



Definition at line 113 of file Mod\+Quadric\+T.\+hh.

\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_a7fb01ec4e21be8b62d5c299b7126ce99}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_a7fb01ec4e21be8b62d5c299b7126ce99}} 
\index{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}!set\+\_\+max\+\_\+err@{set\+\_\+max\+\_\+err}}
\index{set\+\_\+max\+\_\+err@{set\+\_\+max\+\_\+err}!Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}}
\subsubsection{\texorpdfstring{set\+\_\+max\+\_\+err()}{set\_max\_err()}}
{\footnotesize\ttfamily template$<$class MeshT$>$ \\
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT}{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}$<$ MeshT $>$\+::set\+\_\+max\+\_\+err (\begin{DoxyParamCaption}\item[{double}]{\+\_\+err,  }\item[{bool}]{\+\_\+binary = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set maximum quadric error constraint and enable binary mode. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+err} & Maximum error allowed \\
\hline
{\em \+\_\+binary} & Let the module work in non-\/binary mode in spite of the enabled constraint. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_af4f40b99ab088afe24cf10e9b3cda469}{unset\+\_\+max\+\_\+err()} 
\end{DoxySeeAlso}


Definition at line 153 of file Mod\+Quadric\+T.\+hh.

\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModQuadricT_af4f40b99ab088afe24cf10e9b3cda469}\label{classOpenMesh_1_1Decimater_1_1ModQuadricT_af4f40b99ab088afe24cf10e9b3cda469}} 
\index{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}!unset\+\_\+max\+\_\+err@{unset\+\_\+max\+\_\+err}}
\index{unset\+\_\+max\+\_\+err@{unset\+\_\+max\+\_\+err}!Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}}
\subsubsection{\texorpdfstring{unset\+\_\+max\+\_\+err()}{unset\_max\_err()}}
{\footnotesize\ttfamily template$<$class MeshT$>$ \\
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT}{Open\+Mesh\+::\+Decimater\+::\+Mod\+QuadricT}$<$ MeshT $>$\+::unset\+\_\+max\+\_\+err (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Unset maximum quadric error constraint and restore non-\/binary mode. \begin{DoxySeeAlso}{See also}
\hyperlink{classOpenMesh_1_1Decimater_1_1ModQuadricT_a7fb01ec4e21be8b62d5c299b7126ce99}{set\+\_\+max\+\_\+err()} 
\end{DoxySeeAlso}


Definition at line 161 of file Mod\+Quadric\+T.\+hh.



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{ModQuadricT_8hh}{Mod\+Quadric\+T.\+hh}\item 
Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Decimater/\hyperlink{ModQuadricT__impl_8hh}{Mod\+Quadric\+T\+\_\+impl.\+hh}\end{DoxyCompactItemize}
