\hypertarget{classVolumeMeshBufferManager}{}\section{Volume\+Mesh\+Buffer\+Manager$<$ Volume\+Mesh $>$ Class Template Reference}
\label{classVolumeMeshBufferManager}\index{Volume\+Mesh\+Buffer\+Manager$<$ Volume\+Mesh $>$@{Volume\+Mesh\+Buffer\+Manager$<$ Volume\+Mesh $>$}}


This class creates buffers that can be used to render open volume meshs.  




{\ttfamily \#include $<$Type-\/\+Open\+Volume\+Mesh/\+Object\+Types/\+Volume\+Mesh\+Object/\+Volume\+Mesh\+Buffer\+Manager.\+hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a750c5d727f904f92223c38734bede3ff}\label{classVolumeMeshBufferManager_a750c5d727f904f92223c38734bede3ff}} 
enum {\bfseries Primitive\+Mode} \{ \newline
{\bfseries P\+M\+\_\+\+N\+O\+NE}, 
{\bfseries P\+M\+\_\+\+C\+E\+L\+LS}, 
{\bfseries P\+M\+\_\+\+F\+A\+C\+ES}, 
{\bfseries P\+M\+\_\+\+F\+A\+C\+E\+S\+\_\+\+O\+N\+\_\+\+C\+E\+L\+LS}, 
\newline
{\bfseries P\+M\+\_\+\+H\+A\+L\+F\+F\+A\+C\+ES}, 
{\bfseries P\+M\+\_\+\+H\+A\+L\+F\+F\+A\+C\+E\+S\+\_\+\+O\+N\+\_\+\+C\+E\+L\+LS}, 
{\bfseries P\+M\+\_\+\+E\+D\+G\+ES}, 
{\bfseries P\+M\+\_\+\+I\+R\+R\+E\+G\+U\+L\+A\+R\+\_\+\+E\+D\+G\+ES}, 
\newline
{\bfseries P\+M\+\_\+\+E\+D\+G\+E\+S\+\_\+\+O\+N\+\_\+\+C\+E\+L\+LS}, 
{\bfseries P\+M\+\_\+\+H\+A\+L\+F\+E\+D\+G\+ES}, 
{\bfseries P\+M\+\_\+\+V\+E\+R\+T\+I\+C\+ES}, 
{\bfseries P\+M\+\_\+\+V\+E\+R\+T\+I\+C\+E\+S\+\_\+\+O\+N\+\_\+\+C\+E\+L\+LS}
 \}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a9795c4453eed1ea01494ca76df078285}\label{classVolumeMeshBufferManager_a9795c4453eed1ea01494ca76df078285}} 
enum {\bfseries Normal\+Mode} \{ {\bfseries N\+M\+\_\+\+N\+O\+NE}, 
{\bfseries N\+M\+\_\+\+F\+A\+CE}, 
{\bfseries N\+M\+\_\+\+H\+A\+L\+F\+F\+A\+CE}, 
{\bfseries N\+M\+\_\+\+V\+E\+R\+T\+EX}
 \}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a29f3bdd2c23de789a4635c8d6568b505}\label{classVolumeMeshBufferManager_a29f3bdd2c23de789a4635c8d6568b505}} 
enum {\bfseries Color\+Mode} \{ \newline
{\bfseries C\+M\+\_\+\+N\+O\+\_\+\+C\+O\+L\+O\+RS}, 
{\bfseries C\+M\+\_\+\+C\+E\+LL}, 
{\bfseries C\+M\+\_\+\+F\+A\+CE}, 
{\bfseries C\+M\+\_\+\+H\+A\+L\+F\+F\+A\+CE}, 
\newline
{\bfseries C\+M\+\_\+\+E\+D\+GE}, 
{\bfseries C\+M\+\_\+\+H\+A\+L\+F\+E\+D\+GE}, 
{\bfseries C\+M\+\_\+\+V\+E\+R\+T\+EX}, 
{\bfseries C\+M\+\_\+\+P\+I\+CK}
 \}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a18ec967d96b4b6d67ce51ba1f183f843}\label{classVolumeMeshBufferManager_a18ec967d96b4b6d67ce51ba1f183f843}} 
