\hypertarget{a01315}{\section{Topology\+Plugin Class Reference}
\label{a01315}\index{Topology\+Plugin@{Topology\+Plugin}}
}
Inheritance diagram for Topology\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=9.000000cm]{a01315}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01315_a2b02490f19e2a5ffed1497d2f0a535c9}{Q\+String {\bfseries version} ()}\label{a01315_a2b02490f19e2a5ffed1497d2f0a535c9}

\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01315_a95d9a51f64261b9900c415cd21e5c23a}{void {\bfseries update\+View} ()}\label{a01315_a95d9a51f64261b9900c415cd21e5c23a}

\item 
\hypertarget{a01315_ac15719b46ceffb6636996b5e5173960b}{void {\bfseries updated\+Object} (int \+\_\+id, const \hyperlink{a01393}{Update\+Type} \&\+\_\+type)}\label{a01315_ac15719b46ceffb6636996b5e5173960b}

\item 
\hypertarget{a01315_a350348bade778c923c19a3730d08b67d}{void {\bfseries add\+Hidden\+Pick\+Mode} (const std\+::string \&\+\_\+mode)}\label{a01315_a350348bade778c923c19a3730d08b67d}

\item 
\hypertarget{a01315_af43c887f056b76f2a66a01adebfb413b}{void {\bfseries create\+Backup} (int \+\_\+objectid, Q\+String \+\_\+name, \hyperlink{a01393}{Update\+Type} \+\_\+type=\hyperlink{a03407_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+L\+L})}\label{a01315_af43c887f056b76f2a66a01adebfb413b}

\item 
\hypertarget{a01315_a19d4bed01a68349513fd63a02271e5c4}{void {\bfseries log} (\hyperlink{a02444_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)}\label{a01315_a19d4bed01a68349513fd63a02271e5c4}

\item 
\hypertarget{a01315_ae71da51328f314ebc1f4781faaddafd6}{void {\bfseries log} (Q\+String \+\_\+message)}\label{a01315_ae71da51328f314ebc1f4781faaddafd6}

\item 
\hypertarget{a01315_a426e1c7654e2d90db6f4d71e6804c0f0}{void {\bfseries add\+Toolbar} (Q\+Tool\+Bar $\ast$\+\_\+toolbar)}\label{a01315_a426e1c7654e2d90db6f4d71e6804c0f0}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01315_a65eef9da716f912ea2144f0844df56b3}{\hyperlink{a01315_a65eef9da716f912ea2144f0844df56b3}{Topology\+Plugin} ()}\label{a01315_a65eef9da716f912ea2144f0844df56b3}

\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\hypertarget{a01315_aeed290a5a92481d5cdf6d0772d3d3cdc}{\hyperlink{a01315_aeed290a5a92481d5cdf6d0772d3d3cdc}{$\sim$\+Topology\+Plugin} ()}\label{a01315_aeed290a5a92481d5cdf6d0772d3d3cdc}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
Q\+String \hyperlink{a01315_a69e01d6d670a4988375fe41ceb7f267c}{name} ()
\begin{DoxyCompactList}\small\item\em Return a name for the plugin. \end{DoxyCompactList}\item 
Q\+String \hyperlink{a01315_ad788c35cf3b8dd71a3be5ae5487a1d0c}{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{a01315_a9b0bebff02d52d6dc3a0982dc17bb448}{plugins\+Initialized} ()
\begin{DoxyCompactList}\small\item\em initialize the Plugin \end{DoxyCompactList}\item 
void \hyperlink{a01315_a6ef9c2195f20773af418e025986826bd}{slot\+Pick\+Mode\+Changed} (const std\+::string \&\+\_\+mode)
\begin{DoxyCompactList}\small\item\em Toggle actions when the \hyperlink{a00958}{Pick\+Mode} changes. \end{DoxyCompactList}\item 
void \hyperlink{a01315_a13a80e186ea341520cc95f2736cbe82c}{slot\+Mouse\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em this is called when a mouse event occurred \end{DoxyCompactList}\item 
void \hyperlink{a01315_a8f226d0800e262e31c1b9ba26a3c0b11}{tool\+Bar\+Triggered} (Q\+Action $\ast$\+\_\+action)
\begin{DoxyCompactList}\small\item\em called when an action on the toolbar was triggered \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a01315_a97ec61906c8cf414dced2c9553ec089c}{clear\+Add\+Face\+Vertices} ()
\begin{DoxyCompactList}\small\item\em clear the add face vector \end{DoxyCompactList}\item 
void \hyperlink{a01315_ae808684d6fb48506b6cf40eed360f77d}{add\+\_\+face} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Add a face. \end{DoxyCompactList}\item 
void \hyperlink{a01315_a72e30cff424fab73626e9f501ee6d51f}{split\+\_\+face} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Split a face at the current hit point. \end{DoxyCompactList}\item 
void \hyperlink{a01315_abf333aafbad48beb1a1ec8e96ce4c819}{delete\+\_\+face} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Delete a face at the current hit point. \end{DoxyCompactList}\item 
void \hyperlink{a01315_a09fd5010157ea7f9b1be2643095b5790}{flip\+\_\+edge} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Flip edge. \end{DoxyCompactList}\item 
void \hyperlink{a01315_a23f9dab85a86d44342990f092154db95}{collapse\+\_\+edge} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Collapse edge. \end{DoxyCompactList}\item 
void \hyperlink{a01315_a2432809b5b8de18de8656725b05b29be}{split\+\_\+edge} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Split Edge. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01315_acd614bcff2328371892c2c311336b918}{std\+::vector$<$ std\+::pair$<$ int, \\*
int $>$ $>$ {\bfseries add\+Face\+Vertices\+\_\+}}\label{a01315_acd614bcff2328371892c2c311336b918}

