\hypertarget{classComponentsPlugin}{}\section{Components\+Plugin Class Reference}
\label{classComponentsPlugin}\index{Components\+Plugin@{Components\+Plugin}}
Inheritance diagram for Components\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=10.000000cm]{classComponentsPlugin}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classComponentsPlugin_ae7f9e5f786a93e0373d17ec54638aea3}\label{classComponentsPlugin_ae7f9e5f786a93e0373d17ec54638aea3}} 
Q\+String {\bfseries version} ()
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Scripting Functions}\par
\begin{DoxyCompactItemize}
\item 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classComponentsPlugin_addcd23e4236e24edabd990dd90c1268a}{split\+Components} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Splits the object into components. \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_a50ccb645bfe6af505b5773b9347a6f97}{biggest\+Component} (int \+\_\+obj\+Id)
\begin{DoxyCompactList}\small\item\em Gets the biggest connected component of a mesh. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classComponentsPlugin_a16882f9cd2dbf84b7957fb4183deab8f}\label{classComponentsPlugin_a16882f9cd2dbf84b7957fb4183deab8f}} 
void {\bfseries update\+View} ()
\item 
\mbox{\Hypertarget{classComponentsPlugin_aef868eaa3f77d561c60094b2041b7699}\label{classComponentsPlugin_aef868eaa3f77d561c60094b2041b7699}} 
void {\bfseries updated\+Object} (int \+\_\+identifier, const \hyperlink{classUpdateType}{Update\+Type} \&\+\_\+type)
\item 
\mbox{\Hypertarget{classComponentsPlugin_a97d51bf599f337972a438a9a4a0add95}\label{classComponentsPlugin_a97d51bf599f337972a438a9a4a0add95}} 
void {\bfseries set\+Slot\+Description} (Q\+String \+\_\+slot\+Name, Q\+String \+\_\+slot\+Description, Q\+String\+List \+\_\+parameters, Q\+String\+List \+\_\+descriptions)
\item 
\mbox{\Hypertarget{classComponentsPlugin_abf0492bc0385a742769204f0837bd097}\label{classComponentsPlugin_abf0492bc0385a742769204f0837bd097}} 
void {\bfseries add\+Empty\+Object} (\hyperlink{classDataType}{Data\+Type} \+\_\+type, int \&\+\_\+id)
\item 
\mbox{\Hypertarget{classComponentsPlugin_ae6056cb21185b7acc65810c86e49a155}\label{classComponentsPlugin_ae6056cb21185b7acc65810c86e49a155}} 
void {\bfseries copy\+Object} (int \+\_\+old\+Id, int \&\+\_\+new\+Id)
\item 
\mbox{\Hypertarget{classComponentsPlugin_aacdef89baf5b5a4eaa1024584dd3d63c}\label{classComponentsPlugin_aacdef89baf5b5a4eaa1024584dd3d63c}} 
void {\bfseries add\+Toolbar} (Q\+Tool\+Bar $\ast$\+\_\+toolbar)
\item 
\mbox{\Hypertarget{classComponentsPlugin_a3cb4557c34f41b5af91a97fa4df4b66b}\label{classComponentsPlugin_a3cb4557c34f41b5af91a97fa4df4b66b}} 
void {\bfseries get\+Tool\+Bar} (Q\+String \+\_\+name, Q\+Tool\+Bar $\ast$\&\+\_\+toolbar)
\item 
\mbox{\Hypertarget{classComponentsPlugin_ad21916e7306f9af7029771e610d99e81}\label{classComponentsPlugin_ad21916e7306f9af7029771e610d99e81}} 
void {\bfseries add\+Pick\+Mode} (const std\+::string \&\+\_\+mode)
\item 
\mbox{\Hypertarget{classComponentsPlugin_a6336f9e2eb9233aec6a5b2d48c0ac053}\label{classComponentsPlugin_a6336f9e2eb9233aec6a5b2d48c0ac053}} 
void {\bfseries script\+Info} (Q\+String \+\_\+function\+Name)
\item 
\mbox{\Hypertarget{classComponentsPlugin_a45306d23d0ea8c403d1abeb1eaf4d3cf}\label{classComponentsPlugin_a45306d23d0ea8c403d1abeb1eaf4d3cf}} 
void {\bfseries log} (\hyperlink{LoggingInterface_8hh_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{classComponentsPlugin_a60301395c0bf17930afd54d65fb05edb}\label{classComponentsPlugin_a60301395c0bf17930afd54d65fb05edb}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{classComponentsPlugin_a17e7228e4ac97e4e7dc9520056b0b591}\label{classComponentsPlugin_a17e7228e4ac97e4e7dc9520056b0b591}} 
void {\bfseries create\+Backup} (int \+\_\+objectid, Q\+String \+\_\+name, \hyperlink{classUpdateType}{Update\+Type} \+\_\+type)
\item 
\mbox{\Hypertarget{classComponentsPlugin_a8d4e755fb4fd4d30d3aef9fbc884f605}\label{classComponentsPlugin_a8d4e755fb4fd4d30d3aef9fbc884f605}} 
void {\bfseries delete\+Object} (int \+\_\+id)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classComponentsPlugin_a6ecefb78ba0c651ecaf9e7c49007934c}{Components\+Plugin} ()
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_a40a854cd092d3186ad4aaa0ec7a17bc7}{exit} ()
\item 
Q\+String \hyperlink{classComponentsPlugin_aa0a9f89f82104fa69823b59a7fbc9f8c}{name} ()
\begin{DoxyCompactList}\small\item\em Return a name for the plugin. \end{DoxyCompactList}\item 
Q\+String \hyperlink{classComponentsPlugin_aac59a66576994991d75924ad0d7d3ab9}{description} ()
\begin{DoxyCompactList}\small\item\em Return a description of what the plugin is doing. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classComponentsPlugin_a134322f9411f607ac1ee28e6021e885a}{initialize\+Plugin} ()
\begin{DoxyCompactList}\small\item\em Initialize the plugin. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classComponentsPlugin_a98a05aa6ab462303737cdb05262001cd}\label{classComponentsPlugin_a98a05aa6ab462303737cdb05262001cd}} 
void {\bfseries nogui\+Supported} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classComponentsPlugin_a538edd80c8d6fa0d6ff850c746f2ec9b}{plugins\+Initialized} ()
\begin{DoxyCompactList}\small\item\em Second initialization phase. \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_a5f6d510472429b493be501ef2cca883a}{slot\+Pick\+Mode\+Changed} (const std\+::string \&\+\_\+mode)
\begin{DoxyCompactList}\small\item\em the pick\+Mode changed \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_a8f457cb3f66a914ca3cdcead0d1ef94b}{slot\+Mouse\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em a mouse event occured \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_a7659474cd7b4e83bc076e1ee4987104c}{set\+Descriptions} ()
\begin{DoxyCompactList}\small\item\em set scripting slot descriptions \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Template Functions}\par
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classComponentsPlugin_a78ccda799f4ec6fbdfb70c7fe19ad21f}{split\+Component} (MeshT $\ast$\+\_\+mesh, MeshT $\ast$\+\_\+copy)
\begin{DoxyCompactList}\small\item\em Split mesh into components. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classComponentsPlugin_a8867c6b75493073b0936ba88ae5f80cb}{select\+Biggest\+Component} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select the biggest component of the mesh. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classComponentsPlugin_a604983d82fc326a1115975a8d475f487}{delete\+Unselected\+Faces} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Deletes all faces of a mesh that are not selected. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{G\+UI Related}
\begin{DoxyCompactItemize}
\item 
Q\+Action $\ast$ \hyperlink{classComponentsPlugin_a699e9d04ff9fbf43d56314e5d0df5e86}{split\+Action\+\_\+}
\begin{DoxyCompactList}\small\item\em Split into Components Button was hit. \end{DoxyCompactList}\item 
Q\+Action $\ast$ \hyperlink{classComponentsPlugin_a5f5e9d89cddc8bb3792dce60b6f84492}{biggest\+Action\+\_\+}
\begin{DoxyCompactList}\small\item\em Split into Components Button was hit. \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_a3f6105fc9cf95bdf61a862f9dd98cacd}{slot\+Split\+Components\+Button} ()
\begin{DoxyCompactList}\small\item\em Split into Components Button was hit. \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_a932e069932bb0b212cd5b668a0dcb56d}{slot\+Biggest\+Component\+Button} ()
\begin{DoxyCompactList}\small\item\em Split into Components Button was hit. \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_ab437c0d43d581ec90a72500ace4bfdf1}{split\+Components} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Split Components of picked object. \end{DoxyCompactList}\item 
void \hyperlink{classComponentsPlugin_a0042327f20648466d1fc6db62a652372}{biggest\+Component} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Split into Components Button was hit. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 59 of file Components\+Plugin.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classComponentsPlugin_a6ecefb78ba0c651ecaf9e7c49007934c}\label{classComponentsPlugin_a6ecefb78ba0c651ecaf9e7c49007934c}} 
\index{Components\+Plugin@{Components\+Plugin}!Components\+Plugin@{Components\+Plugin}}
\index{Components\+Plugin@{Components\+Plugin}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{Components\+Plugin()}{ComponentsPlugin()}}
{\footnotesize\ttfamily Components\+Plugin\+::\+Components\+Plugin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Constructor. 



Definition at line 53 of file Components\+Plugin.\+cc.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classComponentsPlugin_a0042327f20648466d1fc6db62a652372}\label{classComponentsPlugin_a0042327f20648466d1fc6db62a652372}} 
\index{Components\+Plugin@{Components\+Plugin}!biggest\+Component@{biggest\+Component}}
\index{biggest\+Component@{biggest\+Component}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{biggest\+Component}{biggestComponent}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Components\+Plugin\+::biggest\+Component (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



Split into Components Button was hit. 



Definition at line 180 of file Components\+Plugin.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_a50ccb645bfe6af505b5773b9347a6f97}\label{classComponentsPlugin_a50ccb645bfe6af505b5773b9347a6f97}} 
\index{Components\+Plugin@{Components\+Plugin}!biggest\+Component@{biggest\+Component}}
\index{biggest\+Component@{biggest\+Component}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{biggest\+Component}{biggestComponent}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Components\+Plugin\+::biggest\+Component (\begin{DoxyParamCaption}\item[{int}]{\+\_\+obj\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



Gets the biggest connected component of a mesh. 

i.\+e. deletes all components except the one with the maximal number of faces


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


Definition at line 209 of file Components\+Scripting.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_a604983d82fc326a1115975a8d475f487}\label{classComponentsPlugin_a604983d82fc326a1115975a8d475f487}} 
\index{Components\+Plugin@{Components\+Plugin}!delete\+Unselected\+Faces@{delete\+Unselected\+Faces}}
\index{delete\+Unselected\+Faces@{delete\+Unselected\+Faces}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{delete\+Unselected\+Faces()}{deleteUnselectedFaces()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Components\+Plugin\+::delete\+Unselected\+Faces (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Deletes all faces of a mesh that are not selected. 

Use select\+Biggestcomponent first to select the biggest component. Than use this function to remove all other parts of the mesh.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & the mesh to work on \\
\hline
\end{DoxyParams}


Definition at line 167 of file Components\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classComponentsPlugin_aac59a66576994991d75924ad0d7d3ab9}\label{classComponentsPlugin_aac59a66576994991d75924ad0d7d3ab9}} 
\index{Components\+Plugin@{Components\+Plugin}!description@{description}}
\index{description@{description}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{description()}{description()}}
{\footnotesize\ttfamily Q\+String Components\+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{classBaseInterface_a43f0d3612695b53c848c14f48fea9a7a}{Base\+Interface}.



Definition at line 125 of file Components\+Plugin.\+hh.

\mbox{\Hypertarget{classComponentsPlugin_a40a854cd092d3186ad4aaa0ec7a17bc7}\label{classComponentsPlugin_a40a854cd092d3186ad4aaa0ec7a17bc7}} 
\index{Components\+Plugin@{Components\+Plugin}!exit@{exit}}
\index{exit@{exit}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{exit()}{exit()}}
{\footnotesize\ttfamily void Components\+Plugin\+::exit (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

This function is called when the application exits or when your plugin is about to be unloaded. Here you can clean up your plugin, delete local variables... 

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



Definition at line 122 of file Components\+Plugin.\+hh.

\mbox{\Hypertarget{classComponentsPlugin_a134322f9411f607ac1ee28e6021e885a}\label{classComponentsPlugin_a134322f9411f607ac1ee28e6021e885a}} 
\index{Components\+Plugin@{Components\+Plugin}!initialize\+Plugin@{initialize\+Plugin}}
\index{initialize\+Plugin@{initialize\+Plugin}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{initialize\+Plugin}{initializePlugin}}
{\footnotesize\ttfamily void Components\+Plugin\+::initialize\+Plugin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



Initialize the plugin. 



Definition at line 64 of file Components\+Plugin.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_aa0a9f89f82104fa69823b59a7fbc9f8c}\label{classComponentsPlugin_aa0a9f89f82104fa69823b59a7fbc9f8c}} 
\index{Components\+Plugin@{Components\+Plugin}!name@{name}}
\index{name@{name}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{name()}{name()}}
{\footnotesize\ttfamily Q\+String Components\+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{classBaseInterface_a2b351aa6ef0eb368bce735e243235958}{Base\+Interface}.



Definition at line 124 of file Components\+Plugin.\+hh.

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



Second initialization phase. 



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



Definition at line 73 of file Components\+Plugin.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_a8867c6b75493073b0936ba88ae5f80cb}\label{classComponentsPlugin_a8867c6b75493073b0936ba88ae5f80cb}} 
\index{Components\+Plugin@{Components\+Plugin}!select\+Biggest\+Component@{select\+Biggest\+Component}}
\index{select\+Biggest\+Component@{select\+Biggest\+Component}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{select\+Biggest\+Component()}{selectBiggestComponent()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Components\+Plugin\+::select\+Biggest\+Component (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Select the biggest component of the mesh. 

This function will select the component of the mesh which has the most faces


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & the mesh to work on \\
\hline
\end{DoxyParams}


Definition at line 117 of file Components\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classComponentsPlugin_a7659474cd7b4e83bc076e1ee4987104c}\label{classComponentsPlugin_a7659474cd7b4e83bc076e1ee4987104c}} 
\index{Components\+Plugin@{Components\+Plugin}!set\+Descriptions@{set\+Descriptions}}
\index{set\+Descriptions@{set\+Descriptions}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{set\+Descriptions()}{setDescriptions()}}
{\footnotesize\ttfamily void Components\+Plugin\+::set\+Descriptions (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



set scripting slot descriptions 

Set Descriptions for all scripting slots.

Definition at line 51 of file Components\+Scripting.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_a932e069932bb0b212cd5b668a0dcb56d}\label{classComponentsPlugin_a932e069932bb0b212cd5b668a0dcb56d}} 
\index{Components\+Plugin@{Components\+Plugin}!slot\+Biggest\+Component\+Button@{slot\+Biggest\+Component\+Button}}
\index{slot\+Biggest\+Component\+Button@{slot\+Biggest\+Component\+Button}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Biggest\+Component\+Button}{slotBiggestComponentButton}}
{\footnotesize\ttfamily void Components\+Plugin\+::slot\+Biggest\+Component\+Button (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



Split into Components Button was hit. 



Definition at line 174 of file Components\+Plugin.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_a8f457cb3f66a914ca3cdcead0d1ef94b}\label{classComponentsPlugin_a8f457cb3f66a914ca3cdcead0d1ef94b}} 
\index{Components\+Plugin@{Components\+Plugin}!slot\+Mouse\+Event@{slot\+Mouse\+Event}}
\index{slot\+Mouse\+Event@{slot\+Mouse\+Event}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Mouse\+Event()}{slotMouseEvent()}}
{\footnotesize\ttfamily void Components\+Plugin\+::slot\+Mouse\+Event (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



a mouse event occured 


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & the event that occured \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classMouseInterface_ad998de7699f7f6ea0e60de3ba5a5503d}{Mouse\+Interface}.



Definition at line 125 of file Components\+Plugin.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_a5f6d510472429b493be501ef2cca883a}\label{classComponentsPlugin_a5f6d510472429b493be501ef2cca883a}} 
\index{Components\+Plugin@{Components\+Plugin}!slot\+Pick\+Mode\+Changed@{slot\+Pick\+Mode\+Changed}}
\index{slot\+Pick\+Mode\+Changed@{slot\+Pick\+Mode\+Changed}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Pick\+Mode\+Changed()}{slotPickModeChanged()}}
{\footnotesize\ttfamily void Components\+Plugin\+::slot\+Pick\+Mode\+Changed (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{\+\_\+mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



the pick\+Mode changed 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mode} & the new pick\+Mode \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classPickingInterface_a5bf0bf6559d2b5411d0f3270415242c1}{Picking\+Interface}.



Definition at line 112 of file Components\+Plugin.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_a3f6105fc9cf95bdf61a862f9dd98cacd}\label{classComponentsPlugin_a3f6105fc9cf95bdf61a862f9dd98cacd}} 
\index{Components\+Plugin@{Components\+Plugin}!slot\+Split\+Components\+Button@{slot\+Split\+Components\+Button}}
\index{slot\+Split\+Components\+Button@{slot\+Split\+Components\+Button}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Split\+Components\+Button}{slotSplitComponentsButton}}
{\footnotesize\ttfamily void Components\+Plugin\+::slot\+Split\+Components\+Button (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



Split into Components Button was hit. 



Definition at line 140 of file Components\+Plugin.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_a78ccda799f4ec6fbdfb70c7fe19ad21f}\label{classComponentsPlugin_a78ccda799f4ec6fbdfb70c7fe19ad21f}} 
\index{Components\+Plugin@{Components\+Plugin}!split\+Component@{split\+Component}}
\index{split\+Component@{split\+Component}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{split\+Component()}{splitComponent()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Components\+Plugin\+::split\+Component (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{MeshT $\ast$}]{\+\_\+copy }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Split mesh into components. 

This function will split an arbitrary component out of a mesh. It takes a copy of the original mesh.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & the original mesh \\
\hline
{\em \+\_\+copy} & original mesh copy with identical topology and geometry the copy will contain one component of the original mesh. \\
\hline
\end{DoxyParams}


Definition at line 55 of file Components\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classComponentsPlugin_ab437c0d43d581ec90a72500ace4bfdf1}\label{classComponentsPlugin_ab437c0d43d581ec90a72500ace4bfdf1}} 
\index{Components\+Plugin@{Components\+Plugin}!split\+Components@{split\+Components}}
\index{split\+Components@{split\+Components}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{split\+Components}{splitComponents}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Components\+Plugin\+::split\+Components (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



Split Components of picked object. 

Split components (triggered by pick\+Mode)


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & the mouse event that occured \\
\hline
\end{DoxyParams}


Definition at line 153 of file Components\+Plugin.\+cc.

\mbox{\Hypertarget{classComponentsPlugin_addcd23e4236e24edabd990dd90c1268a}\label{classComponentsPlugin_addcd23e4236e24edabd990dd90c1268a}} 
\index{Components\+Plugin@{Components\+Plugin}!split\+Components@{split\+Components}}
\index{split\+Components@{split\+Components}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{split\+Components}{splitComponents}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} Components\+Plugin\+::split\+Components (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



Splits the object into components. 

i.\+e. creates ( number of components) new meshes and deletes the old mesh


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


Definition at line 63 of file Components\+Scripting.\+cc.



\subsection{Member Data Documentation}
\mbox{\Hypertarget{classComponentsPlugin_a5f5e9d89cddc8bb3792dce60b6f84492}\label{classComponentsPlugin_a5f5e9d89cddc8bb3792dce60b6f84492}} 
\index{Components\+Plugin@{Components\+Plugin}!biggest\+Action\+\_\+@{biggest\+Action\+\_\+}}
\index{biggest\+Action\+\_\+@{biggest\+Action\+\_\+}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{biggest\+Action\+\_\+}{biggestAction\_}}
{\footnotesize\ttfamily Q\+Action$\ast$ Components\+Plugin\+::biggest\+Action\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



Split into Components Button was hit. 



Definition at line 148 of file Components\+Plugin.\+hh.

\mbox{\Hypertarget{classComponentsPlugin_a699e9d04ff9fbf43d56314e5d0df5e86}\label{classComponentsPlugin_a699e9d04ff9fbf43d56314e5d0df5e86}} 
\index{Components\+Plugin@{Components\+Plugin}!split\+Action\+\_\+@{split\+Action\+\_\+}}
\index{split\+Action\+\_\+@{split\+Action\+\_\+}!Components\+Plugin@{Components\+Plugin}}
\subsubsection{\texorpdfstring{split\+Action\+\_\+}{splitAction\_}}
{\footnotesize\ttfamily Q\+Action$\ast$ Components\+Plugin\+::split\+Action\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



Split into Components Button was hit. 



Definition at line 147 of file Components\+Plugin.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin-\/\+Components/Components\+Plugin.\+hh\item 
Plugin-\/\+Components/Components\+Plugin.\+cc\item 
Plugin-\/\+Components/Components\+Plugin\+T\+\_\+impl.\+hh\item 
Plugin-\/\+Components/Components\+Scripting.\+cc\end{DoxyCompactItemize}