enum {\bfseries Tex\+Coord\+Mode} \{ {\bfseries T\+C\+M\+\_\+\+N\+O\+NE}, 
{\bfseries T\+C\+M\+\_\+\+S\+I\+N\+G\+L\+E\+\_\+2D}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a322bd5e832b981345c439bf9de180810}\label{classVolumeMeshBufferManager_a322bd5e832b981345c439bf9de180810}} 
{\bfseries Volume\+Mesh\+Buffer\+Manager} (const Volume\+Mesh \&mesh\+\_\+, \hyperlink{classOpenVolumeMesh_1_1StatusAttrib}{Open\+Volume\+Mesh\+::\+Status\+Attrib} \&status\+Attrib\+\_\+, \hyperlink{classOpenVolumeMesh_1_1ColorAttrib}{Open\+Volume\+Mesh\+::\+Color\+Attrib}$<$ \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} $>$ \&color\+Attrib\+\_\+, \hyperlink{classOpenVolumeMesh_1_1NormalAttrib}{Open\+Volume\+Mesh\+::\+Normal\+Attrib}$<$ Volume\+Mesh $>$ \&normal\+Attrib\+\_\+, \hyperlink{classOpenVolumeMesh_1_1TexCoordAttrib}{Open\+Volume\+Mesh\+::\+Tex\+Coord\+Attrib}$<$ \hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} $>$ \&texcoord\+Attrib\+\_\+)
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ac87aea12a66f8628a725073cff044c93}\label{classVolumeMeshBufferManager_ac87aea12a66f8628a725073cff044c93}} 
void \hyperlink{classVolumeMeshBufferManager_ac87aea12a66f8628a725073cff044c93}{set\+Scale} (double \+\_\+scale)
\begin{DoxyCompactList}\small\item\em Sets the scale used to shrink cells. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a07690e5f8bfe45e01c66b876341a8e92}\label{classVolumeMeshBufferManager_a07690e5f8bfe45e01c66b876341a8e92}} 
double \hyperlink{classVolumeMeshBufferManager_a07690e5f8bfe45e01c66b876341a8e92}{get\+Scale} () const
\begin{DoxyCompactList}\small\item\em Return the scale used to shrink cells. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ac4aece3e0fdd7f69e9730545d3d121c7}\label{classVolumeMeshBufferManager_ac4aece3e0fdd7f69e9730545d3d121c7}} 
unsigned char \hyperlink{classVolumeMeshBufferManager_ac4aece3e0fdd7f69e9730545d3d121c7}{get\+Stride} ()
\begin{DoxyCompactList}\small\item\em Returns the vertex stride. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_accdae01273d739213c8937c4b5165eb8}\label{classVolumeMeshBufferManager_accdae01273d739213c8937c4b5165eb8}} 
unsigned char \hyperlink{classVolumeMeshBufferManager_accdae01273d739213c8937c4b5165eb8}{get\+Color\+Offset} ()
\begin{DoxyCompactList}\small\item\em Returns the color\textquotesingle{}s offset within the buffer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a1a5d48336e574485cb0dcd726fa07a55}\label{classVolumeMeshBufferManager_a1a5d48336e574485cb0dcd726fa07a55}} 
unsigned char \hyperlink{classVolumeMeshBufferManager_a1a5d48336e574485cb0dcd726fa07a55}{get\+Normal\+Offset} ()
\begin{DoxyCompactList}\small\item\em Returns the normal\textquotesingle{}s offset within the buffer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_aa86d46aedcd51e6849bea206e0d6128e}\label{classVolumeMeshBufferManager_aa86d46aedcd51e6849bea206e0d6128e}} 
unsigned char \hyperlink{classVolumeMeshBufferManager_aa86d46aedcd51e6849bea206e0d6128e}{get\+Tex\+Coord\+Offset} ()
\begin{DoxyCompactList}\small\item\em Returns the texcoord\textquotesingle{}s offset within the buffer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ae61f9b05d8e32edccce465cb2e9ce5ce}\label{classVolumeMeshBufferManager_ae61f9b05d8e32edccce465cb2e9ce5ce}} 
const \hyperlink{classACG_1_1VertexDeclaration}{A\+C\+G\+::\+Vertex\+Declaration} $\ast$ \hyperlink{classVolumeMeshBufferManager_ae61f9b05d8e32edccce465cb2e9ce5ce}{get\+Vertex\+Declaration} ()
\begin{DoxyCompactList}\small\item\em Returns a Vertex\+Declaration for the vertices stored in the buffer. \end{DoxyCompactList}\item 
G\+Luint \hyperlink{classVolumeMeshBufferManager_a77041d3765e33c1e8a43bf133d55c7da}{get\+Buffer} ()
\begin{DoxyCompactList}\small\item\em Returns the name of the buffer. \end{DoxyCompactList}\item 
G\+Luint \hyperlink{classVolumeMeshBufferManager_adf7617dc05c3fb21a81ba45fc5d164d7}{get\+Pick\+Buffer} (\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, unsigned int \+\_\+offset)
\begin{DoxyCompactList}\small\item\em Returns the name of the pick buffer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a948bbe41eede8d98ad8942b79d1e71d3}\label{classVolumeMeshBufferManager_a948bbe41eede8d98ad8942b79d1e71d3}} 
void \hyperlink{classVolumeMeshBufferManager_a948bbe41eede8d98ad8942b79d1e71d3}{invalidate} ()
\begin{DoxyCompactList}\small\item\em Invalidates the buffer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ae63978d7c4fbe0d22d34a32318bbf8b1}\label{classVolumeMeshBufferManager_ae63978d7c4fbe0d22d34a32318bbf8b1}} 
void \hyperlink{classVolumeMeshBufferManager_ae63978d7c4fbe0d22d34a32318bbf8b1}{invalidate\+Geometry} ()
\begin{DoxyCompactList}\small\item\em Invalidates geometry. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a6eecec90db2538040c90524a651d1be2}\label{classVolumeMeshBufferManager_a6eecec90db2538040c90524a651d1be2}} 
void \hyperlink{classVolumeMeshBufferManager_a6eecec90db2538040c90524a651d1be2}{invalidate\+Colors} ()
\begin{DoxyCompactList}\small\item\em Invalidates colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a84f66d4f0f0250cbde0f41e10a5e1b2f}\label{classVolumeMeshBufferManager_a84f66d4f0f0250cbde0f41e10a5e1b2f}} 
void \hyperlink{classVolumeMeshBufferManager_a84f66d4f0f0250cbde0f41e10a5e1b2f}{invalidate\+Normals} ()
\begin{DoxyCompactList}\small\item\em Invalidates normals. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_aa237f506968776ec2c3da7725851fbf2}\label{classVolumeMeshBufferManager_aa237f506968776ec2c3da7725851fbf2}} 
void \hyperlink{classVolumeMeshBufferManager_aa237f506968776ec2c3da7725851fbf2}{invalidate\+Tex\+Coords} ()
\begin{DoxyCompactList}\small\item\em Invalidates texture coordinates. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a0f045ac60d87d6e79276eef2e1f5a041}{free} ()
\begin{DoxyCompactList}\small\item\em Deletes the buffers on the G\+PU. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a56ecd4c97cb6c36b593a10b5683f90c0}\label{classVolumeMeshBufferManager_a56ecd4c97cb6c36b593a10b5683f90c0}} 
unsigned int \hyperlink{classVolumeMeshBufferManager_a56ecd4c97cb6c36b593a10b5683f90c0}{get\+Num\+Of\+Vertices} ()
\begin{DoxyCompactList}\small\item\em Returns the number of vertices stored in the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a18bc7ba09dd7615f7fc45ca9f6887145}{set\+Default\+Color} (\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \+\_\+default\+Color)
\begin{DoxyCompactList}\small\item\em Sets the default color. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_adec928ff79e1485d1968b42931cae7f5}{set\+Options\+From\+Draw\+Mode} (\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \+\_\+draw\+Mode)
\begin{DoxyCompactList}\small\item\em Configures the buffer manager\textquotesingle{}s options from a Draw\+Mode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a6057f8ab68df4910d7eaf1ac9a9f4f8e}\label{classVolumeMeshBufferManager_a6057f8ab68df4910d7eaf1ac9a9f4f8e}} 
void \hyperlink{classVolumeMeshBufferManager_a6057f8ab68df4910d7eaf1ac9a9f4f8e}{disable\+Colors} ()
\begin{DoxyCompactList}\small\item\em Disables colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a3cb5ee5d52b8c36fba34b106cda63c99}\label{classVolumeMeshBufferManager_a3cb5ee5d52b8c36fba34b106cda63c99}} 
void \hyperlink{classVolumeMeshBufferManager_a3cb5ee5d52b8c36fba34b106cda63c99}{enable\+Per\+Cell\+Colors} ()
\begin{DoxyCompactList}\small\item\em Enables per cell colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a3fa27897d738be52ba673c1e75f15d58}\label{classVolumeMeshBufferManager_a3fa27897d738be52ba673c1e75f15d58}} 
void \hyperlink{classVolumeMeshBufferManager_a3fa27897d738be52ba673c1e75f15d58}{enable\+Per\+Face\+Colors} ()
\begin{DoxyCompactList}\small\item\em Enables per face colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a389b961ad756b794b141b7f38099350d}\label{classVolumeMeshBufferManager_a389b961ad756b794b141b7f38099350d}} 
void \hyperlink{classVolumeMeshBufferManager_a389b961ad756b794b141b7f38099350d}{enable\+Per\+Halfface\+Colors} ()
\begin{DoxyCompactList}\small\item\em Enables per halfface colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_afe996242caad6178470c39219721d1df}\label{classVolumeMeshBufferManager_afe996242caad6178470c39219721d1df}} 
void \hyperlink{classVolumeMeshBufferManager_afe996242caad6178470c39219721d1df}{enable\+Per\+Edge\+Colors} ()
\begin{DoxyCompactList}\small\item\em Enables per edge colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a62503ebf461d405d12db522f1313347c}\label{classVolumeMeshBufferManager_a62503ebf461d405d12db522f1313347c}} 
void \hyperlink{classVolumeMeshBufferManager_a62503ebf461d405d12db522f1313347c}{enable\+Per\+Halfedge\+Colors} ()
\begin{DoxyCompactList}\small\item\em Enables per halfedge colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ae6bb57ad949f7ff769e360c09213ffe2}\label{classVolumeMeshBufferManager_ae6bb57ad949f7ff769e360c09213ffe2}} 
void \hyperlink{classVolumeMeshBufferManager_ae6bb57ad949f7ff769e360c09213ffe2}{enable\+Per\+Vertex\+Colors} ()
\begin{DoxyCompactList}\small\item\em Enables per vertex colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a2d8df6a0ac9a429cca714bea706507f9}\label{classVolumeMeshBufferManager_a2d8df6a0ac9a429cca714bea706507f9}} 
void \hyperlink{classVolumeMeshBufferManager_a2d8df6a0ac9a429cca714bea706507f9}{enable\+Pick\+Colors} ()
\begin{DoxyCompactList}\small\item\em Enables picking colors. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a8c7da5ae5ae5a7208cae4d7d22f952a8}\label{classVolumeMeshBufferManager_a8c7da5ae5ae5a7208cae4d7d22f952a8}} 
void \hyperlink{classVolumeMeshBufferManager_a8c7da5ae5ae5a7208cae4d7d22f952a8}{disable\+Normals} ()
\begin{DoxyCompactList}\small\item\em Disables normals. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ae88ba090c5cbc8e4d937f28e95174fc2}\label{classVolumeMeshBufferManager_ae88ba090c5cbc8e4d937f28e95174fc2}} 
void \hyperlink{classVolumeMeshBufferManager_ae88ba090c5cbc8e4d937f28e95174fc2}{enable\+Per\+Face\+Normals} ()
\begin{DoxyCompactList}\small\item\em Enables per face normals. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ac1b062feda117ebf27b6fa6c88280723}\label{classVolumeMeshBufferManager_ac1b062feda117ebf27b6fa6c88280723}} 
void \hyperlink{classVolumeMeshBufferManager_ac1b062feda117ebf27b6fa6c88280723}{enable\+Per\+Halfface\+Normals} ()
\begin{DoxyCompactList}\small\item\em Enables per halfface normals. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a92da4d4150d4edc63c69cd819da17e86}\label{classVolumeMeshBufferManager_a92da4d4150d4edc63c69cd819da17e86}} 
void \hyperlink{classVolumeMeshBufferManager_a92da4d4150d4edc63c69cd819da17e86}{enable\+Per\+Vertex\+Normals} ()
\begin{DoxyCompactList}\small\item\em Enables per vertex normals. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_aa20bd8ec40cfb38fab5fafc54f1f23d4}\label{classVolumeMeshBufferManager_aa20bd8ec40cfb38fab5fafc54f1f23d4}} 
void \hyperlink{classVolumeMeshBufferManager_aa20bd8ec40cfb38fab5fafc54f1f23d4}{disable\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Disables primitives (nothing will be drawn) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a0a3882bc5f9c69c58c357e99f4cbcae4}\label{classVolumeMeshBufferManager_a0a3882bc5f9c69c58c357e99f4cbcae4}} 
void \hyperlink{classVolumeMeshBufferManager_a0a3882bc5f9c69c58c357e99f4cbcae4}{enable\+Cell\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables cell primitives. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a93dc93833634e0d2b2e65284c013410a}\label{classVolumeMeshBufferManager_a93dc93833634e0d2b2e65284c013410a}} 
void \hyperlink{classVolumeMeshBufferManager_a93dc93833634e0d2b2e65284c013410a}{enable\+Face\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables face primitives. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ac6bb29b1b97a0aac1f2074870a76cf83}\label{classVolumeMeshBufferManager_ac6bb29b1b97a0aac1f2074870a76cf83}} 
void \hyperlink{classVolumeMeshBufferManager_ac6bb29b1b97a0aac1f2074870a76cf83}{enable\+Face\+On\+Cell\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables face primitives which are drawn on the cells. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a59db87880d76233b740de528b75050d1}\label{classVolumeMeshBufferManager_a59db87880d76233b740de528b75050d1}} 
void \hyperlink{classVolumeMeshBufferManager_a59db87880d76233b740de528b75050d1}{enable\+Halfface\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables halfface primitves. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_aa4b7d63b4843382e97f3a8a596b400a8}\label{classVolumeMeshBufferManager_aa4b7d63b4843382e97f3a8a596b400a8}} 
void \hyperlink{classVolumeMeshBufferManager_aa4b7d63b4843382e97f3a8a596b400a8}{enable\+Halfface\+On\+Cell\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables halfface primitives which are drawn on the cells. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ad879aed9d4a15a9e3715fd11efc0ccac}\label{classVolumeMeshBufferManager_ad879aed9d4a15a9e3715fd11efc0ccac}} 
void \hyperlink{classVolumeMeshBufferManager_ad879aed9d4a15a9e3715fd11efc0ccac}{enable\+Edge\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables edge primitves. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_abb39e69c532002347327a4997b0f8273}\label{classVolumeMeshBufferManager_abb39e69c532002347327a4997b0f8273}} 
void \hyperlink{classVolumeMeshBufferManager_abb39e69c532002347327a4997b0f8273}{enable\+Irregular\+Edge\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables edge primitives for irregular edges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a7a7376f9d8853014a5fbe217f3594578}\label{classVolumeMeshBufferManager_a7a7376f9d8853014a5fbe217f3594578}} 
void \hyperlink{classVolumeMeshBufferManager_a7a7376f9d8853014a5fbe217f3594578}{enable\+Edge\+On\+Cell\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables edge primitives which are drawn on the cells. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a8645beb5ce5d41cd826a4aaa564cad4a}\label{classVolumeMeshBufferManager_a8645beb5ce5d41cd826a4aaa564cad4a}} 
void \hyperlink{classVolumeMeshBufferManager_a8645beb5ce5d41cd826a4aaa564cad4a}{enable\+Halfedge\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables per halfedge primitives. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_abf9875412d2d2f2dd5c69c72ae2bef66}\label{classVolumeMeshBufferManager_abf9875412d2d2f2dd5c69c72ae2bef66}} 
void \hyperlink{classVolumeMeshBufferManager_abf9875412d2d2f2dd5c69c72ae2bef66}{enable\+Vertex\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables vertex primitives. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a1b4ef57ca620e19c68230edf2193b5aa}\label{classVolumeMeshBufferManager_a1b4ef57ca620e19c68230edf2193b5aa}} 
void \hyperlink{classVolumeMeshBufferManager_a1b4ef57ca620e19c68230edf2193b5aa}{enable\+Vertex\+On\+Cell\+Primitives} ()
\begin{DoxyCompactList}\small\item\em Enables vertex primitives that are drawn on the cells. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ac30c2d47c6c0c7240a80888600a0dd20}\label{classVolumeMeshBufferManager_ac30c2d47c6c0c7240a80888600a0dd20}} 
void \hyperlink{classVolumeMeshBufferManager_ac30c2d47c6c0c7240a80888600a0dd20}{disable\+Textures} ()
\begin{DoxyCompactList}\small\item\em Disables textures. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a6e82fc69ae59ac4109f73d63b36b9dce}\label{classVolumeMeshBufferManager_a6e82fc69ae59ac4109f73d63b36b9dce}} 
void \hyperlink{classVolumeMeshBufferManager_a6e82fc69ae59ac4109f73d63b36b9dce}{enable\+Texture\+Single} ()
\begin{DoxyCompactList}\small\item\em Enables textures. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_aa46d4654820ed9bc7d011ba3713c46f3}\label{classVolumeMeshBufferManager_aa46d4654820ed9bc7d011ba3713c46f3}} 
bool \hyperlink{classVolumeMeshBufferManager_aa46d4654820ed9bc7d011ba3713c46f3}{selection\+Only} ()
\begin{DoxyCompactList}\small\item\em Checks whether only selected primitives should be added to the buffer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a0c3e8e01f8a4903016ac147dce2caff5}\label{classVolumeMeshBufferManager_a0c3e8e01f8a4903016ac147dce2caff5}} 
void \hyperlink{classVolumeMeshBufferManager_a0c3e8e01f8a4903016ac147dce2caff5}{set\+Selection\+Only} (bool \+\_\+selection\+Only)
\begin{DoxyCompactList}\small\item\em Set whether only selected primitves should be added to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a6263865057f3e710ee1bfbeec96f5f94}{clear\+Cut\+Planes} ()
\begin{DoxyCompactList}\small\item\em Removes all cut planes. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a5ebc97f06ec951eff083ccad175a04b6}{add\+Cut\+Plane} (const \hyperlink{classACG_1_1Geometry_1_1Plane}{A\+C\+G\+::\+Geometry\+::\+Plane} \&\+\_\+p)
\begin{DoxyCompactList}\small\item\em Adds a cut plane. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a1efd4f9cd66dd76e03c8ccd6f92415c2}{add\+Cut\+Plane} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+p, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+n, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+xsize, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+ysize)
\begin{DoxyCompactList}\small\item\em Adds a cut plane. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a61fe64e21b82c6fdd4f1055ccdffc374}\label{classVolumeMeshBufferManager_a61fe64e21b82c6fdd4f1055ccdffc374}} 
void \hyperlink{classVolumeMeshBufferManager_a61fe64e21b82c6fdd4f1055ccdffc374}{set\+Boundary\+Only} (bool \+\_\+boundary\+Only)
\begin{DoxyCompactList}\small\item\em Sets whether only the boundary primitves should be rendered. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a11c03384820d5b1bb2fe52d87bbae8bf}\label{classVolumeMeshBufferManager_a11c03384820d5b1bb2fe52d87bbae8bf}} 
typedef \hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Vertex\+Handle} {\bfseries Vertex\+Handle}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a2ab72f9bafd4b9d9203cd4e249e0e2d2}\label{classVolumeMeshBufferManager_a2ab72f9bafd4b9d9203cd4e249e0e2d2}} 
typedef \hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Edge\+Handle} {\bfseries Edge\+Handle}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a518acdc127d4d429cdc1a0e4368cb4a5}\label{classVolumeMeshBufferManager_a518acdc127d4d429cdc1a0e4368cb4a5}} 
typedef \hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Half\+Edge\+Handle} {\bfseries Half\+Edge\+Handle}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ac14031f13627ac39a528813f4d84e72b}\label{classVolumeMeshBufferManager_ac14031f13627ac39a528813f4d84e72b}} 
typedef \hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Face\+Handle} {\bfseries Face\+Handle}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_af064eea06e66c08ef9ff0a00591375d9}\label{classVolumeMeshBufferManager_af064eea06e66c08ef9ff0a00591375d9}} 
typedef \hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Half\+Face\+Handle} {\bfseries Half\+Face\+Handle}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ad839574822d6f55fd77e0ad01d163d9f}\label{classVolumeMeshBufferManager_ad839574822d6f55fd77e0ad01d163d9f}} 
typedef \hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Cell\+Handle} {\bfseries Cell\+Handle}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ad85c4c6d6c2394acf495b5b46a99a7ed}\label{classVolumeMeshBufferManager_ad85c4c6d6c2394acf495b5b46a99a7ed}} 
typedef Volume\+Mesh\+::\+PointT {\bfseries Vertex}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a81f982c715e620fb15e7873760eda12f}\label{classVolumeMeshBufferManager_a81f982c715e620fb15e7873760eda12f}} 
typedef \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshEdge}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Edge} {\bfseries Edge}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ae34f26cea476c31e65013d607a9b2ca4}\label{classVolumeMeshBufferManager_ae34f26cea476c31e65013d607a9b2ca4}} 
typedef \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshFace}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Face} {\bfseries Face}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ae3f6991b27c819b32acf92936536c8d3}\label{classVolumeMeshBufferManager_ae3f6991b27c819b32acf92936536c8d3}} 
typedef \hyperlink{classOpenVolumeMesh_1_1OpenVolumeMeshCell}{Open\+Volume\+Mesh\+::\+Open\+Volume\+Mesh\+Cell} {\bfseries Cell}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a30af523d9ca7e3d9da5f2cf6ae50f2a4}\label{classVolumeMeshBufferManager_a30af523d9ca7e3d9da5f2cf6ae50f2a4}} 
using {\bfseries Plane} = \hyperlink{classACG_1_1Geometry_1_1Plane}{A\+C\+G\+::\+Geometry\+::\+Plane}
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{classVolumeMeshBufferManager_ae387239f7c4643c1735c443011a85851}{is\+\_\+inside} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+p)
\begin{DoxyCompactList}\small\item\em Tests whether the given point is inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_adefa2c1b3c8f2125540d0db01ae58079}{is\+\_\+inside} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Vertex\+Handle} \&\+\_\+vh)
\begin{DoxyCompactList}\small\item\em Tests whether the given vertex is inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_a887c7853dd5e793ddf96f190083c6921}{is\+\_\+inside} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Half\+Edge\+Handle} \&\+\_\+heh)
\begin{DoxyCompactList}\small\item\em Tests whether the given halfedge is inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_a62f8081a4312607a96794c2deb1252bc}{is\+\_\+inside} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Edge\+Handle} \&\+\_\+eh)
\begin{DoxyCompactList}\small\item\em Tests whether the given edge is inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_a6776915305b2492ad62951c9a3d5d045}{is\+\_\+inside} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Half\+Face\+Handle} \&\+\_\+hfh)
\begin{DoxyCompactList}\small\item\em Tests whether the given halfface is inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a671a6d8b0ab5db17d7791532af23e7fc}\label{classVolumeMeshBufferManager_a671a6d8b0ab5db17d7791532af23e7fc}} 
bool \hyperlink{classVolumeMeshBufferManager_a671a6d8b0ab5db17d7791532af23e7fc}{is\+\_\+inside} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Face\+Handle} \&\+\_\+fh)
\begin{DoxyCompactList}\small\item\em Tests whether the given face is inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_a09fdff74859dd09ce67943075a1d75b9}{is\+\_\+inside} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Cell\+Handle} \&\+\_\+ch)
\begin{DoxyCompactList}\small\item\em Tests whether the given cell is inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a1d150d668d98c2b62ed6401bc6d7d87a}{calculate\+Cell\+Insideness} ()
\begin{DoxyCompactList}\small\item\em Calculates for all cells whether they are inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ade226aa26de71b42757d8779d0c29c72}\label{classVolumeMeshBufferManager_ade226aa26de71b42757d8779d0c29c72}} 
bool {\bfseries should\+\_\+render} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Vertex\+Handle} \&\+\_\+vh)
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ad5dbb8365ada930088d29cd528455866}\label{classVolumeMeshBufferManager_ad5dbb8365ada930088d29cd528455866}} 
bool {\bfseries should\+\_\+render} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Half\+Edge\+Handle} \&\+\_\+heh)
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_aa0e401a931c35a61ff5b386a9bb817df}\label{classVolumeMeshBufferManager_aa0e401a931c35a61ff5b386a9bb817df}} 
bool {\bfseries should\+\_\+render} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Edge\+Handle} \&\+\_\+eh)
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ab8dd4bd3ef6a6e180ef09c01f9ae9488}\label{classVolumeMeshBufferManager_ab8dd4bd3ef6a6e180ef09c01f9ae9488}} 
bool {\bfseries should\+\_\+render} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Half\+Face\+Handle} \&\+\_\+hfh)
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a0f1210eefc1b9094c0492230b2b6d9a5}\label{classVolumeMeshBufferManager_a0f1210eefc1b9094c0492230b2b6d9a5}} 
bool {\bfseries should\+\_\+render} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Face\+Handle} \&\+\_\+fh)
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a2a00b33652f6dbf958e7b9aa46cea045}\label{classVolumeMeshBufferManager_a2a00b33652f6dbf958e7b9aa46cea045}} 
bool {\bfseries should\+\_\+render} (const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Cell\+Handle} \&\+\_\+ch)
\item 
bool \hyperlink{classVolumeMeshBufferManager_a1f89d070a4720055c2f7a472ef418bfd}{options\+Changed} ()
\begin{DoxyCompactList}\small\item\em Tests whether the options were changed since the last time building the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a11ed96b5febfc22ddd18fed9bfa7fe76}{save\+Options} ()
\begin{DoxyCompactList}\small\item\em State that the current buffer was built with the current options. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_aa36d08ac66c0ae54577d7e8f9e624099}{add\+Float\+To\+Buffer} (float \+\_\+value, unsigned char $\ast$\&\+\_\+buffer)
\begin{DoxyCompactList}\small\item\em Adds a float to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_afce56bc3eaea93baa4302aabf832dd8b}{add\+U\+Char\+To\+Buffer} (unsigned char \+\_\+value, unsigned char $\ast$\&\+\_\+buffer)
\begin{DoxyCompactList}\small\item\em Adds an unsigned char to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a40765097e9f1a77206e3e4c335395c13}{add\+Position\+To\+Buffer} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \+\_\+position, unsigned char $\ast$\+\_\+buffer, unsigned int \+\_\+offset)
\begin{DoxyCompactList}\small\item\em Adds a position to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_aafe3fd08a36c27580f2f350e2feecafa}{add\+Color\+To\+Buffer} (\hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{A\+C\+G\+::\+Vec4uc} \+\_\+color, unsigned char $\ast$\+\_\+buffer, unsigned int \+\_\+offset)
\begin{DoxyCompactList}\small\item\em Adds a color to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_acbdeed8e2d4023a7cca1f8edbcc070a0}{add\+Color\+To\+Buffer} (\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \+\_\+color, unsigned char $\ast$\+\_\+buffer, unsigned int \+\_\+offset)
\begin{DoxyCompactList}\small\item\em Adds a color to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a84abfeb982be0f6c837c0ff6c5b15c35}{add\+Normal\+To\+Buffer} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \+\_\+normal, unsigned char $\ast$\+\_\+buffer, unsigned int \+\_\+offset)
\begin{DoxyCompactList}\small\item\em Adds a normal to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_ad38fdd03606a2132c676f34d83cbc16d}{add\+Tex\+Coord\+To\+Buffer} (\hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} \+\_\+tex\+Coord, unsigned char $\ast$\+\_\+buffer, unsigned int \+\_\+offset)
\begin{DoxyCompactList}\small\item\em Adds a texture coordnate to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a460eba211adcdbd051b22ee2cab2d143}{calculate\+Vertex\+Declaration} ()
\begin{DoxyCompactList}\small\item\em Constructs a Vertex\+Declaration, the size and the offsets for the vertices stored in the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_af974db631eabde5421c8bb6d3f0f22ab}{build\+Vertex\+Buffer} (unsigned char $\ast$\+\_\+buffer)
\begin{DoxyCompactList}\small\item\em Adds all vertices to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a01206d91f64d902d8dd0b441679b73bb}{build\+Normal\+Buffer} (unsigned char $\ast$\+\_\+buffer)
\begin{DoxyCompactList}\small\item\em Adds all normals to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_acb2fb25845548e86f72001ce8f8bba35}{build\+Color\+Buffer} (unsigned char $\ast$\+\_\+buffer)
\begin{DoxyCompactList}\small\item\em Adds all colors to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a7b2c8ad3a8140ff2ca51348f93d7e825}{build\+Tex\+Coord\+Buffer} (unsigned char $\ast$\+\_\+buffer)
\begin{DoxyCompactList}\small\item\em Adds texture coordinates to the buffer. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_a4ddfa844f0d5c3177baaeccafb76d813}{build\+Pick\+Color\+Buffer} (\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, unsigned int \+\_\+offset, unsigned char $\ast$\+\_\+buffer)
\begin{DoxyCompactList}\small\item\em Adds all picking colors to the buffer. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{classVolumeMeshBufferManager_aec1530c9e73200b07455faefeba012ff}{get\+Valence\+Color\+Code} (unsigned int \+\_\+valence, bool \+\_\+inner) const
\begin{DoxyCompactList}\small\item\em Returns a color code for irregular edges. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_ac0256a9bbacb58d68e60bdd228073f50}{count\+Num\+Of\+Vertices} ()
\begin{DoxyCompactList}\small\item\em Counts the number of vertices that need to be stored in the buffer. \end{DoxyCompactList}\item 
int \hyperlink{classVolumeMeshBufferManager_a4a9f6d9746b38726eb114247c16a15b1}{get\+Num\+Of\+Incident\+Cells} (\hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Face\+Handle} \+\_\+fh)
\begin{DoxyCompactList}\small\item\em Returns the number of cells that are incident to the given face and also inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_afbd0736a405875bbdc5ef48512e8bfdf}\label{classVolumeMeshBufferManager_afbd0736a405875bbdc5ef48512e8bfdf}} 
int \hyperlink{classVolumeMeshBufferManager_afbd0736a405875bbdc5ef48512e8bfdf}{get\+Num\+Of\+Incident\+Cells} (\hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Edge\+Handle} \+\_\+eh)
\begin{DoxyCompactList}\small\item\em Returns the number of cells that are incident to the given edge and also inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
int \hyperlink{classVolumeMeshBufferManager_a29be15a6f7e906f9e9e49480ed026833}{get\+Num\+Of\+Incident\+Cells} (\hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Vertex\+Handle} \+\_\+vh)
\begin{DoxyCompactList}\small\item\em Returns the number of cells that are incident to the given vertex and also inside w.\+r.\+t. all cut planes. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classVolumeMeshBufferManager_a54e45d3ab7eddd4123b92dc9b69560e7}{get\+C\+OG} (\hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Cell\+Handle} \+\_\+ch)
\begin{DoxyCompactList}\small\item\em Returns the center of gravity of the given cell. \end{DoxyCompactList}\item 
void \hyperlink{classVolumeMeshBufferManager_ab71b8fc22a73e082f2bba4cc6544c130}{calculate\+C\+O\+Gs} ()
\begin{DoxyCompactList}\small\item\em Calculates the center of gravity for all cells. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_a384b127d2e30fa28c8ae99a1495ff26f}{positions\+Need\+Rebuild} ()
\begin{DoxyCompactList}\small\item\em Checks whether positions need to be rebuild. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_a7dc4933aaad43c2acae9d1a858a28e93}{colors\+Need\+Rebuild} ()
\begin{DoxyCompactList}\small\item\em Checks whether colors need to be rebuild. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_a0ff514ee58c80ed93194ecb33f209fbf}{tex\+Coords\+Need\+Rebuild} ()
\begin{DoxyCompactList}\small\item\em Checks whether texture coordinates need to be rebuild. \end{DoxyCompactList}\item 
bool \hyperlink{classVolumeMeshBufferManager_a446a8093e89ccfec7fe776e08eb4f9ed}{normals\+Need\+Rebuild} ()
\begin{DoxyCompactList}\small\item\em Checks whether normals need to be rebuild. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_af748f5b396c9e0aa5adf49314ff06478}\label{classVolumeMeshBufferManager_af748f5b396c9e0aa5adf49314ff06478}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} {\bfseries m\+Default\+Color}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a76f4695fa970c2d2a6722c49a1b9675b}\label{classVolumeMeshBufferManager_a76f4695fa970c2d2a6722c49a1b9675b}} 
const Volume\+Mesh \& {\bfseries m\+Mesh}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a94394e525018cf5bd21671bc11133a4c}\label{classVolumeMeshBufferManager_a94394e525018cf5bd21671bc11133a4c}} 
\hyperlink{classOpenVolumeMesh_1_1StatusAttrib}{Open\+Volume\+Mesh\+::\+Status\+Attrib} \& {\bfseries m\+Status\+Attrib}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_aba380f68d0e8b055dea3190c91066fd0}\label{classVolumeMeshBufferManager_aba380f68d0e8b055dea3190c91066fd0}} 
\hyperlink{classOpenVolumeMesh_1_1ColorAttrib}{Open\+Volume\+Mesh\+::\+Color\+Attrib}$<$ \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} $>$ \& {\bfseries m\+Color\+Attrib}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ac24e9f87273649ded556547e2c54f8c5}\label{classVolumeMeshBufferManager_ac24e9f87273649ded556547e2c54f8c5}} 
\hyperlink{classOpenVolumeMesh_1_1NormalAttrib}{Open\+Volume\+Mesh\+::\+Normal\+Attrib}$<$ Volume\+Mesh $>$ \& {\bfseries m\+Normal\+Attrib}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a942ba0b72cf3327d8aaa8b1a487483f8}\label{classVolumeMeshBufferManager_a942ba0b72cf3327d8aaa8b1a487483f8}} 
\hyperlink{classOpenVolumeMesh_1_1TexCoordAttrib}{Open\+Volume\+Mesh\+::\+Tex\+Coord\+Attrib}$<$ \hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f} $>$ \& {\bfseries m\+Texcoord\+Attrib}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a0f6fd5ba892eed11318fc0c8509c4689}\label{classVolumeMeshBufferManager_a0f6fd5ba892eed11318fc0c8509c4689}} 
int {\bfseries m\+Num\+Of\+Vertices}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_af40212b79f831e800bc6f62d946e62e3}\label{classVolumeMeshBufferManager_af40212b79f831e800bc6f62d946e62e3}} 
int {\bfseries m\+Current\+Num\+Of\+Vertices}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a9d97c50e403c7358ec0c4bc02688b166}\label{classVolumeMeshBufferManager_a9d97c50e403c7358ec0c4bc02688b166}} 
unsigned int {\bfseries m\+Vertex\+Size}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_acb33c1ae44b36ae8140b5340d9b772f9}\label{classVolumeMeshBufferManager_acb33c1ae44b36ae8140b5340d9b772f9}} 
\hyperlink{classACG_1_1VertexDeclaration}{A\+C\+G\+::\+Vertex\+Declaration} {\bfseries m\+Vertex\+Declaration}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a3542dd610818a6278ca7deb5d61ebe71}\label{classVolumeMeshBufferManager_a3542dd610818a6278ca7deb5d61ebe71}} 
int {\bfseries m\+Color\+Offset}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ae8d4cd4e4ec65325194dce19bc932172}\label{classVolumeMeshBufferManager_ae8d4cd4e4ec65325194dce19bc932172}} 
int {\bfseries m\+Normal\+Offset}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a8604894f8d2387c3f4ee28396e12db38}\label{classVolumeMeshBufferManager_a8604894f8d2387c3f4ee28396e12db38}} 
double {\bfseries m\+Scale}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ad0d17fd15e1c046501cf2f1ebbe0a0ff}\label{classVolumeMeshBufferManager_ad0d17fd15e1c046501cf2f1ebbe0a0ff}} 
G\+Luint {\bfseries m\+Buffer}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a7830adc4ad9b263967e6f66fd2e1f2d2}\label{classVolumeMeshBufferManager_a7830adc4ad9b263967e6f66fd2e1f2d2}} 
unsigned int {\bfseries m\+Current\+Pick\+Offset}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a2beda5eb2bdc88ab7704e0d6f6423275}\label{classVolumeMeshBufferManager_a2beda5eb2bdc88ab7704e0d6f6423275}} 
unsigned int {\bfseries m\+Global\+Pick\+Offset}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a997dfee31bbd272fe48f79ba1bf770ae}\label{classVolumeMeshBufferManager_a997dfee31bbd272fe48f79ba1bf770ae}} 
bool {\bfseries m\+Invalidated}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a4c2752f987e1636a32c172e4518a05a0}\label{classVolumeMeshBufferManager_a4c2752f987e1636a32c172e4518a05a0}} 
bool {\bfseries m\+Geometry\+Changed}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ae0d6937e4fa3769f9fef210ba24c25c8}\label{classVolumeMeshBufferManager_ae0d6937e4fa3769f9fef210ba24c25c8}} 
bool {\bfseries m\+Normals\+Changed}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a5ed822bf781f5204ff6b05960119d08f}\label{classVolumeMeshBufferManager_a5ed822bf781f5204ff6b05960119d08f}} 
bool {\bfseries m\+Colors\+Changed}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a81bc1900694f528154cda075dd5979b4}\label{classVolumeMeshBufferManager_a81bc1900694f528154cda075dd5979b4}} 
bool {\bfseries m\+Tex\+Coords\+Changed}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a795caefd33c008c995777029b72a62cb}\label{classVolumeMeshBufferManager_a795caefd33c008c995777029b72a62cb}} 
\hyperlink{classVolumeMeshDrawModesContainer}{Volume\+Mesh\+Draw\+Modes\+Container} {\bfseries m\+Draw\+Modes}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a54821138e962b34e2e22ab17be36d5c7}\label{classVolumeMeshBufferManager_a54821138e962b34e2e22ab17be36d5c7}} 
Primitive\+Mode {\bfseries m\+Primitive\+Mode}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a4cbe0649853d5d324547604765d646a2}\label{classVolumeMeshBufferManager_a4cbe0649853d5d324547604765d646a2}} 
Normal\+Mode {\bfseries m\+Normal\+Mode}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_abb8608c86534d7ae574f14562fc52f74}\label{classVolumeMeshBufferManager_abb8608c86534d7ae574f14562fc52f74}} 
Color\+Mode {\bfseries m\+Color\+Mode}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ab1575d4b1fb5d19555021a9dde63a93d}\label{classVolumeMeshBufferManager_ab1575d4b1fb5d19555021a9dde63a93d}} 
bool {\bfseries m\+Skip\+Unselected}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a80a1af4850aaa76ea6adce846616f92b}\label{classVolumeMeshBufferManager_a80a1af4850aaa76ea6adce846616f92b}} 
bool {\bfseries m\+Show\+Irregular\+Inner\+Edges}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_aa5b61c64fc5c19003e946323c4845154}\label{classVolumeMeshBufferManager_aa5b61c64fc5c19003e946323c4845154}} 
bool {\bfseries m\+Show\+Irregular\+Outer\+Valence2\+Edges}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ac917dc85d20e0d986c15a0a6d84c3aee}\label{classVolumeMeshBufferManager_ac917dc85d20e0d986c15a0a6d84c3aee}} 
bool {\bfseries m\+Skip\+Regular\+Edges}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a5f8d41ad9d833dc5a47ee279be0566da}\label{classVolumeMeshBufferManager_a5f8d41ad9d833dc5a47ee279be0566da}} 
bool {\bfseries m\+Boundary\+Only}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a9305a4d2df700e9aa9806b3844648e27}\label{classVolumeMeshBufferManager_a9305a4d2df700e9aa9806b3844648e27}} 
Primitive\+Mode {\bfseries m\+Current\+Primitive\+Mode}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a5845f9369a7aa3331ea5212b27ec1995}\label{classVolumeMeshBufferManager_a5845f9369a7aa3331ea5212b27ec1995}} 
Normal\+Mode {\bfseries m\+Current\+Normal\+Mode}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a5dd20e5203fa347bbc18760949f020a0}\label{classVolumeMeshBufferManager_a5dd20e5203fa347bbc18760949f020a0}} 
Color\+Mode {\bfseries m\+Current\+Color\+Mode}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ad7af82feacd608ff0bf97f64e3aa9c9f}\label{classVolumeMeshBufferManager_ad7af82feacd608ff0bf97f64e3aa9c9f}} 
bool {\bfseries m\+Current\+Skip\+Unselected}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a4ad35e1ef717e3c0736596da35fcdf69}\label{classVolumeMeshBufferManager_a4ad35e1ef717e3c0736596da35fcdf69}} 
bool {\bfseries m\+Current\+Show\+Irregular\+Inner\+Edges}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ab654a51ae83a750a1492054d6afe5141}\label{classVolumeMeshBufferManager_ab654a51ae83a750a1492054d6afe5141}} 
bool {\bfseries m\+Current\+Show\+Irregular\+Outer\+Valence2\+Edges}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a3301a2157b39fcd2e0d45ab1d4239418}\label{classVolumeMeshBufferManager_a3301a2157b39fcd2e0d45ab1d4239418}} 
bool {\bfseries m\+Current\+Skip\+Regular\+Edges}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_adead8582818d66a6c9544748ecf867fd}\label{classVolumeMeshBufferManager_adead8582818d66a6c9544748ecf867fd}} 
bool {\bfseries m\+Current\+Boundary\+Only}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a87e9402d98d66513e0be78dd3e9dc7d9}\label{classVolumeMeshBufferManager_a87e9402d98d66513e0be78dd3e9dc7d9}} 
unsigned char {\bfseries m\+Current\+Vertex\+Size}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a04c65b83608c8ea04fac3bb00f11a99b}\label{classVolumeMeshBufferManager_a04c65b83608c8ea04fac3bb00f11a99b}} 
unsigned char {\bfseries m\+Current\+Normal\+Offset}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a2bdc2d581f9cbbe9161796a16eccf02b}\label{classVolumeMeshBufferManager_a2bdc2d581f9cbbe9161796a16eccf02b}} 
unsigned char {\bfseries m\+Current\+Color\+Offset}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a1da3ba23a20e1488d6544ff4af326fae}\label{classVolumeMeshBufferManager_a1da3ba23a20e1488d6544ff4af326fae}} 
std\+::vector$<$ \hyperlink{classACG_1_1Geometry_1_1Plane}{A\+C\+G\+::\+Geometry\+::\+Plane} $>$ {\bfseries cut\+\_\+planes\+\_\+}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a32679664db1c226837b36ce286dc9a6c}\label{classVolumeMeshBufferManager_a32679664db1c226837b36ce286dc9a6c}} 
std\+::vector$<$ \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} $>$ {\bfseries m\+Cogs}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a198d036c222d38a790d59f5f0b8adc2e}\label{classVolumeMeshBufferManager_a198d036c222d38a790d59f5f0b8adc2e}} 
bool {\bfseries m\+Cogs\+Valid}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a8a78313e36e81f646cc073bed506058a}\label{classVolumeMeshBufferManager_a8a78313e36e81f646cc073bed506058a}} 
std\+::vector$<$ bool $>$ {\bfseries m\+Cell\+Insideness}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_af7d9a7149d57a1ab5cee2162723ef15b}\label{classVolumeMeshBufferManager_af7d9a7149d57a1ab5cee2162723ef15b}} 
bool {\bfseries m\+Cell\+Insideness\+Valid}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_ab9fe65027c04d77d5341dca1f34ead14}\label{classVolumeMeshBufferManager_ab9fe65027c04d77d5341dca1f34ead14}} 
Tex\+Coord\+Mode {\bfseries m\+Tex\+Coord\+Mode}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a6153429f4dea3706ebce96e645102aec}\label{classVolumeMeshBufferManager_a6153429f4dea3706ebce96e645102aec}} 
Tex\+Coord\+Mode {\bfseries m\+Current\+Tex\+Coord\+Mode}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a585ab479f83c5f6b7c00845a002b9844}\label{classVolumeMeshBufferManager_a585ab479f83c5f6b7c00845a002b9844}} 
unsigned char {\bfseries m\+Tex\+Coord\+Offset}
\item 
\mbox{\Hypertarget{classVolumeMeshBufferManager_a8f8e3afbe0944a4c42eaea07975f6e24}\label{classVolumeMeshBufferManager_a8f8e3afbe0944a4c42eaea07975f6e24}} 
unsigned char {\bfseries m\+Current\+Tex\+Coord\+Offset}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class Volume\+Mesh$>$\newline
class Volume\+Mesh\+Buffer\+Manager$<$ Volume\+Mesh $>$}

