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


{\ttfamily \#include $<$Open\+Flipper/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]{a09184}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a09184_ab339fac0a540ddc80107c3c4d85ba094}\label{a09184_ab339fac0a540ddc80107c3c4d85ba094}} 
typedef Refs\+::\+Scalar {\bfseries Scalar}
\item 
\mbox{\Hypertarget{a09184_a4ddfe689e0923a613a86686b9e20540a}\label{a09184_a4ddfe689e0923a613a86686b9e20540a}} 
typedef Refs\+::\+Point {\bfseries Point}
\item 
\mbox{\Hypertarget{a09184_ab339fac0a540ddc80107c3c4d85ba094}\label{a09184_ab339fac0a540ddc80107c3c4d85ba094}} 
typedef Refs\+::\+Scalar {\bfseries Scalar}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a09184_a66f79d9b15d191042768122333b41c8f}\label{a09184_a66f79d9b15d191042768122333b41c8f}} 
{\bfseries Face\+Attributes} (\hyperlink{a06215_ab78a93560926cd2f9958cb028f7ea96da213616dd2e4d9744d863587001a77988}{Open\+Mesh\+::\+Attributes\+::\+Normal})
\item 
\mbox{\Hypertarget{a09184_a0ad8b0f9199d743fc04c494cdb6e7e1a}\label{a09184_a0ad8b0f9199d743fc04c494cdb6e7e1a}} 
{\bfseries Vertex\+Attributes} (\hyperlink{a06215_ab78a93560926cd2f9958cb028f7ea96da213616dd2e4d9744d863587001a77988}{Open\+Mesh\+::\+Attributes\+::\+Normal})
\item 
\mbox{\Hypertarget{a09184_a98e6d7ecd7c82a9e7a8490e3d769ca0d}\label{a09184_a98e6d7ecd7c82a9e7a8490e3d769ca0d}} 
const unsigned int \& {\bfseries generation} ()
\item 
\mbox{\Hypertarget{a09184_a3b0770c4ccd7d784c0606838e8c8813c}\label{a09184_a3b0770c4ccd7d784c0606838e8c8813c}} 
void {\bfseries set\+\_\+generation} (const unsigned int \&\+\_\+g)
\item 
\mbox{\Hypertarget{a09184_ab172468e761565d5d66f551d5de5f1e7}\label{a09184_ab172468e761565d5d66f551d5de5f1e7}} 
void {\bfseries inc\+\_\+generation} ()
\item 
\mbox{\Hypertarget{a09184_a1a66a3e25b537239f789f55c409617c2}\label{a09184_a1a66a3e25b537239f789f55c409617c2}} 
void {\bfseries set\+\_\+red} ()
\item 
\mbox{\Hypertarget{a09184_af08f873a5ba3d266a0e2be77faf858e8}\label{a09184_af08f873a5ba3d266a0e2be77faf858e8}} 
void {\bfseries set\+\_\+green} ()
\item 
\mbox{\Hypertarget{a09184_a7dd7a01c59a9d1d97f9885074de20347}\label{a09184_a7dd7a01c59a9d1d97f9885074de20347}} 
bool {\bfseries is\+\_\+red} ()
\item 
\mbox{\Hypertarget{a09184_a594839d8e95e7f0fd8756e92936c2fd9}\label{a09184_a594839d8e95e7f0fd8756e92936c2fd9}} 
bool {\bfseries is\+\_\+green} ()
\item 
\mbox{\Hypertarget{a09184_a17a1d6d16466cffd30d89a2707b1f1e3}\label{a09184_a17a1d6d16466cffd30d89a2707b1f1e3}} 
void {\bfseries set\+\_\+red\+\_\+halfedge\+\_\+handle} (\hyperlink{a08700}{Halfedge\+Handle} \&\+\_\+heh)
\item 
\mbox{\Hypertarget{a09184_ad590fb8f280b3c4dcf7efe03ae4673a4}\label{a09184_ad590fb8f280b3c4dcf7efe03ae4673a4}} 
\hyperlink{a08700}{Halfedge\+Handle} \& {\bfseries red\+\_\+halfedge\+\_\+handle} ()
\item 
\mbox{\Hypertarget{a09184_aadf5594ce60fee7b90d36464ac5816c8}\label{a09184_aadf5594ce60fee7b90d36464ac5816c8}} 
void {\bfseries set\+\_\+quality} (Scalar \&\+\_\+q)
\item 
\mbox{\Hypertarget{a09184_a6da1846c919e61478d173ff52df48431}\label{a09184_a6da1846c919e61478d173ff52df48431}} 
Scalar \& {\bfseries quality} ()
\item 
\mbox{\Hypertarget{a09184_aa00075d057627f6ed078e449ac0da55c}\label{a09184_aa00075d057627f6ed078e449ac0da55c}} 
const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries midpoint} () const
\item 
\mbox{\Hypertarget{a09184_a8819f0a5ab9e8046d67ee1a42c9f7801}\label{a09184_a8819f0a5ab9e8046d67ee1a42c9f7801}} 
void {\bfseries set\+\_\+midpoint} (const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)
\item 
\mbox{\Hypertarget{a09184_a2a525cb2bfb4d4c44825199144ce15a3}\label{a09184_a2a525cb2bfb4d4c44825199144ce15a3}} 
const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries position} () const
\item 
\mbox{\Hypertarget{a09184_a37fdc14048d0b53185ca235c69e0f6df}\label{a09184_a37fdc14048d0b53185ca235c69e0f6df}} 
void {\bfseries set\+\_\+position} (const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)
\item 
\mbox{\Hypertarget{a09184_aa00075d057627f6ed078e449ac0da55c}\label{a09184_aa00075d057627f6ed078e449ac0da55c}} 
const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries midpoint} () const
\item 
\mbox{\Hypertarget{a09184_a224dac1bacfee095904b8cba7898684a}\label{a09184_a224dac1bacfee095904b8cba7898684a}} 
void {\bfseries set\+\_\+midpoint} (const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+vh)
\item 
\mbox{\Hypertarget{a09184_a7902a6cc4b689da2b91e4324f72ba49d}\label{a09184_a7902a6cc4b689da2b91e4324f72ba49d}} 
const Scalar \& {\bfseries length} () const
\item 
\mbox{\Hypertarget{a09184_a9767fc0806fa379c27df06d63411823d}\label{a09184_a9767fc0806fa379c27df06d63411823d}} 
void {\bfseries set\+\_\+length} (const Scalar \&\+\_\+s)
\item 
\mbox{\Hypertarget{a09184_a2a525cb2bfb4d4c44825199144ce15a3}\label{a09184_a2a525cb2bfb4d4c44825199144ce15a3}} 
const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries position} () const
\item 
\mbox{\Hypertarget{a09184_a37fdc14048d0b53185ca235c69e0f6df}\label{a09184_a37fdc14048d0b53185ca235c69e0f6df}} 
void {\bfseries set\+\_\+position} (const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)
\item 
\mbox{\Hypertarget{a09184_aab9687100456de7d245ba24b239d8a8a}\label{a09184_aab9687100456de7d245ba24b239d8a8a}} 
const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries new\+\_\+pos} () const
\item 
\mbox{\Hypertarget{a09184_ad8e5b6bae0155f9336352b4df0f7d1c9}\label{a09184_ad8e5b6bae0155f9336352b4df0f7d1c9}} 
void {\bfseries set\+\_\+new\+\_\+pos} (const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)
\item 
\mbox{\Hypertarget{a09184_a433631a1bfa0304caf8723c4e5c14c78}\label{a09184_a433631a1bfa0304caf8723c4e5c14c78}} 
const unsigned int \& {\bfseries generation} () const
\item 
\mbox{\Hypertarget{a09184_a8ed60d3e6b2b59435e6dc6ab001456ed}\label{a09184_a8ed60d3e6b2b59435e6dc6ab001456ed}} 
void {\bfseries set\+\_\+generation} (const unsigned int \&\+\_\+i)
\item 
\mbox{\Hypertarget{a09184_af53096324d4e30b93c5b1e87b5b9d9d5}\label{a09184_af53096324d4e30b93c5b1e87b5b9d9d5}} 
const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries orig\+\_\+pos} () const
\item 
\mbox{\Hypertarget{a09184_a00688761bbf8dfda3117fd60a1df82c6}\label{a09184_a00688761bbf8dfda3117fd60a1df82c6}} 
void {\bfseries set\+\_\+orig\+\_\+pos} (const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)
\item 
\mbox{\Hypertarget{a09184_a2a525cb2bfb4d4c44825199144ce15a3}\label{a09184_a2a525cb2bfb4d4c44825199144ce15a3}} 
const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \& {\bfseries position} () const
\item 
\mbox{\Hypertarget{a09184_a37fdc14048d0b53185ca235c69e0f6df}\label{a09184_a37fdc14048d0b53185ca235c69e0f6df}} 
void {\bfseries set\+\_\+position} (const \hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} \&\+\_\+p)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
{\bfseries Face\+Traits}
\item 
\mbox{\Hypertarget{a09184_a9abb2f6923d76fa0b808fe8df77c7f1b}\label{a09184_a9abb2f6923d76fa0b808fe8df77c7f1b}} 
\hyperlink{a08700}{Halfedge\+Handle} {\bfseries red\+\_\+halfedge\+\_\+handle\+\_\+}
\item 
\mbox{\Hypertarget{a09184_a4fc194f41333bf4553f0165633bfd427}\label{a09184_a4fc194f41333bf4553f0165633bfd427}} 
unsigned int {\bfseries generation\+\_\+}
\item 
\mbox{\Hypertarget{a09184_a271befca3da822c0243d94e3972d4d94}\label{a09184_a271befca3da822c0243d94e3972d4d94}} 
bool {\bfseries red\+\_\+}
\item 
\mbox{\Hypertarget{a09184_aa68a8ec45a4c54cab2a439dc67f0b44d}\label{a09184_aa68a8ec45a4c54cab2a439dc67f0b44d}} 
Scalar {\bfseries quality\+\_\+}
\item 
\mbox{\Hypertarget{a09184_a561fa5498731e5135089e900ce912618}\label{a09184_a561fa5498731e5135089e900ce912618}} 
\hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries midpoint\+\_\+}
\item 
\mbox{\Hypertarget{a09184_af43a6456782891211cca78db7b2b746b}\label{a09184_af43a6456782891211cca78db7b2b746b}} 
\hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries position\+\_\+}
\item 
{\bfseries Edge\+Traits}
\item 
\mbox{\Hypertarget{a09184_a2c3afbb5f9bc1c50254faad2296d2911}\label{a09184_a2c3afbb5f9bc1c50254faad2296d2911}} 
Scalar {\bfseries length\+\_\+}
\item 
{\bfseries Vertex\+Traits}
\item 
\mbox{\Hypertarget{a09184_ac6fa21687fde30ec1d3e6c92c13b1428}\label{a09184_ac6fa21687fde30ec1d3e6c92c13b1428}} 
\hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries new\+\_\+pos\+\_\+}
\item 
\mbox{\Hypertarget{a09184_ae8c5268485f0d924c7009dab51f4a663}\label{a09184_ae8c5268485f0d924c7009dab51f4a663}} 
\hyperlink{a08800_a57c3a0075b2f50719679de132aa772b1}{Point} {\bfseries orig\+\_\+pos\+\_\+}
\end{DoxyCompactItemize}


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

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