\item 
\hypertarget{a01315_a2e016348c4498381c596fd581c4e88b7}{Q\+Tool\+Bar $\ast$ {\bfseries toolbar\+\_\+}}\label{a01315_a2e016348c4498381c596fd581c4e88b7}

\item 
\hypertarget{a01315_ae00c6ac727f13c197d6cc509cfb8caf2}{Q\+Action $\ast$ {\bfseries edge\+Flip\+Action\+\_\+}}\label{a01315_ae00c6ac727f13c197d6cc509cfb8caf2}

\item 
\hypertarget{a01315_ab70f508bfedd048ff659346db7556f0d}{Q\+Action $\ast$ {\bfseries edge\+Split\+Action\+\_\+}}\label{a01315_ab70f508bfedd048ff659346db7556f0d}

\item 
\hypertarget{a01315_ab14b3ae81e1449e9b507118b5693a5a1}{Q\+Action $\ast$ {\bfseries edge\+Collapse\+Action\+\_\+}}\label{a01315_ab14b3ae81e1449e9b507118b5693a5a1}

\item 
\hypertarget{a01315_a955273a01bc0d3884218e34add702e6f}{Q\+Action $\ast$ {\bfseries face\+Add\+Action\+\_\+}}\label{a01315_a955273a01bc0d3884218e34add702e6f}

\item 
\hypertarget{a01315_a0901dd34e35e2456ac4217f7a3a2ee65}{Q\+Action $\ast$ {\bfseries face\+Delete\+Action\+\_\+}}\label{a01315_a0901dd34e35e2456ac4217f7a3a2ee65}

\item 
\hypertarget{a01315_a59bd8cc862a3e0837dfca8cc8a75ba55}{Q\+Action $\ast$ {\bfseries face\+Split\+Action\+\_\+}}\label{a01315_a59bd8cc862a3e0837dfca8cc8a75ba55}

\end{DoxyCompactItemize}


\subsection{Detailed Description}


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



\subsection{Member Function Documentation}
\hypertarget{a01315_ae808684d6fb48506b6cf40eed360f77d}{\index{Topology\+Plugin@{Topology\+Plugin}!add\+\_\+face@{add\+\_\+face}}
\index{add\+\_\+face@{add\+\_\+face}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{add\+\_\+face}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::add\+\_\+face (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01315_ae808684d6fb48506b6cf40eed360f77d}


Add a face. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & mouse position where one of the vertices is picked \\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000071}{Todo}]\+: Support adding faces between objects ( and merging them into one ) \end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000072}{Todo}]\+: Support adding faces between objects ( and merging them into one ) \end{DoxyRefDesc}