This class creates buffers that can be used to render open volume meshs. 

Definition at line 61 of file Volume\+Mesh\+Buffer\+Manager.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classVolumeMeshBufferManager_aafe3fd08a36c27580f2f350e2feecafa}\label{classVolumeMeshBufferManager_aafe3fd08a36c27580f2f350e2feecafa}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+Color\+To\+Buffer@{add\+Color\+To\+Buffer}}
\index{add\+Color\+To\+Buffer@{add\+Color\+To\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+Color\+To\+Buffer()}{addColorToBuffer()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+Color\+To\+Buffer (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{A\+C\+G\+::\+Vec4uc}}]{\+\_\+color,  }\item[{unsigned char $\ast$}]{\+\_\+buffer,  }\item[{unsigned int}]{\+\_\+offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds a color to the buffer. 

This method should be called after the size of a vertex and the color offset within a vertex was calculated using \hyperlink{classVolumeMeshBufferManager_a460eba211adcdbd051b22ee2cab2d143}{calculate\+Vertex\+Declaration()}


\begin{DoxyParams}{Parameters}
{\em \+\_\+color} & The color that should be inserted \\
\hline
{\em \+\_\+buffer} & A pointer to the start of the buffer \\
\hline
{\em \+\_\+offset} & The offset (in number of vertices) to the place the color should be inserted \\
\hline
\end{DoxyParams}


Definition at line 172 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_acbdeed8e2d4023a7cca1f8edbcc070a0}\label{classVolumeMeshBufferManager_acbdeed8e2d4023a7cca1f8edbcc070a0}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+Color\+To\+Buffer@{add\+Color\+To\+Buffer}}
\index{add\+Color\+To\+Buffer@{add\+Color\+To\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+Color\+To\+Buffer()}{addColorToBuffer()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+Color\+To\+Buffer (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f}}]{\+\_\+color,  }\item[{unsigned char $\ast$}]{\+\_\+buffer,  }\item[{unsigned int}]{\+\_\+offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds a color to the buffer. 

The color is added as unsigned character between 0 and 255 for \+\_\+color between 0.\+0f and 1.\+0f

This method should be called after the size of a vertex and the color offset within a vertex was calculated using \hyperlink{classVolumeMeshBufferManager_a460eba211adcdbd051b22ee2cab2d143}{calculate\+Vertex\+Declaration()}


\begin{DoxyParams}{Parameters}
{\em \+\_\+color} & The color that should be inserted \\
\hline
{\em \+\_\+buffer} & A pointer to the start of the buffer \\
\hline
{\em \+\_\+offset} & The offset (in number of vertices) to the place the color should inserted \\
\hline
\end{DoxyParams}


Definition at line 194 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a5ebc97f06ec951eff083ccad175a04b6}\label{classVolumeMeshBufferManager_a5ebc97f06ec951eff083ccad175a04b6}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+Cut\+Plane@{add\+Cut\+Plane}}
\index{add\+Cut\+Plane@{add\+Cut\+Plane}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+Cut\+Plane()}{addCutPlane()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+Cut\+Plane (\begin{DoxyParamCaption}\item[{const \hyperlink{classACG_1_1Geometry_1_1Plane}{A\+C\+G\+::\+Geometry\+::\+Plane} \&}]{\+\_\+p }\end{DoxyParamCaption})}



