\hypertarget{classPlaneObject}{}\section{Plane\+Object Class Reference}
\label{classPlaneObject}\index{Plane\+Object@{Plane\+Object}}
Inheritance diagram for Plane\+Object\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{classPlaneObject}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classPlaneObject_a8c135f953af1205c3fc08de4d55c1b24}{Plane\+Object} ()
\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
\hyperlink{classPlaneObject_a2b6b7792d3d6b010abef7aacd6e59a3b}{Plane\+Object} (const \hyperlink{classPlaneObject}{Plane\+Object} \&\+\_\+object)
\begin{DoxyCompactList}\small\item\em copy constructor \end{DoxyCompactList}\item 
virtual \hyperlink{classPlaneObject_af026bbcc2c3dfc5d6bdaf9c6b0960ef7}{$\sim$\+Plane\+Object} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
virtual void \hyperlink{classPlaneObject_a48a92ae8fc03538482bac560530de951}{cleanup} ()
\begin{DoxyCompactList}\small\item\em Reset current object, including all related nodes. \end{DoxyCompactList}\item 
\hyperlink{classBaseObject}{Base\+Object} $\ast$ \hyperlink{classPlaneObject_ae4a95053f26e0e73e8cf9f803a7df421}{copy} ()
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Name and Path handling}\par
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classPlaneObject_a6e67409e12b650c0573aa19dccc925c9}{set\+Name} (Q\+String \+\_\+name)
\begin{DoxyCompactList}\small\item\em Set the name of the Object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Object Information}\par
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{classPlaneObject_ac46a3df84ae694e89f592d8ecf357272}{get\+Objectinfo} ()
\begin{DoxyCompactList}\small\item\em Get all Info for the Object as a string. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Picking}\par
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{classPlaneObject_a725562fdcf558e8be3081576fb11352d}{picked} (uint \+\_\+node\+\_\+idx)
\begin{DoxyCompactList}\small\item\em detect if the node has been picked \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneObject_a340eb15f399bd295f5671bf284f20fce}\label{classPlaneObject_a340eb15f399bd295f5671bf284f20fce}} 
void \hyperlink{classPlaneObject_a340eb15f399bd295f5671bf284f20fce}{enable\+Picking} (bool \+\_\+enable)
\begin{DoxyCompactList}\small\item\em Enable or disable picking for this Object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneObject_a3fd3c8a9f1b657c9ac6b1cca6e41db92}\label{classPlaneObject_a3fd3c8a9f1b657c9ac6b1cca6e41db92}} 
bool \hyperlink{classPlaneObject_a3fd3c8a9f1b657c9ac6b1cca6e41db92}{picking\+Enabled} ()
\begin{DoxyCompactList}\small\item\em Check if picking is enabled for this Object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classPlaneObject_a298f5e2bba82d0c294d8f777844b091d}{init} (const \hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} $\ast$\+\_\+plane=0)
\begin{DoxyCompactList}\small\item\em Initialize current object, including all related nodes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Update handling}\par
{\em This is mostly private. Updates have to be triggered via emit updated\+Object() }\begin{DoxyCompactItemize}
\item 
void \hyperlink{classPlaneObject_aab4eff42b5bdf4f4f9d5dc4078bb92af}{update} (\hyperlink{classUpdateType}{Update\+Type} \+\_\+type=\hyperlink{group__DefaultUpdateTypes_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+LL})
\begin{DoxyCompactList}\small\item\em This function is called to update the object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classPlaneObject_ae7236160c2f773c62bed65d3f93aee5a}\label{classPlaneObject_ae7236160c2f773c62bed65d3f93aee5a}} 
using {\bfseries Plane} = \hyperlink{classACG_1_1Geometry_1_1Plane}{A\+C\+G\+::\+Geometry\+::\+Plane}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classPlaneObject_aa76705f96a2f13485d9393519172ae8a}\label{classPlaneObject_aa76705f96a2f13485d9393519172ae8a}} 
class {\bfseries Type\+Plane\+Plugin}
\end{DoxyCompactItemize}
\subsection*{Data}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classPlaneObject_a6f84025ebe0d2e6754184edc0efdd8a1}\label{classPlaneObject_a6f84025ebe0d2e6754184edc0efdd8a1}} 
\hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} {\bfseries plane\+\_\+}
\item 
\mbox{\Hypertarget{classPlaneObject_a665ac2d5eb74ba1eb4d21dc2b7a6c6d1}\label{classPlaneObject_a665ac2d5eb74ba1eb4d21dc2b7a6c6d1}} 
\hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} \& {\bfseries plane} ()
\item 
\mbox{\Hypertarget{classPlaneObject_adb609e9b0fcda2f39fd1a43351b0337a}\label{classPlaneObject_adb609e9b0fcda2f39fd1a43351b0337a}} 
void {\bfseries plane} (\hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} \+\_\+plane)
\end{DoxyCompactItemize}
\subsection*{Visualization}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classPlaneObject_a9755ee027169ac2c54e64a236396af2d}\label{classPlaneObject_a9755ee027169ac2c54e64a236396af2d}} 
\hyperlink{classPlaneNode}{Plane\+Node} $\ast$ \hyperlink{classPlaneObject_a9755ee027169ac2c54e64a236396af2d}{plane\+Node\+\_\+}
\begin{DoxyCompactList}\small\item\em Get the scenegraph Node. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classPlaneObject_a3a4b3b30434a183b6b87218ab52b28e5}\label{classPlaneObject_a3a4b3b30434a183b6b87218ab52b28e5}} 
\hyperlink{classPlaneNode}{Plane\+Node} $\ast$ \hyperlink{classPlaneObject_a3a4b3b30434a183b6b87218ab52b28e5}{plane\+Node} ()
\begin{DoxyCompactList}\small\item\em Get the scenegraph Node. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}


