\hypertarget{classSubdividerPlugin}{}\section{Subdivider\+Plugin Class Reference}
\label{classSubdividerPlugin}\index{Subdivider\+Plugin@{Subdivider\+Plugin}}
Inheritance diagram for Subdivider\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.259843cm]{classSubdividerPlugin}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classSubdividerPlugin_adbc7b88c41b0a47bf7e74380421abaa5}{subdivide} (int \+\_\+object\+Id, Q\+String \+\_\+algorithm, int \+\_\+steps, bool \+\_\+update\+\_\+points=true)
\begin{DoxyCompactList}\small\item\em Scripting slot for subdivision. \end{DoxyCompactList}\item 
void \hyperlink{classSubdividerPlugin_adcf2d2f420d1ee66d1a0f700d88ac568}{simple\+Subdivide} (int \+\_\+object\+Id, Q\+String \+\_\+algorithm, int \+\_\+steps, double \+\_\+parameter, bool \+\_\+update\+\_\+points=true)
\begin{DoxyCompactList}\small\item\em Scripting slot for the simple subdivision algorithms. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classSubdividerPlugin_a0851ff8d7ad3064f8efccaf9e80e7dc7}\label{classSubdividerPlugin_a0851ff8d7ad3064f8efccaf9e80e7dc7}} 
Q\+String {\bfseries version} ()
\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a171cd81a3483dc5aa85554b22dd55503}\label{classSubdividerPlugin_a171cd81a3483dc5aa85554b22dd55503}} 
void {\bfseries update\+View} ()
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a541433691e2cb296877e32968c0892a5}\label{classSubdividerPlugin_a541433691e2cb296877e32968c0892a5}} 
void {\bfseries updated\+Object} (int \+\_\+id, const \hyperlink{classUpdateType}{Update\+Type} \&\+\_\+type)
\item 
\mbox{\Hypertarget{classSubdividerPlugin_ac42ead5ff0b2a4c92930435736524445}\label{classSubdividerPlugin_ac42ead5ff0b2a4c92930435736524445}} 
void {\bfseries add\+Pick\+Mode} (const std\+::string \&\+\_\+mode)
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a0ed79cb409a20dcb1b8a67e0f7d68fc4}\label{classSubdividerPlugin_a0ed79cb409a20dcb1b8a67e0f7d68fc4}} 
void {\bfseries log} (\hyperlink{LoggingInterface_8hh_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a43d130c2928369aab4332ff798a62e81}\label{classSubdividerPlugin_a43d130c2928369aab4332ff798a62e81}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a6cf08d3ca2dbddda66ae3bad2a67ebb1}\label{classSubdividerPlugin_a6cf08d3ca2dbddda66ae3bad2a67ebb1}} 
void {\bfseries add\+Empty\+Object} (\hyperlink{classDataType}{Data\+Type} \+\_\+type, int \&\+\_\+id)
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a0087a4c53b0cdd40e27c3a2782f2ffc6}\label{classSubdividerPlugin_a0087a4c53b0cdd40e27c3a2782f2ffc6}} 
void {\bfseries define\+View\+Mode} (Q\+String \+\_\+mode, Q\+String\+List \+\_\+used\+Widgets)
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a826817e65bee354755c5f2251a8c3466}\label{classSubdividerPlugin_a826817e65bee354755c5f2251a8c3466}} 
void {\bfseries add\+Toolbox} (Q\+String \+\_\+name, Q\+Widget $\ast$\+\_\+widget, Q\+Icon $\ast$\+\_\+icon)
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a21dba44f7734fb6500b47d5d5cf4d8ea}\label{classSubdividerPlugin_a21dba44f7734fb6500b47d5d5cf4d8ea}} 
void {\bfseries create\+Backup} (int \+\_\+id, Q\+String \+\_\+name, \hyperlink{classUpdateType}{Update\+Type} \+\_\+type=\hyperlink{group__DefaultUpdateTypes_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+LL})
\item 
\mbox{\Hypertarget{classSubdividerPlugin_abb2ae5b8ce66c0967f89a22ccdb5b94c}\label{classSubdividerPlugin_abb2ae5b8ce66c0967f89a22ccdb5b94c}} 
void {\bfseries set\+Slot\+Description} (Q\+String \+\_\+slot\+Name, Q\+String \+\_\+slot\+Description, Q\+String\+List \+\_\+parameters, Q\+String\+List \+\_\+descriptions)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{classSubdividerPlugin_a61f8d7c4700bcb7fc3fce8c298d00339}{name} ()
\begin{DoxyCompactList}\small\item\em Return a name for the plugin. \end{DoxyCompactList}\item 
Q\+String \hyperlink{classSubdividerPlugin_aa823b99c60842af7480d0d456bc0bd43}{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{classSubdividerPlugin_a048f0d8dbcc4689713eaa7f7fc52fc1e}\label{classSubdividerPlugin_a048f0d8dbcc4689713eaa7f7fc52fc1e}} 
void {\bfseries initialize\+Plugin} ()
\item 
\mbox{\Hypertarget{classSubdividerPlugin_acc7324fc0961dac62331c25879a6738b}\label{classSubdividerPlugin_acc7324fc0961dac62331c25879a6738b}} 
void {\bfseries plugins\+Initialized} ()
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a5b11194eefd0a2f066bbca53c5d6ebd3}\label{classSubdividerPlugin_a5b11194eefd0a2f066bbca53c5d6ebd3}} 
void \hyperlink{classSubdividerPlugin_a5b11194eefd0a2f066bbca53c5d6ebd3}{nogui\+Supported} ()
\begin{DoxyCompactList}\small\item\em Make plugin available in no-\/\+G\+UI mode. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classSubdividerPlugin_adafbc7474c48ab67faf0ab8310d314aa}\label{classSubdividerPlugin_adafbc7474c48ab67faf0ab8310d314aa}} 
void {\bfseries slot\+Subdivide\+Uniform\+Button} ()
\item 
\mbox{\Hypertarget{classSubdividerPlugin_a5b5e1716a3830f73503c558b9a33437b}\label{classSubdividerPlugin_a5b5e1716a3830f73503c558b9a33437b}} 
void {\bfseries slot\+Simple\+Subdivide\+Button} ()
\item 
\mbox{\Hypertarget{classSubdividerPlugin_afde8f0d99cd0838e5edb3e4c5cdbbaeb}\label{classSubdividerPlugin_afde8f0d99cd0838e5edb3e4c5cdbbaeb}} 
bool {\bfseries test\+\_\+trimesh\+\_\+object} (int \+\_\+identifier, \hyperlink{classBaseObjectData}{Base\+Object\+Data} $\ast$\&\+\_\+object)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classSubdividerPlugin_ae1f35adc1e2f925132ce29ff166dcf98}\label{classSubdividerPlugin_ae1f35adc1e2f925132ce29ff166dcf98}} 
\hyperlink{classsubdividerToolbarWidget}{subdivider\+Toolbar\+Widget} $\ast$ \hyperlink{classSubdividerPlugin_ae1f35adc1e2f925132ce29ff166dcf98}{tool\+\_\+}
\begin{DoxyCompactList}\small\item\em Widget for Toolbox. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classSubdividerPlugin_a301bf00ad162a0d87bc86cc6ae2ac5ba}\label{classSubdividerPlugin_a301bf00ad162a0d87bc86cc6ae2ac5ba}} 
Q\+Icon $\ast$ {\bfseries tool\+Icon\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 64 of file Subdivider\+Plugin.\+hh.



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

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

\mbox{\Hypertarget{classSubdividerPlugin_adcf2d2f420d1ee66d1a0f700d88ac568}\label{classSubdividerPlugin_adcf2d2f420d1ee66d1a0f700d88ac568}} 
\index{Subdivider\+Plugin@{Subdivider\+Plugin}!simple\+Subdivide@{simple\+Subdivide}}
\index{simple\+Subdivide@{simple\+Subdivide}!Subdivider\+Plugin@{Subdivider\+Plugin}}
\subsubsection{\texorpdfstring{simple\+Subdivide}{simpleSubdivide}}
{\footnotesize\ttfamily void Subdivider\+Plugin\+::simple\+Subdivide (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id,  }\item[{Q\+String}]{\+\_\+algorithm,  }\item[{int}]{\+\_\+steps,  }\item[{double}]{\+\_\+parameter,  }\item[{bool}]{\+\_\+update\+\_\+points = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



Scripting slot for the simple subdivision algorithms. 

Supported algorithm are\+:

Triangle meshes\+:
\begin{DoxyItemize}
\item longest (Split all edges in descending order until all edges are shorter than given maximal edge length)
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em \+\_\+object\+Id} & Object to work on \\
\hline
{\em \+\_\+algorithm} & String describing the algorithm to use \\
\hline
{\em \+\_\+steps} & Number of iterations \\
\hline
{\em \+\_\+parameter} & Additional parameter depending on the algorithm (usually the maximal edge length in the final mesh) \\
\hline
{\em \+\_\+update\+\_\+points} & Update original point locations \\
\hline
\end{DoxyParams}


Definition at line 164 of file Subdivider\+Plugin.\+cc.

\mbox{\Hypertarget{classSubdividerPlugin_adbc7b88c41b0a47bf7e74380421abaa5}\label{classSubdividerPlugin_adbc7b88c41b0a47bf7e74380421abaa5}} 
\index{Subdivider\+Plugin@{Subdivider\+Plugin}!subdivide@{subdivide}}
\index{subdivide@{subdivide}!Subdivider\+Plugin@{Subdivider\+Plugin}}
\subsubsection{\texorpdfstring{subdivide}{subdivide}}
{\footnotesize\ttfamily void Subdivider\+Plugin\+::subdivide (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id,  }\item[{Q\+String}]{\+\_\+algorithm,  }\item[{int}]{\+\_\+steps,  }\item[{bool}]{\+\_\+update\+\_\+points = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



Scripting slot for subdivision. 

Supported algorithm are\+:

Polymeshes\+:
\begin{DoxyItemize}
\item catmull\+Clark
\end{DoxyItemize}

Triangle Meshes\+:
\begin{DoxyItemize}
\item loop
\item sqrt3
\item interpolating\+\_\+sqrt3
\item modified\+Butterfly
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em \+\_\+object\+Id} & Object to work on \\
\hline
{\em \+\_\+algorithm} & String describing the algorithm to use \\
\hline
{\em \+\_\+steps} & Number of iterations \\
\hline
{\em \+\_\+update\+\_\+points} & Update original point locations \\
\hline
\end{DoxyParams}


Definition at line 197 of file Subdivider\+Plugin.\+cc.



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