\hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT}{}\section{Open\+Mesh\+:\+:Decimater\+:\+:Mod\+Aspect\+RatioT$<$ MeshT $>$ Class Template Reference}
\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT}\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]{classOpenMesh_1_1Decimater_1_1ModAspectRatioT}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_aae21a220eba88d170977efe7eb691df2}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_aae21a220eba88d170977efe7eb691df2}} 
typedef \hyperlink{classOpenMesh_1_1PolyMeshT_a15372f27edf521d8e9028e2abccae342}{Mesh\+::\+Scalar} {\bfseries Scalar}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a707c4b2fcaa27aa9f08530158f6d0614}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a707c4b2fcaa27aa9f08530158f6d0614}} 
typedef \hyperlink{classOpenMesh_1_1PolyMeshT_aed10fb4dfb536b53a5e20c8f2442eadf}{Mesh\+::\+Point} {\bfseries Point}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a5a97855647addc932e36aaee7b9d3cb0}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a5a97855647addc932e36aaee7b9d3cb0}} 
\hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_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{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a6d2a96a4cff72b63097e469b876adfed}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a6d2a96a4cff72b63097e469b876adfed}} 
\hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a6d2a96a4cff72b63097e469b876adfed}{$\sim$\+Mod\+Aspect\+RatioT} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a18c307d74f2967e6d1afead211ebd96b}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a18c307d74f2967e6d1afead211ebd96b}} 
float \hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a18c307d74f2967e6d1afead211ebd96b}{aspect\+\_\+ratio} () const
\begin{DoxyCompactList}\small\item\em get aspect ratio \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_aabc557d41e0f4acd6f9cc409040c4696}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_aabc557d41e0f4acd6f9cc409040c4696}} 
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_aabc557d41e0f4acd6f9cc409040c4696}{set\+\_\+aspect\+\_\+ratio} (float \+\_\+f)
\begin{DoxyCompactList}\small\item\em set aspect ratio \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_abf03957b45de9fa8d4ecbb04aefd122f}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_abf03957b45de9fa8d4ecbb04aefd122f}} 
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_abf03957b45de9fa8d4ecbb04aefd122f}{initialize} () override
\begin{DoxyCompactList}\small\item\em precompute face aspect ratio \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_aa6326c7103bc353b11ca2deed70551db}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_aa6326c7103bc353b11ca2deed70551db}} 
float \hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_aa6326c7103bc353b11ca2deed70551db}{collapse\+\_\+priority} (const \hyperlink{structOpenMesh_1_1Decimater_1_1CollapseInfoT}{Collapse\+Info} \&\+\_\+ci) override
\begin{DoxyCompactList}\small\item\em Returns the collapse priority. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a79cb59e04d835132ab06219bdb8c477b}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a79cb59e04d835132ab06219bdb8c477b}} 
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a79cb59e04d835132ab06219bdb8c477b}{preprocess\+\_\+collapse} (const \hyperlink{structOpenMesh_1_1Decimater_1_1CollapseInfoT}{Collapse\+Info} \&\+\_\+ci) override
\begin{DoxyCompactList}\small\item\em update aspect ratio of one-\/ring \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_abcd5fb392984964b01589f5556b6243b}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_abcd5fb392984964b01589f5556b6243b}} 
void \hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_abcd5fb392984964b01589f5556b6243b}{set\+\_\+error\+\_\+tolerance\+\_\+factor} (double \+\_\+factor) override
\begin{DoxyCompactList}\small\item\em set percentage of aspect ratio \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
Scalar \hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_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{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a732e8381283a5792e0de47ad06f01e16}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a732e8381283a5792e0de47ad06f01e16}} 
Mesh \& {\bfseries mesh\+\_\+}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a74fa948a5738d2112ef491c5edd09afb}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a74fa948a5738d2112ef491c5edd09afb}} 
float {\bfseries min\+\_\+aspect\+\_\+}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a6f841f689f726a23b9f9a65909785d19}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a6f841f689f726a23b9f9a65909785d19}} 
\hyperlink{structOpenMesh_1_1FPropHandleT}{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{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_a681fe35bb2d74b196711ba4cf67e249c}\label{classOpenMesh_1_1Decimater_1_1ModAspectRatioT_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{classOpenMesh_1_1Decimater_1_1ModAspectRatioT}{Mod\+Aspect\+RatioT}$<$ MeshT $>$\+::Scalar \hyperlink{classOpenMesh_1_1Decimater_1_1ModAspectRatioT}{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{ModAspectRatioT_8hh}{Mod\+Aspect\+Ratio\+T.\+hh}\item 
Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Decimater/\hyperlink{ModAspectRatioT__impl_8hh}{Mod\+Aspect\+Ratio\+T\+\_\+impl.\+hh}\end{DoxyCompactItemize}