Adds a cut plane. 

After adding the cut plane the buffer is invalidated so it is rebuild the next time someone wants to use it.


\begin{DoxyParams}{Parameters}
{\em \+\_\+p} & The plane that is added. \\
\hline
\end{DoxyParams}


Definition at line 434 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a1efd4f9cd66dd76e03c8ccd6f92415c2}\label{classVolumeMeshBufferManager_a1efd4f9cd66dd76e03c8ccd6f92415c2}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+Cut\+Plane@{add\+Cut\+Plane}}
\index{add\+Cut\+Plane@{add\+Cut\+Plane}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+Cut\+Plane()}{addCutPlane()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+Cut\+Plane (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+p,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+n,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+xsize,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+ysize }\end{DoxyParamCaption})}



Adds a cut plane. 

After adding the cut plane the buffer is invalidated so it is rebuild the next time someone wants to use it.


\begin{DoxyParams}{Parameters}
{\em \+\_\+p} & The position of the plane. \\
\hline
{\em \+\_\+n} & The normal of the plane. \\
\hline
{\em \+\_\+xsize} & The x-\/direction of the plane scaled by 1.\+0/width \\
\hline
{\em \+\_\+ysize} & The y-\/direction of the plane scaled by 1.\+0/height \\
\hline
\end{DoxyParams}


