\hypertarget{a00504}{\section{A\+C\+G\+:\+:Draw\+Mesh\+Base Class Reference}
\label{a00504}\index{A\+C\+G\+::\+Draw\+Mesh\+Base@{A\+C\+G\+::\+Draw\+Mesh\+Base}}
}


{\ttfamily \#include $<$A\+C\+G/\+G\+L/\+Draw\+Mesh.\+hh$>$}

Inheritance diagram for A\+C\+G\+:\+:Draw\+Mesh\+Base\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00504}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00504_ae36d4a8d0b1eba150c6d56b79fc77a73}{unsigned int {\bfseries get\+Num\+Tris} () const }\label{a00504_ae36d4a8d0b1eba150c6d56b79fc77a73}

\item 
\hypertarget{a00504_a5e090ac32e69b9d49abf5aa77e1053dc}{unsigned int {\bfseries get\+Num\+Verts} () const }\label{a00504_a5e090ac32e69b9d49abf5aa77e1053dc}

\item 
\hypertarget{a00504_a6bc83ed2d9df0c6592a423e5300ad469}{\hyperlink{a00815}{Mesh\+Compiler} $\ast$ \hyperlink{a00504_a6bc83ed2d9df0c6592a423e5300ad469}{get\+Mesh\+Compiler} ()}\label{a00504_a6bc83ed2d9df0c6592a423e5300ad469}

\begin{DoxyCompactList}\small\item\em get mesh compiler used to create the draw mesh \end{DoxyCompactList}\item 
\hypertarget{a00504_a4873585b0c53ae83711cc1f977589c29}{unsigned int {\bfseries get\+Num\+Subsets} () const }\label{a00504_a4873585b0c53ae83711cc1f977589c29}

\item 
\hypertarget{a00504_a4934563d591598801a4b469f3a120cf5}{G\+Lenum \hyperlink{a00504_a4934563d591598801a4b469f3a120cf5}{get\+Index\+Type} () const }\label{a00504_a4934563d591598801a4b469f3a120cf5}

\begin{DoxyCompactList}\small\item\em get index type of index buffer \end{DoxyCompactList}\item 
G\+Luint \hyperlink{a00504_a22b463dcee7cc85bcbbb083d15a2bea2}{pick\+Vertex\+I\+B\+O\+\_\+opt} ()
\begin{DoxyCompactList}\small\item\em get an index buffer mapping from openmesh vertices to drawmesh vbo vertices \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00504_afd07e9e3511b16b8131854261bf2734d}{void {\bfseries delete\+Ibo} ()}\label{a00504_afd07e9e3511b16b8131854261bf2734d}

\item 
\hypertarget{a00504_a79108c2655a765114a373b4ad393dbac}{void {\bfseries bind\+Vbo} ()}\label{a00504_a79108c2655a765114a373b4ad393dbac}

\item 
\hypertarget{a00504_afdf831b6971df104873c0f5834943a1b}{void {\bfseries bind\+Ibo} ()}\label{a00504_afdf831b6971df104873c0f5834943a1b}

\item 
\hypertarget{a00504_a5eccaf1c4cf40a22ace53a40bd4466e2}{void {\bfseries bind\+Line\+Ibo} ()}\label{a00504_a5eccaf1c4cf40a22ace53a40bd4466e2}

\item 
\hypertarget{a00504_ac437b78f7861daa337206ea87258072b}{void {\bfseries bind\+Pick\+Vertex\+Ibo} ()}\label{a00504_ac437b78f7861daa337206ea87258072b}

\item 
\hypertarget{a00504_a11c6ecf029e156eca5153e661777afc5}{void {\bfseries create\+Index\+Buffer} ()}\label{a00504_a11c6ecf029e156eca5153e661777afc5}

\item 
\hypertarget{a00504_adcdf620052e24ab88e5b64c8707671d2}{void {\bfseries fill\+Line\+Buffer} (size\+\_\+t n\+\_\+edges, void $\ast$data)}\label{a00504_adcdf620052e24ab88e5b64c8707671d2}

