\hypertarget{a01443}{\section{Open\+Mesh\+:\+:V\+D\+P\+M\+:\+:V\+Hierarchy Class Reference}
\label{a01443}\index{Open\+Mesh\+::\+V\+D\+P\+M\+::\+V\+Hierarchy@{Open\+Mesh\+::\+V\+D\+P\+M\+::\+V\+Hierarchy}}
}


{\ttfamily \#include $<$libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+V\+D\+P\+M/\+V\+Hierarchy.\+hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01443_a658560e57bc2e1e7aca6ab477e1d0a33}{typedef unsigned int \hyperlink{a01443_a658560e57bc2e1e7aca6ab477e1d0a33}{id\+\_\+t}}\label{a01443_a658560e57bc2e1e7aca6ab477e1d0a33}

\begin{DoxyCompactList}\small\item\em Type for tree and node ids. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01443_af23a26e8217a42f5295a389316563284}{void {\bfseries clear} ()}\label{a01443_af23a26e8217a42f5295a389316563284}

\item 
\hypertarget{a01443_a74f19d91c5c8103266438b76faeb074f}{unsigned char {\bfseries tree\+\_\+id\+\_\+bits} () const }\label{a01443_a74f19d91c5c8103266438b76faeb074f}

\item 
\hypertarget{a01443_af6f34fd054b3c0ef0f95c4fe211639be}{unsigned int {\bfseries num\+\_\+roots} () const }\label{a01443_af6f34fd054b3c0ef0f95c4fe211639be}

\item 
\hypertarget{a01443_a889fc36c2973d12a91e17d0e6dc91d51}{size\+\_\+t {\bfseries num\+\_\+nodes} () const }\label{a01443_a889fc36c2973d12a91e17d0e6dc91d51}

\item 
\hypertarget{a01443_aee1b70a708ebe6cad091963326f95de6}{\hyperlink{a01446}{V\+Hierarchy\+Node\+Index} {\bfseries generate\+\_\+node\+\_\+index} (\hyperlink{a01443_a658560e57bc2e1e7aca6ab477e1d0a33}{id\+\_\+t} \+\_\+tree\+\_\+id, \hyperlink{a01443_a658560e57bc2e1e7aca6ab477e1d0a33}{id\+\_\+t} \+\_\+node\+\_\+id)}\label{a01443_aee1b70a708ebe6cad091963326f95de6}

\item 
\hypertarget{a01443_a1f98f02dcb1b481b6b94f5478aedaeb6}{void {\bfseries set\+\_\+num\+\_\+roots} (unsigned int \+\_\+n\+\_\+roots)}\label{a01443_a1f98f02dcb1b481b6b94f5478aedaeb6}

\item 
\hypertarget{a01443_a0e48c4a01578083bed5f073a44640eff}{\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} {\bfseries root\+\_\+handle} (unsigned int i) const }\label{a01443_a0e48c4a01578083bed5f073a44640eff}

\item 
\hypertarget{a01443_acb2b9b001aff99b7f148beb2641bda61}{const \hyperlink{a01444}{V\+Hierarchy\+Node} \& {\bfseries node} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+vhierarchynode\+\_\+handle) const }\label{a01443_acb2b9b001aff99b7f148beb2641bda61}

\item 
\hypertarget{a01443_a7e9982b04be83b556741b8f4b2f59c34}{\hyperlink{a01444}{V\+Hierarchy\+Node} \& {\bfseries node} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+vhierarchynode\+\_\+handle)}\label{a01443_a7e9982b04be83b556741b8f4b2f59c34}

\item 
\hypertarget{a01443_a9969274052b4493fc306f7a7fd651c25}{\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} {\bfseries add\+\_\+node} ()}\label{a01443_a9969274052b4493fc306f7a7fd651c25}

\item 
\hypertarget{a01443_a556acd3076d7a65a9e84b9fe4fe4d01e}{\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} {\bfseries add\+\_\+node} (const \hyperlink{a01444}{V\+Hierarchy\+Node} \&\+\_\+node)}\label{a01443_a556acd3076d7a65a9e84b9fe4fe4d01e}

\item 
\hypertarget{a01443_a125144867494d4ace17a7a5fd8238bdb}{void {\bfseries make\+\_\+children} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \&\+\_\+parent\+\_\+handle)}\label{a01443_a125144867494d4ace17a7a5fd8238bdb}

\item 
\hypertarget{a01443_a63807533cde586837a9ee1c548fdee45}{bool {\bfseries is\+\_\+ancestor} (\hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \+\_\+ancestor\+\_\+index, \hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \+\_\+descendent\+\_\+index)}\label{a01443_a63807533cde586837a9ee1c548fdee45}

\item 
\hypertarget{a01443_a90fbff84092c754562ab7d25f3c66caf}{bool {\bfseries is\+\_\+leaf\+\_\+node} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_a90fbff84092c754562ab7d25f3c66caf}