Definition at line 452 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_aa36d08ac66c0ae54577d7e8f9e624099}\label{classVolumeMeshBufferManager_aa36d08ac66c0ae54577d7e8f9e624099}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+Float\+To\+Buffer@{add\+Float\+To\+Buffer}}
\index{add\+Float\+To\+Buffer@{add\+Float\+To\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+Float\+To\+Buffer()}{addFloatToBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+Float\+To\+Buffer (\begin{DoxyParamCaption}\item[{float}]{\+\_\+value,  }\item[{unsigned char $\ast$\&}]{\+\_\+buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds a float to the buffer. 

The given value will be inserted at the location the pointer points to. After execution the pointer will point to the element after the inserted one.


\begin{DoxyParams}{Parameters}
{\em \+\_\+value} & The value that should be inserted \\
\hline
{\em \+\_\+buffer} & A pointer to the place the value should be inserted to \\
\hline
\end{DoxyParams}


Definition at line 114 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a84abfeb982be0f6c837c0ff6c5b15c35}\label{classVolumeMeshBufferManager_a84abfeb982be0f6c837c0ff6c5b15c35}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+Normal\+To\+Buffer@{add\+Normal\+To\+Buffer}}
\index{add\+Normal\+To\+Buffer@{add\+Normal\+To\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+Normal\+To\+Buffer()}{addNormalToBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+Normal\+To\+Buffer (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d}}]{\+\_\+normal,  }\item[{unsigned char $\ast$}]{\+\_\+buffer,  }\item[{unsigned int}]{\+\_\+offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds a normal to the buffer. 

This method should be called after the size of a vertex and the normal offset within a vertex was calculated using \hyperlink{classVolumeMeshBufferManager_a460eba211adcdbd051b22ee2cab2d143}{calculate\+Vertex\+Declaration()}


\begin{DoxyParams}{Parameters}
{\em \+\_\+normal} & The normal that should be inserted \\
\hline
{\em \+\_\+buffer} & A pointer to the start of the buffer \\
\hline
{\em \+\_\+offset} & The offset (in number of vertices) to the place the normal should inserted \\
\hline
\end{DoxyParams}


Definition at line 214 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a40765097e9f1a77206e3e4c335395c13}\label{classVolumeMeshBufferManager_a40765097e9f1a77206e3e4c335395c13}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+Position\+To\+Buffer@{add\+Position\+To\+Buffer}}
\index{add\+Position\+To\+Buffer@{add\+Position\+To\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+Position\+To\+Buffer()}{addPositionToBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+Position\+To\+Buffer (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d}}]{\+\_\+position,  }\item[{unsigned char $\ast$}]{\+\_\+buffer,  }\item[{unsigned int}]{\+\_\+offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds a position to the buffer. 

This method should be called after the size of a vertex was calculated using \hyperlink{classVolumeMeshBufferManager_a460eba211adcdbd051b22ee2cab2d143}{calculate\+Vertex\+Declaration()}


\begin{DoxyParams}{Parameters}
{\em \+\_\+position} & The position that should be inserted \\
\hline
{\em \+\_\+buffer} & A pointer to the start of the buffer \\
\hline
{\em \+\_\+offset} & The offset (in number of vertices) to the place the position should be inserted \\
\hline
\end{DoxyParams}


Definition at line 153 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_ad38fdd03606a2132c676f34d83cbc16d}\label{classVolumeMeshBufferManager_ad38fdd03606a2132c676f34d83cbc16d}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+Tex\+Coord\+To\+Buffer@{add\+Tex\+Coord\+To\+Buffer}}
\index{add\+Tex\+Coord\+To\+Buffer@{add\+Tex\+Coord\+To\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+Tex\+Coord\+To\+Buffer()}{addTexCoordToBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+Tex\+Coord\+To\+Buffer (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_a8b858737aebd55e312149cf208a0b3f3}{A\+C\+G\+::\+Vec2f}}]{\+\_\+tex\+Coord,  }\item[{unsigned char $\ast$}]{\+\_\+buffer,  }\item[{unsigned int}]{\+\_\+offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds a texture coordnate to the buffer. 

This method should be called after the size of a vertex and the normal offset within a vertex was calculated using \hyperlink{classVolumeMeshBufferManager_a460eba211adcdbd051b22ee2cab2d143}{calculate\+Vertex\+Declaration()}


\begin{DoxyParams}{Parameters}
{\em \+\_\+tex\+Coord} & The texture coordinate that should be inserted \\
\hline
{\em \+\_\+buffer} & A pointer to the start of the buffer \\
\hline
{\em \+\_\+offset} & The offset (in number of vertices) to the place the texture coordinate should inserted \\
\hline
\end{DoxyParams}


Definition at line 233 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_afce56bc3eaea93baa4302aabf832dd8b}\label{classVolumeMeshBufferManager_afce56bc3eaea93baa4302aabf832dd8b}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!add\+U\+Char\+To\+Buffer@{add\+U\+Char\+To\+Buffer}}
\index{add\+U\+Char\+To\+Buffer@{add\+U\+Char\+To\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{add\+U\+Char\+To\+Buffer()}{addUCharToBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::add\+U\+Char\+To\+Buffer (\begin{DoxyParamCaption}\item[{unsigned char}]{\+\_\+value,  }\item[{unsigned char $\ast$\&}]{\+\_\+buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds an unsigned char to the buffer. 

The given value will be inserted at the location the pointer points to. After execution the pointer will point to the element after the inserted one.


\begin{DoxyParams}{Parameters}
{\em \+\_\+value} & The value that should be inserted \\
\hline
{\em \+\_\+buffer} & A pointer to the place the value should be inserted to \\
\hline
\end{DoxyParams}


Definition at line 136 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_acb2fb25845548e86f72001ce8f8bba35}\label{classVolumeMeshBufferManager_acb2fb25845548e86f72001ce8f8bba35}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!build\+Color\+Buffer@{build\+Color\+Buffer}}
\index{build\+Color\+Buffer@{build\+Color\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{build\+Color\+Buffer()}{buildColorBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::build\+Color\+Buffer (\begin{DoxyParamCaption}\item[{unsigned char $\ast$}]{\+\_\+buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds all colors to the buffer. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+buffer} & Pointer to the start of the buffer \\
\hline
\end{DoxyParams}


Definition at line 1446 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a01206d91f64d902d8dd0b441679b73bb}\label{classVolumeMeshBufferManager_a01206d91f64d902d8dd0b441679b73bb}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!build\+Normal\+Buffer@{build\+Normal\+Buffer}}
\index{build\+Normal\+Buffer@{build\+Normal\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{build\+Normal\+Buffer()}{buildNormalBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::build\+Normal\+Buffer (\begin{DoxyParamCaption}\item[{unsigned char $\ast$}]{\+\_\+buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds all normals to the buffer. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+buffer} & Pointer to the start of the buffer \\
\hline
\end{DoxyParams}


Definition at line 1308 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a4ddfa844f0d5c3177baaeccafb76d813}\label{classVolumeMeshBufferManager_a4ddfa844f0d5c3177baaeccafb76d813}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!build\+Pick\+Color\+Buffer@{build\+Pick\+Color\+Buffer}}
\index{build\+Pick\+Color\+Buffer@{build\+Pick\+Color\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{build\+Pick\+Color\+Buffer()}{buildPickColorBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::build\+Pick\+Color\+Buffer (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&}]{\+\_\+state,  }\item[{unsigned int}]{\+\_\+offset,  }\item[{unsigned char $\ast$}]{\+\_\+buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds all picking colors to the buffer. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+state} & The current state which provides the picking colors. \\
\hline
{\em \+\_\+offset} & An offset that is added to the primitive\textquotesingle{}s idx when asking for a picking color. This is necessary when different types of primitives are picked simultaneously. The number of other primives \\
\hline
{\em \+\_\+buffer} & Pointer to the start of the buffer \\
\hline
\end{DoxyParams}


Definition at line 1772 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a7b2c8ad3a8140ff2ca51348f93d7e825}\label{classVolumeMeshBufferManager_a7b2c8ad3a8140ff2ca51348f93d7e825}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!build\+Tex\+Coord\+Buffer@{build\+Tex\+Coord\+Buffer}}
\index{build\+Tex\+Coord\+Buffer@{build\+Tex\+Coord\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{build\+Tex\+Coord\+Buffer()}{buildTexCoordBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::build\+Tex\+Coord\+Buffer (\begin{DoxyParamCaption}\item[{unsigned char $\ast$}]{\+\_\+buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds texture coordinates to the buffer. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+buffer} & Pointer to the start of the buffer \\
\hline
\end{DoxyParams}


Definition at line 1710 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_af974db631eabde5421c8bb6d3f0f22ab}\label{classVolumeMeshBufferManager_af974db631eabde5421c8bb6d3f0f22ab}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!build\+Vertex\+Buffer@{build\+Vertex\+Buffer}}
\index{build\+Vertex\+Buffer@{build\+Vertex\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{build\+Vertex\+Buffer()}{buildVertexBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::build\+Vertex\+Buffer (\begin{DoxyParamCaption}\item[{unsigned char $\ast$}]{\+\_\+buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Adds all vertices to the buffer. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+buffer} & Pointer to the start of the buffer \\
\hline
\end{DoxyParams}


Definition at line 1094 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a1d150d668d98c2b62ed6401bc6d7d87a}\label{classVolumeMeshBufferManager_a1d150d668d98c2b62ed6401bc6d7d87a}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!calculate\+Cell\+Insideness@{calculate\+Cell\+Insideness}}
\index{calculate\+Cell\+Insideness@{calculate\+Cell\+Insideness}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{calculate\+Cell\+Insideness()}{calculateCellInsideness()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::calculate\+Cell\+Insideness (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Calculates for all cells whether they are inside w.\+r.\+t. all cut planes. 

The insideness is stored so it can be reused until the geometry or cut planes change to improve performance. 

Definition at line 646 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_ab71b8fc22a73e082f2bba4cc6544c130}\label{classVolumeMeshBufferManager_ab71b8fc22a73e082f2bba4cc6544c130}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!calculate\+C\+O\+Gs@{calculate\+C\+O\+Gs}}
\index{calculate\+C\+O\+Gs@{calculate\+C\+O\+Gs}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{calculate\+C\+O\+Gs()}{calculateCOGs()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::calculate\+C\+O\+Gs (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Calculates the center of gravity for all cells. 

The centers of gravity are stored in the property m\+Cog\+Property points to. Make sure this points to a correct property before calling this method. 

Definition at line 999 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a460eba211adcdbd051b22ee2cab2d143}\label{classVolumeMeshBufferManager_a460eba211adcdbd051b22ee2cab2d143}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!calculate\+Vertex\+Declaration@{calculate\+Vertex\+Declaration}}
\index{calculate\+Vertex\+Declaration@{calculate\+Vertex\+Declaration}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{calculate\+Vertex\+Declaration()}{calculateVertexDeclaration()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::calculate\+Vertex\+Declaration (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Constructs a Vertex\+Declaration, the size and the offsets for the vertices stored in the buffer. 

Depending on the current options this method calculates an appropriate Vertex\+Declaration which can be used for rendering. Also it calculates the vertex stride and the offsets for colors and normals. 

Definition at line 249 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a6263865057f3e710ee1bfbeec96f5f94}\label{classVolumeMeshBufferManager_a6263865057f3e710ee1bfbeec96f5f94}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!clear\+Cut\+Planes@{clear\+Cut\+Planes}}
\index{clear\+Cut\+Planes@{clear\+Cut\+Planes}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{clear\+Cut\+Planes()}{clearCutPlanes()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::clear\+Cut\+Planes (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Removes all cut planes. 

After removing the cut planes the buffer is invalidated so it is rebuild the next time someone wants to use it. 

Definition at line 419 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a7dc4933aaad43c2acae9d1a858a28e93}\label{classVolumeMeshBufferManager_a7dc4933aaad43c2acae9d1a858a28e93}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!colors\+Need\+Rebuild@{colors\+Need\+Rebuild}}
\index{colors\+Need\+Rebuild@{colors\+Need\+Rebuild}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{colors\+Need\+Rebuild()}{colorsNeedRebuild()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::colors\+Need\+Rebuild (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Checks whether colors need to be rebuild. 

\begin{DoxyReturn}{Returns}
True iff colors need to be rebuild 
\end{DoxyReturn}


Definition at line 1045 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_ac0256a9bbacb58d68e60bdd228073f50}\label{classVolumeMeshBufferManager_ac0256a9bbacb58d68e60bdd228073f50}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!count\+Num\+Of\+Vertices@{count\+Num\+Of\+Vertices}}
\index{count\+Num\+Of\+Vertices@{count\+Num\+Of\+Vertices}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{count\+Num\+Of\+Vertices()}{countNumOfVertices()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::count\+Num\+Of\+Vertices (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Counts the number of vertices that need to be stored in the buffer. 

The number of vertices is stored in m\+Num\+Of\+Vertices 

Definition at line 748 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a0f045ac60d87d6e79276eef2e1f5a041}\label{classVolumeMeshBufferManager_a0f045ac60d87d6e79276eef2e1f5a041}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!free@{free}}
\index{free@{free}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{free()}{free()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::free (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Deletes the buffers on the G\+PU. 

This also invalidates the buffer 

Definition at line 2085 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a77041d3765e33c1e8a43bf133d55c7da}\label{classVolumeMeshBufferManager_a77041d3765e33c1e8a43bf133d55c7da}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!get\+Buffer@{get\+Buffer}}
\index{get\+Buffer@{get\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{get\+Buffer()}{getBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
G\+Luint \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::get\+Buffer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns the name of the buffer. 

This method also builds the buffer when necessary.

\begin{DoxyReturn}{Returns}
The name of the buffer 
\end{DoxyReturn}


Definition at line 1888 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a54e45d3ab7eddd4123b92dc9b69560e7}\label{classVolumeMeshBufferManager_a54e45d3ab7eddd4123b92dc9b69560e7}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!get\+C\+OG@{get\+C\+OG}}
\index{get\+C\+OG@{get\+C\+OG}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{get\+C\+O\+G()}{getCOG()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::get\+C\+OG (\begin{DoxyParamCaption}\item[{\hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Cell\+Handle}}]{\+\_\+ch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Returns the center of gravity of the given cell. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+ch} & A handle of the cell of interest\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The cell\textquotesingle{}s center of gravity 
\end{DoxyReturn}


Definition at line 983 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a4a9f6d9746b38726eb114247c16a15b1}\label{classVolumeMeshBufferManager_a4a9f6d9746b38726eb114247c16a15b1}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!get\+Num\+Of\+Incident\+Cells@{get\+Num\+Of\+Incident\+Cells}}
\index{get\+Num\+Of\+Incident\+Cells@{get\+Num\+Of\+Incident\+Cells}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{get\+Num\+Of\+Incident\+Cells()}{getNumOfIncidentCells()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
int \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::get\+Num\+Of\+Incident\+Cells (\begin{DoxyParamCaption}\item[{\hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Face\+Handle}}]{\+\_\+fh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Returns the number of cells that are incident to the given face and also inside w.\+r.\+t. all cut planes. 

Returns the number of cells that are incident to the given edge and also inside w.\+r.\+t. all cut planes.


\begin{DoxyParams}{Parameters}
{\em \+\_\+fh} & A Handle of the face of interest\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of incident cells that are inside.
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em \+\_\+eh} & A handle of the edge of interest\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of incident cells that are inside. 
\end{DoxyReturn}


Definition at line 924 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a29be15a6f7e906f9e9e49480ed026833}\label{classVolumeMeshBufferManager_a29be15a6f7e906f9e9e49480ed026833}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!get\+Num\+Of\+Incident\+Cells@{get\+Num\+Of\+Incident\+Cells}}
\index{get\+Num\+Of\+Incident\+Cells@{get\+Num\+Of\+Incident\+Cells}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{get\+Num\+Of\+Incident\+Cells()}{getNumOfIncidentCells()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
int \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::get\+Num\+Of\+Incident\+Cells (\begin{DoxyParamCaption}\item[{\hyperlink{classOpenVolumeMesh_1_1HandleT}{Open\+Volume\+Mesh\+::\+Vertex\+Handle}}]{\+\_\+vh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Returns the number of cells that are incident to the given vertex and also inside w.\+r.\+t. all cut planes. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+vh} & A handle of the vertex of interest\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of incident cells that are inside. 
\end{DoxyReturn}


Definition at line 965 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_adf7617dc05c3fb21a81ba45fc5d164d7}\label{classVolumeMeshBufferManager_adf7617dc05c3fb21a81ba45fc5d164d7}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!get\+Pick\+Buffer@{get\+Pick\+Buffer}}
\index{get\+Pick\+Buffer@{get\+Pick\+Buffer}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{get\+Pick\+Buffer()}{getPickBuffer()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
G\+Luint \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::get\+Pick\+Buffer (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&}]{\+\_\+state,  }\item[{unsigned int}]{\+\_\+offset }\end{DoxyParamCaption})}



Returns the name of the pick buffer. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+state} & The state that provides the picking colors \\
\hline
{\em \+\_\+offset} & The offset for the picking colors\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The name of the pick buffer 
\end{DoxyReturn}


Definition at line 1960 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_aec1530c9e73200b07455faefeba012ff}\label{classVolumeMeshBufferManager_aec1530c9e73200b07455faefeba012ff}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!get\+Valence\+Color\+Code@{get\+Valence\+Color\+Code}}
\index{get\+Valence\+Color\+Code@{get\+Valence\+Color\+Code}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{get\+Valence\+Color\+Code()}{getValenceColorCode()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::get\+Valence\+Color\+Code (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+valence,  }\item[{bool}]{\+\_\+inner }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [private]}}



Returns a color code for irregular edges. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+valence} & Number of incident cells \\
\hline
{\em \+\_\+inner} & False if the edge is a boundary edge, True if not\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The appropraite color 
\end{DoxyReturn}


Definition at line 726 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_ae387239f7c4643c1735c443011a85851}\label{classVolumeMeshBufferManager_ae387239f7c4643c1735c443011a85851}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!is\+\_\+inside@{is\+\_\+inside}}
\index{is\+\_\+inside@{is\+\_\+inside}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{is\+\_\+inside()}{is\_inside()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::is\+\_\+inside (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+p }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Tests whether the given point is inside w.\+r.\+t. all cut planes. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+p} & The position to be tested.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True iff the point is inside. 
\end{DoxyReturn}


Definition at line 465 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_adefa2c1b3c8f2125540d0db01ae58079}\label{classVolumeMeshBufferManager_adefa2c1b3c8f2125540d0db01ae58079}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!is\+\_\+inside@{is\+\_\+inside}}
\index{is\+\_\+inside@{is\+\_\+inside}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{is\+\_\+inside()}{is\_inside()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::is\+\_\+inside (\begin{DoxyParamCaption}\item[{const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Vertex\+Handle} \&}]{\+\_\+vh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Tests whether the given vertex is inside w.\+r.\+t. all cut planes. 

A vertex is considered inside iff its positions is inside.


\begin{DoxyParams}{Parameters}
{\em \+\_\+vh} & A Handle to the vertex that should be tested.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True iff the vertex is inside. 
\end{DoxyReturn}


Definition at line 492 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a887c7853dd5e793ddf96f190083c6921}\label{classVolumeMeshBufferManager_a887c7853dd5e793ddf96f190083c6921}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!is\+\_\+inside@{is\+\_\+inside}}
\index{is\+\_\+inside@{is\+\_\+inside}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{is\+\_\+inside()}{is\_inside()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::is\+\_\+inside (\begin{DoxyParamCaption}\item[{const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Half\+Edge\+Handle} \&}]{\+\_\+heh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Tests whether the given halfedge is inside w.\+r.\+t. all cut planes. 

A halfedge is considered inside iff both from-\/ and to-\/vertex are inside.


\begin{DoxyParams}{Parameters}
{\em \+\_\+heh} & A Handle to the halfedge that should be tested.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True iff the halfadge is inside. 
\end{DoxyReturn}


Definition at line 508 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a62f8081a4312607a96794c2deb1252bc}\label{classVolumeMeshBufferManager_a62f8081a4312607a96794c2deb1252bc}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!is\+\_\+inside@{is\+\_\+inside}}
\index{is\+\_\+inside@{is\+\_\+inside}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{is\+\_\+inside()}{is\_inside()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::is\+\_\+inside (\begin{DoxyParamCaption}\item[{const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Edge\+Handle} \&}]{\+\_\+eh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Tests whether the given edge is inside w.\+r.\+t. all cut planes. 

Tests whether the given face is inside w.\+r.\+t. all cut planes.

An edge is considered inside iff both from-\/ and to-\/vertex are inside.


\begin{DoxyParams}{Parameters}
{\em \+\_\+eh} & A Handle to the edge that should be tested.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True iff the edge is inside.
\end{DoxyReturn}
A face is considered inside iff all its incident vertices are inside.


\begin{DoxyParams}{Parameters}
{\em \+\_\+fh} & A Handle to the face that should be tested.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True iff the face is inside. 
\end{DoxyReturn}


Definition at line 525 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a6776915305b2492ad62951c9a3d5d045}\label{classVolumeMeshBufferManager_a6776915305b2492ad62951c9a3d5d045}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!is\+\_\+inside@{is\+\_\+inside}}
\index{is\+\_\+inside@{is\+\_\+inside}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{is\+\_\+inside()}{is\_inside()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::is\+\_\+inside (\begin{DoxyParamCaption}\item[{const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Half\+Face\+Handle} \&}]{\+\_\+hfh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Tests whether the given halfface is inside w.\+r.\+t. all cut planes. 

A halfface is considered inside iff all its incident vertices are inside.


\begin{DoxyParams}{Parameters}
{\em \+\_\+hfh} & A Handle to the halfface that should be tested.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True iff the halfface is inside. 
\end{DoxyReturn}


Definition at line 542 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a09fdff74859dd09ce67943075a1d75b9}\label{classVolumeMeshBufferManager_a09fdff74859dd09ce67943075a1d75b9}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!is\+\_\+inside@{is\+\_\+inside}}
\index{is\+\_\+inside@{is\+\_\+inside}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{is\+\_\+inside()}{is\_inside()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::is\+\_\+inside (\begin{DoxyParamCaption}\item[{const \hyperlink{classOpenVolumeMesh_1_1HandleT}{Cell\+Handle} \&}]{\+\_\+ch }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Tests whether the given cell is inside w.\+r.\+t. all cut planes. 

A cell is considered inside iff the positions of all its incident vertices moved towards the cell\textquotesingle{}s center of gravity depending on the current scaling parameter are inside.


\begin{DoxyParams}{Parameters}
{\em \+\_\+ch} & A Handle to the cell that should be tested.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True iff the cell is inside. 
\end{DoxyReturn}


Definition at line 579 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a446a8093e89ccfec7fe776e08eb4f9ed}\label{classVolumeMeshBufferManager_a446a8093e89ccfec7fe776e08eb4f9ed}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!normals\+Need\+Rebuild@{normals\+Need\+Rebuild}}
\index{normals\+Need\+Rebuild@{normals\+Need\+Rebuild}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{normals\+Need\+Rebuild()}{normalsNeedRebuild()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::normals\+Need\+Rebuild (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Checks whether normals need to be rebuild. 

\begin{DoxyReturn}{Returns}
True iff normals need to be rebuild 
\end{DoxyReturn}


Definition at line 1078 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a1f89d070a4720055c2f7a472ef418bfd}\label{classVolumeMeshBufferManager_a1f89d070a4720055c2f7a472ef418bfd}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!options\+Changed@{options\+Changed}}
\index{options\+Changed@{options\+Changed}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{options\+Changed()}{optionsChanged()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::options\+Changed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Tests whether the options were changed since the last time building the buffer. 

For this method to work \hyperlink{classVolumeMeshBufferManager_a11ed96b5febfc22ddd18fed9bfa7fe76}{save\+Options()} should be called immidiately after building the buffer

\begin{DoxyReturn}{Returns}
True if options have changed, False if not 
\end{DoxyReturn}


Definition at line 682 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a384b127d2e30fa28c8ae99a1495ff26f}\label{classVolumeMeshBufferManager_a384b127d2e30fa28c8ae99a1495ff26f}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!positions\+Need\+Rebuild@{positions\+Need\+Rebuild}}
\index{positions\+Need\+Rebuild@{positions\+Need\+Rebuild}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{positions\+Need\+Rebuild()}{positionsNeedRebuild()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::positions\+Need\+Rebuild (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Checks whether positions need to be rebuild. 

\begin{DoxyReturn}{Returns}
True iff positions need to be rebuild 
\end{DoxyReturn}


Definition at line 1031 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a11ed96b5febfc22ddd18fed9bfa7fe76}\label{classVolumeMeshBufferManager_a11ed96b5febfc22ddd18fed9bfa7fe76}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!save\+Options@{save\+Options}}
\index{save\+Options@{save\+Options}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{save\+Options()}{saveOptions()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::save\+Options (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



State that the current buffer was built with the current options. 

This method should be called immidiately after building the buffer 

Definition at line 700 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a18bc7ba09dd7615f7fc45ca9f6887145}\label{classVolumeMeshBufferManager_a18bc7ba09dd7615f7fc45ca9f6887145}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!set\+Default\+Color@{set\+Default\+Color}}
\index{set\+Default\+Color@{set\+Default\+Color}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{set\+Default\+Color()}{setDefaultColor()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::set\+Default\+Color (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f}}]{\+\_\+default\+Color }\end{DoxyParamCaption})}



Sets the default color. 

The default color is only used for regular edges when drawn together with irregular edges.


\begin{DoxyParams}{Parameters}
{\em \+\_\+default\+Color} & The default color \\
\hline
\end{DoxyParams}


Definition at line 311 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_adec928ff79e1485d1968b42931cae7f5}\label{classVolumeMeshBufferManager_adec928ff79e1485d1968b42931cae7f5}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!set\+Options\+From\+Draw\+Mode@{set\+Options\+From\+Draw\+Mode}}
\index{set\+Options\+From\+Draw\+Mode@{set\+Options\+From\+Draw\+Mode}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{set\+Options\+From\+Draw\+Mode()}{setOptionsFromDrawMode()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
void \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::set\+Options\+From\+Draw\+Mode (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}]{\+\_\+draw\+Mode }\end{DoxyParamCaption})}



Configures the buffer manager\textquotesingle{}s options from a Draw\+Mode. 

This method extracts from the given draw mode which primitve mode, color mode and normal mode should be used and which irregular edges should be shown.


\begin{DoxyParams}{Parameters}
{\em \+\_\+draw\+Mode} & The Draw\+Mode for which the options should be set \\
\hline
\end{DoxyParams}


Definition at line 329 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classVolumeMeshBufferManager_a0ff514ee58c80ed93194ecb33f209fbf}\label{classVolumeMeshBufferManager_a0ff514ee58c80ed93194ecb33f209fbf}} 
\index{Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}!tex\+Coords\+Need\+Rebuild@{tex\+Coords\+Need\+Rebuild}}
\index{tex\+Coords\+Need\+Rebuild@{tex\+Coords\+Need\+Rebuild}!Volume\+Mesh\+Buffer\+Manager@{Volume\+Mesh\+Buffer\+Manager}}
\subsubsection{\texorpdfstring{tex\+Coords\+Need\+Rebuild()}{texCoordsNeedRebuild()}}
{\footnotesize\ttfamily template$<$class Volume\+Mesh $>$ \\
bool \hyperlink{classVolumeMeshBufferManager}{Volume\+Mesh\+Buffer\+Manager}$<$ Volume\+Mesh $>$\+::tex\+Coords\+Need\+Rebuild (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Checks whether texture coordinates need to be rebuild. 

\begin{DoxyReturn}{Returns}
True iff colors need to be rebuild 
\end{DoxyReturn}


Definition at line 1063 of file Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Type-\/\+Open\+Volume\+Mesh/\+Object\+Types/\+Volume\+Mesh\+Object/Volume\+Mesh\+Buffer\+Manager.\+hh\item 
Type-\/\+Open\+Volume\+Mesh/\+Object\+Types/\+Volume\+Mesh\+Object/Volume\+Mesh\+Buffer\+Manager\+T\+\_\+impl.\+hh\end{DoxyCompactItemize}