\item 
\hypertarget{a00504_a2ae351203a3265f8fa09f67fbb5a80a7}{void {\bfseries fill\+Vertex\+Buffer} ()}\label{a00504_a2ae351203a3265f8fa09f67fbb5a80a7}

\item 
\hypertarget{a00504_af8fb9129dc2f121fb978daaf6a0af7ef}{void {\bfseries fill\+Inv\+Vertex\+Map} (size\+\_\+t n\+\_\+vertices, void $\ast$data)}\label{a00504_af8fb9129dc2f121fb978daaf6a0af7ef}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00504_a87ee6936ca8efc14a66bcc27fdcb6864}{G\+Luint {\bfseries vbo\+\_\+}}\label{a00504_a87ee6936ca8efc14a66bcc27fdcb6864}

\item 
\hypertarget{a00504_afef369196d9e92e401f6099bc04199fa}{G\+Luint {\bfseries ibo\+\_\+}}\label{a00504_afef369196d9e92e401f6099bc04199fa}

\item 
\hypertarget{a00504_a385560408944d5165f4bff18b2c4f219}{size\+\_\+t {\bfseries num\+Tris\+\_\+}}\label{a00504_a385560408944d5165f4bff18b2c4f219}

\item 
\hypertarget{a00504_a4f1c76ca7a36ea8f948bddfe9bb853ce}{size\+\_\+t {\bfseries num\+Verts\+\_\+}}\label{a00504_a4f1c76ca7a36ea8f948bddfe9bb853ce}

\item 
\hypertarget{a00504_a52fc4fbc582bd17bbb1bbf927feb34ca}{\hyperlink{a00815}{Mesh\+Compiler} $\ast$ {\bfseries mesh\+Comp\+\_\+}}\label{a00504_a52fc4fbc582bd17bbb1bbf927feb34ca}

\item 
\hypertarget{a00504_ae3fefecefc51a58e5ff511c785c64cf7}{G\+Luint \hyperlink{a00504_ae3fefecefc51a58e5ff511c785c64cf7}{line\+I\+B\+O\+\_\+}}\label{a00504_ae3fefecefc51a58e5ff511c785c64cf7}

\begin{DoxyCompactList}\small\item\em index buffer used in Wireframe / Hiddenline mode \end{DoxyCompactList}\item 
\hypertarget{a00504_a4a24e9f3811de5c878cfce7290641953}{G\+Lenum \hyperlink{a00504_a4a24e9f3811de5c878cfce7290641953}{index\+Type\+\_\+}}\label{a00504_a4a24e9f3811de5c878cfce7290641953}

\begin{DoxyCompactList}\small\item\em support for 2 and 4 byte unsigned integers \end{DoxyCompactList}\item 
std\+::vector$<$ char $>$ \hyperlink{a00504_ace8abeef287d4482b6fd0a331fcf5d83}{vertices\+\_\+}
\item 
\hypertarget{a00504_a93b3cfb5f23312f8d6d9c3be67e573b9}{\hyperlink{a01417}{Vertex\+Declaration} $\ast$ \hyperlink{a00504_a93b3cfb5f23312f8d6d9c3be67e573b9}{vertex\+Decl\+\_\+}}\label{a00504_a93b3cfb5f23312f8d6d9c3be67e573b9}

\begin{DoxyCompactList}\small\item\em vertex buffer layout declaration with per vertex colors \end{DoxyCompactList}\item 
\hypertarget{a00504_a52e03634179af4264123d3cca626c3c5}{\hyperlink{a01417}{Vertex\+Declaration} $\ast$ \hyperlink{a00504_a52e03634179af4264123d3cca626c3c5}{vertex\+Decl\+Edge\+Col\+\_\+}}\label{a00504_a52e03634179af4264123d3cca626c3c5}

\begin{DoxyCompactList}\small\item\em vertex buffer layout declaration with per edge colors \end{DoxyCompactList}\item 
\hypertarget{a00504_aaec2233abf7d5c5dc932b5600c8b4de3}{\hyperlink{a01417}{Vertex\+Declaration} $\ast$ \hyperlink{a00504_aaec2233abf7d5c5dc932b5600c8b4de3}{vertex\+Decl\+Halfedge\+Col\+\_\+}}\label{a00504_aaec2233abf7d5c5dc932b5600c8b4de3}

