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


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

Inheritance diagram for Open\+Mesh\+:\+:Subdivider\+:\+:Uniform\+:\+:Composite\+Traits\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00442}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00442_ab339fac0a540ddc80107c3c4d85ba094}{typedef Refs\+::\+Scalar {\bfseries Scalar}}\label{a00442_ab339fac0a540ddc80107c3c4d85ba094}

\item 
\hypertarget{a00442_a4ddfe689e0923a613a86686b9e20540a}{typedef Refs\+::\+Point {\bfseries Point}}\label{a00442_a4ddfe689e0923a613a86686b9e20540a}

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

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

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

\item 
\hypertarget{a00442_a98e6d7ecd7c82a9e7a8490e3d769ca0d}{const unsigned int \& {\bfseries generation} ()}\label{a00442_a98e6d7ecd7c82a9e7a8490e3d769ca0d}

\item 
\hypertarget{a00442_a3b0770c4ccd7d784c0606838e8c8813c}{void {\bfseries set\+\_\+generation} (const unsigned int \&\+\_\+g)}\label{a00442_a3b0770c4ccd7d784c0606838e8c8813c}

\item 
\hypertarget{a00442_ab172468e761565d5d66f551d5de5f1e7}{void {\bfseries inc\+\_\+generation} ()}\label{a00442_ab172468e761565d5d66f551d5de5f1e7}

\item 
\hypertarget{a00442_a1a66a3e25b537239f789f55c409617c2}{void {\bfseries set\+\_\+red} ()}\label{a00442_a1a66a3e25b537239f789f55c409617c2}

\item 
\hypertarget{a00442_af08f873a5ba3d266a0e2be77faf858e8}{void {\bfseries set\+\_\+green} ()}\label{a00442_af08f873a5ba3d266a0e2be77faf858e8}

\item 
\hypertarget{a00442_a7dd7a01c59a9d1d97f9885074de20347}{bool {\bfseries is\+\_\+red} ()}\label{a00442_a7dd7a01c59a9d1d97f9885074de20347}

\item 
\hypertarget{a00442_a594839d8e95e7f0fd8756e92936c2fd9}{bool {\bfseries is\+\_\+green} ()}\label{a00442_a594839d8e95e7f0fd8756e92936c2fd9}

\item 
\hypertarget{a00442_a17a1d6d16466cffd30d89a2707b1f1e3}{void {\bfseries set\+\_\+red\+\_\+halfedge\+\_\+handle} (\hyperlink{a00667}{Halfedge\+Handle} \&\+\_\+heh)}\label{a00442_a17a1d6d16466cffd30d89a2707b1f1e3}

\item 
\hypertarget{a00442_ad590fb8f280b3c4dcf7efe03ae4673a4}{\hyperlink{a00667}{Halfedge\+Handle} \& {\bfseries red\+\_\+halfedge\+\_\+handle} ()}\label{a00442_ad590fb8f280b3c4dcf7efe03ae4673a4}

\item 
\hypertarget{a00442_aadf5594ce60fee7b90d36464ac5816c8}{void {\bfseries set\+\_\+quality} (Scalar \&\+\_\+q)}\label{a00442_aadf5594ce60fee7b90d36464ac5816c8}

\item 
\hypertarget{a00442_a6da1846c919e61478d173ff52df48431}{Scalar \& {\bfseries quality} ()}\label{a00442_a6da1846c919e61478d173ff52df48431}

\item 
\hypertarget{a00442_ac3c3064c47b32c280e808acbde58b949}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries midpoint} () const }\label{a00442_ac3c3064c47b32c280e808acbde58b949}

\item 
\hypertarget{a00442_a8819f0a5ab9e8046d67ee1a42c9f7801}{void {\bfseries set\+\_\+midpoint} (const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)}\label{a00442_a8819f0a5ab9e8046d67ee1a42c9f7801}

\item 
\hypertarget{a00442_a59eb26b3baea8d1f02745b491e9085dc}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries position} () const }\label{a00442_a59eb26b3baea8d1f02745b491e9085dc}

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

\item 
\hypertarget{a00442_ac3c3064c47b32c280e808acbde58b949}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries midpoint} () const }\label{a00442_ac3c3064c47b32c280e808acbde58b949}

\item 
\hypertarget{a00442_a224dac1bacfee095904b8cba7898684a}{void {\bfseries set\+\_\+midpoint} (const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+vh)}\label{a00442_a224dac1bacfee095904b8cba7898684a}

\item 
\hypertarget{a00442_a9e230aea652b007f107af04de019ce00}{const Scalar \& {\bfseries length} () const }\label{a00442_a9e230aea652b007f107af04de019ce00}

