\hypertarget{a11768}{}\section{Plane\+Node Class Reference}
\label{a11768}\index{Plane\+Node@{Plane\+Node}}
Inheritance diagram for Plane\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a11768}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11768_a6f052ac75449bd1f746b5c8da770cde6}\label{a11768_a6f052ac75449bd1f746b5c8da770cde6}} 
using {\bfseries Plane} = \hyperlink{a07264}{A\+C\+G\+::\+Geometry\+::\+Plane}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a11768_aa9c6187958b708e2cdc45900d2556939}{Plane\+Node} (\hyperlink{a07264}{Plane} \&\+\_\+plane, \hyperlink{a00182_a5bfac87fd7e6d7cd056e34dbb133de0d}{Base\+Node} $\ast$\+\_\+parent=0, std\+::string \+\_\+name=\char`\"{}$<$Plane\+Node$>$\char`\"{})
\begin{DoxyCompactList}\small\item\em Construct a plane rendering node. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_a07be74d40931bf152be636be5ea9869f}\label{a11768_a07be74d40931bf152be636be5ea9869f}} 
\hyperlink{a11768_a07be74d40931bf152be636be5ea9869f}{$\sim$\+Plane\+Node} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_af1d04a4ae30cf159aa7a5a72caae0dc6}\label{a11768_af1d04a4ae30cf159aa7a5a72caae0dc6}} 
\hyperlink{a11768_af1d04a4ae30cf159aa7a5a72caae0dc6}{A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{a11768}{Plane\+Node})
\begin{DoxyCompactList}\small\item\em static name of this class \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_acac8c2120b96d4c00bf6a7773bc79dcf}\label{a11768_acac8c2120b96d4c00bf6a7773bc79dcf}} 
\hyperlink{a07792}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \hyperlink{a11768_acac8c2120b96d4c00bf6a7773bc79dcf}{available\+Draw\+Modes} () const
\begin{DoxyCompactList}\small\item\em return available draw modes \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_a40f5f6edb5e0cf981ece1afd311bbdfc}\label{a11768_a40f5f6edb5e0cf981ece1afd311bbdfc}} 
void \hyperlink{a11768_a40f5f6edb5e0cf981ece1afd311bbdfc}{bounding\+Box} (\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+bb\+Min, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+bb\+Max)
\begin{DoxyCompactList}\small\item\em update bounding box \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_a79982edd6a16b9e42dfd188ce478c697}\label{a11768_a79982edd6a16b9e42dfd188ce478c697}} 
void \hyperlink{a11768_a79982edd6a16b9e42dfd188ce478c697}{draw} (\hyperlink{a07452}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)
\begin{DoxyCompactList}\small\item\em draw Plane \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_a1d2c6374117b73dad78849b664c57971}\label{a11768_a1d2c6374117b73dad78849b664c57971}} 
void \hyperlink{a11768_a1d2c6374117b73dad78849b664c57971}{pick} (\hyperlink{a07452}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, \hyperlink{a06177_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \+\_\+target)
\begin{DoxyCompactList}\small\item\em draw Plane for object picking \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_a5d0b9114847713827bbf37ed29964047}\label{a11768_a5d0b9114847713827bbf37ed29964047}} 
\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{a11768_a5d0b9114847713827bbf37ed29964047}{position} ()
\begin{DoxyCompactList}\small\item\em get center position of the plane \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_af2d3fc981a0d60fd2ea0e6d9c8de4f55}\label{a11768_af2d3fc981a0d60fd2ea0e6d9c8de4f55}} 
\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{a11768_af2d3fc981a0d60fd2ea0e6d9c8de4f55}{normal} ()
\begin{DoxyCompactList}\small\item\em get current normal \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_a797f49e4f0db54e6ef39e58d86250505}\label{a11768_a797f49e4f0db54e6ef39e58d86250505}} 
\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{a11768_a797f49e4f0db54e6ef39e58d86250505}{x\+Direction} ()
\begin{DoxyCompactList}\small\item\em local x direction (multiplied with width) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_ac8ad29235b16391594cc08290fe3c258}\label{a11768_ac8ad29235b16391594cc08290fe3c258}} 
\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{a11768_ac8ad29235b16391594cc08290fe3c258}{y\+Direction} ()
\begin{DoxyCompactList}\small\item\em local y direction (multiplied with height) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_acfa61cb042b4e08102427af6277d61fd}\label{a11768_acfa61cb042b4e08102427af6277d61fd}} 
\hyperlink{a07264}{Plane} \& \hyperlink{a11768_acfa61cb042b4e08102427af6277d61fd}{get\+Plane} ()
\begin{DoxyCompactList}\small\item\em Get the currently rendered plane. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_a29e99840787a31323a9b841b616de444}\label{a11768_a29e99840787a31323a9b841b616de444}} 
void \hyperlink{a11768_a29e99840787a31323a9b841b616de444}{set\+Plane} (\hyperlink{a07264}{Plane} plane)
\begin{DoxyCompactList}\small\item\em Set a new plane for rendering. \end{DoxyCompactList}\item 
void \hyperlink{a11768_a7d8e7d633ea69fec8b6b402f8e0d6eef}{get\+Render\+Objects} (\hyperlink{a07468}{A\+C\+G\+::\+I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{a07452}{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{a11768_a2eb80dc4bb8c7d72a72ec19205b117f8}\label{a11768_a2eb80dc4bb8c7d72a72ec19205b117f8}} 
void \hyperlink{a11768_a2eb80dc4bb8c7d72a72ec19205b117f8}{update} ()
\begin{DoxyCompactList}\small\item\em updates the plane before the next render call \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11768_a041369377417b1a023321517f7a8bb19}\label{a11768_a041369377417b1a023321517f7a8bb19}} 
void {\bfseries draw\+Plane} (\hyperlink{a07452}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{a11768_a1cd35f6c802be10c3655481f7d825588}\label{a11768_a1cd35f6c802be10c3655481f7d825588}} 
void {\bfseries draw\+Manipulator} (\hyperlink{a07452}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{a11768_a0cbd65caa3d51a89834d291407d83292}\label{a11768_a0cbd65caa3d51a89834d291407d83292}} 
void {\bfseries draw\+Plane\+Pick} (\hyperlink{a07452}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{a11768_aaf63e0f9bec3728aebc20b392fae53ca}\label{a11768_aaf63e0f9bec3728aebc20b392fae53ca}} 
void {\bfseries draw\+Manipulator\+Pick} (\hyperlink{a07452}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{a11768_a0af441b99718fdc95b4f1ef7ebee0666}\label{a11768_a0af441b99718fdc95b4f1ef7ebee0666}} 
void \hyperlink{a11768_a0af441b99718fdc95b4f1ef7ebee0666}{update\+V\+BO} ()
\begin{DoxyCompactList}\small\item\em create and update V\+BO \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_a2dc3892078ba5aedd99a561e1ad406b3}\label{a11768_a2dc3892078ba5aedd99a561e1ad406b3}} 
void {\bfseries add\+Sphere\+At} (\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \+\_\+pos, \hyperlink{a07468}{A\+C\+G\+::\+I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{a07452}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, \hyperlink{a07532}{A\+C\+G\+::\+Render\+Object} $\ast$\+\_\+ro)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11768_a5fcb3a4a0a0694c03052fdf0a2cd669a}\label{a11768_a5fcb3a4a0a0694c03052fdf0a2cd669a}} 
\hyperlink{a07264}{Plane} \& {\bfseries plane\+\_\+}
\item 
\mbox{\Hypertarget{a11768_a23133358aff574c1f10392e37ef60f85}\label{a11768_a23133358aff574c1f10392e37ef60f85}} 
unsigned int \hyperlink{a11768_a23133358aff574c1f10392e37ef60f85}{vbo\+\_\+}
\begin{DoxyCompactList}\small\item\em V\+BO used to render the plane. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11768_ab2831dea7a288b10b6898a7ba0fed0c6}\label{a11768_ab2831dea7a288b10b6898a7ba0fed0c6}} 
bool {\bfseries vbo\+Needs\+Update\+\_\+}
\item 
\mbox{\Hypertarget{a11768_ab1857117754dfae1690ff7e0b785e02f}\label{a11768_ab1857117754dfae1690ff7e0b785e02f}} 
\hyperlink{a07596}{A\+C\+G\+::\+Vertex\+Declaration} {\bfseries vertex\+Decl\+\_\+}
\item 
\mbox{\Hypertarget{a11768_a3fa912286eb64b164a76b8949d62e1c4}\label{a11768_a3fa912286eb64b164a76b8949d62e1c4}} 
\hyperlink{a07392}{A\+C\+G\+::\+G\+L\+Sphere} $\ast$ {\bfseries sphere\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 74 of file Plane\+Node.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a11768_aa9c6187958b708e2cdc45900d2556939}\label{a11768_aa9c6187958b708e2cdc45900d2556939}} 
\index{Plane\+Node@{Plane\+Node}!Plane\+Node@{Plane\+Node}}
\index{Plane\+Node@{Plane\+Node}!Plane\+Node@{Plane\+Node}}
\subsubsection{\texorpdfstring{Plane\+Node()}{PlaneNode()}}
{\footnotesize\ttfamily Plane\+Node\+::\+Plane\+Node (\begin{DoxyParamCaption}\item[{\hyperlink{a07264}{Plane} \&}]{\+\_\+plane,  }\item[{\hyperlink{a00182_a5bfac87fd7e6d7cd056e34dbb133de0d}{Base\+Node} $\ast$}]{\+\_\+parent = {\ttfamily 0},  }\item[{std\+::string}]{\+\_\+name = {\ttfamily \char`\"{}$<$PlaneNode$>$\char`\"{}} }\end{DoxyParamCaption})}



Construct a plane rendering node. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+parent} & The parent node in the scenegraph \\
\hline
{\em \+\_\+name} & The name of the new node (visible in the scenegraph dialogs) \\
\hline
{\em \+\_\+plane} & A pointer to an existing plane \\
\hline
\end{DoxyParams}


Definition at line 57 of file Plane\+Node.\+cc.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a11768_a7d8e7d633ea69fec8b6b402f8e0d6eef}\label{a11768_a7d8e7d633ea69fec8b6b402f8e0d6eef}} 
\index{Plane\+Node@{Plane\+Node}!get\+Render\+Objects@{get\+Render\+Objects}}
\index{get\+Render\+Objects@{get\+Render\+Objects}!Plane\+Node@{Plane\+Node}}
\subsubsection{\texorpdfstring{get\+Render\+Objects()}{getRenderObjects()}}
{\footnotesize\ttfamily void Plane\+Node\+::get\+Render\+Objects (\begin{DoxyParamCaption}\item[{\hyperlink{a07468}{A\+C\+G\+::\+I\+Renderer} $\ast$}]{\+\_\+renderer,  }\item[{\hyperlink{a07452}{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{a07748_a5f71c3865a9bcdfed6255eba50573d5c}{A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node}.



Definition at line 384 of file Plane\+Node.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Type-\/\+Plane/\+Object\+Types/\+Plane/Plane\+Node.\+hh\item 
Type-\/\+Plane/\+Object\+Types/\+Plane/Plane\+Node.\+cc\end{DoxyCompactItemize}