\begin{DoxyCompactList}\small\item\em vertex buffer layout declaration with per halfedge colors \end{DoxyCompactList}\item 
\hypertarget{a00504_a4891ee340ed8dc3f99fbcfe2552b9f49}{\hyperlink{a01417}{Vertex\+Declaration} $\ast$ \hyperlink{a00504_a4891ee340ed8dc3f99fbcfe2552b9f49}{vertex\+Decl\+Halfedge\+Pos\+\_\+}}\label{a00504_a4891ee340ed8dc3f99fbcfe2552b9f49}

\begin{DoxyCompactList}\small\item\em vertex buffer layout declaration with halfedge positions only \end{DoxyCompactList}\item 
\hypertarget{a00504_a22eea3124e087e22073e4d226831aa30}{G\+Luint \hyperlink{a00504_a22eea3124e087e22073e4d226831aa30}{pick\+Vertex\+I\+B\+O\+\_\+}}\label{a00504_a22eea3124e087e22073e4d226831aa30}

\begin{DoxyCompactList}\small\item\em map from openmesh vertex to vbo vertex id \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This class holds non-\/templated code and is intended to be inherited by the templated \hyperlink{a00507}{Draw\+Mesh\+T} class. 

Definition at line 91 of file Draw\+Mesh.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00504_a22b463dcee7cc85bcbbb083d15a2bea2}{\index{A\+C\+G\+::\+Draw\+Mesh\+Base@{A\+C\+G\+::\+Draw\+Mesh\+Base}!pick\+Vertex\+I\+B\+O\+\_\+opt@{pick\+Vertex\+I\+B\+O\+\_\+opt}}
\index{pick\+Vertex\+I\+B\+O\+\_\+opt@{pick\+Vertex\+I\+B\+O\+\_\+opt}!A\+C\+G\+::\+Draw\+Mesh\+Base@{A\+C\+G\+::\+Draw\+Mesh\+Base}}
\subsubsection[{pick\+Vertex\+I\+B\+O\+\_\+opt}]{\setlength{\rightskip}{0pt plus 5cm}G\+Luint A\+C\+G\+::\+Draw\+Mesh\+Base\+::pick\+Vertex\+I\+B\+O\+\_\+opt (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a00504_a22b463dcee7cc85bcbbb083d15a2bea2}


get an index buffer mapping from openmesh vertices to drawmesh vbo vertices 

\begin{DoxyReturn}{Returns}
index buffer object (U\+N\+S\+I\+G\+N\+E\+D\+\_\+\+I\+N\+T), might be 0 if the openmesh object is a point cloud 
\end{DoxyReturn}


Definition at line 124 of file Draw\+Mesh.\+hh.



\subsection{Member Data Documentation}
\hypertarget{a00504_ace8abeef287d4482b6fd0a331fcf5d83}{\index{A\+C\+G\+::\+Draw\+Mesh\+Base@{A\+C\+G\+::\+Draw\+Mesh\+Base}!vertices\+\_\+@{vertices\+\_\+}}
\index{vertices\+\_\+@{vertices\+\_\+}!A\+C\+G\+::\+Draw\+Mesh\+Base@{A\+C\+G\+::\+Draw\+Mesh\+Base}}
\subsubsection[{vertices\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}std\+::vector$<$char$>$ A\+C\+G\+::\+Draw\+Mesh\+Base\+::vertices\+\_\+\hspace{0.3cm}{\ttfamily [protected]}}}\label{a00504_ace8abeef287d4482b6fd0a331fcf5d83}
final vertex buffer used for rendering raw byte array, use write\+\_\+\+\_\+() functions for access 

Definition at line 142 of file Draw\+Mesh.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
A\+C\+G/\+G\+L/Draw\+Mesh.\+hh\item 
A\+C\+G/\+G\+L/Draw\+Mesh.\+cc\end{DoxyCompactItemize}
