\hypertarget{a08948}{}\section{Open\+Mesh\+:\+:Decimater\+:\+:Mod\+Aspect\+RatioT$<$ MeshT $>$ Class Template Reference}
\label{a08948}\index{Open\+Mesh\+::\+Decimater\+::\+Mod\+Aspect\+Ratio\+T$<$ Mesh\+T $>$@{Open\+Mesh\+::\+Decimater\+::\+Mod\+Aspect\+Ratio\+T$<$ Mesh\+T $>$}}


Use aspect ratio to control decimation.  




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

Inheritance diagram for Open\+Mesh\+:\+:Decimater\+:\+:Mod\+Aspect\+RatioT$<$ MeshT $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a08948}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08948_aae21a220eba88d170977efe7eb691df2}\label{a08948_aae21a220eba88d170977efe7eb691df2}} 
typedef \hyperlink{a08776_a15372f27edf521d8e9028e2abccae342}{Mesh\+::\+Scalar} {\bfseries Scalar}
\item 
\mbox{\Hypertarget{a08948_a707c4b2fcaa27aa9f08530158f6d0614}\label{a08948_a707c4b2fcaa27aa9f08530158f6d0614}} 
typedef \hyperlink{a08776_aed10fb4dfb536b53a5e20c8f2442eadf}{Mesh\+::\+Point} {\bfseries Point}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08948_a5a97855647addc932e36aaee7b9d3cb0}\label{a08948_a5a97855647addc932e36aaee7b9d3cb0}} 
\hyperlink{a08948_a5a97855647addc932e36aaee7b9d3cb0}{Mod\+Aspect\+RatioT} (MeshT \&\+\_\+mesh, float \+\_\+min\+\_\+aspect=5.\+0, bool \+\_\+is\+\_\+binary=true)
\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08948_a6d2a96a4cff72b63097e469b876adfed}\label{a08948_a6d2a96a4cff72b63097e469b876adfed}} 
\hyperlink{a08948_a6d2a96a4cff72b63097e469b876adfed}{$\sim$\+Mod\+Aspect\+RatioT} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08948_a18c307d74f2967e6d1afead211ebd96b}\label{a08948_a18c307d74f2967e6d1afead211ebd96b}} 
float \hyperlink{a08948_a18c307d74f2967e6d1afead211ebd96b}{aspect\+\_\+ratio} () const
\begin{DoxyCompactList}\small\item\em get aspect ratio \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08948_aabc557d41e0f4acd6f9cc409040c4696}\label{a08948_aabc557d41e0f4acd6f9cc409040c4696}} 
void \hyperlink{a08948_aabc557d41e0f4acd6f9cc409040c4696}{set\+\_\+aspect\+\_\+ratio} (float \+\_\+f)
\begin{DoxyCompactList}\small\item\em set aspect ratio \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08948_ac225098b93bfec144931797078850e4d}\label{a08948_ac225098b93bfec144931797078850e4d}} 
void \hyperlink{a08948_ac225098b93bfec144931797078850e4d}{initialize} ()
\begin{DoxyCompactList}\small\item\em precompute face aspect ratio \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08948_a088057a7f4482c86831a05b54de2271e}\label{a08948_a088057a7f4482c86831a05b54de2271e}} 
float \hyperlink{a08948_a088057a7f4482c86831a05b54de2271e}{collapse\+\_\+priority} (const \hyperlink{a08928}{Collapse\+Info} \&\+\_\+ci)
\begin{DoxyCompactList}\small\item\em Returns the collapse priority. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08948_aa4049ce266c474b148702674ede963a1}\label{a08948_aa4049ce266c474b148702674ede963a1}} 
void \hyperlink{a08948_aa4049ce266c474b148702674ede963a1}{preprocess\+\_\+collapse} (const \hyperlink{a08928}{Collapse\+Info} \&\+\_\+ci)
\begin{DoxyCompactList}\small\item\em update aspect ratio of one-\/ring \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08948_a0de961edd95e71ce601e2f675c11b648}\label{a08948_a0de961edd95e71ce601e2f675c11b648}} 
void \hyperlink{a08948_a0de961edd95e71ce601e2f675c11b648}{set\+\_\+error\+\_\+tolerance\+\_\+factor} (double \+\_\+factor)
\begin{DoxyCompactList}\small\item\em set percentage of aspect ratio \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
Scalar \hyperlink{a08948_a681fe35bb2d74b196711ba4cf67e249c}{aspect\+Ratio} (const Point \&\+\_\+v0, const Point \&\+\_\+v1, const Point \&\+\_\+v2)
\begin{DoxyCompactList}\small\item\em return aspect ratio (length/height) of triangle \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08948_a732e8381283a5792e0de47ad06f01e16}\label{a08948_a732e8381283a5792e0de47ad06f01e16}} 
Mesh \& {\bfseries mesh\+\_\+}
\item 
\mbox{\Hypertarget{a08948_a74fa948a5738d2112ef491c5edd09afb}\label{a08948_a74fa948a5738d2112ef491c5edd09afb}} 
float {\bfseries min\+\_\+aspect\+\_\+}
\item 
\mbox{\Hypertarget{a08948_a6f841f689f726a23b9f9a65909785d19}\label{a08948_a6f841f689f726a23b9f9a65909785d19}} 
\hyperlink{a08888}{F\+Prop\+HandleT}$<$ float $>$ {\bfseries aspect\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


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

Use aspect ratio to control decimation. 

This module computes the aspect ratio.

In binary mode, the collapse is legal if\+:
\begin{DoxyItemize}
\item The aspect ratio after the collapse is greater
\item The aspect ratio after the collapse is greater than the given minimum
\end{DoxyItemize}

In continuous mode the collapse is illegal if\+:
\begin{DoxyItemize}
\item The aspect ratio after the collapse is smaller than the given minimum 
\end{DoxyItemize}

Definition at line 81 of file Mod\+Aspect\+Ratio\+T.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08948_a681fe35bb2d74b196711ba4cf67e249c}\label{a08948_a681fe35bb2d74b196711ba4cf67e249c}} 
\index{Open\+Mesh\+::\+Decimater\+::\+Mod\+Aspect\+RatioT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+Aspect\+RatioT}!aspect\+Ratio@{aspect\+Ratio}}
\index{aspect\+Ratio@{aspect\+Ratio}!Open\+Mesh\+::\+Decimater\+::\+Mod\+Aspect\+RatioT@{Open\+Mesh\+::\+Decimater\+::\+Mod\+Aspect\+RatioT}}
\subsubsection{\texorpdfstring{aspect\+Ratio()}{aspectRatio()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
\hyperlink{a08948}{Mod\+Aspect\+RatioT}$<$ MeshT $>$\+::Scalar \hyperlink{a08948}{Open\+Mesh\+::\+Decimater\+::\+Mod\+Aspect\+RatioT}$<$ MeshT $>$\+::aspect\+Ratio (\begin{DoxyParamCaption}\item[{const Point \&}]{\+\_\+v0,  }\item[{const Point \&}]{\+\_\+v1,  }\item[{const Point \&}]{\+\_\+v2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



return aspect ratio (length/height) of triangle 



Definition at line 65 of file Mod\+Aspect\+Ratio\+T\+\_\+impl.\+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{a02201}{Mod\+Aspect\+Ratio\+T.\+hh}\item 
Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Decimater/\hyperlink{a02204}{Mod\+Aspect\+Ratio\+T\+\_\+impl.\+hh}\end{DoxyCompactItemize}
