\hypertarget{a11300}{}\section{Type\+Camera\+Plugin Class Reference}
\label{a11300}\index{Type\+Camera\+Plugin@{Type\+Camera\+Plugin}}
Inheritance diagram for Type\+Camera\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.296296cm]{a11300}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11300_a2aa75afec5fc1610e639ba74a9215395}\label{a11300_a2aa75afec5fc1610e639ba74a9215395}} 
Q\+String {\bfseries version} ()
\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11300_aec3edd74e8947b27fc35dcf070304c47}\label{a11300_aec3edd74e8947b27fc35dcf070304c47}} 
void {\bfseries log} (\hyperlink{a00035_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a11300_aca7ab67f2cc76efafa1c58b8004eee59}\label{a11300_aca7ab67f2cc76efafa1c58b8004eee59}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a11300_ae9d13e2ce61a4f52164994cf8d8701e5}\label{a11300_ae9d13e2ce61a4f52164994cf8d8701e5}} 
void {\bfseries empty\+Object\+Added} (int \+\_\+id)
\item 
\mbox{\Hypertarget{a11300_aea7dc8a9b653b5087784306810ee452e}\label{a11300_aea7dc8a9b653b5087784306810ee452e}} 
void {\bfseries add\+Context\+Menu\+Item} (Q\+Action $\ast$\+\_\+action, \hyperlink{a00017_a238952a111d7daede783625350d7b287}{Context\+Menu\+Type} \+\_\+type)
\item 
\mbox{\Hypertarget{a11300_a2875d81c569ab1da4e18cb581ef8fb13}\label{a11300_a2875d81c569ab1da4e18cb581ef8fb13}} 
void {\bfseries add\+Context\+Menu\+Item} (Q\+Action $\ast$\+\_\+action, \hyperlink{a07048}{Data\+Type} \+\_\+object\+Type, \hyperlink{a00017_a238952a111d7daede783625350d7b287}{Context\+Menu\+Type} \+\_\+type)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{a11300_aa11f9515cacdbe80f8537f4756b0bdf9}{name} ()
\begin{DoxyCompactList}\small\item\em Return a name for the plugin. \end{DoxyCompactList}\item 
Q\+String \hyperlink{a11300_ac441b281eb9c3070f24655729f788b9f}{description} ()
\begin{DoxyCompactList}\small\item\em Return a description of what the plugin is doing. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11300_af13d4c4bb95e4d61fb1c1ce9f449bf15}\label{a11300_af13d4c4bb95e4d61fb1c1ce9f449bf15}} 
bool {\bfseries register\+Type} ()
\item 
int \hyperlink{a11300_afd907fda4a425bac4bd4c75812efabef}{add\+Empty} ()
\begin{DoxyCompactList}\small\item\em Create an empty object. \end{DoxyCompactList}\item 
\hyperlink{a07048}{Data\+Type} \hyperlink{a11300_a462d181c9b63f73de6f19a751209f026}{supported\+Type} ()
\begin{DoxyCompactList}\small\item\em Return your supported object type( e.\+g. D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+SH ) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11300_a1f597a3d5ae1682e2df833488fc362fd}\label{a11300_a1f597a3d5ae1682e2df833488fc362fd}} 
void {\bfseries nogui\+Supported} ()
\item 
\mbox{\Hypertarget{a11300_a437ffe2a9f9689982d0f77e5238ace44}\label{a11300_a437ffe2a9f9689982d0f77e5238ace44}} 
void {\bfseries context\+Menu\+Clicked} (Q\+Action $\ast$\+\_\+context\+Action)
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a11300_a11749627094f7041ddb280c960ba8da0}{plugins\+Initialized} ()
\begin{DoxyCompactList}\small\item\em Initialize Plugin step 2. \end{DoxyCompactList}\item 
void \hyperlink{a11300_adc28665573eff3a3e2956486545cec81}{slot\+Update\+Context\+Menu} (int \+\_\+object\+Id)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11300_a51009dea4b1fed3646fb28b26e259ed4}\label{a11300_a51009dea4b1fed3646fb28b26e259ed4}} 
Q\+Menu $\ast$ {\bfseries context\+Menu\+\_\+}
\item 
\mbox{\Hypertarget{a11300_aad4b340b16273a757b2c781ff6d3f51a}\label{a11300_aad4b340b16273a757b2c781ff6d3f51a}} 
Q\+Action $\ast$ {\bfseries show\+Frustum\+Action\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 57 of file Type\+Camera.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a11300_afd907fda4a425bac4bd4c75812efabef}\label{a11300_afd907fda4a425bac4bd4c75812efabef}} 
\index{Type\+Camera\+Plugin@{Type\+Camera\+Plugin}!add\+Empty@{add\+Empty}}
\index{add\+Empty@{add\+Empty}!Type\+Camera\+Plugin@{Type\+Camera\+Plugin}}
\subsubsection{\texorpdfstring{add\+Empty()}{addEmpty()}}
{\footnotesize\ttfamily int Type\+Camera\+Plugin\+::add\+Empty (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Create an empty object. 

When this slot is called you have to create an object of your supported type. \begin{DoxyReturn}{Returns}
Id of the new Object 
\end{DoxyReturn}


Implements \hyperlink{a07012_a50b2bfa5db5ff3ce6f3e8cc8e40260f0}{Type\+Interface}.



Definition at line 142 of file Type\+Camera.\+cc.

\mbox{\Hypertarget{a11300_ac441b281eb9c3070f24655729f788b9f}\label{a11300_ac441b281eb9c3070f24655729f788b9f}} 
\index{Type\+Camera\+Plugin@{Type\+Camera\+Plugin}!description@{description}}
\index{description@{description}!Type\+Camera\+Plugin@{Type\+Camera\+Plugin}}
\subsubsection{\texorpdfstring{description()}{description()}}
{\footnotesize\ttfamily Q\+String Type\+Camera\+Plugin\+::description (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Return a description of what the plugin is doing. 

This function has to return a basic description of the plugin 

Implements \hyperlink{a06872_a43f0d3612695b53c848c14f48fea9a7a}{Base\+Interface}.



Definition at line 96 of file Type\+Camera.\+hh.

\mbox{\Hypertarget{a11300_aa11f9515cacdbe80f8537f4756b0bdf9}\label{a11300_aa11f9515cacdbe80f8537f4756b0bdf9}} 
\index{Type\+Camera\+Plugin@{Type\+Camera\+Plugin}!name@{name}}
\index{name@{name}!Type\+Camera\+Plugin@{Type\+Camera\+Plugin}}
\subsubsection{\texorpdfstring{name()}{name()}}
{\footnotesize\ttfamily Q\+String Type\+Camera\+Plugin\+::name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Return a name for the plugin. 

This Function has to return the name of the plugin. 

Implements \hyperlink{a06872_a2b351aa6ef0eb368bce735e243235958}{Base\+Interface}.



Definition at line 95 of file Type\+Camera.\+hh.

\mbox{\Hypertarget{a11300_a11749627094f7041ddb280c960ba8da0}\label{a11300_a11749627094f7041ddb280c960ba8da0}} 
\index{Type\+Camera\+Plugin@{Type\+Camera\+Plugin}!plugins\+Initialized@{plugins\+Initialized}}
\index{plugins\+Initialized@{plugins\+Initialized}!Type\+Camera\+Plugin@{Type\+Camera\+Plugin}}
\subsubsection{\texorpdfstring{plugins\+Initialized()}{pluginsInitialized()}}
{\footnotesize\ttfamily void Type\+Camera\+Plugin\+::plugins\+Initialized (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Initialize Plugin step 2. 

This slot is called if all plugins are loaded and the core is ready. Afterwards you can already send signals to other plugins and the core (e.\+g. adding global textures). \begin{DoxyNote}{Note}
Do not create objects via add\+Empty or load objects in this slot, as the rendering system is not ready yet. 
\end{DoxyNote}


Reimplemented from \hyperlink{a06872_a5f240478907447bf172618bd4205df65}{Base\+Interface}.



Definition at line 62 of file Type\+Camera.\+cc.

\mbox{\Hypertarget{a11300_adc28665573eff3a3e2956486545cec81}\label{a11300_adc28665573eff3a3e2956486545cec81}} 
\index{Type\+Camera\+Plugin@{Type\+Camera\+Plugin}!slot\+Update\+Context\+Menu@{slot\+Update\+Context\+Menu}}
\index{slot\+Update\+Context\+Menu@{slot\+Update\+Context\+Menu}!Type\+Camera\+Plugin@{Type\+Camera\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Update\+Context\+Menu()}{slotUpdateContextMenu()}}
{\footnotesize\ttfamily void Type\+Camera\+Plugin\+::slot\+Update\+Context\+Menu (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}

When the main application requests a context menu, this slot is called before showing the window. If an object is picked the id will be given in this call so you can change the contents of your menu depending on the given object.


\begin{DoxyParams}{Parameters}
{\em \+\_\+object\+Id} & id of the object \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{a06876_a74cbe2257620672cbc565cc6536c0332}{Context\+Menu\+Interface}.



Definition at line 84 of file Type\+Camera.\+cc.

\mbox{\Hypertarget{a11300_a462d181c9b63f73de6f19a751209f026}\label{a11300_a462d181c9b63f73de6f19a751209f026}} 
\index{Type\+Camera\+Plugin@{Type\+Camera\+Plugin}!supported\+Type@{supported\+Type}}
\index{supported\+Type@{supported\+Type}!Type\+Camera\+Plugin@{Type\+Camera\+Plugin}}
\subsubsection{\texorpdfstring{supported\+Type()}{supportedType()}}
{\footnotesize\ttfamily \hyperlink{a07048}{Data\+Type} Type\+Camera\+Plugin\+::supported\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Return your supported object type( e.\+g. D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+SH ) 

The function is used from add\+Empty in the core to check if your plugin can create an object of a given data\+Type. If so, your add\+Empty function will be invoked to create it. 

Implements \hyperlink{a07012_a05736f72d3220fbd4152e902b0fa7756}{Type\+Interface}.



Definition at line 107 of file Type\+Camera.\+hh.



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