\hypertarget{a00441}{\section{Open\+Mesh\+:\+:Subdivider\+:\+:Adaptive\+:\+:Composite\+Traits Struct Reference}
\label{a00441}\index{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits@{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits}}
}


{\ttfamily \#include $<$libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Subdivider/\+Adaptive/\+Composite/\+Composite\+Traits.\+hh$>$}

Inheritance diagram for Open\+Mesh\+:\+:Subdivider\+:\+:Adaptive\+:\+:Composite\+Traits\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00441}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a01233}{State}
\begin{DoxyCompactList}\small\item\em Storage type for intermediate states and the final flag of a mesh entity. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{typedef int \hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t}}\label{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}

\begin{DoxyCompactList}\small\item\em External representation for intermediate state. \end{DoxyCompactList}\item 
\hypertarget{a00441_a6130640284ae3223c2a7e3c54269d4f1}{typedef bool \hyperlink{a00441_a6130640284ae3223c2a7e3c54269d4f1}{final\+\_\+t}}\label{a00441_a6130640284ae3223c2a7e3c54269d4f1}

\begin{DoxyCompactList}\small\item\em External representation for final flag. \end{DoxyCompactList}\item 
\hypertarget{a00441_acd97b60d53a940be95886b312063eb05}{typedef Refs\+::\+Halfedge\+Handle {\bfseries Halfedge\+Handle}}\label{a00441_acd97b60d53a940be95886b312063eb05}

\item 
\hypertarget{a00441_ac05be418c577d9f63052cc2b292c9bb2}{typedef std\+::map$<$ \hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t}, \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} $>$ {\bfseries Position\+History}}\label{a00441_ac05be418c577d9f63052cc2b292c9bb2}

\item 
\hypertarget{a00441_ac05be418c577d9f63052cc2b292c9bb2}{typedef std\+::map$<$ \hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t}, \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} $>$ {\bfseries Position\+History}}\label{a00441_ac05be418c577d9f63052cc2b292c9bb2}

\item 
\hypertarget{a00441_abe5d0edcbd6e799baab99c30ab413c9b}{typedef Refs\+::\+Scalar {\bfseries Scalar}}\label{a00441_abe5d0edcbd6e799baab99c30ab413c9b}

\item 
\hypertarget{a00441_ac05be418c577d9f63052cc2b292c9bb2}{typedef std\+::map$<$ \hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t}, \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} $>$ {\bfseries Position\+History}}\label{a00441_ac05be418c577d9f63052cc2b292c9bb2}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00441_a25eb0009aac00490b3e691419138c83c}{{\bfseries Face\+Attributes} (\hyperlink{a03369_ab78a93560926cd2f9958cb028f7ea96da213616dd2e4d9744d863587001a77988}{Open\+Mesh\+::\+Attributes\+::\+Normal})}\label{a00441_a25eb0009aac00490b3e691419138c83c}

\item 
\hypertarget{a00441_a2e5915425bebe179b91427352b6a03cf}{{\bfseries Vertex\+Attributes} (\hyperlink{a03369_ab78a93560926cd2f9958cb028f7ea96da213616dd2e4d9744d863587001a77988}{Open\+Mesh\+::\+Attributes\+::\+Normal})}\label{a00441_a2e5915425bebe179b91427352b6a03cf}

\item 
\hypertarget{a00441_ad2cb2a8407a8febf9decdae10745a0fe}{{\bfseries Halfedge\+Attributes} (\hyperlink{a03369_ab78a93560926cd2f9958cb028f7ea96dafaaebe1808b5cce96ad4e19df471d58a}{Open\+Mesh\+::\+Attributes\+::\+Prev\+Halfedge})}\label{a00441_ad2cb2a8407a8febf9decdae10745a0fe}

\item 
\hypertarget{a00441_a70c0282d2a85a3598d7a11939000323e}{\hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t} {\bfseries state} () const }\label{a00441_a70c0282d2a85a3598d7a11939000323e}

\item 
\hypertarget{a00441_a7f204100f1ddac2ecfb21f942092bc94}{void {\bfseries set\+\_\+state} (const \hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t} \+\_\+s)}\label{a00441_a7f204100f1ddac2ecfb21f942092bc94}

\item 
\hypertarget{a00441_a76d9bf506a14d5d0f22fb67aed3a6686}{void {\bfseries inc\+\_\+state} ()}\label{a00441_a76d9bf506a14d5d0f22fb67aed3a6686}

\item 
\hypertarget{a00441_a2ead6e3c5b55c4ef9c1b362ccc2bb63e}{\hyperlink{a00441_a6130640284ae3223c2a7e3c54269d4f1}{final\+\_\+t} {\bfseries final} () const }\label{a00441_a2ead6e3c5b55c4ef9c1b362ccc2bb63e}

