\hypertarget{classMergePlugin}{}\section{Merge\+Plugin Class Reference}
\label{classMergePlugin}\index{Merge\+Plugin@{Merge\+Plugin}}
Inheritance diagram for Merge\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.469816cm]{classMergePlugin}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMergePlugin_acbf33845fb907bfcee1506289eeceff8}\label{classMergePlugin_acbf33845fb907bfcee1506289eeceff8}} 
void \hyperlink{classMergePlugin_acbf33845fb907bfcee1506289eeceff8}{initialize\+Plugin} ()
\begin{DoxyCompactList}\small\item\em init the Toolbox \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMergePlugin_a6816b4142a4606f7bde34a956e7497c5}\label{classMergePlugin_a6816b4142a4606f7bde34a956e7497c5}} 
void {\bfseries plugins\+Initialized} ()
\item 
\mbox{\Hypertarget{classMergePlugin_ada7cd5227c171d18749707cf0dde89f5}\label{classMergePlugin_ada7cd5227c171d18749707cf0dde89f5}} 
void \hyperlink{classMergePlugin_ada7cd5227c171d18749707cf0dde89f5}{merge\+Objects} ()
\begin{DoxyCompactList}\small\item\em merge two objects with target flag \end{DoxyCompactList}\item 
int \hyperlink{classMergePlugin_a15b4fd2abd2b945d27da00de5116ec95}{merge\+Objects} (const std\+::vector$<$ \hyperlink{classBaseObjectData}{Base\+Object\+Data} $\ast$ $>$ \&\+\_\+objects, Q\+String \+\_\+name=\char`\"{}merged object\char`\"{}, bool \+\_\+delete\+Separate\+Objects=true, \hyperlink{classDataType}{Data\+Type} type\+\_\+=\hyperlink{Types_8cc_a1109336c14463d8aac9527d02a86d4ef}{type\+Id}(\char`\"{}Triangle\+Mesh\char`\"{}))
\begin{DoxyCompactList}\small\item\em merge\+Objects merges multiple Open\+Flipper Objects of Type Tri\+Mesh or Poly\+Mesh into one combined Mesh. \end{DoxyCompactList}\item 
int \hyperlink{classMergePlugin_a4092d1d11c0af5d18be309ebc94287da}{merge\+Objects} (\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+objects, Q\+String \+\_\+name=\char`\"{}merged object\char`\"{}, bool \+\_\+delete\+Separate\+Objects=true, \hyperlink{classDataType}{Data\+Type} type\+\_\+=\hyperlink{Types_8cc_a1109336c14463d8aac9527d02a86d4ef}{type\+Id}(\char`\"{}Triangle\+Mesh\char`\"{}))
\begin{DoxyCompactList}\small\item\em merge\+Objects \end{DoxyCompactList}\item 
void \hyperlink{classMergePlugin_a7bf5744e82f2fc3686426fd619f64d65}{slot\+Cleanup} (\hyperlink{classDataType}{Data\+Type} \+\_\+type, bool \+\_\+delete\+Separate\+Objects)
\begin{DoxyCompactList}\small\item\em slot\+Cleanup is called when the cleanup event is processed at the end of merge\+Objects. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMergePlugin_ad802fd98c4bf1bd299a169f4d2208568}\label{classMergePlugin_ad802fd98c4bf1bd299a169f4d2208568}} 
Q\+String {\bfseries version} ()
\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMergePlugin_a5ca0a3f45f80a2ce064428066b04688a}\label{classMergePlugin_a5ca0a3f45f80a2ce064428066b04688a}} 
void {\bfseries update\+View} ()
\item 
\mbox{\Hypertarget{classMergePlugin_a8b0f34f163f485aee5093cc85efb95bb}\label{classMergePlugin_a8b0f34f163f485aee5093cc85efb95bb}} 
void {\bfseries updated\+Object} (int \+\_\+identifier, const \hyperlink{classUpdateType}{Update\+Type} \&\+\_\+type)
\item 
\mbox{\Hypertarget{classMergePlugin_a7d9a8fd364d654d15b8660ca7811c7e6}\label{classMergePlugin_a7d9a8fd364d654d15b8660ca7811c7e6}} 
void {\bfseries log} (\hyperlink{LoggingInterface_8hh_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{classMergePlugin_ae3b746750ff3b76a44a60c49ccd2739a}\label{classMergePlugin_ae3b746750ff3b76a44a60c49ccd2739a}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{classMergePlugin_a4db1ce74bebfb5a68729267b3a44af0e}\label{classMergePlugin_a4db1ce74bebfb5a68729267b3a44af0e}} 
void {\bfseries add\+Empty\+Object} (\hyperlink{classDataType}{Data\+Type} \+\_\+type, int \&\+\_\+object\+Id)
\item 
\mbox{\Hypertarget{classMergePlugin_a5d3cf9c6cbe598211b7b2225e142fa43}\label{classMergePlugin_a5d3cf9c6cbe598211b7b2225e142fa43}} 
void {\bfseries delete\+Object} (int \+\_\+id)
\item 
\mbox{\Hypertarget{classMergePlugin_a6baf1264557ae538fe885051683daa7a}\label{classMergePlugin_a6baf1264557ae538fe885051683daa7a}} 
void {\bfseries add\+Toolbox} (Q\+String \+\_\+name, Q\+Widget $\ast$\+\_\+widget)
\item 
\mbox{\Hypertarget{classMergePlugin_a68e15294005dad4c80c07b700d98500c}\label{classMergePlugin_a68e15294005dad4c80c07b700d98500c}} 
void {\bfseries add\+Toolbox} (Q\+String \+\_\+name, Q\+Widget $\ast$\+\_\+widget, Q\+Icon $\ast$\+\_\+icon)
\item 
\mbox{\Hypertarget{classMergePlugin_a296eabd883c844f914b67c4cd5da0f4c}\label{classMergePlugin_a296eabd883c844f914b67c4cd5da0f4c}} 
void {\bfseries set\+Slot\+Description} (Q\+String \+\_\+slot\+Name, Q\+String \+\_\+slot\+Description, Q\+String\+List \+\_\+parameters, Q\+String\+List \+\_\+descriptions)
\item 
\mbox{\Hypertarget{classMergePlugin_a51d3ac758da4276653ec2731a33d1377}\label{classMergePlugin_a51d3ac758da4276653ec2731a33d1377}} 
void {\bfseries cleanup} (\hyperlink{classDataType}{Data\+Type} \+\_\+type, bool \+\_\+delete\+Separate\+Objects)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{classMergePlugin_a5fae896e1ccae5b89ac481e9930d9dd8}{name} ()
\begin{DoxyCompactList}\small\item\em Return a name for the plugin. \end{DoxyCompactList}\item 
Q\+String \hyperlink{classMergePlugin_ab2a48da158065dddc8d60bcaa873c4d7}{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 
\mbox{\Hypertarget{classMergePlugin_aabbdc2d0f964bcf1e3abc6d635b717dd}\label{classMergePlugin_aabbdc2d0f964bcf1e3abc6d635b717dd}} 
void {\bfseries nogui\+Supported} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMergePlugin_a1b6e02011f9182f04ac6ef6a8a355303}\label{classMergePlugin_a1b6e02011f9182f04ac6ef6a8a355303}} 
\hyperlink{classDataType}{Data\+Type} {\bfseries check\+Type} (const std\+::vector$<$ \hyperlink{classBaseObjectData}{Base\+Object\+Data} $\ast$ $>$ \&)
\item 
\mbox{\Hypertarget{classMergePlugin_a1561ac18ebc15bbec25ca4584d1a825d}\label{classMergePlugin_a1561ac18ebc15bbec25ca4584d1a825d}} 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classMergePlugin_a1561ac18ebc15bbec25ca4584d1a825d}{merge\+Meshes} (const std\+::vector$<$ MeshT $\ast$ $>$ \&\+\_\+meshes)
\begin{DoxyCompactList}\small\item\em merges Meshes into the first mesh \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMergePlugin_a580518fd18a5f712bef624adafbfca23}\label{classMergePlugin_a580518fd18a5f712bef624adafbfca23}} 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classMergePlugin_a580518fd18a5f712bef624adafbfca23}{merge\+Meshes} (const std\+::vector$<$ MeshT $\ast$ $>$ \&\+\_\+meshes, typename Mesh\+T\+::\+Vertex\+Handle \&\+\_\+vhB)
\begin{DoxyCompactList}\small\item\em merges meshes together and maps the Vertex\+Handle \+\_\+vhB from \+\_\+meshes\mbox{[}max\mbox{]} to its new handle in \+\_\+meshes\mbox{[}0\mbox{]} \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMergePlugin_a149a0db5e10e779a8ef81ec7b7845f0a}\label{classMergePlugin_a149a0db5e10e779a8ef81ec7b7845f0a}} 
\hyperlink{classMergeToolBox}{Merge\+Tool\+Box} $\ast$ {\bfseries tool\+\_\+}
\item 
\mbox{\Hypertarget{classMergePlugin_a97f26058f3a670a132e360c5e27a8c4e}\label{classMergePlugin_a97f26058f3a670a132e360c5e27a8c4e}} 
std\+::vector$<$ int $>$ {\bfseries converted\+Ids}
\item 
\mbox{\Hypertarget{classMergePlugin_a34173d96f4666d66f90728b88ae2b1a3}\label{classMergePlugin_a34173d96f4666d66f90728b88ae2b1a3}} 
std\+::vector$<$ \hyperlink{classBaseObjectData}{Base\+Object\+Data} $\ast$$>$ {\bfseries objects}
\item 
\mbox{\Hypertarget{classMergePlugin_a1eebb99fa16738f3c6559ab4592cf498}\label{classMergePlugin_a1eebb99fa16738f3c6559ab4592cf498}} 
int {\bfseries poly\+Merge\+ID}
\item 
\mbox{\Hypertarget{classMergePlugin_a5fb3321be1bc6907c4c7e7a5917ec483}\label{classMergePlugin_a5fb3321be1bc6907c4c7e7a5917ec483}} 
int {\bfseries tri\+Merge\+ID}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 54 of file Merge\+Plugin.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classMergePlugin_ab2a48da158065dddc8d60bcaa873c4d7}\label{classMergePlugin_ab2a48da158065dddc8d60bcaa873c4d7}} 
\index{Merge\+Plugin@{Merge\+Plugin}!description@{description}}
\index{description@{description}!Merge\+Plugin@{Merge\+Plugin}}
\subsubsection{\texorpdfstring{description()}{description()}}
{\footnotesize\ttfamily Q\+String Merge\+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 95 of file Merge\+Plugin.\+hh.

\mbox{\Hypertarget{classMergePlugin_a15b4fd2abd2b945d27da00de5116ec95}\label{classMergePlugin_a15b4fd2abd2b945d27da00de5116ec95}} 
\index{Merge\+Plugin@{Merge\+Plugin}!merge\+Objects@{merge\+Objects}}
\index{merge\+Objects@{merge\+Objects}!Merge\+Plugin@{Merge\+Plugin}}
\subsubsection{\texorpdfstring{merge\+Objects}{mergeObjects}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily int Merge\+Plugin\+::merge\+Objects (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \hyperlink{classBaseObjectData}{Base\+Object\+Data} $\ast$ $>$ \&}]{\+\_\+objects,  }\item[{Q\+String}]{\+\_\+name = {\ttfamily \char`\"{}merged~object\char`\"{}},  }\item[{bool}]{\+\_\+delete\+Separate\+Objects = {\ttfamily true},  }\item[{\hyperlink{classDataType}{Data\+Type}}]{type\+\_\+ = {\ttfamily \hyperlink{Types_8cc_a1109336c14463d8aac9527d02a86d4ef}{type\+Id}(\char`\"{}TriangleMesh\char`\"{})} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



merge\+Objects merges multiple Open\+Flipper Objects of Type Tri\+Mesh or Poly\+Mesh into one combined Mesh. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+objects} & a vector of Open\+Flipper Objects that shall be merged. \\
\hline
{\em \+\_\+name} & The name of the merged object (default is \char`\"{}merged object\char`\"{}) \\
\hline
{\em \+\_\+delete\+Separate\+Objects} & flag to determine if the separate objects shall be deleted after merging (default is true) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


Definition at line 211 of file Merge\+Plugin.\+cc.

\mbox{\Hypertarget{classMergePlugin_a4092d1d11c0af5d18be309ebc94287da}\label{classMergePlugin_a4092d1d11c0af5d18be309ebc94287da}} 
\index{Merge\+Plugin@{Merge\+Plugin}!merge\+Objects@{merge\+Objects}}
\index{merge\+Objects@{merge\+Objects}!Merge\+Plugin@{Merge\+Plugin}}
\subsubsection{\texorpdfstring{merge\+Objects}{mergeObjects}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily int Merge\+Plugin\+::merge\+Objects (\begin{DoxyParamCaption}\item[{\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List}}]{\+\_\+objects,  }\item[{Q\+String}]{\+\_\+name = {\ttfamily \char`\"{}merged~object\char`\"{}},  }\item[{bool}]{\+\_\+delete\+Separate\+Objects = {\ttfamily true},  }\item[{\hyperlink{classDataType}{Data\+Type}}]{type\+\_\+ = {\ttfamily \hyperlink{Types_8cc_a1109336c14463d8aac9527d02a86d4ef}{type\+Id}(\char`\"{}TriangleMesh\char`\"{})} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



merge\+Objects 


\begin{DoxyParams}{Parameters}
{\em \+\_\+objects} & \\
\hline
{\em \+\_\+name} & \\
\hline
{\em \+\_\+delete\+Separate\+Objects} & \\
\hline
{\em type\+\_\+} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


Definition at line 199 of file Merge\+Plugin.\+cc.

\mbox{\Hypertarget{classMergePlugin_a5fae896e1ccae5b89ac481e9930d9dd8}\label{classMergePlugin_a5fae896e1ccae5b89ac481e9930d9dd8}} 
\index{Merge\+Plugin@{Merge\+Plugin}!name@{name}}
\index{name@{name}!Merge\+Plugin@{Merge\+Plugin}}
\subsubsection{\texorpdfstring{name()}{name()}}
{\footnotesize\ttfamily Q\+String Merge\+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 94 of file Merge\+Plugin.\+hh.

\mbox{\Hypertarget{classMergePlugin_a7bf5744e82f2fc3686426fd619f64d65}\label{classMergePlugin_a7bf5744e82f2fc3686426fd619f64d65}} 
\index{Merge\+Plugin@{Merge\+Plugin}!slot\+Cleanup@{slot\+Cleanup}}
\index{slot\+Cleanup@{slot\+Cleanup}!Merge\+Plugin@{Merge\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Cleanup}{slotCleanup}}
{\footnotesize\ttfamily void Merge\+Plugin\+::slot\+Cleanup (\begin{DoxyParamCaption}\item[{\hyperlink{classDataType}{Data\+Type}}]{\+\_\+type,  }\item[{bool}]{\+\_\+delete\+Separate\+Objects }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



slot\+Cleanup is called when the cleanup event is processed at the end of merge\+Objects. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+type} & the datatype that was used for merging \\
\hline
{\em \+\_\+delete\+Separate\+Objects} & flag to determine if separated objects shall be deleted.\\
\hline
\end{DoxyParams}
Member functions 

Definition at line 96 of file Merge\+Plugin.\+cc.



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