\item 
\hypertarget{a00442_a9767fc0806fa379c27df06d63411823d}{void {\bfseries set\+\_\+length} (const Scalar \&\+\_\+s)}\label{a00442_a9767fc0806fa379c27df06d63411823d}

\item 
\hypertarget{a00442_a59eb26b3baea8d1f02745b491e9085dc}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries position} () const }\label{a00442_a59eb26b3baea8d1f02745b491e9085dc}

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

\item 
\hypertarget{a00442_a5f44f847c5249f7d030d8847d3a9e6d0}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries new\+\_\+pos} () const }\label{a00442_a5f44f847c5249f7d030d8847d3a9e6d0}

\item 
\hypertarget{a00442_ad8e5b6bae0155f9336352b4df0f7d1c9}{void {\bfseries set\+\_\+new\+\_\+pos} (const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)}\label{a00442_ad8e5b6bae0155f9336352b4df0f7d1c9}

\item 
\hypertarget{a00442_a86e2432c1dcab6d9ee46077b195b9438}{const unsigned int \& {\bfseries generation} () const }\label{a00442_a86e2432c1dcab6d9ee46077b195b9438}

\item 
\hypertarget{a00442_a8ed60d3e6b2b59435e6dc6ab001456ed}{void {\bfseries set\+\_\+generation} (const unsigned int \&\+\_\+i)}\label{a00442_a8ed60d3e6b2b59435e6dc6ab001456ed}

\item 
\hypertarget{a00442_ab6060f549523cb169526bbc18f8ae2c4}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries orig\+\_\+pos} () const }\label{a00442_ab6060f549523cb169526bbc18f8ae2c4}

\item 
\hypertarget{a00442_a00688761bbf8dfda3117fd60a1df82c6}{void {\bfseries set\+\_\+orig\+\_\+pos} (const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)}\label{a00442_a00688761bbf8dfda3117fd60a1df82c6}

\item 
\hypertarget{a00442_a59eb26b3baea8d1f02745b491e9085dc}{const \hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries position} () const }\label{a00442_a59eb26b3baea8d1f02745b491e9085dc}

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

\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
{\bfseries Face\+Traits}
\item 
\hypertarget{a00442_a9abb2f6923d76fa0b808fe8df77c7f1b}{\hyperlink{a00667}{Halfedge\+Handle} {\bfseries red\+\_\+halfedge\+\_\+handle\+\_\+}}\label{a00442_a9abb2f6923d76fa0b808fe8df77c7f1b}

\item 
\hypertarget{a00442_a4fc194f41333bf4553f0165633bfd427}{unsigned int {\bfseries generation\+\_\+}}\label{a00442_a4fc194f41333bf4553f0165633bfd427}

\item 
\hypertarget{a00442_a271befca3da822c0243d94e3972d4d94}{bool {\bfseries red\+\_\+}}\label{a00442_a271befca3da822c0243d94e3972d4d94}

\item 
\hypertarget{a00442_aa68a8ec45a4c54cab2a439dc67f0b44d}{Scalar {\bfseries quality\+\_\+}}\label{a00442_aa68a8ec45a4c54cab2a439dc67f0b44d}

\item 
\hypertarget{a00442_a561fa5498731e5135089e900ce912618}{\hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries midpoint\+\_\+}}\label{a00442_a561fa5498731e5135089e900ce912618}

\item 
\hypertarget{a00442_af43a6456782891211cca78db7b2b746b}{\hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries position\+\_\+}}\label{a00442_af43a6456782891211cca78db7b2b746b}

\item 
{\bfseries Edge\+Traits}
\item 
\hypertarget{a00442_a2c3afbb5f9bc1c50254faad2296d2911}{Scalar {\bfseries length\+\_\+}}\label{a00442_a2c3afbb5f9bc1c50254faad2296d2911}

\item 
{\bfseries Vertex\+Traits}
\item 
\hypertarget{a00442_ac6fa21687fde30ec1d3e6c92c13b1428}{\hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries new\+\_\+pos\+\_\+}}\label{a00442_ac6fa21687fde30ec1d3e6c92c13b1428}

\item 
\hypertarget{a00442_ae8c5268485f0d924c7009dab51f4a663}{\hyperlink{a00492_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries orig\+\_\+pos\+\_\+}}\label{a00442_ae8c5268485f0d924c7009dab51f4a663}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a03385}{Uniform} Composite Subdivision framework. 

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



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


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

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


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

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


Definition at line 142 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/\+Uniform/\+Composite/\hyperlink{a02060}{Composite\+Traits.\+hh}\end{DoxyCompactItemize}
