\hypertarget{classOpenMesh_1_1LoopSchemeMaskT}{}\section{Open\+Mesh\+:\+:Loop\+Scheme\+MaskT$<$ T\+\_\+, cache\+\_\+size\+\_\+ $>$ Class Template Reference}
\label{classOpenMesh_1_1LoopSchemeMaskT}\index{Open\+Mesh\+::\+Loop\+Scheme\+Mask\+T$<$ T\+\_\+, cache\+\_\+size\+\_\+ $>$@{Open\+Mesh\+::\+Loop\+Scheme\+Mask\+T$<$ T\+\_\+, cache\+\_\+size\+\_\+ $>$}}


{\ttfamily \#include $<$Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Geometry/\+Loop\+Scheme\+Mask\+T.\+hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a2ca8d450aef71e157dc36c078edb87ce}\label{classOpenMesh_1_1LoopSchemeMaskT_a2ca8d450aef71e157dc36c078edb87ce}} 
enum \{ {\bfseries cache\+\_\+size} = cache\+\_\+size\+\_\+
 \}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a0f815ec9bb2e657f7a3f84d878f9ff5f}\label{classOpenMesh_1_1LoopSchemeMaskT_a0f815ec9bb2e657f7a3f84d878f9ff5f}} 
typedef T\+\_\+ {\bfseries Scalar}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a9d6eeec62ab3c116bb19f1722339378e}\label{classOpenMesh_1_1LoopSchemeMaskT_a9d6eeec62ab3c116bb19f1722339378e}} 
Scalar {\bfseries proj\+\_\+weight} (uint \+\_\+valence) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_ac7387c4056badf2a7e29bf2d8be69a9d}\label{classOpenMesh_1_1LoopSchemeMaskT_ac7387c4056badf2a7e29bf2d8be69a9d}} 
Scalar {\bfseries limit\+\_\+weight} (uint \+\_\+valence) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a888a97359e0a0c1bbc54fe763d5bb2d9}\label{classOpenMesh_1_1LoopSchemeMaskT_a888a97359e0a0c1bbc54fe763d5bb2d9}} 
Scalar {\bfseries step\+\_\+weight} (uint \+\_\+valence, uint \+\_\+step) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_ac6eecbe7d80003734f8be2ec977eb58e}\label{classOpenMesh_1_1LoopSchemeMaskT_ac6eecbe7d80003734f8be2ec977eb58e}} 
Scalar {\bfseries tang0\+\_\+weight} (uint \+\_\+valence, uint \+\_\+ver\+\_\+id) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a5d161c35e99ad03b4ff83c04a2c03cb5}\label{classOpenMesh_1_1LoopSchemeMaskT_a5d161c35e99ad03b4ff83c04a2c03cb5}} 
Scalar {\bfseries tang1\+\_\+weight} (uint \+\_\+valence, uint \+\_\+ver\+\_\+id) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a760eb62fd2163ca43375f6ef68719c98}\label{classOpenMesh_1_1LoopSchemeMaskT_a760eb62fd2163ca43375f6ef68719c98}} 
void {\bfseries dump} (uint \+\_\+max\+\_\+valency=cache\+\_\+size -\/ 1) const
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a10b947070422ff2faff866ec549ea16f}\label{classOpenMesh_1_1LoopSchemeMaskT_a10b947070422ff2faff866ec549ea16f}} 
void {\bfseries cache\+\_\+weights} ()
\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a197b41d65d2d79b476357146bb457921}\label{classOpenMesh_1_1LoopSchemeMaskT_a197b41d65d2d79b476357146bb457921}} 
static Scalar {\bfseries compute\+\_\+proj\+\_\+weight} (uint \+\_\+valence)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a45fbfb0f3843c64a7b227f4cd34919fa}\label{classOpenMesh_1_1LoopSchemeMaskT_a45fbfb0f3843c64a7b227f4cd34919fa}} 
static Scalar {\bfseries compute\+\_\+limit\+\_\+weight} (uint \+\_\+valence)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_ae2c973f5129e4051fb46bea6ecbf9a4d}\label{classOpenMesh_1_1LoopSchemeMaskT_ae2c973f5129e4051fb46bea6ecbf9a4d}} 
static Scalar {\bfseries compute\+\_\+step\+\_\+weight} (uint \+\_\+valence)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a0ca6cbf8744e8c0910dfbbb8dbcb6655}\label{classOpenMesh_1_1LoopSchemeMaskT_a0ca6cbf8744e8c0910dfbbb8dbcb6655}} 
static Scalar {\bfseries compute\+\_\+tang0\+\_\+weight} (uint \+\_\+valence, uint \+\_\+ver\+\_\+id)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a051e64db92d06bd72490b63f193fedde}\label{classOpenMesh_1_1LoopSchemeMaskT_a051e64db92d06bd72490b63f193fedde}} 
static Scalar {\bfseries compute\+\_\+tang1\+\_\+weight} (uint \+\_\+valence, uint \+\_\+ver\+\_\+id)
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a201247c73dbc940b06adfbf6b6661af3}\label{classOpenMesh_1_1LoopSchemeMaskT_a201247c73dbc940b06adfbf6b6661af3}} 
Scalar {\bfseries proj\+\_\+weights\+\_\+} \mbox{[}cache\+\_\+size\mbox{]}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a8fc9781741937caeb34fac4abf252e05}\label{classOpenMesh_1_1LoopSchemeMaskT_a8fc9781741937caeb34fac4abf252e05}} 
Scalar {\bfseries limit\+\_\+weights\+\_\+} \mbox{[}cache\+\_\+size\mbox{]}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_aad3108336bda6bc7a6a70b53cca3a43a}\label{classOpenMesh_1_1LoopSchemeMaskT_aad3108336bda6bc7a6a70b53cca3a43a}} 
Scalar {\bfseries step\+\_\+weights\+\_\+} \mbox{[}cache\+\_\+size\mbox{]}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a33077b36397d36ada75a5bbdbb2479f2}\label{classOpenMesh_1_1LoopSchemeMaskT_a33077b36397d36ada75a5bbdbb2479f2}} 
std\+::vector$<$ Scalar $>$ {\bfseries tang0\+\_\+weights\+\_\+} \mbox{[}cache\+\_\+size\mbox{]}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1LoopSchemeMaskT_a9f3a55d7d78f363622f60b1b31ceba08}\label{classOpenMesh_1_1LoopSchemeMaskT_a9f3a55d7d78f363622f60b1b31ceba08}} 
std\+::vector$<$ Scalar $>$ {\bfseries tang1\+\_\+weights\+\_\+} \mbox{[}cache\+\_\+size\mbox{]}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class T\+\_\+, unsigned int cache\+\_\+size\+\_\+ = 100$>$\newline
class Open\+Mesh\+::\+Loop\+Scheme\+Mask\+T$<$ T\+\_\+, cache\+\_\+size\+\_\+ $>$}

implements cache for the weights of the original Loop scheme supported\+:
\begin{DoxyItemize}
\item vertex projection rule on the next level
\item vertex projection rule on the limit surface
\item vertex projection rule on the k-\/th (level) step (Barthe, Kobbelt\textquotesingle{}2003)
\item vertex tangents on the limit surface 
\end{DoxyItemize}

Definition at line 66 of file Loop\+Scheme\+Mask\+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/\+Core/\+Geometry/Loop\+Scheme\+Mask\+T.\+hh\end{DoxyCompactItemize}
