\hypertarget{a11816}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Poly\+Line\+Collection\+NodeT$<$ Poly\+Line\+Collection $>$ Class Template Reference}
\label{a11816}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+Node\+T$<$ Poly\+Line\+Collection $>$@{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+Node\+T$<$ Poly\+Line\+Collection $>$}}
Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:Poly\+Line\+Collection\+NodeT$<$ Poly\+Line\+Collection $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a11816}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11816_ad8ac74c4dc371ec5d4d988cc7d4add87}\label{a11816_ad8ac74c4dc371ec5d4d988cc7d4add87}} 
typedef Poly\+Line\+Collection\+::\+Poly\+Line\+::\+Point {\bfseries Point}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11816_aaad6bdc75836cc302554c9d93949ae1c}\label{a11816_aaad6bdc75836cc302554c9d93949ae1c}} 
\hyperlink{a11816_aaad6bdc75836cc302554c9d93949ae1c}{Poly\+Line\+Collection\+NodeT} (\hyperlink{a11824}{Poly\+Line\+Collection} \&\+\_\+pl, \hyperlink{a07748}{Base\+Node} $\ast$\+\_\+parent=0, std\+::string \+\_\+name=\char`\"{}$<$Poly\+Line\+Collection\+Node$>$\char`\"{})
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_aea756c6fd2d68b572d9adbafa88b0809}\label{a11816_aea756c6fd2d68b572d9adbafa88b0809}} 
virtual \hyperlink{a11816_aea756c6fd2d68b572d9adbafa88b0809}{$\sim$\+Poly\+Line\+Collection\+NodeT} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_ab4466d33e586ff841e3d80ead3faac67}\label{a11816_ab4466d33e586ff841e3d80ead3faac67}} 
\hyperlink{a11824}{Poly\+Line\+Collection} \& {\bfseries polyline\+\_\+collection} ()
\item 
\mbox{\Hypertarget{a11816_a885e9c68dcdcdb549540b916ec8a0117}\label{a11816_a885e9c68dcdcdb549540b916ec8a0117}} 
\hyperlink{a11816_a885e9c68dcdcdb549540b916ec8a0117}{A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{a11816}{Poly\+Line\+Collection\+NodeT})
\begin{DoxyCompactList}\small\item\em static name of this class \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a375ef2c5c09e178e4eb0206f04f86d6f}\label{a11816_a375ef2c5c09e178e4eb0206f04f86d6f}} 
\hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{a11816_a375ef2c5c09e178e4eb0206f04f86d6f}{available\+Draw\+Modes} () const
\begin{DoxyCompactList}\small\item\em return available draw modes \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a3bfa244aa699c8ed1a8468d0960087d8}\label{a11816_a3bfa244aa699c8ed1a8468d0960087d8}} 
void \hyperlink{a11816_a3bfa244aa699c8ed1a8468d0960087d8}{bounding\+Box} (\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Min, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Max)
\begin{DoxyCompactList}\small\item\em update bounding box \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_ac38aa87fccacee0167f99ab66a8a5996}\label{a11816_ac38aa87fccacee0167f99ab66a8a5996}} 
void \hyperlink{a11816_ac38aa87fccacee0167f99ab66a8a5996}{draw} (\hyperlink{a07452}{G\+L\+State} \&, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)
\begin{DoxyCompactList}\small\item\em draw lines and normals \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a78ba20c6b6926e58f67d7d8ed37e5fbf}\label{a11816_a78ba20c6b6926e58f67d7d8ed37e5fbf}} 
void \hyperlink{a11816_a78ba20c6b6926e58f67d7d8ed37e5fbf}{pick} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, \hyperlink{a06177_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target)
\begin{DoxyCompactList}\small\item\em picking \end{DoxyCompactList}\item 
void \hyperlink{a11816_af9821d235285f35717ecf237a53347c7}{get\+Render\+Objects} (\hyperlink{a07468}{A\+C\+G\+::\+I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{a07884}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode, const \hyperlink{a07828}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$\+\_\+mat)
\begin{DoxyCompactList}\small\item\em Add the objects to the given renderer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a946ec7667896ca763dd632e5cf2b8a9f}\label{a11816_a946ec7667896ca763dd632e5cf2b8a9f}} 
void \hyperlink{a11816_a946ec7667896ca763dd632e5cf2b8a9f}{update} ()
\begin{DoxyCompactList}\small\item\em Trigger an update of the vbo. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_aec7261b87502cbc31f12657bc2693f64}\label{a11816_aec7261b87502cbc31f12657bc2693f64}} 
void {\bfseries reset\+V\+BO} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11816_ad04cfe5195f50b048421945393726fb0}\label{a11816_ad04cfe5195f50b048421945393726fb0}} 
\hyperlink{a11816_ad04cfe5195f50b048421945393726fb0}{Poly\+Line\+Collection\+NodeT} (const \hyperlink{a11816}{Poly\+Line\+Collection\+NodeT} \&\+\_\+rhs)
\begin{DoxyCompactList}\small\item\em Copy constructor (not used) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a1fb472a694be5334a90a5314034721ca}\label{a11816_a1fb472a694be5334a90a5314034721ca}} 
\hyperlink{a11816}{Poly\+Line\+Collection\+NodeT} \& \hyperlink{a11816_a1fb472a694be5334a90a5314034721ca}{operator=} (const \hyperlink{a11816}{Poly\+Line\+Collection\+NodeT} \&\+\_\+rhs)
\begin{DoxyCompactList}\small\item\em Assignment operator (not used) \end{DoxyCompactList}\item 
void \hyperlink{a11816_a52cb082a5c73a3e44c661713ea9b4507}{update\+V\+BO} ()
\begin{DoxyCompactList}\small\item\em Trigger an update of the vbo. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_ac2b88bf4d881f5cf837dc540c536247c}\label{a11816_ac2b88bf4d881f5cf837dc540c536247c}} 
void {\bfseries pick\+\_\+vertices} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{a11816_ac26a59c7caf2112550ffb94c573152ef}\label{a11816_ac26a59c7caf2112550ffb94c573152ef}} 
void {\bfseries pick\+\_\+edges} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, unsigned int \+\_\+offset=0)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11816_a5e81b689187914a0d28eb2a38f9c3840}\label{a11816_a5e81b689187914a0d28eb2a38f9c3840}} 
\hyperlink{a07596}{A\+C\+G\+::\+Vertex\+Declaration} \hyperlink{a11816_a5e81b689187914a0d28eb2a38f9c3840}{vertex\+Decl\+\_\+}
\begin{DoxyCompactList}\small\item\em Buffer organization. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a4980c9e391e0468c4b2225c464c72050}\label{a11816_a4980c9e391e0468c4b2225c464c72050}} 
\hyperlink{a07596}{A\+C\+G\+::\+Vertex\+Declaration} {\bfseries vertex\+Decl\+V\+Color\+\_\+}
\item 
\mbox{\Hypertarget{a11816_a28ef5c219e57506a1c24947db61eb261}\label{a11816_a28ef5c219e57506a1c24947db61eb261}} 
\hyperlink{a07596}{A\+C\+G\+::\+Vertex\+Declaration} {\bfseries vertex\+Decl\+E\+Color\+\_\+}
\item 
\mbox{\Hypertarget{a11816_a259123f2b1623450e412735f5eeabb63}\label{a11816_a259123f2b1623450e412735f5eeabb63}} 
\hyperlink{a11824}{Poly\+Line\+Collection} \& \hyperlink{a11816_a259123f2b1623450e412735f5eeabb63}{polyline\+\_\+collection\+\_\+}
\begin{DoxyCompactList}\small\item\em The associated poly line collection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_ab80730240a7bb27bbd4e115b4791281f}\label{a11816_ab80730240a7bb27bbd4e115b4791281f}} 
Geometry\+Buffer \hyperlink{a11816_ab80730240a7bb27bbd4e115b4791281f}{vbo\+\_\+}
\begin{DoxyCompactList}\small\item\em V\+BO used to render the poly line. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a10e894ab2c9415c477d33512ae4c7f06}\label{a11816_a10e894ab2c9415c477d33512ae4c7f06}} 
Index\+Buffer \hyperlink{a11816_a10e894ab2c9415c477d33512ae4c7f06}{ibo\+\_\+}
\begin{DoxyCompactList}\small\item\em I\+BO used to render the poly line. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_abb5104f8e93931360e602374dd8c7ecc}\label{a11816_abb5104f8e93931360e602374dd8c7ecc}} 
bool \hyperlink{a11816_abb5104f8e93931360e602374dd8c7ecc}{update\+V\+B\+O\+\_\+}
\begin{DoxyCompactList}\small\item\em Flag to trigger update of vbo. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a08216c485b88052fcaa3e874700bd7c0}\label{a11816_a08216c485b88052fcaa3e874700bd7c0}} 
\hyperlink{a07392}{G\+L\+Sphere} $\ast$ \hyperlink{a11816_a08216c485b88052fcaa3e874700bd7c0}{sphere\+\_\+}
\begin{DoxyCompactList}\small\item\em Sphere for Vertex\+Sphere Draw\+Mode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a072fffd5ae5ab96821c7fe681413717b}\label{a11816_a072fffd5ae5ab96821c7fe681413717b}} 
std\+::vector$<$ std\+::pair$<$ size\+\_\+t, size\+\_\+t $>$ $>$ \hyperlink{a11816_a072fffd5ae5ab96821c7fe681413717b}{offsets\+\_\+}
\begin{DoxyCompactList}\small\item\em (Offset in vbo, Vertex count in vbo) for each poly line \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11816_a70082741ec024238b1e069b2765f7bc6}\label{a11816_a70082741ec024238b1e069b2765f7bc6}} 
std\+::vector$<$ \hyperlink{a11796}{Poly\+Line\+NodeT}$<$ typename \hyperlink{a11808}{Poly\+Line\+Collection\+::\+Poly\+Line} $>$ $\ast$$>$ {\bfseries polyline\+Nodes\+\_\+}
\item 
\mbox{\Hypertarget{a11816_adb581cd8adb7709b94806d49c9f74d5c}\label{a11816_adb581cd8adb7709b94806d49c9f74d5c}} 
size\+\_\+t {\bfseries total\+\_\+vertex\+\_\+count\+\_\+}
\item 
\mbox{\Hypertarget{a11816_a41a8830a95d90a1994d95640ba979afa}\label{a11816_a41a8830a95d90a1994d95640ba979afa}} 
size\+\_\+t {\bfseries total\+\_\+segment\+\_\+count\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class Poly\+Line\+Collection$>$\newline
class A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+Node\+T$<$ Poly\+Line\+Collection $>$}



