\hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT}{}\section{Open\+Mesh\+:\+:Subdivider\+:\+:Uniform\+:\+:Longest\+EdgeT$<$ Mesh\+Type, Real\+Type $>$ Class Template Reference}
\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT}\index{Open\+Mesh\+::\+Subdivider\+::\+Uniform\+::\+Longest\+Edge\+T$<$ Mesh\+Type, Real\+Type $>$@{Open\+Mesh\+::\+Subdivider\+::\+Uniform\+::\+Longest\+Edge\+T$<$ Mesh\+Type, Real\+Type $>$}}


{\ttfamily \#include $<$Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Subdivider/\+Uniform/\+Longest\+Edge\+T.\+hh$>$}

Inheritance diagram for Open\+Mesh\+:\+:Subdivider\+:\+:Uniform\+:\+:Longest\+EdgeT$<$ Mesh\+Type, Real\+Type $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_ad29c40f3adbb8d27e1dc7b9a6e7c380c}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_ad29c40f3adbb8d27e1dc7b9a6e7c380c}} 
typedef Real\+Type {\bfseries real\+\_\+t}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a8c727c6d732be3d34baee72afc5ab822}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a8c727c6d732be3d34baee72afc5ab822}} 
typedef Mesh\+Type {\bfseries mesh\+\_\+t}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_af35a3b15e8c6893b99c995972777ae90}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_af35a3b15e8c6893b99c995972777ae90}} 
typedef \hyperlink{classOpenMesh_1_1Subdivider_1_1Uniform_1_1SubdividerT}{SubdividerT}$<$ mesh\+\_\+t, real\+\_\+t $>$ {\bfseries parent\+\_\+t}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_ace17b8d9ec6a212275c2d25dc128c81c}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_ace17b8d9ec6a212275c2d25dc128c81c}} 
typedef std\+::vector$<$ std\+::vector$<$ real\+\_\+t $>$ $>$ {\bfseries weights\+\_\+t}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a7dfdb07debd8e0bcd3133a28f5ba86d1}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a7dfdb07debd8e0bcd3133a28f5ba86d1}} 
typedef std\+::vector$<$ real\+\_\+t $>$ {\bfseries weight\+\_\+t}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_ad40663d180c47ef016582a8843329465}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_ad40663d180c47ef016582a8843329465}} 
typedef std\+::pair$<$ typename mesh\+\_\+t\+::\+Edge\+Handle, real\+\_\+t $>$ {\bfseries queue\+Element}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_afffa088e8220f07f00d4016fad24144a}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_afffa088e8220f07f00d4016fad24144a}} 
{\bfseries Longest\+EdgeT} (mesh\+\_\+t \&\+\_\+m)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a3a25b67006e4c11f71d4a31a7ef84165}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a3a25b67006e4c11f71d4a31a7ef84165}} 
const char $\ast$ \hyperlink{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a3a25b67006e4c11f71d4a31a7ef84165}{name} () const
\begin{DoxyCompactList}\small\item\em Return name of subdivision algorithm. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_ad234a798b7522ed457283bc2099128a0}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_ad234a798b7522ed457283bc2099128a0}} 
void {\bfseries set\+\_\+max\+\_\+edge\+\_\+length} (double \+\_\+value)
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a148e2fcd262625cec18244ba337e3ace}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a148e2fcd262625cec18244ba337e3ace}} 
bool \hyperlink{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a148e2fcd262625cec18244ba337e3ace}{prepare} (mesh\+\_\+t \&\+\_\+m)
\begin{DoxyCompactList}\small\item\em Prepare mesh, e.\+g. add properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a227a1bae357bc040507232393a4231a7}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a227a1bae357bc040507232393a4231a7}} 
bool \hyperlink{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a227a1bae357bc040507232393a4231a7}{cleanup} (mesh\+\_\+t \&\+\_\+m)
\begin{DoxyCompactList}\small\item\em Cleanup mesh after usage, e.\+g. remove added properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a98d1a40c83b9b5ece9c0c467ca6cc588}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a98d1a40c83b9b5ece9c0c467ca6cc588}} 
bool \hyperlink{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_a98d1a40c83b9b5ece9c0c467ca6cc588}{subdivide} (Mesh\+Type \&\+\_\+m, size\+\_\+t \+\_\+n, const bool \+\_\+update\+\_\+points=true)
\begin{DoxyCompactList}\small\item\em Subdivide mesh {\ttfamily \+\_\+m} {\ttfamily \+\_\+n} times. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_afdd9086965794426afd4bb13018d8102}\label{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT_afdd9086965794426afd4bb13018d8102}} 
real\+\_\+t {\bfseries max\+\_\+edge\+\_\+length\+\_\+squared\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Mesh\+Type, typename Real\+Type = float$>$\newline
class Open\+Mesh\+::\+Subdivider\+::\+Uniform\+::\+Longest\+Edge\+T$<$ Mesh\+Type, Real\+Type $>$}

Uniform \hyperlink{classOpenMesh_1_1Subdivider_1_1Uniform_1_1LongestEdgeT}{Longest\+EdgeT} subdivision algorithm

Very simple algorithm splitting all edges which are longer than given via set\+\_\+max\+\_\+edge\+\_\+length(). The split is always performed on the longest edge in the mesh. 

Definition at line 99 of file Longest\+Edge\+T.\+hh.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Subdivider/\+Uniform/\hyperlink{LongestEdgeT_8hh}{Longest\+Edge\+T.\+hh}\end{DoxyCompactItemize}
