\hypertarget{classIsotropicRemesher}{}\section{Isotropic\+Remesher$<$ MeshT $>$ Class Template Reference}
\label{classIsotropicRemesher}\index{Isotropic\+Remesher$<$ Mesh\+T $>$@{Isotropic\+Remesher$<$ Mesh\+T $>$}}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classIsotropicRemesher_af6c1e1ceaae6efc62f546f65d11599d2}\label{classIsotropicRemesher_af6c1e1ceaae6efc62f546f65d11599d2}} 
{\bfseries Isotropic\+Remesher} (\hyperlink{classProgressEmitter}{Progress\+Emitter} $\ast$\+\_\+prg\+Emt=N\+U\+LL)
\item 
\mbox{\Hypertarget{classIsotropicRemesher_a1473a574d09990b41336c744adcc6f4a}\label{classIsotropicRemesher_a1473a574d09990b41336c744adcc6f4a}} 
void \hyperlink{classIsotropicRemesher_a1473a574d09990b41336c744adcc6f4a}{remesh} (MeshT \&\+\_\+mesh, const double \+\_\+target\+Edge\+Length)
\begin{DoxyCompactList}\small\item\em do the remeshing \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classIsotropicRemesher_a26036fbb6222bed7b800a042a7ae5fe6}\label{classIsotropicRemesher_a26036fbb6222bed7b800a042a7ae5fe6}} 
void \hyperlink{classIsotropicRemesher_a26036fbb6222bed7b800a042a7ae5fe6}{split\+Long\+Edges} (MeshT \&\+\_\+mesh, const double \+\_\+max\+Edge\+Length)
\begin{DoxyCompactList}\small\item\em performs edge splits until all edges are shorter than the threshold \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classIsotropicRemesher_a0392beca5d6ea80701bcfbe80f4ff96b}\label{classIsotropicRemesher_a0392beca5d6ea80701bcfbe80f4ff96b}} 
void \hyperlink{classIsotropicRemesher_a0392beca5d6ea80701bcfbe80f4ff96b}{collapse\+Short\+Edges} (MeshT \&\+\_\+mesh, const double \+\_\+min\+Edge\+Length, const double \+\_\+max\+Edge\+Length)
\begin{DoxyCompactList}\small\item\em collapse edges shorter than min\+Edge\+Length if collapsing doesn\textquotesingle{}t result in new edge longer than max\+Edge\+Length \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classIsotropicRemesher_afcd65d8d1951e0b790fbcf30b2280bc1}\label{classIsotropicRemesher_afcd65d8d1951e0b790fbcf30b2280bc1}} 
void {\bfseries equalize\+Valences} (MeshT \&\+\_\+mesh)
\item 
\mbox{\Hypertarget{classIsotropicRemesher_af4f6c31ef6a305be18447aad0de130be}\label{classIsotropicRemesher_af4f6c31ef6a305be18447aad0de130be}} 
int \hyperlink{classIsotropicRemesher_af4f6c31ef6a305be18447aad0de130be}{target\+Valence} (MeshT \&\+\_\+mesh, const typename Mesh\+T\+::\+Vertex\+Handle \&\+\_\+vh)
\begin{DoxyCompactList}\small\item\em returns 4 for boundary vertices and 6 otherwise \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classIsotropicRemesher_a21aceae83fdeb813d1a940841f510334}\label{classIsotropicRemesher_a21aceae83fdeb813d1a940841f510334}} 
void {\bfseries tangential\+Relaxation} (MeshT \&\+\_\+mesh)
\item 
\mbox{\Hypertarget{classIsotropicRemesher_add2e8aa62ceb6fb02269def36a148462}\label{classIsotropicRemesher_add2e8aa62ceb6fb02269def36a148462}} 
{\footnotesize template$<$class Spatial\+SearchT $>$ }\\Mesh\+T\+::\+Point {\bfseries find\+Nearest\+Point} (const MeshT \&\+\_\+mesh, const typename Mesh\+T\+::\+Point \&\+\_\+point, typename Mesh\+T\+::\+Face\+Handle \&\+\_\+fh, Spatial\+SearchT $\ast$\+\_\+ssearch, double $\ast$\+\_\+dbest)
\item 
\mbox{\Hypertarget{classIsotropicRemesher_ab4f7a47ca4cf406955f73efb7dc3c207}\label{classIsotropicRemesher_ab4f7a47ca4cf406955f73efb7dc3c207}} 
\hyperlink{classOpenMeshTriangleBSPT}{Open\+Mesh\+Triangle\+B\+S\+PT}$<$ MeshT $>$ $\ast$ {\bfseries get\+Triangle\+B\+SP} (MeshT \&\+\_\+mesh)
\item 
\mbox{\Hypertarget{classIsotropicRemesher_ac47fef14f2cab6bb19c27fabf4dac9ef}\label{classIsotropicRemesher_ac47fef14f2cab6bb19c27fabf4dac9ef}} 
{\footnotesize template$<$class Spatial\+SearchT $>$ }\\void {\bfseries project\+To\+Surface} (MeshT \&\+\_\+mesh, MeshT \&\+\_\+original, Spatial\+SearchT $\ast$\+\_\+ssearch)
\item 
\mbox{\Hypertarget{classIsotropicRemesher_aa78572086b21ef390b87e42fa51c8ac9}\label{classIsotropicRemesher_aa78572086b21ef390b87e42fa51c8ac9}} 
bool {\bfseries is\+Boundary} (MeshT \&\+\_\+mesh, const typename Mesh\+T\+::\+Vertex\+Handle \&\+\_\+vh)
\item 
\mbox{\Hypertarget{classIsotropicRemesher_af1eabb6d8f0bdefd9c5ad92e73ca5455}\label{classIsotropicRemesher_af1eabb6d8f0bdefd9c5ad92e73ca5455}} 
bool {\bfseries is\+Feature} (MeshT \&\+\_\+mesh, const typename Mesh\+T\+::\+Vertex\+Handle \&\+\_\+vh)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classIsotropicRemesher_aa97e6f9fc59a68217e1c22e034c006a8}\label{classIsotropicRemesher_aa97e6f9fc59a68217e1c22e034c006a8}} 
\hyperlink{classProgressEmitter}{Progress\+Emitter} $\ast$ {\bfseries prg\+Emt\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class MeshT$>$\newline
class Isotropic\+Remesher$<$ Mesh\+T $>$}



Definition at line 50 of file Isotropic\+Remesher\+T.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin-\/\+Isotropic\+Remesher/Isotropic\+Remesher\+T.\+hh\item 
Plugin-\/\+Isotropic\+Remesher/Isotropic\+Remesher\+T\+\_\+impl.\+hh\end{DoxyCompactItemize}
