\hypertarget{a00964}{\section{Plane\+Node Class Reference}
\label{a00964}\index{Plane\+Node@{Plane\+Node}}
}
Inheritance diagram for Plane\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00964}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00964_aa9c6187958b708e2cdc45900d2556939}{Plane\+Node} (\hyperlink{a00961}{Plane} \&\+\_\+plane, \hyperlink{a02486_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 
\hypertarget{a00964_a07be74d40931bf152be636be5ea9869f}{\hyperlink{a00964_a07be74d40931bf152be636be5ea9869f}{$\sim$\+Plane\+Node} ()}\label{a00964_a07be74d40931bf152be636be5ea9869f}

\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
\hypertarget{a00964_af1d04a4ae30cf159aa7a5a72caae0dc6}{\hyperlink{a00964_af1d04a4ae30cf159aa7a5a72caae0dc6}{A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+M\+E} (\hyperlink{a00964}{Plane\+Node})}\label{a00964_af1d04a4ae30cf159aa7a5a72caae0dc6}

\begin{DoxyCompactList}\small\item\em static name of this class \end{DoxyCompactList}\item 
\hypertarget{a00964_a1967c780eb00c8333cc3e0c7e17b078e}{\hyperlink{a00509}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \hyperlink{a00964_a1967c780eb00c8333cc3e0c7e17b078e}{available\+Draw\+Modes} () const }\label{a00964_a1967c780eb00c8333cc3e0c7e17b078e}

\begin{DoxyCompactList}\small\item\em return available draw modes \end{DoxyCompactList}\item 
\hypertarget{a00964_a40f5f6edb5e0cf981ece1afd311bbdfc}{void \hyperlink{a00964_a40f5f6edb5e0cf981ece1afd311bbdfc}{bounding\+Box} (\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+bb\+Min, \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+bb\+Max)}\label{a00964_a40f5f6edb5e0cf981ece1afd311bbdfc}

\begin{DoxyCompactList}\small\item\em update bounding box \end{DoxyCompactList}\item 
\hypertarget{a00964_a79982edd6a16b9e42dfd188ce478c697}{void \hyperlink{a00964_a79982edd6a16b9e42dfd188ce478c697}{draw} (\hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, const \hyperlink{a00509}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)}\label{a00964_a79982edd6a16b9e42dfd188ce478c697}

\begin{DoxyCompactList}\small\item\em draw \hyperlink{a00961}{Plane} \end{DoxyCompactList}\item 
\hypertarget{a00964_a1d2c6374117b73dad78849b664c57971}{void \hyperlink{a00964_a1d2c6374117b73dad78849b664c57971}{pick} (\hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, \hyperlink{a03343_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \+\_\+target)}\label{a00964_a1d2c6374117b73dad78849b664c57971}

\begin{DoxyCompactList}\small\item\em draw \hyperlink{a00961}{Plane} for object picking \end{DoxyCompactList}\item 
\hypertarget{a00964_a5d0b9114847713827bbf37ed29964047}{\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{a00964_a5d0b9114847713827bbf37ed29964047}{position} ()}\label{a00964_a5d0b9114847713827bbf37ed29964047}

\begin{DoxyCompactList}\small\item\em get center position of the plane \end{DoxyCompactList}\item 
\hypertarget{a00964_af2d3fc981a0d60fd2ea0e6d9c8de4f55}{\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{a00964_af2d3fc981a0d60fd2ea0e6d9c8de4f55}{normal} ()}\label{a00964_af2d3fc981a0d60fd2ea0e6d9c8de4f55}

\begin{DoxyCompactList}\small\item\em get current normal \end{DoxyCompactList}\item 
\hypertarget{a00964_a797f49e4f0db54e6ef39e58d86250505}{\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{a00964_a797f49e4f0db54e6ef39e58d86250505}{x\+Direction} ()}\label{a00964_a797f49e4f0db54e6ef39e58d86250505}

\begin{DoxyCompactList}\small\item\em local x direction (multiplied with width) \end{DoxyCompactList}\item 
\hypertarget{a00964_ac8ad29235b16391594cc08290fe3c258}{\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{a00964_ac8ad29235b16391594cc08290fe3c258}{y\+Direction} ()}\label{a00964_ac8ad29235b16391594cc08290fe3c258}

\begin{DoxyCompactList}\small\item\em local y direction (multiplied with height) \end{DoxyCompactList}\item 
\hypertarget{a00964_ac41ddd9ebb642ac8b67f74f9d5ab47a6}{\hyperlink{a00961}{Plane} \& \hyperlink{a00964_ac41ddd9ebb642ac8b67f74f9d5ab47a6}{get\+Plane} ()}\label{a00964_ac41ddd9ebb642ac8b67f74f9d5ab47a6}

\begin{DoxyCompactList}\small\item\em Get the currently rendered plane. \end{DoxyCompactList}\item 
\hypertarget{a00964_a29e99840787a31323a9b841b616de444}{void \hyperlink{a00964_a29e99840787a31323a9b841b616de444}{set\+Plane} (\hyperlink{a00961}{Plane} plane)}\label{a00964_a29e99840787a31323a9b841b616de444}

\begin{DoxyCompactList}\small\item\em Set a new plane for rendering. \end{DoxyCompactList}\item 
void \hyperlink{a00964_a7d8e7d633ea69fec8b6b402f8e0d6eef}{get\+Render\+Objects} (\hyperlink{a00738}{A\+C\+G\+::\+I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, const \hyperlink{a00509}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode, const \hyperlink{a00789}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$\+\_\+mat)
\begin{DoxyCompactList}\small\item\em Add the objects to the given renderer. \end{DoxyCompactList}\item 
\hypertarget{a00964_a2eb80dc4bb8c7d72a72ec19205b117f8}{void \hyperlink{a00964_a2eb80dc4bb8c7d72a72ec19205b117f8}{update} ()}\label{a00964_a2eb80dc4bb8c7d72a72ec19205b117f8}

\begin{DoxyCompactList}\small\item\em updates the plane before the next render call \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00964_a041369377417b1a023321517f7a8bb19}{void {\bfseries draw\+Plane} (\hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)}\label{a00964_a041369377417b1a023321517f7a8bb19}

\item 
\hypertarget{a00964_a1cd35f6c802be10c3655481f7d825588}{void {\bfseries draw\+Manipulator} (\hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)}\label{a00964_a1cd35f6c802be10c3655481f7d825588}

\item 
\hypertarget{a00964_a0cbd65caa3d51a89834d291407d83292}{void {\bfseries draw\+Plane\+Pick} (\hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)}\label{a00964_a0cbd65caa3d51a89834d291407d83292}

\item 
\hypertarget{a00964_aaf63e0f9bec3728aebc20b392fae53ca}{void {\bfseries draw\+Manipulator\+Pick} (\hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state)}\label{a00964_aaf63e0f9bec3728aebc20b392fae53ca}

\item 
\hypertarget{a00964_a0af441b99718fdc95b4f1ef7ebee0666}{void \hyperlink{a00964_a0af441b99718fdc95b4f1ef7ebee0666}{update\+V\+B\+O} ()}\label{a00964_a0af441b99718fdc95b4f1ef7ebee0666}

\begin{DoxyCompactList}\small\item\em create and update V\+B\+O \end{DoxyCompactList}\item 
\hypertarget{a00964_a2dc3892078ba5aedd99a561e1ad406b3}{void {\bfseries add\+Sphere\+At} (\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \+\_\+pos, \hyperlink{a00738}{A\+C\+G\+::\+I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, \hyperlink{a01110}{A\+C\+G\+::\+Render\+Object} $\ast$\+\_\+ro)}\label{a00964_a2dc3892078ba5aedd99a561e1ad406b3}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00964_a5fcb3a4a0a0694c03052fdf0a2cd669a}{\hyperlink{a00961}{Plane} \& {\bfseries plane\+\_\+}}\label{a00964_a5fcb3a4a0a0694c03052fdf0a2cd669a}

\item 
\hypertarget{a00964_a23133358aff574c1f10392e37ef60f85}{unsigned int \hyperlink{a00964_a23133358aff574c1f10392e37ef60f85}{vbo\+\_\+}}\label{a00964_a23133358aff574c1f10392e37ef60f85}

\begin{DoxyCompactList}\small\item\em V\+B\+O used to render the plane. \end{DoxyCompactList}\item 
\hypertarget{a00964_ab2831dea7a288b10b6898a7ba0fed0c6}{bool {\bfseries vbo\+Needs\+Update\+\_\+}}\label{a00964_ab2831dea7a288b10b6898a7ba0fed0c6}

\item 
\hypertarget{a00964_ab1857117754dfae1690ff7e0b785e02f}{\hyperlink{a01417}{A\+C\+G\+::\+Vertex\+Declaration} {\bfseries vertex\+Decl\+\_\+}}\label{a00964_ab1857117754dfae1690ff7e0b785e02f}

\item 
\hypertarget{a00964_a3fa912286eb64b164a76b8949d62e1c4}{\hyperlink{a00641}{A\+C\+G\+::\+G\+L\+Sphere} $\ast$ {\bfseries sphere\+\_\+}}\label{a00964_a3fa912286eb64b164a76b8949d62e1c4}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}


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



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00964_aa9c6187958b708e2cdc45900d2556939}{\index{Plane\+Node@{Plane\+Node}!Plane\+Node@{Plane\+Node}}
\index{Plane\+Node@{Plane\+Node}!Plane\+Node@{Plane\+Node}}
\subsubsection[{Plane\+Node}]{\setlength{\rightskip}{0pt plus 5cm}Plane\+Node\+::\+Plane\+Node (
\begin{DoxyParamCaption}
\item[{{\bf Plane} \&}]{\+\_\+plane, }
\item[{{\bf Base\+Node} $\ast$}]{\+\_\+parent = {\ttfamily 0}, }
\item[{std\+::string}]{\+\_\+name = {\ttfamily \char`\"{}$<$PlaneNode$>$\char`\"{}}}
\end{DoxyParamCaption}
)}}\label{a00964_aa9c6187958b708e2cdc45900d2556939}


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}
\hypertarget{a00964_a7d8e7d633ea69fec8b6b402f8e0d6eef}{\index{Plane\+Node@{Plane\+Node}!get\+Render\+Objects@{get\+Render\+Objects}}
\index{get\+Render\+Objects@{get\+Render\+Objects}!Plane\+Node@{Plane\+Node}}
\subsubsection[{get\+Render\+Objects}]{\setlength{\rightskip}{0pt plus 5cm}void Plane\+Node\+::get\+Render\+Objects (
\begin{DoxyParamCaption}
\item[{{\bf A\+C\+G\+::\+I\+Renderer} $\ast$}]{\+\_\+renderer, }
\item[{{\bf A\+C\+G\+::\+G\+L\+State} \&}]{\+\_\+state, }
\item[{const {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&}]{\+\_\+draw\+Mode, }
\item[{const {\bf A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$}]{\+\_\+mat}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00964_a7d8e7d633ea69fec8b6b402f8e0d6eef}


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 G\+L 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{a00327_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 
Object\+Types/\+Plane/Plane\+Node.\+hh\item 
Object\+Types/\+Plane/Plane\+Node.\+cc\end{DoxyCompactItemize}
