\hypertarget{classPlaneNode}{}\section{Plane\+Node Class Reference}
\label{classPlaneNode}\index{Plane\+Node@{Plane\+Node}}
Inheritance diagram for Plane\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classPlaneNode}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classPlaneNode_a6f052ac75449bd1f746b5c8da770cde6}\label{classPlaneNode_a6f052ac75449bd1f746b5c8da770cde6}} 
using {\bfseries Plane} = \hyperlink{classACG_1_1Geometry_1_1Plane}{A\+C\+G\+::\+Geometry\+::\+Plane}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classPlaneNode_aa9c6187958b708e2cdc45900d2556939}{Plane\+Node} (\hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} \&\+\_\+plane, \hyperlink{BaseObjectData_8hh_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{classPlaneNode_a07be74d40931bf152be636be5ea9869f}\label{classPlaneNode_a07be74d40931bf152be636be5ea9869f}} 
\hyperlink{classPlaneNode_a07be74d40931bf152be636be5ea9869f}{$\sim$\+Plane\+Node} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_af1d04a4ae30cf159aa7a5a72caae0dc6}\label{classPlaneNode_af1d04a4ae30cf159aa7a5a72caae0dc6}} 
\hyperlink{classPlaneNode_af1d04a4ae30cf159aa7a5a72caae0dc6}{A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{classPlaneNode}{Plane\+Node})
\begin{DoxyCompactList}\small\item\em static name of this class \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_a842c2bfc629558158d8e3df7168a9319}\label{classPlaneNode_a842c2bfc629558158d8e3df7168a9319}} 
\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \hyperlink{classPlaneNode_a842c2bfc629558158d8e3df7168a9319}{available\+Draw\+Modes} () const override
\begin{DoxyCompactList}\small\item\em return available draw modes \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_aa9bdc8d6a71fcbe4c765619747576034}\label{classPlaneNode_aa9bdc8d6a71fcbe4c765619747576034}} 
void \hyperlink{classPlaneNode_aa9bdc8d6a71fcbe4c765619747576034}{bounding\+Box} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+bb\+Min, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+bb\+Max) override
\begin{DoxyCompactList}\small\item\em update bounding box \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_a4e25ea63e33f24f6cf7eb6f435a338fd}\label{classPlaneNode_a4e25ea63e33f24f6cf7eb6f435a338fd}} 
void \hyperlink{classPlaneNode_a4e25ea63e33f24f6cf7eb6f435a338fd}{draw} (\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode) override
\begin{DoxyCompactList}\small\item\em draw Plane \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_a33fce2ce8bd92aec59cc4f3a223cd30b}\label{classPlaneNode_a33fce2ce8bd92aec59cc4f3a223cd30b}} 
void \hyperlink{classPlaneNode_a33fce2ce8bd92aec59cc4f3a223cd30b}{pick} (\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, \hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \+\_\+target) override
\begin{DoxyCompactList}\small\item\em draw Plane for object picking \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_a5d0b9114847713827bbf37ed29964047}\label{classPlaneNode_a5d0b9114847713827bbf37ed29964047}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classPlaneNode_a5d0b9114847713827bbf37ed29964047}{position} ()
\begin{DoxyCompactList}\small\item\em get center position of the plane \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_af2d3fc981a0d60fd2ea0e6d9c8de4f55}\label{classPlaneNode_af2d3fc981a0d60fd2ea0e6d9c8de4f55}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classPlaneNode_af2d3fc981a0d60fd2ea0e6d9c8de4f55}{normal} ()
\begin{DoxyCompactList}\small\item\em get current normal \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_a797f49e4f0db54e6ef39e58d86250505}\label{classPlaneNode_a797f49e4f0db54e6ef39e58d86250505}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classPlaneNode_a797f49e4f0db54e6ef39e58d86250505}{x\+Direction} ()
\begin{DoxyCompactList}\small\item\em local x direction (multiplied with width) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_ac8ad29235b16391594cc08290fe3c258}\label{classPlaneNode_ac8ad29235b16391594cc08290fe3c258}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classPlaneNode_ac8ad29235b16391594cc08290fe3c258}{y\+Direction} ()
\begin{DoxyCompactList}\small\item\em local y direction (multiplied with height) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_acfa61cb042b4e08102427af6277d61fd}\label{classPlaneNode_acfa61cb042b4e08102427af6277d61fd}} 
\hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} \& \hyperlink{classPlaneNode_acfa61cb042b4e08102427af6277d61fd}{get\+Plane} ()
\begin{DoxyCompactList}\small\item\em Get the currently rendered plane. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_a29e99840787a31323a9b841b616de444}\label{classPlaneNode_a29e99840787a31323a9b841b616de444}} 
void \hyperlink{classPlaneNode_a29e99840787a31323a9b841b616de444}{set\+Plane} (\hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} plane)
\begin{DoxyCompactList}\small\item\em Set a new plane for rendering. \end{DoxyCompactList}\item 
void \hyperlink{classPlaneNode_a74dfb844ba7b0c8e5ed1184421e18382}{get\+Render\+Objects} (\hyperlink{classACG_1_1IRenderer}{A\+C\+G\+::\+I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode, const \hyperlink{classACG_1_1SceneGraph_1_1Material}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$\+\_\+mat) override
\begin{DoxyCompactList}\small\item\em Add the objects to the given renderer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_a2eb80dc4bb8c7d72a72ec19205b117f8}\label{classPlaneNode_a2eb80dc4bb8c7d72a72ec19205b117f8}} 
void \hyperlink{classPlaneNode_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{classPlaneNode_a041369377417b1a023321517f7a8bb19}\label{classPlaneNode_a041369377417b1a023321517f7a8bb19}} 
void {\bfseries draw\+Plane} (\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{classPlaneNode_a1cd35f6c802be10c3655481f7d825588}\label{classPlaneNode_a1cd35f6c802be10c3655481f7d825588}} 
void {\bfseries draw\+Manipulator} (\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{classPlaneNode_a0cbd65caa3d51a89834d291407d83292}\label{classPlaneNode_a0cbd65caa3d51a89834d291407d83292}} 
void {\bfseries draw\+Plane\+Pick} (\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{classPlaneNode_aaf63e0f9bec3728aebc20b392fae53ca}\label{classPlaneNode_aaf63e0f9bec3728aebc20b392fae53ca}} 
void {\bfseries draw\+Manipulator\+Pick} (\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{classPlaneNode_a0af441b99718fdc95b4f1ef7ebee0666}\label{classPlaneNode_a0af441b99718fdc95b4f1ef7ebee0666}} 
void \hyperlink{classPlaneNode_a0af441b99718fdc95b4f1ef7ebee0666}{update\+V\+BO} ()
\begin{DoxyCompactList}\small\item\em create and update V\+BO \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_a2dc3892078ba5aedd99a561e1ad406b3}\label{classPlaneNode_a2dc3892078ba5aedd99a561e1ad406b3}} 
void {\bfseries add\+Sphere\+At} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \+\_\+pos, \hyperlink{classACG_1_1IRenderer}{A\+C\+G\+::\+I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, \hyperlink{structACG_1_1RenderObject}{A\+C\+G\+::\+Render\+Object} $\ast$\+\_\+ro)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classPlaneNode_a5fcb3a4a0a0694c03052fdf0a2cd669a}\label{classPlaneNode_a5fcb3a4a0a0694c03052fdf0a2cd669a}} 
\hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} \& {\bfseries plane\+\_\+}
\item 
\mbox{\Hypertarget{classPlaneNode_a23133358aff574c1f10392e37ef60f85}\label{classPlaneNode_a23133358aff574c1f10392e37ef60f85}} 
unsigned int \hyperlink{classPlaneNode_a23133358aff574c1f10392e37ef60f85}{vbo\+\_\+}
\begin{DoxyCompactList}\small\item\em V\+BO used to render the plane. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneNode_ab2831dea7a288b10b6898a7ba0fed0c6}\label{classPlaneNode_ab2831dea7a288b10b6898a7ba0fed0c6}} 
bool {\bfseries vbo\+Needs\+Update\+\_\+}
\item 
\mbox{\Hypertarget{classPlaneNode_ab1857117754dfae1690ff7e0b785e02f}\label{classPlaneNode_ab1857117754dfae1690ff7e0b785e02f}} 
\hyperlink{classACG_1_1VertexDeclaration}{A\+C\+G\+::\+Vertex\+Declaration} {\bfseries vertex\+Decl\+\_\+}
\item 
\mbox{\Hypertarget{classPlaneNode_a3fa912286eb64b164a76b8949d62e1c4}\label{classPlaneNode_a3fa912286eb64b164a76b8949d62e1c4}} 
\hyperlink{classACG_1_1GLSphere}{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{classPlaneNode_aa9c6187958b708e2cdc45900d2556939}\label{classPlaneNode_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{classACG_1_1Geometry_1_1Plane}{Plane} \&}]{\+\_\+plane,  }\item[{\hyperlink{BaseObjectData_8hh_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{classPlaneNode_a74dfb844ba7b0c8e5ed1184421e18382}\label{classPlaneNode_a74dfb844ba7b0c8e5ed1184421e18382}} 
\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{classACG_1_1IRenderer}{A\+C\+G\+::\+I\+Renderer} $\ast$}]{\+\_\+renderer,  }\item[{\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&}]{\+\_\+state,  }\item[{const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&}]{\+\_\+draw\+Mode,  }\item[{const \hyperlink{classACG_1_1SceneGraph_1_1Material}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$}]{\+\_\+mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\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{classACG_1_1SceneGraph_1_1BaseNode_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}