Definition at line 76 of file Poly\+Line\+Collection\+Node\+T.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a11816_af9821d235285f35717ecf237a53347c7}\label{a11816_af9821d235285f35717ecf237a53347c7}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT}!get\+Render\+Objects@{get\+Render\+Objects}}
\index{get\+Render\+Objects@{get\+Render\+Objects}!A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT}}
\subsubsection{\texorpdfstring{get\+Render\+Objects()}{getRenderObjects()}}
{\footnotesize\ttfamily template$<$class Poly\+Line\+Collection $>$ \\
void \hyperlink{a11816}{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT}$<$ \hyperlink{a11824}{Poly\+Line\+Collection} $>$\+::get\+Render\+Objects (\begin{DoxyParamCaption}\item[{\hyperlink{a07468}{A\+C\+G\+::\+I\+Renderer} $\ast$}]{\+\_\+renderer,  }\item[{\hyperlink{a07884}{A\+C\+G\+::\+G\+L\+State} \&}]{\+\_\+state,  }\item[{const \hyperlink{a07792}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&}]{\+\_\+draw\+Mode,  }\item[{const \hyperlink{a07828}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$}]{\+\_\+mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Add the objects to the given renderer. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+renderer} & The renderer which will be used. Add your geometry into this class \\
\hline
{\em \+\_\+state} & The current GL State when this object is called \\
\hline
{\em \+\_\+draw\+Mode} & The active draw mode \\
\hline
{\em \+\_\+mat} & Current material \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{a07888_acb425c90def34591f6ee41e440dc7f69}{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node}.



Definition at line 681 of file Poly\+Line\+Collection\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a11816_a52cb082a5c73a3e44c661713ea9b4507}\label{a11816_a52cb082a5c73a3e44c661713ea9b4507}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT}!update\+V\+BO@{update\+V\+BO}}
\index{update\+V\+BO@{update\+V\+BO}!A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT}}
\subsubsection{\texorpdfstring{update\+V\+B\+O()}{updateVBO()}}
{\footnotesize\ttfamily template$<$class Poly\+Line\+Collection $>$ \\
void \hyperlink{a11816}{A\+C\+G\+::\+Scene\+Graph\+::\+Poly\+Line\+Collection\+NodeT}$<$ \hyperlink{a11824}{Poly\+Line\+Collection} $>$\+::update\+V\+BO (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Trigger an update of the vbo. 

If the poly\+Line\+Collection is changed, you have to call this function to update the buffers. 

Definition at line 532 of file Poly\+Line\+Collection\+Node\+T\+\_\+impl.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Type-\/\+Poly\+Line/\+Object\+Types/\+Poly\+Line\+Collection/Poly\+Line\+Collection\+Node\+T.\+hh\item 
Type-\/\+Poly\+Line/\+Object\+Types/\+Poly\+Line\+Collection/Poly\+Line\+Collection\+Node\+T\+\_\+impl.\+hh\end{DoxyCompactItemize}