\subsection{Member Data Documentation}
\mbox{\Hypertarget{a09184_a5f20fc5ec8e8641f15c9c5f3d7747bdf}\label{a09184_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{\texorpdfstring{Edge\+Traits}{EdgeTraits}}
{\footnotesize\ttfamily Open\+Mesh\+::\+Subdivider\+::\+Uniform\+::\+Composite\+Traits\+::\+Edge\+Traits}

{\bfseries Initial value\+:}
\begin{DoxyCode}
\{
  \textcolor{keyword}{private}:
    \textcolor{keyword}{typedef} \textcolor{keyword}{typename} Refs::Point Point
\end{DoxyCode}


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

\mbox{\Hypertarget{a09184_aa8bac2a650e12ed122c3f783be25a6d7}\label{a09184_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{\texorpdfstring{Face\+Traits}{FaceTraits}}
{\footnotesize\ttfamily Open\+Mesh\+::\+Subdivider\+::\+Uniform\+::\+Composite\+Traits\+::\+Face\+Traits}

{\bfseries Initial value\+:}
\begin{DoxyCode}
\{
  \textcolor{keyword}{private}:
    \textcolor{keyword}{typedef} \textcolor{keyword}{typename} Refs::HalfedgeHandle HalfedgeHandle
\end{DoxyCode}


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

\mbox{\Hypertarget{a09184_a642f48ef754cf68cd50846f914802412}\label{a09184_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{\texorpdfstring{Vertex\+Traits}{VertexTraits}}
{\footnotesize\ttfamily Open\+Mesh\+::\+Subdivider\+::\+Uniform\+::\+Composite\+Traits\+::\+Vertex\+Traits}

{\bfseries Initial value\+:}
\begin{DoxyCode}
\{
  \textcolor{keyword}{private}:
    \textcolor{keyword}{typedef} \textcolor{keyword}{typename} Refs::Point Point
\end{DoxyCode}


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



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