\item 
\hypertarget{a00441_a12335f749c6e4733f89822494232b106}{void {\bfseries set\+\_\+final} ()}\label{a00441_a12335f749c6e4733f89822494232b106}

\item 
\hypertarget{a00441_a0334f5d299f86e37ff8cf0eb34ffca1a}{void {\bfseries set\+\_\+not\+\_\+final} ()}\label{a00441_a0334f5d299f86e37ff8cf0eb34ffca1a}

\item 
\hypertarget{a00441_a19a0dedac476bd414c548201e81383c0}{const Halfedge\+Handle \& {\bfseries red\+\_\+halfedge} () const }\label{a00441_a19a0dedac476bd414c548201e81383c0}

\item 
\hypertarget{a00441_a87fea1a42394c85c5ef4ded66d014cad}{void {\bfseries set\+\_\+red\+\_\+halfedge} (const Halfedge\+Handle \&\+\_\+h)}\label{a00441_a87fea1a42394c85c5ef4ded66d014cad}

\item 
\hypertarget{a00441_a9ba4f7cec93d077ccf16e4845ba6f9a7}{void {\bfseries set\+\_\+position} (const int \&\+\_\+i, const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)}\label{a00441_a9ba4f7cec93d077ccf16e4845ba6f9a7}

\item 
\hypertarget{a00441_a238f153d2512112ab4e019f00761394f}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries position} (const int \&\+\_\+i)}\label{a00441_a238f153d2512112ab4e019f00761394f}

\item 
\hypertarget{a00441_a70c0282d2a85a3598d7a11939000323e}{\hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t} {\bfseries state} () const }\label{a00441_a70c0282d2a85a3598d7a11939000323e}

\item 
\hypertarget{a00441_a7f204100f1ddac2ecfb21f942092bc94}{void {\bfseries set\+\_\+state} (const \hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t} \+\_\+s)}\label{a00441_a7f204100f1ddac2ecfb21f942092bc94}

\item 
\hypertarget{a00441_a76d9bf506a14d5d0f22fb67aed3a6686}{void {\bfseries inc\+\_\+state} ()}\label{a00441_a76d9bf506a14d5d0f22fb67aed3a6686}

\item 
\hypertarget{a00441_a2ead6e3c5b55c4ef9c1b362ccc2bb63e}{\hyperlink{a00441_a6130640284ae3223c2a7e3c54269d4f1}{final\+\_\+t} {\bfseries final} () const }\label{a00441_a2ead6e3c5b55c4ef9c1b362ccc2bb63e}

\item 
\hypertarget{a00441_a12335f749c6e4733f89822494232b106}{void {\bfseries set\+\_\+final} ()}\label{a00441_a12335f749c6e4733f89822494232b106}

\item 
\hypertarget{a00441_a0334f5d299f86e37ff8cf0eb34ffca1a}{void {\bfseries set\+\_\+not\+\_\+final} ()}\label{a00441_a0334f5d299f86e37ff8cf0eb34ffca1a}

\item 
\hypertarget{a00441_a9ba4f7cec93d077ccf16e4845ba6f9a7}{void {\bfseries set\+\_\+position} (const int \&\+\_\+i, const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)}\label{a00441_a9ba4f7cec93d077ccf16e4845ba6f9a7}

\item 
\hypertarget{a00441_a238f153d2512112ab4e019f00761394f}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries position} (const int \&\+\_\+i)}\label{a00441_a238f153d2512112ab4e019f00761394f}

\item 
\hypertarget{a00441_a70c0282d2a85a3598d7a11939000323e}{\hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t} {\bfseries state} () const }\label{a00441_a70c0282d2a85a3598d7a11939000323e}

\item 
\hypertarget{a00441_a7f204100f1ddac2ecfb21f942092bc94}{void {\bfseries set\+\_\+state} (const \hyperlink{a00441_a13c642f3a0e8bfb626e99d0d27b7fdd9}{state\+\_\+t} \+\_\+s)}\label{a00441_a7f204100f1ddac2ecfb21f942092bc94}

\item 
\hypertarget{a00441_a76d9bf506a14d5d0f22fb67aed3a6686}{void {\bfseries inc\+\_\+state} ()}\label{a00441_a76d9bf506a14d5d0f22fb67aed3a6686}

\item 
\hypertarget{a00441_a2ead6e3c5b55c4ef9c1b362ccc2bb63e}{\hyperlink{a00441_a6130640284ae3223c2a7e3c54269d4f1}{final\+\_\+t} {\bfseries final} () const }\label{a00441_a2ead6e3c5b55c4ef9c1b362ccc2bb63e}