Definition at line 75 of file Plane\+Object.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classPlaneObject_a8c135f953af1205c3fc08de4d55c1b24}\label{classPlaneObject_a8c135f953af1205c3fc08de4d55c1b24}} 
\index{Plane\+Object@{Plane\+Object}!Plane\+Object@{Plane\+Object}}
\index{Plane\+Object@{Plane\+Object}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{Plane\+Object()}{PlaneObject()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Plane\+Object\+::\+Plane\+Object (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



constructor 

Constructor for Plane Objects. This object class gets a Separator Node giving the root node to which it should be connected. The plane is generated internally and all nodes for visualization will be added below the scenegraph node.~\newline
You dont need to create an object of this type manually. Use the functions from \hyperlink{classLoadSaveInterface}{Load\+Save\+Interface} ( add\+Empty() ) 

Definition at line 69 of file Plane\+Object.\+cc.

\mbox{\Hypertarget{classPlaneObject_a2b6b7792d3d6b010abef7aacd6e59a3b}\label{classPlaneObject_a2b6b7792d3d6b010abef7aacd6e59a3b}} 
\index{Plane\+Object@{Plane\+Object}!Plane\+Object@{Plane\+Object}}
\index{Plane\+Object@{Plane\+Object}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{Plane\+Object()}{PlaneObject()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Plane\+Object\+::\+Plane\+Object (\begin{DoxyParamCaption}\item[{const \hyperlink{classPlaneObject}{Plane\+Object} \&}]{\+\_\+object }\end{DoxyParamCaption})}



copy constructor 

Create a copy of this object

Copy Constructor -\/ generates a copy of the given object 

Definition at line 83 of file Plane\+Object.\+cc.

\mbox{\Hypertarget{classPlaneObject_af026bbcc2c3dfc5d6bdaf9c6b0960ef7}\label{classPlaneObject_af026bbcc2c3dfc5d6bdaf9c6b0960ef7}} 
\index{Plane\+Object@{Plane\+Object}!````~Plane\+Object@{$\sim$\+Plane\+Object}}
\index{````~Plane\+Object@{$\sim$\+Plane\+Object}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{$\sim$\+Plane\+Object()}{~PlaneObject()}}
{\footnotesize\ttfamily Plane\+Object\+::$\sim$\+Plane\+Object (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



destructor 

Destructor for Plane Objects. The destructor deletes the Line and all Scenegraph nodes associated with the Plane or the object. 

Definition at line 95 of file Plane\+Object.\+cc.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classPlaneObject_a48a92ae8fc03538482bac560530de951}\label{classPlaneObject_a48a92ae8fc03538482bac560530de951}} 
\index{Plane\+Object@{Plane\+Object}!cleanup@{cleanup}}
\index{cleanup@{cleanup}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{cleanup()}{cleanup()}}
{\footnotesize\ttfamily void Plane\+Object\+::cleanup (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Reset current object, including all related nodes. 

Cleanup Function for Plane Objects. Deletes the contents of the whole object and calls \hyperlink{classPlaneObject_a298f5e2bba82d0c294d8f777844b091d}{Plane\+Object\+::init} afterwards. 

Reimplemented from \hyperlink{classBaseObjectData_abdf84b94d4626b2a5e848afc152bc6e9}{Base\+Object\+Data}.



Definition at line 111 of file Plane\+Object.\+cc.

\mbox{\Hypertarget{classPlaneObject_ae4a95053f26e0e73e8cf9f803a7df421}\label{classPlaneObject_ae4a95053f26e0e73e8cf9f803a7df421}} 
\index{Plane\+Object@{Plane\+Object}!copy@{copy}}
\index{copy@{copy}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{copy()}{copy()}}
{\footnotesize\ttfamily \hyperlink{classBaseObject}{Base\+Object} $\ast$ Plane\+Object\+::copy (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

return a full copy of this object ( All scenegraph nodes will be created ) but the object will not be a part of the object tree.

Generate a copy 

Reimplemented from \hyperlink{classBaseObject_aa914502976b64d3048fe068cd0097e67}{Base\+Object}.



Definition at line 127 of file Plane\+Object.\+cc.

\mbox{\Hypertarget{classPlaneObject_ac46a3df84ae694e89f592d8ecf357272}\label{classPlaneObject_ac46a3df84ae694e89f592d8ecf357272}} 
\index{Plane\+Object@{Plane\+Object}!get\+Objectinfo@{get\+Objectinfo}}
\index{get\+Objectinfo@{get\+Objectinfo}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{get\+Objectinfo()}{getObjectinfo()}}
{\footnotesize\ttfamily Q\+String Plane\+Object\+::get\+Objectinfo (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get all Info for the Object as a string. 

Returns a string containing all information about the current object. This also includes the information provided by \hyperlink{classBaseObject_a16966c1c32af694839bc4d31eed8759b}{Base\+Object\+Data\+::get\+Objectinfo}

\begin{DoxyReturn}{Returns}
String containing the object information 
\end{DoxyReturn}


Reimplemented from \hyperlink{classBaseObject_a16966c1c32af694839bc4d31eed8759b}{Base\+Object}.



Definition at line 184 of file Plane\+Object.\+cc.

\mbox{\Hypertarget{classPlaneObject_a298f5e2bba82d0c294d8f777844b091d}\label{classPlaneObject_a298f5e2bba82d0c294d8f777844b091d}} 
\index{Plane\+Object@{Plane\+Object}!init@{init}}
\index{init@{init}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{init()}{init()}}
{\footnotesize\ttfamily void Plane\+Object\+::init (\begin{DoxyParamCaption}\item[{const \hyperlink{classACG_1_1Geometry_1_1Plane}{Plane} $\ast$}]{\+\_\+plane = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}



Initialize current object, including all related nodes. 

This function initializes the plane object. It creates the scenegraph nodes. 

Definition at line 134 of file Plane\+Object.\+cc.

\mbox{\Hypertarget{classPlaneObject_a725562fdcf558e8be3081576fb11352d}\label{classPlaneObject_a725562fdcf558e8be3081576fb11352d}} 
\index{Plane\+Object@{Plane\+Object}!picked@{picked}}
\index{picked@{picked}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{picked()}{picked()}}
{\footnotesize\ttfamily bool Plane\+Object\+::picked (\begin{DoxyParamCaption}\item[{uint}]{\+\_\+node\+\_\+idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



detect if the node has been picked 

Given an node index from \hyperlink{namespacePluginFunctions_aa407abcd8a862ac0addd816e14ae5766}{Plugin\+Functions\+::scenegraph\+Pick} this function can be used to check if the plane\+Node of the object has been picked.


\begin{DoxyParams}{Parameters}
{\em \+\_\+node\+\_\+idx} & Index of the picked plane node \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
bool if the plane\+Node of this object is the picking target. 
\end{DoxyReturn}


Reimplemented from \hyperlink{classBaseObjectData_afdb0f57814b92dd4ad19c81b1601857c}{Base\+Object\+Data}.



Definition at line 234 of file Plane\+Object.\+cc.

\mbox{\Hypertarget{classPlaneObject_a6e67409e12b650c0573aa19dccc925c9}\label{classPlaneObject_a6e67409e12b650c0573aa19dccc925c9}} 
\index{Plane\+Object@{Plane\+Object}!set\+Name@{set\+Name}}
\index{set\+Name@{set\+Name}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{set\+Name()}{setName()}}
{\footnotesize\ttfamily void Plane\+Object\+::set\+Name (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Set the name of the Object. 

Set the name of an object. All Scenegraph nodes are renamed too. It also calls \hyperlink{classBaseObjectData_aa99cbee24f472c3904aad4c7da0cd947}{Base\+Object\+Data\+::set\+Name}. 

Reimplemented from \hyperlink{classBaseObjectData_aa99cbee24f472c3904aad4c7da0cd947}{Base\+Object\+Data}.



Definition at line 160 of file Plane\+Object.\+cc.

\mbox{\Hypertarget{classPlaneObject_aab4eff42b5bdf4f4f9d5dc4078bb92af}\label{classPlaneObject_aab4eff42b5bdf4f4f9d5dc4078bb92af}} 
\index{Plane\+Object@{Plane\+Object}!update@{update}}
\index{update@{update}!Plane\+Object@{Plane\+Object}}
\subsubsection{\texorpdfstring{update()}{update()}}
{\footnotesize\ttfamily void Plane\+Object\+::update (\begin{DoxyParamCaption}\item[{\hyperlink{classUpdateType}{Update\+Type}}]{\+\_\+type = {\ttfamily \hyperlink{group__DefaultUpdateTypes_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+LL}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}



This function is called to update the object. 

If the object changes, the core will call this function. This function triggers an vbo update in the plane node.

\begin{DoxyNote}{Note}
Do not call this function yourself to avoid unnecessary overhead(the core will call it when it is required) 
\end{DoxyNote}


Reimplemented from \hyperlink{classBaseObjectData_ab2bb7817a0fdb692c0444971620478f0}{Base\+Object\+Data}.



Definition at line 207 of file Plane\+Object.\+cc.



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