Definition at line 248 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_a97ec61906c8cf414dced2c9553ec089c}{\index{Topology\+Plugin@{Topology\+Plugin}!clear\+Add\+Face\+Vertices@{clear\+Add\+Face\+Vertices}}
\index{clear\+Add\+Face\+Vertices@{clear\+Add\+Face\+Vertices}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{clear\+Add\+Face\+Vertices}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::clear\+Add\+Face\+Vertices (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01315_a97ec61906c8cf414dced2c9553ec089c}


clear the add face vector 

Deselect the vertices from Add\+Face mode.

Definition at line 212 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_a23f9dab85a86d44342990f092154db95}{\index{Topology\+Plugin@{Topology\+Plugin}!collapse\+\_\+edge@{collapse\+\_\+edge}}
\index{collapse\+\_\+edge@{collapse\+\_\+edge}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{collapse\+\_\+edge}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::collapse\+\_\+edge (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01315_a23f9dab85a86d44342990f092154db95}


Collapse edge. 

Collapse an edge at the given position.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & mouse position where the edge is picked \\
\hline
\end{DoxyParams}


Definition at line 661 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_abf333aafbad48beb1a1ec8e96ce4c819}{\index{Topology\+Plugin@{Topology\+Plugin}!delete\+\_\+face@{delete\+\_\+face}}
\index{delete\+\_\+face@{delete\+\_\+face}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{delete\+\_\+face}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::delete\+\_\+face (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01315_abf333aafbad48beb1a1ec8e96ce4c819}


Delete a face at the current hit point. 

Delete a face at the given position.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & mouse position where the face is picked \\
\hline
\end{DoxyParams}


Definition at line 547 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_ad788c35cf3b8dd71a3be5ae5487a1d0c}{\index{Topology\+Plugin@{Topology\+Plugin}!description@{description}}
\index{description@{description}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{description}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Topology\+Plugin\+::description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a01315_ad788c35cf3b8dd71a3be5ae5487a1d0c}


Return a description of what the plugin is doing. 

This function has to return a basic description of the plugin 

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



Definition at line 123 of file Topology\+Plugin.\+hh.

\hypertarget{a01315_a09fd5010157ea7f9b1be2643095b5790}{\index{Topology\+Plugin@{Topology\+Plugin}!flip\+\_\+edge@{flip\+\_\+edge}}
\index{flip\+\_\+edge@{flip\+\_\+edge}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{flip\+\_\+edge}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::flip\+\_\+edge (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01315_a09fd5010157ea7f9b1be2643095b5790}


Flip edge. 

Flip an edge at the given position.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & mouse position where the edge is picked \\
\hline
\end{DoxyParams}


Definition at line 596 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_a69e01d6d670a4988375fe41ceb7f267c}{\index{Topology\+Plugin@{Topology\+Plugin}!name@{name}}
\index{name@{name}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Topology\+Plugin\+::name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a01315_a69e01d6d670a4988375fe41ceb7f267c}


Return a name for the plugin. 

This Function has to return the name of the plugin. 

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



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

\hypertarget{a01315_a9b0bebff02d52d6dc3a0982dc17bb448}{\index{Topology\+Plugin@{Topology\+Plugin}!plugins\+Initialized@{plugins\+Initialized}}
\index{plugins\+Initialized@{plugins\+Initialized}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{plugins\+Initialized}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::plugins\+Initialized (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01315_a9b0bebff02d52d6dc3a0982dc17bb448}


initialize the Plugin 



Definition at line 85 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_a13a80e186ea341520cc95f2736cbe82c}{\index{Topology\+Plugin@{Topology\+Plugin}!slot\+Mouse\+Event@{slot\+Mouse\+Event}}
\index{slot\+Mouse\+Event@{slot\+Mouse\+Event}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{slot\+Mouse\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::slot\+Mouse\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01315_a13a80e186ea341520cc95f2736cbe82c}


this is called when a mouse event occurred 


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


Definition at line 194 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_a6ef9c2195f20773af418e025986826bd}{\index{Topology\+Plugin@{Topology\+Plugin}!slot\+Pick\+Mode\+Changed@{slot\+Pick\+Mode\+Changed}}
\index{slot\+Pick\+Mode\+Changed@{slot\+Pick\+Mode\+Changed}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{slot\+Pick\+Mode\+Changed}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::slot\+Pick\+Mode\+Changed (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+mode}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01315_a6ef9c2195f20773af418e025986826bd}


Toggle actions when the \hyperlink{a00958}{Pick\+Mode} changes. 


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


Definition at line 178 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_a2432809b5b8de18de8656725b05b29be}{\index{Topology\+Plugin@{Topology\+Plugin}!split\+\_\+edge@{split\+\_\+edge}}
\index{split\+\_\+edge@{split\+\_\+edge}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{split\+\_\+edge}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::split\+\_\+edge (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01315_a2432809b5b8de18de8656725b05b29be}


Split Edge. 

Split an edge at the given position.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & mouse position where the edge is picked \\
\hline
\end{DoxyParams}


Definition at line 774 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_a72e30cff424fab73626e9f501ee6d51f}{\index{Topology\+Plugin@{Topology\+Plugin}!split\+\_\+face@{split\+\_\+face}}
\index{split\+\_\+face@{split\+\_\+face}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{split\+\_\+face}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::split\+\_\+face (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}}}\label{a01315_a72e30cff424fab73626e9f501ee6d51f}


Split a face at the current hit point. 

Split a face at the given point.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & mouse position where the face is picked \\
\hline
\end{DoxyParams}


Definition at line 488 of file Topology\+Plugin.\+cc.

\hypertarget{a01315_a8f226d0800e262e31c1b9ba26a3c0b11}{\index{Topology\+Plugin@{Topology\+Plugin}!tool\+Bar\+Triggered@{tool\+Bar\+Triggered}}
\index{tool\+Bar\+Triggered@{tool\+Bar\+Triggered}!Topology\+Plugin@{Topology\+Plugin}}
\subsubsection[{tool\+Bar\+Triggered}]{\setlength{\rightskip}{0pt plus 5cm}void Topology\+Plugin\+::tool\+Bar\+Triggered (
\begin{DoxyParamCaption}
\item[{Q\+Action $\ast$}]{\+\_\+action}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01315_a8f226d0800e262e31c1b9ba26a3c0b11}


called when an action on the toolbar was triggered 

Toolbar action was triggered.


\begin{DoxyParams}{Parameters}
{\em \+\_\+action} & the action that was triggered \\
\hline
\end{DoxyParams}


Definition at line 154 of file Topology\+Plugin.\+cc.



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