\item 
\hypertarget{a00441_a12335f749c6e4733f89822494232b106}{void {\bfseries set\+\_\+final} ()}\label{a00441_a12335f749c6e4733f89822494232b106}

\item 
\hypertarget{a00441_a0334f5d299f86e37ff8cf0eb34ffca1a}{void {\bfseries set\+\_\+not\+\_\+final} ()}\label{a00441_a0334f5d299f86e37ff8cf0eb34ffca1a}

\item 
\hypertarget{a00441_a9ba4f7cec93d077ccf16e4845ba6f9a7}{void {\bfseries set\+\_\+position} (const int \&\+\_\+i, const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)}\label{a00441_a9ba4f7cec93d077ccf16e4845ba6f9a7}

\item 
\hypertarget{a00441_a238f153d2512112ab4e019f00761394f}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries position} (const int \&\+\_\+i)}\label{a00441_a238f153d2512112ab4e019f00761394f}

\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
{\bfseries Face\+Traits}
\item 
\hypertarget{a00441_ac9341ebf59b6d4389abe147ff3289c22}{\hyperlink{a01233}{State} {\bfseries state\+\_\+}}\label{a00441_ac9341ebf59b6d4389abe147ff3289c22}

\item 
\hypertarget{a00441_acef68f08afcfcb939a6b88153e596609}{Halfedge\+Handle {\bfseries red\+\_\+halfedge\+\_\+}}\label{a00441_acef68f08afcfcb939a6b88153e596609}

\item 
\hypertarget{a00441_abc062b64297561725c01e8a6203d1c4e}{Position\+History {\bfseries pos\+\_\+map\+\_\+}}\label{a00441_abc062b64297561725c01e8a6203d1c4e}

\item 
{\bfseries Edge\+Traits}
\item 
{\bfseries Vertex\+Traits}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a03384}{Adaptive} Composite Subdivision framework.\+Mesh traits for adaptive composite subdivision 

Definition at line 86 of file Composite\+Traits.\+hh.



\subsection{Member Data Documentation}
\hypertarget{a00441_a5b2cbd6d4152a2ceeb0b73c5e5743f2c}{\index{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits@{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits}!Edge\+Traits@{Edge\+Traits}}
\index{Edge\+Traits@{Edge\+Traits}!Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits@{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits}}
\subsubsection[{Edge\+Traits}]{\setlength{\rightskip}{0pt plus 5cm}Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits\+::\+Edge\+Traits}}\label{a00441_a5b2cbd6d4152a2ceeb0b73c5e5743f2c}
{\bfseries Initial value\+:}
\begin{DoxyCode}
\{
    
  \textcolor{keyword}{private}:
    
    \textcolor{keyword}{typedef} \textcolor{keyword}{typename} Refs::Point \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point}
\end{DoxyCode}


Definition at line 160 of file Composite\+Traits.\+hh.

\hypertarget{a00441_a73b3809e0764e23f83b4191e8069bb81}{\index{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits@{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits}!Face\+Traits@{Face\+Traits}}
\index{Face\+Traits@{Face\+Traits}!Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits@{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits}}
\subsubsection[{Face\+Traits}]{\setlength{\rightskip}{0pt plus 5cm}Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits\+::\+Face\+Traits}}\label{a00441_a73b3809e0764e23f83b4191e8069bb81}
{\bfseries Initial value\+:}
\begin{DoxyCode}
\{
    
  \textcolor{keyword}{private}:
    
    \textcolor{keyword}{typedef} \textcolor{keyword}{typename} Refs::Point \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point}
\end{DoxyCode}


Definition at line 113 of file Composite\+Traits.\+hh.

\hypertarget{a00441_a6e3ce4da0be03d26db0b3b9090d19c49}{\index{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits@{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits}!Vertex\+Traits@{Vertex\+Traits}}
\index{Vertex\+Traits@{Vertex\+Traits}!Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits@{Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits}}
\subsubsection[{Vertex\+Traits}]{\setlength{\rightskip}{0pt plus 5cm}Open\+Mesh\+::\+Subdivider\+::\+Adaptive\+::\+Composite\+Traits\+::\+Vertex\+Traits}}\label{a00441_a6e3ce4da0be03d26db0b3b9090d19c49}
{\bfseries Initial value\+:}
\begin{DoxyCode}
\{

  \textcolor{keyword}{private}:

    \textcolor{keyword}{typedef} \textcolor{keyword}{typename} Refs::Point \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point}
\end{DoxyCode}


Definition at line 208 of file Composite\+Traits.\+hh.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+Subdivider/\+Adaptive/\+Composite/\hyperlink{a02059}{Composite\+Traits.\+hh}\end{DoxyCompactItemize}