\item 
\hypertarget{a01443_a0e22e4b758789775a9f88b7f01be1f2f}{bool {\bfseries is\+\_\+root\+\_\+node} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_a0e22e4b758789775a9f88b7f01be1f2f}

\item 
\hypertarget{a01443_abe26696e649ebb9c398fa67313de2826}{const \hyperlink{a03368_aa8903e7c1a37b97fb332a69122a7c6e8}{Open\+Mesh\+::\+Vec3f} \& {\bfseries normal} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle) const }\label{a01443_abe26696e649ebb9c398fa67313de2826}

\item 
\hypertarget{a01443_a7fef29055a9822b11937b39ee699d57d}{const \hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \& {\bfseries node\+\_\+index} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle) const }\label{a01443_a7fef29055a9822b11937b39ee699d57d}

\item 
\hypertarget{a01443_a1131bfc0b30db0837561c58bf9b48f12}{\hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \& {\bfseries node\+\_\+index} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_a1131bfc0b30db0837561c58bf9b48f12}

\item 
\hypertarget{a01443_a21922f5b07d8945dbc06fa90b2c5366c}{const \hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \& {\bfseries fund\+\_\+lcut\+\_\+index} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle) const }\label{a01443_a21922f5b07d8945dbc06fa90b2c5366c}

\item 
\hypertarget{a01443_a755a0ab6fde56e5ded7c7343ccc1679b}{\hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \& {\bfseries fund\+\_\+lcut\+\_\+index} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_a755a0ab6fde56e5ded7c7343ccc1679b}

\item 
\hypertarget{a01443_ada4550005cb156f6c28046e287d55f0b}{const \hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \& {\bfseries fund\+\_\+rcut\+\_\+index} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle) const }\label{a01443_ada4550005cb156f6c28046e287d55f0b}

\item 
\hypertarget{a01443_aca2c5f9c30fd8ae33b5c0f82b48534c1}{\hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \& {\bfseries fund\+\_\+rcut\+\_\+index} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_aca2c5f9c30fd8ae33b5c0f82b48534c1}

\item 
\hypertarget{a01443_aed22de691df75f2ddf37f3f76326ca1d}{\hyperlink{a01426}{Vertex\+Handle} {\bfseries vertex\+\_\+handle} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_aed22de691df75f2ddf37f3f76326ca1d}

\item 
\hypertarget{a01443_a24a68be8436674f53b0c284e4866c5d1}{\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} {\bfseries parent\+\_\+handle} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_a24a68be8436674f53b0c284e4866c5d1}

\item 
\hypertarget{a01443_ad9a1b429c0cec100078910a01fb8c8f7}{\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} {\bfseries lchild\+\_\+handle} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_ad9a1b429c0cec100078910a01fb8c8f7}

\item 
\hypertarget{a01443_a590cef7d2155ee32370145d41180995f}{\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} {\bfseries rchild\+\_\+handle} (\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} \+\_\+node\+\_\+handle)}\label{a01443_a590cef7d2155ee32370145d41180995f}

\item 
\hypertarget{a01443_a3b745254284dd25860de0ed823ed42f9}{\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} {\bfseries node\+\_\+handle} (\hyperlink{a01446}{V\+Hierarchy\+Node\+Index} \+\_\+node\+\_\+index)}\label{a01443_a3b745254284dd25860de0ed823ed42f9}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01443_adbc792469812243aa5b6465f76fb2939}{\hyperlink{a01445}{V\+Hierarchy\+Node\+Handle} {\bfseries compute\+\_\+dependency} (\hyperlink{a01446}{V\+Hierarchy\+Node\+Index} index0, \hyperlink{a01446}{V\+Hierarchy\+Node\+Index} index1)}\label{a01443_adbc792469812243aa5b6465f76fb2939}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01443_a6bb16ef1a625b1e26e64dd7b2c9e95ce}{\hyperlink{a03388_a2b54f71ece0193577af8155cece72004}{V\+Hierarchy\+Node\+Container} {\bfseries nodes\+\_\+}}\label{a01443_a6bb16ef1a625b1e26e64dd7b2c9e95ce}

\item 
\hypertarget{a01443_ad326e2e558e3a8b197ed5ecb03d41146}{unsigned int {\bfseries n\+\_\+roots\+\_\+}}\label{a01443_ad326e2e558e3a8b197ed5ecb03d41146}

\item 
\hypertarget{a01443_accbada0221cdaf14ac4b8d96b3809cda}{unsigned char {\bfseries tree\+\_\+id\+\_\+bits\+\_\+}}\label{a01443_accbada0221cdaf14ac4b8d96b3809cda}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Keeps the vertex hierarchy build during analyzing a progressive mesh. 

Definition at line 78 of file V\+Hierarchy.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+V\+D\+P\+M/V\+Hierarchy.\+hh\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Tools/\+V\+D\+P\+M/V\+Hierarchy.\+cc\end{DoxyCompactItemize}
