\hypertarget{classMeshObjectSelectionPlugin}{}\section{Mesh\+Object\+Selection\+Plugin Class Reference}
\label{classMeshObjectSelectionPlugin}\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
Inheritance diagram for Mesh\+Object\+Selection\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{classMeshObjectSelectionPlugin}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ad6968a4d11f831b0a8cc70246abc816c}\label{classMeshObjectSelectionPlugin_ad6968a4d11f831b0a8cc70246abc816c}} 
void {\bfseries load\+Selection} (int \+\_\+obj\+Id, const Q\+String \&\+\_\+filename)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a783a2afbaedf8d65bae9c2d8457dd09e}\label{classMeshObjectSelectionPlugin_a783a2afbaedf8d65bae9c2d8457dd09e}} 
Q\+String {\bfseries version} ()
\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a24fba351803475f0cf8b1de2ec21830f}\label{classMeshObjectSelectionPlugin_a24fba351803475f0cf8b1de2ec21830f}} 
void {\bfseries update\+View} ()
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a33dcb2b22e7c00f042b6818aca9babd0}\label{classMeshObjectSelectionPlugin_a33dcb2b22e7c00f042b6818aca9babd0}} 
void {\bfseries updated\+Object} (int, const \hyperlink{classUpdateType}{Update\+Type} \&)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ac0eecac01e9b5a3a3879f8a0d22520a8}\label{classMeshObjectSelectionPlugin_ac0eecac01e9b5a3a3879f8a0d22520a8}} 
void {\bfseries node\+Visibility\+Changed} (int \+\_\+identifier)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a8a331c33b5f02f466e336a3ad9efaa64}\label{classMeshObjectSelectionPlugin_a8a331c33b5f02f466e336a3ad9efaa64}} 
void {\bfseries set\+Slot\+Description} (Q\+String \+\_\+slot\+Name, Q\+String \+\_\+slot\+Description, Q\+String\+List \+\_\+parameters, Q\+String\+List \+\_\+descriptions)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a77b4ae71c72b58a0b3f4bb5ae7e2d93e}\label{classMeshObjectSelectionPlugin_a77b4ae71c72b58a0b3f4bb5ae7e2d93e}} 
void {\bfseries create\+Backup} (int \+\_\+objectid, Q\+String \+\_\+name, \hyperlink{classUpdateType}{Update\+Type} \+\_\+type=\hyperlink{group__DefaultUpdateTypes_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+LL})
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab19ce01161b509786f53f24c11a76854}\label{classMeshObjectSelectionPlugin_ab19ce01161b509786f53f24c11a76854}} 
void {\bfseries log} (\hyperlink{LoggingInterface_8hh_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a63e332dd814bbe033a1a0124cc508753}\label{classMeshObjectSelectionPlugin_a63e332dd814bbe033a1a0124cc508753}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ac28778d946973ccef4d16388c0a190f4}\label{classMeshObjectSelectionPlugin_ac28778d946973ccef4d16388c0a190f4}} 
void {\bfseries add\+Selection\+Environment} (Q\+String \+\_\+mode\+Name, Q\+String \+\_\+description, Q\+String \+\_\+icon, Q\+String \&\+\_\+handle\+Name)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a9e36cb2f9fd9e230073755879d52266c}\label{classMeshObjectSelectionPlugin_a9e36cb2f9fd9e230073755879d52266c}} 
void {\bfseries register\+Type} (Q\+String \+\_\+handle\+Name, \hyperlink{classDataType}{Data\+Type} \+\_\+type)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a2631c7a6664bd0dddd26b2871ea6be71}\label{classMeshObjectSelectionPlugin_a2631c7a6664bd0dddd26b2871ea6be71}} 
void {\bfseries add\+Primitive\+Type} (Q\+String \+\_\+handle\+Name, Q\+String \+\_\+name, Q\+String \+\_\+icon, Selection\+Interface\+::\+Primitive\+Type \&\+\_\+type\+Handle)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a0eddd34526ce16ce055ba24c3f9bd14e}\label{classMeshObjectSelectionPlugin_a0eddd34526ce16ce055ba24c3f9bd14e}} 
void {\bfseries add\+Selection\+Operations} (Q\+String \+\_\+handle\+Name, Q\+String\+List \+\_\+operations\+List, Q\+String \+\_\+category, Selection\+Interface\+::\+Primitive\+Type \+\_\+type=0u)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a031787b2ae435501a2f2a6200db005c1}\label{classMeshObjectSelectionPlugin_a031787b2ae435501a2f2a6200db005c1}} 
void {\bfseries add\+Selection\+Parameters} (Q\+String \+\_\+handle\+Name, Q\+Widget $\ast$\+\_\+widget, Q\+String \+\_\+category, Selection\+Interface\+::\+Primitive\+Type \+\_\+type=0u)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a544d07ac08afe2fc4c5ad3e098df99e5}\label{classMeshObjectSelectionPlugin_a544d07ac08afe2fc4c5ad3e098df99e5}} 
void {\bfseries show\+Toggle\+Selection\+Mode} (Q\+String \+\_\+handle\+Name, bool \+\_\+show, Selection\+Interface\+::\+Primitive\+Type \+\_\+associated\+Types)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a46eabd334d4a5c97faadabcc1a67f6c1}\label{classMeshObjectSelectionPlugin_a46eabd334d4a5c97faadabcc1a67f6c1}} 
void {\bfseries show\+Lasso\+Selection\+Mode} (Q\+String \+\_\+handle\+Name, bool \+\_\+show, Selection\+Interface\+::\+Primitive\+Type \+\_\+associated\+Types)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a43b15b3394991131781871b2999a0ee2}\label{classMeshObjectSelectionPlugin_a43b15b3394991131781871b2999a0ee2}} 
void {\bfseries show\+Volume\+Lasso\+Selection\+Mode} (Q\+String \+\_\+handle\+Name, bool \+\_\+show, Selection\+Interface\+::\+Primitive\+Type \+\_\+associated\+Types)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a94cd3f740682e82a0158a0f968ce6697}\label{classMeshObjectSelectionPlugin_a94cd3f740682e82a0158a0f968ce6697}} 
void {\bfseries show\+Sphere\+Selection\+Mode} (Q\+String \+\_\+handle\+Name, bool \+\_\+show, Selection\+Interface\+::\+Primitive\+Type \+\_\+associated\+Types)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a1acc9708e49024adbaa0464a53d5286c}\label{classMeshObjectSelectionPlugin_a1acc9708e49024adbaa0464a53d5286c}} 
void {\bfseries show\+Closest\+Boundary\+Selection\+Mode} (Q\+String \+\_\+handle\+Name, bool \+\_\+show, Selection\+Interface\+::\+Primitive\+Type \+\_\+associated\+Types)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a4a06b13123693a0081ce6309204c3f1e}\label{classMeshObjectSelectionPlugin_a4a06b13123693a0081ce6309204c3f1e}} 
void {\bfseries show\+Flood\+Fill\+Selection\+Mode} (Q\+String \+\_\+handle\+Name, bool \+\_\+show, Selection\+Interface\+::\+Primitive\+Type \+\_\+associated\+Types)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a86a1be2b013c248544b6b0e1fc94edee}\label{classMeshObjectSelectionPlugin_a86a1be2b013c248544b6b0e1fc94edee}} 
void {\bfseries show\+Components\+Selection\+Mode} (Q\+String \+\_\+handle\+Name, bool \+\_\+show, Selection\+Interface\+::\+Primitive\+Type \+\_\+associated\+Types)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_acbef589a12ec155b1a364c74b5bf84b9}\label{classMeshObjectSelectionPlugin_acbef589a12ec155b1a364c74b5bf84b9}} 
void {\bfseries get\+Active\+Data\+Types} (Selection\+Interface\+::\+Type\+List \&\+\_\+types)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a3be681ee8b20597d2035dfc944c9c88b}\label{classMeshObjectSelectionPlugin_a3be681ee8b20597d2035dfc944c9c88b}} 
void {\bfseries get\+Active\+Primitive\+Type} (Selection\+Interface\+::\+Primitive\+Type \&\+\_\+type)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af2a3ab1b4f68cd42c538944c9feb1b28}\label{classMeshObjectSelectionPlugin_af2a3ab1b4f68cd42c538944c9feb1b28}} 
void {\bfseries target\+Objects\+Only} (bool \&\+\_\+targets\+Only)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a8c7494d55907cd152d6fd7e31cc21800}\label{classMeshObjectSelectionPlugin_a8c7494d55907cd152d6fd7e31cc21800}} 
void {\bfseries register\+Key\+Shortcut} (int \+\_\+key, Qt\+::\+Keyboard\+Modifiers \+\_\+modifiers=Qt\+::\+No\+Modifier)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a48c87abc2726919becf5689164ca3765}\label{classMeshObjectSelectionPlugin_a48c87abc2726919becf5689164ca3765}} 
void {\bfseries delete\+Object} (int \+\_\+object\+Id)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_acd8509c20d57f9824d809cb056a20052}\label{classMeshObjectSelectionPlugin_acd8509c20d57f9824d809cb056a20052}} 
void {\bfseries add\+Empty\+Object} (\hyperlink{classDataType}{Data\+Type} \+\_\+type, int \&\+\_\+id)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a7812e33499155927be024435be0df8ee}\label{classMeshObjectSelectionPlugin_a7812e33499155927be024435be0df8ee}} 
void {\bfseries script\+Info} (Q\+String \+\_\+function\+Name)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a62594983dde0b461124444f3c68c802b}\label{classMeshObjectSelectionPlugin_a62594983dde0b461124444f3c68c802b}} 
\hyperlink{classMeshObjectSelectionPlugin_a62594983dde0b461124444f3c68c802b}{Mesh\+Object\+Selection\+Plugin} ()
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af9e4588a4e7e182ea2a679493fbdab5a}\label{classMeshObjectSelectionPlugin_af9e4588a4e7e182ea2a679493fbdab5a}} 
\hyperlink{classMeshObjectSelectionPlugin_af9e4588a4e7e182ea2a679493fbdab5a}{$\sim$\+Mesh\+Object\+Selection\+Plugin} ()
\begin{DoxyCompactList}\small\item\em Default destructor. \end{DoxyCompactList}\item 
bool \hyperlink{classMeshObjectSelectionPlugin_a169c657c3abcf2c6eb6bef5e634e3e96}{initialize\+Options\+Widget} (Q\+Widget $\ast$\&\+\_\+widget)
\begin{DoxyCompactList}\small\item\em Initialize the Options Widget. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aef5e227a465317b6699e1db60df1a8df}\label{classMeshObjectSelectionPlugin_aef5e227a465317b6699e1db60df1a8df}} 
bool {\bfseries vertex\+Type\+Active} ()
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_afec9fed7345e7ea0742b799009e27bb8}\label{classMeshObjectSelectionPlugin_afec9fed7345e7ea0742b799009e27bb8}} 
bool {\bfseries edge\+Type\+Active} ()
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ae9f547136107167f713c415a495725f9}\label{classMeshObjectSelectionPlugin_ae9f547136107167f713c415a495725f9}} 
bool {\bfseries face\+Type\+Active} ()
\item 
{\footnotesize template$<$typename Mesh\+Type $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_a040d8c56b1ba1fe7210801be0ec80cdb}{update\+\_\+regions} (Mesh\+Type $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Update face selection to correspond to the vertex selection. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a5728aedf20b11fbde06a4c76a9e9a3ea}\label{classMeshObjectSelectionPlugin_a5728aedf20b11fbde06a4c76a9e9a3ea}} 
void {\bfseries load\+Ini\+File} (\hyperlink{classINIFile}{I\+N\+I\+File} \&\+\_\+ini, int \+\_\+id)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af7a2026aa6901337992d505f3b35bded}\label{classMeshObjectSelectionPlugin_af7a2026aa6901337992d505f3b35bded}} 
void {\bfseries save\+Ini\+File} (\hyperlink{classINIFile}{I\+N\+I\+File} \&\+\_\+ini, int \+\_\+id)
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af88c49f1181fa5b8c89101569c144072}\label{classMeshObjectSelectionPlugin_af88c49f1181fa5b8c89101569c144072}} 
void {\bfseries initialize\+Plugin} ()
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aa6b82a73af5dd2d6b8b07b624a847504}\label{classMeshObjectSelectionPlugin_aa6b82a73af5dd2d6b8b07b624a847504}} 
void {\bfseries plugins\+Initialized} ()
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a6e7371a3e371f7fab42334ff3aee3415}\label{classMeshObjectSelectionPlugin_a6e7371a3e371f7fab42334ff3aee3415}} 
void {\bfseries nogui\+Supported} ()
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a77818e74788ad524bc14f90155013aa4}\label{classMeshObjectSelectionPlugin_a77818e74788ad524bc14f90155013aa4}} 
void {\bfseries apply\+Options} ()
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ad35276f9e76155a49e8f042850e58c26}\label{classMeshObjectSelectionPlugin_ad35276f9e76155a49e8f042850e58c26}} 
Q\+String {\bfseries name} ()
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Private slots}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af80168bdcd2491aa5b06556713c9af9f}\label{classMeshObjectSelectionPlugin_af80168bdcd2491aa5b06556713c9af9f}} 
void \hyperlink{classMeshObjectSelectionPlugin_af80168bdcd2491aa5b06556713c9af9f}{conversion\+Requested} ()
\begin{DoxyCompactList}\small\item\em Show selection conversion dialog. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aa7a5a52f247277371eba9e56f4179b5a}\label{classMeshObjectSelectionPlugin_aa7a5a52f247277371eba9e56f4179b5a}} 
void \hyperlink{classMeshObjectSelectionPlugin_aa7a5a52f247277371eba9e56f4179b5a}{set\+Default\+Color\+Values} ()
\begin{DoxyCompactList}\small\item\em sets the default color values for selection/handle/region/feature nodes for all objects of this type \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classMeshObjectSelectionPlugin_aeb16a55ef7df369a7828622e96f2eb51}{slot\+Selection\+Operation} (Q\+String \+\_\+operation)
\begin{DoxyCompactList}\small\item\em A specific operation is requested. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_a51b5e193bc7be9ffa61fa4f56f9ad7fc}{slot\+Toggle\+Selection} (Q\+Mouse\+Event $\ast$\+\_\+event, Selection\+Interface\+::\+Primitive\+Type \+\_\+current\+Type, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Called whenever the user performs a toggle selection. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_ade283f224cd07e99291c4bf5e301b124}{slot\+Lasso\+Selection} (Q\+Mouse\+Event $\ast$\+\_\+event, Selection\+Interface\+::\+Primitive\+Type \+\_\+current\+Type, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Called whenever the user performs a lasso selection. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_ae6ff55442beeb8600811f40ebc02d95c}{slot\+Volume\+Lasso\+Selection} (Q\+Mouse\+Event $\ast$\+\_\+event, Selection\+Interface\+::\+Primitive\+Type \+\_\+current\+Type, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Called whenever the user performs a volume lasso selection. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_a98aad925033a98c2c52f18d096a693bf}{slot\+Sphere\+Selection} (Q\+Mouse\+Event $\ast$\+\_\+event, double \+\_\+radius, Selection\+Interface\+::\+Primitive\+Type \+\_\+current\+Type, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Called whenever the user performs a sphere selection. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_aad870540ec0272106b71827aabbfc021}{slot\+Closest\+Boundary\+Selection} (Q\+Mouse\+Event $\ast$\+\_\+event, Selection\+Interface\+::\+Primitive\+Type \+\_\+current\+Type, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Called whenever the user performs a closest boundary selection. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_a6dc5dce5ac7939c522385024c0b25075}{slot\+Flood\+Fill\+Selection} (Q\+Mouse\+Event $\ast$\+\_\+event, Selection\+Interface\+::\+Primitive\+Type \+\_\+current\+Type, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Called whenever the user performs a flood fill selection. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_a738301732e5ea55ea68db39bb9950a6e}{slot\+Components\+Selection} (Q\+Mouse\+Event $\ast$\+\_\+event, Selection\+Interface\+::\+Primitive\+Type \+\_\+current\+Type, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Called whenever the user performs a connected components selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ad39d3aef795d1775c3b433d832356c69}\label{classMeshObjectSelectionPlugin_ad39d3aef795d1775c3b433d832356c69}} 
void {\bfseries slot\+Index\+Selection} (int \+\_\+key)
\item 
void \hyperlink{classMeshObjectSelectionPlugin_a369c2a02710d5e03fa5966d7bfdd6773}{slot\+Load\+Selection} (const \hyperlink{classINIFile}{I\+N\+I\+File} \&\+\_\+file)
\begin{DoxyCompactList}\small\item\em Load selection for specific objects in the scene. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_abab87c229d53e80398f1ddba4ed485fe}{slot\+Save\+Selection} (\hyperlink{classINIFile}{I\+N\+I\+File} \&\+\_\+file)
\begin{DoxyCompactList}\small\item\em Save selection for all objects in the scene. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_a1ad2ab099d6108682a7eb00e1472ee01}{slot\+Key\+Shortcut\+Event} (int \+\_\+key, Qt\+::\+Keyboard\+Modifiers \+\_\+modifiers)
\begin{DoxyCompactList}\small\item\em One of the previously registered keys has been pressed. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_af0d0e34edaa7e663b31a64afbc6806e5}{slot\+Mouse\+Wheel\+Event} (Q\+Wheel\+Event $\ast$event, std\+::string const \&mode)
\begin{DoxyCompactList}\small\item\em Wheel Event from main application. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_acc64aa7b9d9d0a071846f333079be37c}{added\+Empty\+Object} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em An empty object has been added. \end{DoxyCompactList}\item 
Q\+String \hyperlink{classMeshObjectSelectionPlugin_a8b680910aeb280481706975f73cd0d69}{description} ()
\begin{DoxyCompactList}\small\item\em Return a description of what the plugin is doing. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Private methods}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_abd448d7f39e864bb1bbefe9e6528ecd2}\label{classMeshObjectSelectionPlugin_abd448d7f39e864bb1bbefe9e6528ecd2}} 
void \hyperlink{classMeshObjectSelectionPlugin_abd448d7f39e864bb1bbefe9e6528ecd2}{update\+Color\+Values} ()
\begin{DoxyCompactList}\small\item\em Set descriptions for local public slots. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a511b0ed2bdbf4e79abee063b40ccbaed}\label{classMeshObjectSelectionPlugin_a511b0ed2bdbf4e79abee063b40ccbaed}} 
void \hyperlink{classMeshObjectSelectionPlugin_a511b0ed2bdbf4e79abee063b40ccbaed}{update\+Slot\+Descriptions} ()
\begin{DoxyCompactList}\small\item\em Set descriptions for local public slots. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ad73c0192eabda04e252d32f4ab1962ff}\label{classMeshObjectSelectionPlugin_ad73c0192eabda04e252d32f4ab1962ff}} 
void \hyperlink{classMeshObjectSelectionPlugin_ad73c0192eabda04e252d32f4ab1962ff}{set\+Color\+For\+Selection} (const int \+\_\+object\+Id, const Primitive\+Type \+\_\+primitive\+Type)
\begin{DoxyCompactList}\small\item\em Set color for selection. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Template Functions}\par
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename MeshT $>$ }\\bool \hyperlink{classMeshObjectSelectionPlugin_ad38d5b10294c74124334e5db1d1e2cbe}{delete\+Selection} (MeshT $\ast$\+\_\+mesh, Primitive\+Type \+\_\+primitive\+Type)
\begin{DoxyCompactList}\small\item\em Delete all selected elements of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aba5364eb2ea74262da4f13290ef34830}\label{classMeshObjectSelectionPlugin_aba5364eb2ea74262da4f13290ef34830}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_aba5364eb2ea74262da4f13290ef34830}{update\+\_\+regions} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Update face selection to correspond to the vertex selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_a6eace351ae45bddbc145720c0e25fe37}{toggle\+Mesh\+Selection} (int \+\_\+object\+Id, MeshT $\ast$\+\_\+mesh, uint \+\_\+fh, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+hit\+\_\+point, Primitive\+Type \+\_\+primitive\+Type)
\begin{DoxyCompactList}\small\item\em Toggle mesh selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_ae85ff81bd900a94b783e604b97f10085}{paint\+Sphere\+Selection} (MeshT $\ast$\+\_\+mesh, int \+\_\+object\+Id, int \+\_\+target\+\_\+idx, typename Mesh\+T\+::\+Point \+\_\+hitpoint, double \+\_\+radius, Primitive\+Type \+\_\+primitive\+Types, bool \+\_\+deselection)
\begin{DoxyCompactList}\small\item\em Use the event to paint selection with a sphere. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\bool \hyperlink{classMeshObjectSelectionPlugin_abc6ac7dfd9716669d737e880cc78f937}{volume\+Selection} (MeshT $\ast$\+\_\+mesh, int \+\_\+object\+Id, \hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, Q\+Region $\ast$\+\_\+region, Primitive\+Type \+\_\+primitive\+Types, bool \+\_\+deselection)
\begin{DoxyCompactList}\small\item\em Surface volume selection tool. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_a77236995b7152093d3a9ed90b6324b4d}{closest\+Boundary\+Selection} (MeshT $\ast$\+\_\+mesh, int \+\_\+vh, Primitive\+Type \+\_\+primitive\+Types, bool \+\_\+deselection)
\begin{DoxyCompactList}\small\item\em Select all entities that are incident to closest boundary. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_a6b46ba7b4af8e76c5b68f41800f4dd80}{flood\+Fill\+Selection} (MeshT $\ast$\+\_\+mesh, int \+\_\+object\+Id, uint \+\_\+fh, double \+\_\+max\+Angle, Primitive\+Type \+\_\+primitive\+Types, bool \+\_\+deselection)
\begin{DoxyCompactList}\small\item\em Select all entities that are connected (and do not exceed the maximum dihedral angle) \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_ad030106f96c820973a77dbf9d6d8cd21}{components\+Mesh\+Selection} (MeshT $\ast$\+\_\+mesh, int \+\_\+object\+Id, uint \+\_\+fh, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+hit\+\_\+point, Primitive\+Type \+\_\+primitive\+Type)
\begin{DoxyCompactList}\small\item\em Connected component mesh selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_a040847c992d50e2b857ba038b9e502a9}{colorize\+Selection} (MeshT $\ast$\+\_\+mesh, Primitive\+Type \+\_\+primitive\+Types, int \+\_\+red, int \+\_\+green, int \+\_\+blue, int \+\_\+alpha)
\begin{DoxyCompactList}\small\item\em Colorize the selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_a25d1761dfa8f234b6c29859800b3c748}{create\+Mesh\+From\+Selection} (MeshT \&\+\_\+mesh, MeshT \&\+\_\+new\+Mesh, Primitive\+Type \+\_\+primitive\+Type)
\begin{DoxyCompactList}\small\item\em Create a new mesh from the selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a8e55d7273f74fe2cd189e306617c1fed}\label{classMeshObjectSelectionPlugin_a8e55d7273f74fe2cd189e306617c1fed}} 
{\footnotesize template$<$class MeshT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_a8e55d7273f74fe2cd189e306617c1fed}{select\+Vertices\+By\+Value} (MeshT $\ast$\+\_\+mesh, Q\+String \+\_\+component, bool \+\_\+greater, double \+\_\+value)
\begin{DoxyCompactList}\small\item\em Select vertices by value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Private helper function}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a73be1afaf4e7aa7f9e7d23795ddd7e38}\label{classMeshObjectSelectionPlugin_a73be1afaf4e7aa7f9e7d23795ddd7e38}} 
int \hyperlink{classMeshObjectSelectionPlugin_a73be1afaf4e7aa7f9e7d23795ddd7e38}{create\+Mesh\+From\+Selection} (int \+\_\+object\+Id, Primitive\+Type \+\_\+primitive\+Type)
\begin{DoxyCompactList}\small\item\em Create a mesh containing the selection of the given mesh. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Private Attributes}
\begin{Indent}\textbf{ Member variables}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a159c737ecc565e3ad1863621db54099c}\label{classMeshObjectSelectionPlugin_a159c737ecc565e3ad1863621db54099c}} 
Q\+String \hyperlink{classMeshObjectSelectionPlugin_a159c737ecc565e3ad1863621db54099c}{environment\+Handle\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a49947c5986f02c4adbf70f76983ff9ba}\label{classMeshObjectSelectionPlugin_a49947c5986f02c4adbf70f76983ff9ba}} 
Selection\+Interface\+::\+Primitive\+Type \hyperlink{classMeshObjectSelectionPlugin_a49947c5986f02c4adbf70f76983ff9ba}{vertex\+Type\+\_\+}
\begin{DoxyCompactList}\small\item\em Primitive type handles\+: \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_abf0b53bc949a7bd4c9bb4c217874fa75}\label{classMeshObjectSelectionPlugin_abf0b53bc949a7bd4c9bb4c217874fa75}} 
Selection\+Interface\+::\+Primitive\+Type \hyperlink{classMeshObjectSelectionPlugin_abf0b53bc949a7bd4c9bb4c217874fa75}{edge\+Type\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ac36ac16015da790a291bf7ba9bea3e9d}\label{classMeshObjectSelectionPlugin_ac36ac16015da790a291bf7ba9bea3e9d}} 
Selection\+Interface\+::\+Primitive\+Type \hyperlink{classMeshObjectSelectionPlugin_ac36ac16015da790a291bf7ba9bea3e9d}{halfedge\+Type\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_afcd8abe55e34f85ec55b3e0766dbec34}\label{classMeshObjectSelectionPlugin_afcd8abe55e34f85ec55b3e0766dbec34}} 
Selection\+Interface\+::\+Primitive\+Type \hyperlink{classMeshObjectSelectionPlugin_afcd8abe55e34f85ec55b3e0766dbec34}{face\+Type\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ade9f7b7f8658cd58822303f21ff23507}\label{classMeshObjectSelectionPlugin_ade9f7b7f8658cd58822303f21ff23507}} 
Selection\+Interface\+::\+Primitive\+Type \hyperlink{classMeshObjectSelectionPlugin_ade9f7b7f8658cd58822303f21ff23507}{all\+Supported\+Types\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a16c80c2e57b8c402fcbe1b7acc68d6b4}\label{classMeshObjectSelectionPlugin_a16c80c2e57b8c402fcbe1b7acc68d6b4}} 
Q\+Polygon \hyperlink{classMeshObjectSelectionPlugin_a16c80c2e57b8c402fcbe1b7acc68d6b4}{lasso\+\_\+2\+Dpoints\+\_\+}
\begin{DoxyCompactList}\small\item\em Used for lasso selection tool. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_afa61829d718d33384becb03d75b0df7d}\label{classMeshObjectSelectionPlugin_afa61829d718d33384becb03d75b0df7d}} 
Q\+Vector$<$ Q\+Point $>$ \hyperlink{classMeshObjectSelectionPlugin_afa61829d718d33384becb03d75b0df7d}{volume\+Lasso\+Points\+\_\+}
\begin{DoxyCompactList}\small\item\em Used for volume lasso tool. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ae3665a9dbb4d1e97a31c67264d08d867}\label{classMeshObjectSelectionPlugin_ae3665a9dbb4d1e97a31c67264d08d867}} 
\hyperlink{classConversionDialog}{Conversion\+Dialog} $\ast$ \hyperlink{classMeshObjectSelectionPlugin_ae3665a9dbb4d1e97a31c67264d08d867}{conversion\+Dialog\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a330cb29d05bba9b779927219193adb26}\label{classMeshObjectSelectionPlugin_a330cb29d05bba9b779927219193adb26}} 
\hyperlink{classParameterWidget}{Parameter\+Widget} $\ast$ \hyperlink{classMeshObjectSelectionPlugin_a330cb29d05bba9b779927219193adb26}{parameter\+Widget\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_abd3ec4c25c976430030e567dd42e85ca}\label{classMeshObjectSelectionPlugin_abd3ec4c25c976430030e567dd42e85ca}} 
\hyperlink{classQtColorChooserButton}{Qt\+Color\+Chooser\+Button} $\ast$ \hyperlink{classMeshObjectSelectionPlugin_abd3ec4c25c976430030e567dd42e85ca}{color\+Button\+Selection\+\_\+}
\begin{DoxyCompactList}\small\item\em Options. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aef26ed5d30d07a18dd8160f0b6ecd6b7}\label{classMeshObjectSelectionPlugin_aef26ed5d30d07a18dd8160f0b6ecd6b7}} 
\hyperlink{classQtColorChooserButton}{Qt\+Color\+Chooser\+Button} $\ast$ \hyperlink{classMeshObjectSelectionPlugin_aef26ed5d30d07a18dd8160f0b6ecd6b7}{color\+Button\+Area\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ac65460df145a5416a39ddd4bb941a343}\label{classMeshObjectSelectionPlugin_ac65460df145a5416a39ddd4bb941a343}} 
\hyperlink{classQtColorChooserButton}{Qt\+Color\+Chooser\+Button} $\ast$ \hyperlink{classMeshObjectSelectionPlugin_ac65460df145a5416a39ddd4bb941a343}{color\+Button\+Handle\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a6fa6a4d2c6512612c67b4ff316bf3057}\label{classMeshObjectSelectionPlugin_a6fa6a4d2c6512612c67b4ff316bf3057}} 
\hyperlink{classQtColorChooserButton}{Qt\+Color\+Chooser\+Button} $\ast$ \hyperlink{classMeshObjectSelectionPlugin_a6fa6a4d2c6512612c67b4ff316bf3057}{color\+Button\+Feature\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ae98fc0fb4899150d71cfb98f8a7c60fe}\label{classMeshObjectSelectionPlugin_ae98fc0fb4899150d71cfb98f8a7c60fe}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{classMeshObjectSelectionPlugin_ae98fc0fb4899150d71cfb98f8a7c60fe}{status\+Color\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a7d597d091642b4b8cc5ed7a8d9de93e8}\label{classMeshObjectSelectionPlugin_a7d597d091642b4b8cc5ed7a8d9de93e8}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{classMeshObjectSelectionPlugin_a7d597d091642b4b8cc5ed7a8d9de93e8}{area\+Color\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a69964c5ea7c315610cfe8911db3906b0}\label{classMeshObjectSelectionPlugin_a69964c5ea7c315610cfe8911db3906b0}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{classMeshObjectSelectionPlugin_a69964c5ea7c315610cfe8911db3906b0}{handle\+Color\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a57ae8b29d786e8f8af76609e57de1d27}\label{classMeshObjectSelectionPlugin_a57ae8b29d786e8f8af76609e57de1d27}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{A\+C\+G\+::\+Vec4f} \hyperlink{classMeshObjectSelectionPlugin_a57ae8b29d786e8f8af76609e57de1d27}{feature\+Color\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a645da8c26b76dbc5bcc5320b87dad860}\label{classMeshObjectSelectionPlugin_a645da8c26b76dbc5bcc5320b87dad860}} 
double \hyperlink{classMeshObjectSelectionPlugin_a645da8c26b76dbc5bcc5320b87dad860}{dihedral\+\_\+angle\+\_\+threshold\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a5fbbba80ac5e4d5a1a5664a67e5c19f6}\label{classMeshObjectSelectionPlugin_a5fbbba80ac5e4d5a1a5664a67e5c19f6}} 
double \hyperlink{classMeshObjectSelectionPlugin_a5fbbba80ac5e4d5a1a5664a67e5c19f6}{max\+\_\+angle\+\_\+}
\begin{DoxyCompactList}\small\item\em Handle to selection environment. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aef415d49a689c0dc652d636a25a044d4}\label{classMeshObjectSelectionPlugin_aef415d49a689c0dc652d636a25a044d4}} 
class {\bfseries Select\+Volume\+Action}
\end{DoxyCompactItemize}
\subsection*{Scriptable slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a460f497e1fe46128be375e339b7a1e1c}\label{classMeshObjectSelectionPlugin_a460f497e1fe46128be375e339b7a1e1c}} 
{\footnotesize template$<$typename HandleT $>$ }\\bool \hyperlink{classMeshObjectSelectionPlugin_a460f497e1fe46128be375e339b7a1e1c}{select\+Element} (int \+\_\+object\+Id, HandleT \+\_\+handle, bool \+\_\+fly\+\_\+to\+\_\+element)
\begin{DoxyCompactList}\small\item\em set dihedral angle threshold for edge selection \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aa0072a6da14c7789a7ccbc48db4598a3}\label{classMeshObjectSelectionPlugin_aa0072a6da14c7789a7ccbc48db4598a3}} 
void \hyperlink{classMeshObjectSelectionPlugin_aa0072a6da14c7789a7ccbc48db4598a3}{set\+\_\+dihedral\+\_\+angle\+\_\+threshold} (const double \+\_\+a)
\begin{DoxyCompactList}\small\item\em set dihedral angle threshold for edge selection \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a448cf9f307296a45e8a407bcf108a988}\label{classMeshObjectSelectionPlugin_a448cf9f307296a45e8a407bcf108a988}} 
double \hyperlink{classMeshObjectSelectionPlugin_a448cf9f307296a45e8a407bcf108a988}{get\+\_\+dihedral\+\_\+angle\+\_\+threshold} ()
\begin{DoxyCompactList}\small\item\em get dihedral angle threshold for edge selection \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab664698c81d47a72a80f1aca3fe5fdb8}\label{classMeshObjectSelectionPlugin_ab664698c81d47a72a80f1aca3fe5fdb8}} 
void \hyperlink{classMeshObjectSelectionPlugin_ab664698c81d47a72a80f1aca3fe5fdb8}{set\+\_\+max\+\_\+angle} (const double \+\_\+a)
\begin{DoxyCompactList}\small\item\em set max angle for flood fill selection \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a10f15e71058eec7e7eaad5b05c4de07e}\label{classMeshObjectSelectionPlugin_a10f15e71058eec7e7eaad5b05c4de07e}} 
double \hyperlink{classMeshObjectSelectionPlugin_a10f15e71058eec7e7eaad5b05c4de07e}{get\+\_\+max\+\_\+angle} ()
\begin{DoxyCompactList}\small\item\em get max angle for flood fill selection \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a1b2bf661aa5eaf154ecfc56701a026db}\label{classMeshObjectSelectionPlugin_a1b2bf661aa5eaf154ecfc56701a026db}} 
void \hyperlink{classMeshObjectSelectionPlugin_a1b2bf661aa5eaf154ecfc56701a026db}{select\+Vertices} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+vertex\+List)
\begin{DoxyCompactList}\small\item\em select given vertices \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a81dfaea108a28ab9f1867d2cbe109ad3}\label{classMeshObjectSelectionPlugin_a81dfaea108a28ab9f1867d2cbe109ad3}} 
bool \hyperlink{classMeshObjectSelectionPlugin_a81dfaea108a28ab9f1867d2cbe109ad3}{select\+Vertex} (int \+\_\+object\+Id, int \+\_\+idx, bool \+\_\+fly\+\_\+to\+\_\+vertex)
\begin{DoxyCompactList}\small\item\em select vertex with id \+\_\+idx and maybe fly to it \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_add357b75d42153776738e053c2c52b4e}\label{classMeshObjectSelectionPlugin_add357b75d42153776738e053c2c52b4e}} 
void \hyperlink{classMeshObjectSelectionPlugin_add357b75d42153776738e053c2c52b4e}{unselect\+Vertices} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+vertex\+List)
\begin{DoxyCompactList}\small\item\em unselect given vertices \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a0905654f8236bd2a32d3ca53d81ebba3}\label{classMeshObjectSelectionPlugin_a0905654f8236bd2a32d3ca53d81ebba3}} 
void \hyperlink{classMeshObjectSelectionPlugin_a0905654f8236bd2a32d3ca53d81ebba3}{select\+All\+Vertices} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Select all Vertices. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aab94b5173c2aee9c3c791194efbecdd9}\label{classMeshObjectSelectionPlugin_aab94b5173c2aee9c3c791194efbecdd9}} 
void \hyperlink{classMeshObjectSelectionPlugin_aab94b5173c2aee9c3c791194efbecdd9}{clear\+Vertex\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Unselect all vertices. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a5de02e81387cdd90132981486f0f0379}\label{classMeshObjectSelectionPlugin_a5de02e81387cdd90132981486f0f0379}} 
void \hyperlink{classMeshObjectSelectionPlugin_a5de02e81387cdd90132981486f0f0379}{invert\+Vertex\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Invert the current vertex selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a2ed689e77268fe31410d38cffea65ffd}\label{classMeshObjectSelectionPlugin_a2ed689e77268fe31410d38cffea65ffd}} 
void \hyperlink{classMeshObjectSelectionPlugin_a2ed689e77268fe31410d38cffea65ffd}{select\+Boundary\+Vertices} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Select all boundary vertices of the given object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a8c6cff1c699039c7d927f99a21053836}\label{classMeshObjectSelectionPlugin_a8c6cff1c699039c7d927f99a21053836}} 
void \hyperlink{classMeshObjectSelectionPlugin_a8c6cff1c699039c7d927f99a21053836}{select\+Closest\+Boundary\+Vertices} (int \+\_\+object\+Id, int \+\_\+vertex\+Id)
\begin{DoxyCompactList}\small\item\em Select all vertices of the boundary close to the given vertex. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a87246b9a0da6fef1dafbf022d5e58433}\label{classMeshObjectSelectionPlugin_a87246b9a0da6fef1dafbf022d5e58433}} 
void \hyperlink{classMeshObjectSelectionPlugin_a87246b9a0da6fef1dafbf022d5e58433}{shrink\+Vertex\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Shrink the current vertex selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a93e1ea8736b27a839efb80adca4bbc34}\label{classMeshObjectSelectionPlugin_a93e1ea8736b27a839efb80adca4bbc34}} 
void \hyperlink{classMeshObjectSelectionPlugin_a93e1ea8736b27a839efb80adca4bbc34}{grow\+Vertex\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Grow the current vertex selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab5dc4e2f64001cad28ee95bb926ac0e2}\label{classMeshObjectSelectionPlugin_ab5dc4e2f64001cad28ee95bb926ac0e2}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_ab5dc4e2f64001cad28ee95bb926ac0e2}{get\+Vertex\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Return a list of all selected vertices. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af1d854b579ce50c1fa247da59e93487d}\label{classMeshObjectSelectionPlugin_af1d854b579ce50c1fa247da59e93487d}} 
void \hyperlink{classMeshObjectSelectionPlugin_af1d854b579ce50c1fa247da59e93487d}{delete\+Vertex\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Delete vertices and faces that are currently selected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a930510501609ace02e1a690794747fe4}\label{classMeshObjectSelectionPlugin_a930510501609ace02e1a690794747fe4}} 
int \hyperlink{classMeshObjectSelectionPlugin_a930510501609ace02e1a690794747fe4}{create\+Mesh\+From\+Vertex\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em set dihedral angle threshold for edge selection \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_af3e243723267df1f0808d8b5479f7a63}{colorize\+Vertex\+Selection} (int \+\_\+object\+Id, int \+\_\+r, int \+\_\+g, int \+\_\+b, int a)
\begin{DoxyCompactList}\small\item\em Colorize the vertex selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ad945e31e2681f4ca2d77c6fcd5e6c30a}\label{classMeshObjectSelectionPlugin_ad945e31e2681f4ca2d77c6fcd5e6c30a}} 
void \hyperlink{classMeshObjectSelectionPlugin_ad945e31e2681f4ca2d77c6fcd5e6c30a}{select\+Handle\+Vertices} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+vertex\+List)
\begin{DoxyCompactList}\small\item\em Set vertices to be part of the handle area. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aa9efd8cef6fb7c6dc5ee70fee8f8898c}\label{classMeshObjectSelectionPlugin_aa9efd8cef6fb7c6dc5ee70fee8f8898c}} 
void \hyperlink{classMeshObjectSelectionPlugin_aa9efd8cef6fb7c6dc5ee70fee8f8898c}{unselect\+Handle\+Vertices} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+vertex\+List)
\begin{DoxyCompactList}\small\item\em Remove vertices from handle area. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a1fd86f7aa6b75424ad216d879e7c3c1d}\label{classMeshObjectSelectionPlugin_a1fd86f7aa6b75424ad216d879e7c3c1d}} 
void \hyperlink{classMeshObjectSelectionPlugin_a1fd86f7aa6b75424ad216d879e7c3c1d}{clear\+Handle\+Vertices} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Clear handle Area. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a80d0a90532f5337cfed4eff633cebc17}\label{classMeshObjectSelectionPlugin_a80d0a90532f5337cfed4eff633cebc17}} 
void \hyperlink{classMeshObjectSelectionPlugin_a80d0a90532f5337cfed4eff633cebc17}{set\+All\+Handle\+Vertices} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Set all vertices to be part of the handle area. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a1c79724f8eae456206b132f88ea20eab}\label{classMeshObjectSelectionPlugin_a1c79724f8eae456206b132f88ea20eab}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_a1c79724f8eae456206b132f88ea20eab}{get\+Handle\+Vertices} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Get a list of all handle vertices. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_abafc23154fed4270b4b206e5c5120be1}\label{classMeshObjectSelectionPlugin_abafc23154fed4270b4b206e5c5120be1}} 
void \hyperlink{classMeshObjectSelectionPlugin_abafc23154fed4270b4b206e5c5120be1}{load\+Flipper\+Modeling\+Selection} (int \+\_\+object\+Id, Q\+String \+\_\+filename)
\begin{DoxyCompactList}\small\item\em Load a selection from an Flipper selection file for the given object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aa4614c49fdeb9ffdd518f1f0d43ae5fe}\label{classMeshObjectSelectionPlugin_aa4614c49fdeb9ffdd518f1f0d43ae5fe}} 
void \hyperlink{classMeshObjectSelectionPlugin_aa4614c49fdeb9ffdd518f1f0d43ae5fe}{save\+Flipper\+Modeling\+Selection} (int \+\_\+object\+Id, Q\+String \+\_\+filename)
\begin{DoxyCompactList}\small\item\em Save a selection in Flipper Selection Format. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab3f6015349ec056ed66342fbbefdd99b}\label{classMeshObjectSelectionPlugin_ab3f6015349ec056ed66342fbbefdd99b}} 
void \hyperlink{classMeshObjectSelectionPlugin_ab3f6015349ec056ed66342fbbefdd99b}{select\+Modeling\+Vertices} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+vertex\+List)
\begin{DoxyCompactList}\small\item\em Set vertices to be part of the modeling area. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ac792c86408d7e71f73d829052567e1e6}\label{classMeshObjectSelectionPlugin_ac792c86408d7e71f73d829052567e1e6}} 
void \hyperlink{classMeshObjectSelectionPlugin_ac792c86408d7e71f73d829052567e1e6}{unselect\+Modeling\+Vertices} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+vertex\+List)
\begin{DoxyCompactList}\small\item\em Remove vertices from modeling area. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_ac13d0b20a9ccc7ec0834020b7e46f68c}{select\+Vertices\+By\+Value} (int \+\_\+object\+Id, Q\+String \+\_\+component, bool \+\_\+greater, double \+\_\+value)
\begin{DoxyCompactList}\small\item\em Select vertices by their value. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a23f043adc5361a2a6c4d07c252d393ae}\label{classMeshObjectSelectionPlugin_a23f043adc5361a2a6c4d07c252d393ae}} 
void \hyperlink{classMeshObjectSelectionPlugin_a23f043adc5361a2a6c4d07c252d393ae}{clear\+Modeling\+Vertices} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Clear Modeling Area. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_afe47b35a90e8c8dcab963c0c5f9eb846}\label{classMeshObjectSelectionPlugin_afe47b35a90e8c8dcab963c0c5f9eb846}} 
void \hyperlink{classMeshObjectSelectionPlugin_afe47b35a90e8c8dcab963c0c5f9eb846}{set\+All\+Modeling\+Vertices} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Set all vertices to be part of the modeling area. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a1089a91ee2c0af4a2367d9ba5194e5ad}\label{classMeshObjectSelectionPlugin_a1089a91ee2c0af4a2367d9ba5194e5ad}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_a1089a91ee2c0af4a2367d9ba5194e5ad}{get\+Modeling\+Vertices} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Get a list of all modeling vertices. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a8492664d4148608a0079e7bf557443d5}\label{classMeshObjectSelectionPlugin_a8492664d4148608a0079e7bf557443d5}} 
void \hyperlink{classMeshObjectSelectionPlugin_a8492664d4148608a0079e7bf557443d5}{select\+Edges} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+edge\+List, const double \+\_\+dihedral\+\_\+angle\+\_\+threshold=0.\+0)
\begin{DoxyCompactList}\small\item\em Select given Edges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aac51cb1acaf402aa35ce4bc9d4a1717c}\label{classMeshObjectSelectionPlugin_aac51cb1acaf402aa35ce4bc9d4a1717c}} 
bool \hyperlink{classMeshObjectSelectionPlugin_aac51cb1acaf402aa35ce4bc9d4a1717c}{select\+Edge} (int \+\_\+object\+Id, int \+\_\+idx, bool \+\_\+fly\+\_\+to\+\_\+edge)
\begin{DoxyCompactList}\small\item\em Select edge with id \+\_\+idx and maybe fly to it. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a2e4a96b5959ff9c14ae3091de365f265}\label{classMeshObjectSelectionPlugin_a2e4a96b5959ff9c14ae3091de365f265}} 
void \hyperlink{classMeshObjectSelectionPlugin_a2e4a96b5959ff9c14ae3091de365f265}{unselect\+Edges} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+edge\+List)
\begin{DoxyCompactList}\small\item\em Unselect given Edges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab25544b02ab4f231d765b66ae4607b9b}\label{classMeshObjectSelectionPlugin_ab25544b02ab4f231d765b66ae4607b9b}} 
void \hyperlink{classMeshObjectSelectionPlugin_ab25544b02ab4f231d765b66ae4607b9b}{select\+All\+Edges} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Select all Edges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a6f1af673215cb34533149e610ef36761}\label{classMeshObjectSelectionPlugin_a6f1af673215cb34533149e610ef36761}} 
void \hyperlink{classMeshObjectSelectionPlugin_a6f1af673215cb34533149e610ef36761}{invert\+Edge\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Unselect all Edges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab41f9cb555243af39fe08deac3de57a3}\label{classMeshObjectSelectionPlugin_ab41f9cb555243af39fe08deac3de57a3}} 
void \hyperlink{classMeshObjectSelectionPlugin_ab41f9cb555243af39fe08deac3de57a3}{clear\+Edge\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Invert the current edge selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ac92d1cd1bd1505f861c1e89cd89a3bb5}\label{classMeshObjectSelectionPlugin_ac92d1cd1bd1505f861c1e89cd89a3bb5}} 
void \hyperlink{classMeshObjectSelectionPlugin_ac92d1cd1bd1505f861c1e89cd89a3bb5}{select\+Boundary\+Edges} (int object\+Id)
\begin{DoxyCompactList}\small\item\em select boundary edges \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af5e1881dba9ab868701a4a44a006fc62}\label{classMeshObjectSelectionPlugin_af5e1881dba9ab868701a4a44a006fc62}} 
void \hyperlink{classMeshObjectSelectionPlugin_af5e1881dba9ab868701a4a44a006fc62}{delete\+Edge\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Delete edges that are currently selected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a426f1a1abe84a06ce00f7b899c72a11d}\label{classMeshObjectSelectionPlugin_a426f1a1abe84a06ce00f7b899c72a11d}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_a426f1a1abe84a06ce00f7b899c72a11d}{get\+Edge\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Return a list of all selected edges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_add317908917603ef3b6b5760acc20c73}\label{classMeshObjectSelectionPlugin_add317908917603ef3b6b5760acc20c73}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_add317908917603ef3b6b5760acc20c73}{convert\+Edges\+To\+Vertex\+Pairs} (int \+\_\+id, const \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \&\+\_\+edges)
\begin{DoxyCompactList}\small\item\em Convert edge ids to vertex pairs. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a167a55b419c94b77e4d3d74b32f6263b}\label{classMeshObjectSelectionPlugin_a167a55b419c94b77e4d3d74b32f6263b}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_a167a55b419c94b77e4d3d74b32f6263b}{convert\+Vertex\+Pairs\+To\+Edges} (int \+\_\+id, const \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \&\+\_\+vertices)
\begin{DoxyCompactList}\small\item\em Inverse of function above. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a81a52a34240f9b45b7b73f6a15a43e5c}\label{classMeshObjectSelectionPlugin_a81a52a34240f9b45b7b73f6a15a43e5c}} 
int \hyperlink{classMeshObjectSelectionPlugin_a81a52a34240f9b45b7b73f6a15a43e5c}{create\+Mesh\+From\+Edge\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Create a mesh containing the face selection of the given mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_adb187419111c713cd147ec652d0850a5}\label{classMeshObjectSelectionPlugin_adb187419111c713cd147ec652d0850a5}} 
void \hyperlink{classMeshObjectSelectionPlugin_adb187419111c713cd147ec652d0850a5}{colorize\+Edge\+Selection} (int object\+Id, int r, int g, int b, int a)
\begin{DoxyCompactList}\small\item\em Colorize the edge selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab435bffafc99e8a29f136613d5fe8e0a}\label{classMeshObjectSelectionPlugin_ab435bffafc99e8a29f136613d5fe8e0a}} 
void \hyperlink{classMeshObjectSelectionPlugin_ab435bffafc99e8a29f136613d5fe8e0a}{trace\+Edge\+Path} (int object\+Id, double threshold)
\begin{DoxyCompactList}\small\item\em Trace Edge Path. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a83fce051e07031e2329fa59e627fba90}\label{classMeshObjectSelectionPlugin_a83fce051e07031e2329fa59e627fba90}} 
void \hyperlink{classMeshObjectSelectionPlugin_a83fce051e07031e2329fa59e627fba90}{select\+Halfedges} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+vertex\+List)
\begin{DoxyCompactList}\small\item\em Select given Halfedges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a3388e87eefd6184e05c858ec08dd8893}\label{classMeshObjectSelectionPlugin_a3388e87eefd6184e05c858ec08dd8893}} 
bool \hyperlink{classMeshObjectSelectionPlugin_a3388e87eefd6184e05c858ec08dd8893}{select\+Halfedge} (int \+\_\+object\+Id, int \+\_\+idx, bool \+\_\+fly\+\_\+to\+\_\+halfedge)
\begin{DoxyCompactList}\small\item\em Select halfedge with id \+\_\+idx and maybe fly to it. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_afc0d01fb9b310197c4cecc7c0d417a9b}\label{classMeshObjectSelectionPlugin_afc0d01fb9b310197c4cecc7c0d417a9b}} 
void \hyperlink{classMeshObjectSelectionPlugin_afc0d01fb9b310197c4cecc7c0d417a9b}{unselect\+Halfedges} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+vertex\+List)
\begin{DoxyCompactList}\small\item\em Unselect given Halfedges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a4bb47eb1ebf4428ebaecbad92faeede5}\label{classMeshObjectSelectionPlugin_a4bb47eb1ebf4428ebaecbad92faeede5}} 
void \hyperlink{classMeshObjectSelectionPlugin_a4bb47eb1ebf4428ebaecbad92faeede5}{select\+All\+Halfedges} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Select all Halfedges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a5114d73dc505a68a2c1745eb1ec1cacd}\label{classMeshObjectSelectionPlugin_a5114d73dc505a68a2c1745eb1ec1cacd}} 
void \hyperlink{classMeshObjectSelectionPlugin_a5114d73dc505a68a2c1745eb1ec1cacd}{invert\+Halfedge\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Unselect all Halfedges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a861025379b1769ea76a7fe3e98db31bb}\label{classMeshObjectSelectionPlugin_a861025379b1769ea76a7fe3e98db31bb}} 
void \hyperlink{classMeshObjectSelectionPlugin_a861025379b1769ea76a7fe3e98db31bb}{clear\+Halfedge\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Invert the current edge selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a20c204890b93a2c15bdfe4b2f1603d83}\label{classMeshObjectSelectionPlugin_a20c204890b93a2c15bdfe4b2f1603d83}} 
void \hyperlink{classMeshObjectSelectionPlugin_a20c204890b93a2c15bdfe4b2f1603d83}{select\+Boundary\+Halfedges} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Select boundary edges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a4f053517bddb67dc1f8f953d770a3b89}\label{classMeshObjectSelectionPlugin_a4f053517bddb67dc1f8f953d770a3b89}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_a4f053517bddb67dc1f8f953d770a3b89}{get\+Halfedge\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Return a list of all selected edges. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab81789261727bc1d2520bd87d62751da}\label{classMeshObjectSelectionPlugin_ab81789261727bc1d2520bd87d62751da}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_ab81789261727bc1d2520bd87d62751da}{convert\+Halfedges\+To\+Vertex\+Pairs} (int \+\_\+id, const \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \&\+\_\+halfedges)
\begin{DoxyCompactList}\small\item\em Convert halfedge ids to vertex pairs. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a62c1da86972398667b894ec05aca9017}\label{classMeshObjectSelectionPlugin_a62c1da86972398667b894ec05aca9017}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_a62c1da86972398667b894ec05aca9017}{convert\+Vertex\+Pairs\+To\+Halfedges} (int \+\_\+id, const \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \&\+\_\+vertices)
\begin{DoxyCompactList}\small\item\em Inverse of function above. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_ac7f280b37745988dcd147ba52054b192}{colorize\+Halfedge\+Selection} (int object\+Id, int r, int g, int b, int a)
\begin{DoxyCompactList}\small\item\em Colorize the edge selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_abdec872ad052e4e68a29d4c3dfc23907}\label{classMeshObjectSelectionPlugin_abdec872ad052e4e68a29d4c3dfc23907}} 
void \hyperlink{classMeshObjectSelectionPlugin_abdec872ad052e4e68a29d4c3dfc23907}{select\+Faces} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+faces\+List)
\begin{DoxyCompactList}\small\item\em Select given faces. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a8a3a3f2b5b7a1215c859c1531083b74b}\label{classMeshObjectSelectionPlugin_a8a3a3f2b5b7a1215c859c1531083b74b}} 
bool \hyperlink{classMeshObjectSelectionPlugin_a8a3a3f2b5b7a1215c859c1531083b74b}{select\+Face} (int \+\_\+object\+Id, int \+\_\+idx, bool \+\_\+fly\+\_\+to\+\_\+face)
\begin{DoxyCompactList}\small\item\em Select face with id \+\_\+idx and maybe fly to it. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a4e80242a120932e7149353bca8f7987b}\label{classMeshObjectSelectionPlugin_a4e80242a120932e7149353bca8f7987b}} 
void \hyperlink{classMeshObjectSelectionPlugin_a4e80242a120932e7149353bca8f7987b}{unselect\+Faces} (int object\+Id, \hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \+\_\+faces\+List)
\begin{DoxyCompactList}\small\item\em Unselect given faces. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a3f9678b9cb4b58e130da484ae31999c8}\label{classMeshObjectSelectionPlugin_a3f9678b9cb4b58e130da484ae31999c8}} 
void \hyperlink{classMeshObjectSelectionPlugin_a3f9678b9cb4b58e130da484ae31999c8}{select\+All\+Faces} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Select all faces. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a3b944b74520f47904a4334ecdb3e7bc8}\label{classMeshObjectSelectionPlugin_a3b944b74520f47904a4334ecdb3e7bc8}} 
void \hyperlink{classMeshObjectSelectionPlugin_a3b944b74520f47904a4334ecdb3e7bc8}{clear\+Face\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Unselect all faces. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a1f8e14b47b9d89b9fda470cb5115d42b}\label{classMeshObjectSelectionPlugin_a1f8e14b47b9d89b9fda470cb5115d42b}} 
void \hyperlink{classMeshObjectSelectionPlugin_a1f8e14b47b9d89b9fda470cb5115d42b}{invert\+Face\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Invert the current face selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a0e73340ae6a9de1f4057c248bf0f5a7e}\label{classMeshObjectSelectionPlugin_a0e73340ae6a9de1f4057c248bf0f5a7e}} 
void \hyperlink{classMeshObjectSelectionPlugin_a0e73340ae6a9de1f4057c248bf0f5a7e}{delete\+Face\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Delete face that are currently selected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_adebe5888404e4aaada15810fe5909154}\label{classMeshObjectSelectionPlugin_adebe5888404e4aaada15810fe5909154}} 
void \hyperlink{classMeshObjectSelectionPlugin_adebe5888404e4aaada15810fe5909154}{select\+Boundary\+Faces} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Select all boundary faces of the given object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af05a2b3672c33dbeac32b5e08e1f0353}\label{classMeshObjectSelectionPlugin_af05a2b3672c33dbeac32b5e08e1f0353}} 
void \hyperlink{classMeshObjectSelectionPlugin_af05a2b3672c33dbeac32b5e08e1f0353}{shrink\+Face\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Shrink the current face selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ab3f89be3c5a7137c26e2ebade0d2fe20}\label{classMeshObjectSelectionPlugin_ab3f89be3c5a7137c26e2ebade0d2fe20}} 
void \hyperlink{classMeshObjectSelectionPlugin_ab3f89be3c5a7137c26e2ebade0d2fe20}{grow\+Face\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Grow the current face selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_acf1b5dc9931bfa28f3f21d3384f4daa2}\label{classMeshObjectSelectionPlugin_acf1b5dc9931bfa28f3f21d3384f4daa2}} 
\hyperlink{DataTypes_8hh_af4b4959090eb91720b2f1f4bd6131cfb}{Id\+List} \hyperlink{classMeshObjectSelectionPlugin_acf1b5dc9931bfa28f3f21d3384f4daa2}{get\+Face\+Selection} (int object\+Id)
\begin{DoxyCompactList}\small\item\em Return a list of all selected faces. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a77c7ca3b8ba50b6488b66ce62a9f85a2}\label{classMeshObjectSelectionPlugin_a77c7ca3b8ba50b6488b66ce62a9f85a2}} 
int \hyperlink{classMeshObjectSelectionPlugin_a77c7ca3b8ba50b6488b66ce62a9f85a2}{create\+Mesh\+From\+Face\+Selection} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Create a mesh containing the face selection of the given mesh. \end{DoxyCompactList}\item 
void \hyperlink{classMeshObjectSelectionPlugin_a4d830efcada3bf729a0eaf55d3ab4792}{colorize\+Face\+Selection} (int object\+Id, int r, int g, int b, int a)
\begin{DoxyCompactList}\small\item\em Colorize the face selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a7b3cf6a982fc042c06c0f546c920a498}\label{classMeshObjectSelectionPlugin_a7b3cf6a982fc042c06c0f546c920a498}} 
void \hyperlink{classMeshObjectSelectionPlugin_a7b3cf6a982fc042c06c0f546c920a498}{lasso\+Select} (Q\+Region \&\+\_\+region, Primitive\+Type \+\_\+primitive\+Type, bool \+\_\+deselection)
\begin{DoxyCompactList}\small\item\em Lasso selection tool. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_adebb48f373467f327cd9ca1c179195ae}\label{classMeshObjectSelectionPlugin_adebb48f373467f327cd9ca1c179195ae}} 
void \hyperlink{classMeshObjectSelectionPlugin_adebb48f373467f327cd9ca1c179195ae}{convert\+Selection} (const int \&\+\_\+object\+Id, const Q\+String \&\+\_\+from, const Q\+String \&\+\_\+to, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Convert the selection on one object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a91a5ab1de6f1de02aec28613d8b616ee}\label{classMeshObjectSelectionPlugin_a91a5ab1de6f1de02aec28613d8b616ee}} 
void \hyperlink{classMeshObjectSelectionPlugin_a91a5ab1de6f1de02aec28613d8b616ee}{conversion} (const Q\+String \&\+\_\+from, const Q\+String \&\+\_\+to, bool \+\_\+deselect)
\begin{DoxyCompactList}\small\item\em Convert the selection on all target objects. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ace4e02e20f60081842eeeddcbf218416}\label{classMeshObjectSelectionPlugin_ace4e02e20f60081842eeeddcbf218416}} 
{\footnotesize template$<$typename Mesh\+ObjectT , typename HandleT $>$ }\\void \hyperlink{classMeshObjectSelectionPlugin_ace4e02e20f60081842eeeddcbf218416}{get\+Flight\+Data} (Mesh\+ObjectT \&\+\_\+mesh\+\_\+object, HandleT \+\_\+handle, \hyperlink{namespaceOpenMesh_aca56e7eac7bf182bfff4ea1841d2cea2}{Open\+Mesh\+::\+Vec3d} \&center, \hyperlink{namespaceOpenMesh_aca56e7eac7bf182bfff4ea1841d2cea2}{Open\+Mesh\+::\+Vec3d} \&normal, bool \&handle\+\_\+valid)
\begin{DoxyCompactList}\small\item\em set dihedral angle threshold for edge selection \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_acac69b0730f5dae4a6ceb9ccc5f0f149}\label{classMeshObjectSelectionPlugin_acac69b0730f5dae4a6ceb9ccc5f0f149}} 
void \hyperlink{classMeshObjectSelectionPlugin_acac69b0730f5dae4a6ceb9ccc5f0f149}{update\+\_\+dihedral\+\_\+angle\+\_\+threshold\+\_\+from\+\_\+ui} ()
\begin{DoxyCompactList}\small\item\em set dihedral angle threshold for edge selection \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}


Definition at line 73 of file Mesh\+Object\+Selection\+Plugin.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classMeshObjectSelectionPlugin_acc64aa7b9d9d0a071846f333079be37c}\label{classMeshObjectSelectionPlugin_acc64aa7b9d9d0a071846f333079be37c}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!added\+Empty\+Object@{added\+Empty\+Object}}
\index{added\+Empty\+Object@{added\+Empty\+Object}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{added\+Empty\+Object()}{addedEmptyObject()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::added\+Empty\+Object (\begin{DoxyParamCaption}\item[{int}]{\+\_\+id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



An empty object has been added. 

Slot is called if an empty object has been added by the core.~\newline
This slot will be executed on the main thread.~\newline

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


Reimplemented from \hyperlink{classLoadSaveInterface_acb0f81b08c31541abdc572f2fa400bf1}{Load\+Save\+Interface}.



Definition at line 2330 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a77236995b7152093d3a9ed90b6324b4d}\label{classMeshObjectSelectionPlugin_a77236995b7152093d3a9ed90b6324b4d}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!closest\+Boundary\+Selection@{closest\+Boundary\+Selection}}
\index{closest\+Boundary\+Selection@{closest\+Boundary\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{closest\+Boundary\+Selection()}{closestBoundarySelection()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Mesh\+Object\+Selection\+Plugin\+::closest\+Boundary\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{int}]{\+\_\+vh,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Types,  }\item[{bool}]{\+\_\+deselection }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Select all entities that are incident to closest boundary. 

select primitives of the closest boundary


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & a mesh \\
\hline
{\em \+\_\+vh} & handle of the vertex that was picked \\
\hline
{\em \+\_\+primitive\+Types} & the currently active primitive types \\
\hline
{\em \+\_\+deselection} & true if primitives should be deselected \\
\hline
\end{DoxyParams}


Definition at line 474 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a4d830efcada3bf729a0eaf55d3ab4792}\label{classMeshObjectSelectionPlugin_a4d830efcada3bf729a0eaf55d3ab4792}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!colorize\+Face\+Selection@{colorize\+Face\+Selection}}
\index{colorize\+Face\+Selection@{colorize\+Face\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{colorize\+Face\+Selection}{colorizeFaceSelection}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::colorize\+Face\+Selection (\begin{DoxyParamCaption}\item[{int}]{object\+Id,  }\item[{int}]{r,  }\item[{int}]{g,  }\item[{int}]{b,  }\item[{int}]{a }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



Colorize the face selection. 

colorize the face selection 

Definition at line 322 of file Face\+Selection.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ac7f280b37745988dcd147ba52054b192}\label{classMeshObjectSelectionPlugin_ac7f280b37745988dcd147ba52054b192}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!colorize\+Halfedge\+Selection@{colorize\+Halfedge\+Selection}}
\index{colorize\+Halfedge\+Selection@{colorize\+Halfedge\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{colorize\+Halfedge\+Selection}{colorizeHalfedgeSelection}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::colorize\+Halfedge\+Selection (\begin{DoxyParamCaption}\item[{int}]{object\+Id,  }\item[{int}]{r,  }\item[{int}]{g,  }\item[{int}]{b,  }\item[{int}]{a }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



Colorize the edge selection. 

colorize the halfedge selection 

Definition at line 360 of file Halfedge\+Selection.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a040847c992d50e2b857ba038b9e502a9}\label{classMeshObjectSelectionPlugin_a040847c992d50e2b857ba038b9e502a9}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!colorize\+Selection@{colorize\+Selection}}
\index{colorize\+Selection@{colorize\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{colorize\+Selection()}{colorizeSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Object\+Selection\+Plugin\+::colorize\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Types,  }\item[{int}]{\+\_\+red,  }\item[{int}]{\+\_\+green,  }\item[{int}]{\+\_\+blue,  }\item[{int}]{\+\_\+alpha }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Colorize the selection. 

Colorize a selection.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & a mesh \\
\hline
{\em \+\_\+primitive\+Types} & selection types \\
\hline
{\em \+\_\+red} & rgba color \\
\hline
{\em \+\_\+green} & rgba color \\
\hline
{\em \+\_\+blue} & rgba color \\
\hline
{\em \+\_\+alpha} & rgba color \\
\hline
\end{DoxyParams}


Definition at line 803 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af3e243723267df1f0808d8b5479f7a63}\label{classMeshObjectSelectionPlugin_af3e243723267df1f0808d8b5479f7a63}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!colorize\+Vertex\+Selection@{colorize\+Vertex\+Selection}}
\index{colorize\+Vertex\+Selection@{colorize\+Vertex\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{colorize\+Vertex\+Selection}{colorizeVertexSelection}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::colorize\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id,  }\item[{int}]{\+\_\+r,  }\item[{int}]{\+\_\+g,  }\item[{int}]{\+\_\+b,  }\item[{int}]{a }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



Colorize the vertex selection. 

colorize the vertex selection 

Definition at line 348 of file Vertex\+Selection.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ad030106f96c820973a77dbf9d6d8cd21}\label{classMeshObjectSelectionPlugin_ad030106f96c820973a77dbf9d6d8cd21}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!components\+Mesh\+Selection@{components\+Mesh\+Selection}}
\index{components\+Mesh\+Selection@{components\+Mesh\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{components\+Mesh\+Selection()}{componentsMeshSelection()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Mesh\+Object\+Selection\+Plugin\+::components\+Mesh\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{int}]{\+\_\+object\+Id,  }\item[{uint}]{\+\_\+fh,  }\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+hit\+\_\+point,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Connected component mesh selection. 

Select a complete connected component.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & a mesh \\
\hline
{\em \+\_\+object\+Id} & Object Id to work on \\
\hline
{\em \+\_\+fh} & handle of the face that was picked \\
\hline
{\em \+\_\+hit\+\_\+point} & point that was picked \\
\hline
{\em \+\_\+primitive\+Type} & primitive types to be selected \\
\hline
\end{DoxyParams}


Definition at line 645 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a25d1761dfa8f234b6c29859800b3c748}\label{classMeshObjectSelectionPlugin_a25d1761dfa8f234b6c29859800b3c748}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!create\+Mesh\+From\+Selection@{create\+Mesh\+From\+Selection}}
\index{create\+Mesh\+From\+Selection@{create\+Mesh\+From\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{create\+Mesh\+From\+Selection()}{createMeshFromSelection()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Mesh\+Object\+Selection\+Plugin\+::create\+Mesh\+From\+Selection (\begin{DoxyParamCaption}\item[{MeshT \&}]{\+\_\+mesh,  }\item[{MeshT \&}]{\+\_\+new\+Mesh,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Create a new mesh from the selection. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & A mesh \\
\hline
{\em \+\_\+new\+Mesh} & The resulting mesh containing only the selected elements \\
\hline
{\em \+\_\+primitive\+Type} & Which primitive should be used for selection (vertices,faces,edges,...) \\
\hline
\end{DoxyParams}


Definition at line 877 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ad38d5b10294c74124334e5db1d1e2cbe}\label{classMeshObjectSelectionPlugin_ad38d5b10294c74124334e5db1d1e2cbe}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!delete\+Selection@{delete\+Selection}}
\index{delete\+Selection@{delete\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{delete\+Selection()}{deleteSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
bool Mesh\+Object\+Selection\+Plugin\+::delete\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Delete all selected elements of a mesh. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & a mesh \\
\hline
{\em \+\_\+primitive\+Type} & bitmask of active primitive types \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
returns true if the mesh was changed(i.\+e there was something selected that was deleted) 
\end{DoxyReturn}


Definition at line 58 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a8b680910aeb280481706975f73cd0d69}\label{classMeshObjectSelectionPlugin_a8b680910aeb280481706975f73cd0d69}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!description@{description}}
\index{description@{description}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{description()}{description()}}
{\footnotesize\ttfamily Q\+String Mesh\+Object\+Selection\+Plugin\+::description (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [private]}, {\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 198 of file Mesh\+Object\+Selection\+Plugin.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a6b46ba7b4af8e76c5b68f41800f4dd80}\label{classMeshObjectSelectionPlugin_a6b46ba7b4af8e76c5b68f41800f4dd80}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!flood\+Fill\+Selection@{flood\+Fill\+Selection}}
\index{flood\+Fill\+Selection@{flood\+Fill\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{flood\+Fill\+Selection()}{floodFillSelection()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Mesh\+Object\+Selection\+Plugin\+::flood\+Fill\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{int}]{\+\_\+object\+Id,  }\item[{uint}]{\+\_\+fh,  }\item[{double}]{\+\_\+max\+Angle,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Types,  }\item[{bool}]{\+\_\+deselection }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Select all entities that are connected (and do not exceed the maximum dihedral angle) 

Select all primitves of a planar region surrounding the face\+Handle.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & a mesh \\
\hline
{\em \+\_\+object\+Id} & object id to work on \\
\hline
{\em \+\_\+fh} & handle of the face that was picked \\
\hline
{\em \+\_\+max\+Angle} & the maximum dihedral angle over which the flood fill selection passes \\
\hline
{\em \+\_\+primitive\+Types} & the currently active primitive types \\
\hline
{\em \+\_\+deselection} & true if primitives should be deselected \\
\hline
\end{DoxyParams}


Definition at line 556 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a169c657c3abcf2c6eb6bef5e634e3e96}\label{classMeshObjectSelectionPlugin_a169c657c3abcf2c6eb6bef5e634e3e96}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!initialize\+Options\+Widget@{initialize\+Options\+Widget}}
\index{initialize\+Options\+Widget@{initialize\+Options\+Widget}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{initialize\+Options\+Widget()}{initializeOptionsWidget()}}
{\footnotesize\ttfamily bool Mesh\+Object\+Selection\+Plugin\+::initialize\+Options\+Widget (\begin{DoxyParamCaption}\item[{Q\+Widget $\ast$\&}]{\+\_\+widget }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Initialize the Options Widget. 

Initialize the options widget (create a widget and return a pointer to it ) ~\newline
~\newline
 Example \+: ~\newline
 \+\_\+widget = new Q\+Widget(); ~\newline
~\newline
In the widget you can add anything you want.~\newline
~\newline
 use the slot apply\+Options() to save the values of options currently entered in your widget. ~\newline

\begin{DoxyParams}{Parameters}
{\em \+\_\+widget} & Pointer to the new Widget \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Return true if a widget has been created 
\end{DoxyReturn}


Implements \hyperlink{classOptionsInterface_a2c3792590a9eecb6a76e6cba5de731a6}{Options\+Interface}.



Definition at line 2274 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ae85ff81bd900a94b783e604b97f10085}\label{classMeshObjectSelectionPlugin_ae85ff81bd900a94b783e604b97f10085}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!paint\+Sphere\+Selection@{paint\+Sphere\+Selection}}
\index{paint\+Sphere\+Selection@{paint\+Sphere\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{paint\+Sphere\+Selection()}{paintSphereSelection()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Mesh\+Object\+Selection\+Plugin\+::paint\+Sphere\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{int}]{\+\_\+object\+Id,  }\item[{int}]{\+\_\+target\+\_\+idx,  }\item[{typename Mesh\+T\+::\+Point}]{\+\_\+hitpoint,  }\item[{double}]{\+\_\+radius,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Type,  }\item[{bool}]{\+\_\+deselection }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Use the event to paint selection with a sphere. 

paint selection with a sphere


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & a mesh \\
\hline
{\em \+\_\+object\+Id} & object id to work on \\
\hline
{\em \+\_\+target\+\_\+idx} & handle of the face that was hit by the mouse picking \\
\hline
{\em \+\_\+hitpoint} & point where the mouse picking hit \\
\hline
{\em \+\_\+radius} & Radius of the selection sphere \\
\hline
{\em \+\_\+primitive\+Type} & primitive types to be selected \\
\hline
{\em \+\_\+deselection} & true, if entities should be deselected \\
\hline
\end{DoxyParams}


Definition at line 255 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ac13d0b20a9ccc7ec0834020b7e46f68c}\label{classMeshObjectSelectionPlugin_ac13d0b20a9ccc7ec0834020b7e46f68c}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!select\+Vertices\+By\+Value@{select\+Vertices\+By\+Value}}
\index{select\+Vertices\+By\+Value@{select\+Vertices\+By\+Value}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{select\+Vertices\+By\+Value}{selectVerticesByValue}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::select\+Vertices\+By\+Value (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id,  }\item[{Q\+String}]{\+\_\+component,  }\item[{bool}]{\+\_\+greater,  }\item[{double}]{\+\_\+value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



Select vertices by their value. 

\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000043}{Todo}]emit scriptinfo \end{DoxyRefDesc}


Definition at line 584 of file Vertex\+Selection.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aad870540ec0272106b71827aabbfc021}\label{classMeshObjectSelectionPlugin_aad870540ec0272106b71827aabbfc021}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Closest\+Boundary\+Selection@{slot\+Closest\+Boundary\+Selection}}
\index{slot\+Closest\+Boundary\+Selection@{slot\+Closest\+Boundary\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Closest\+Boundary\+Selection()}{slotClosestBoundarySelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Closest\+Boundary\+Selection (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event,  }\item[{Selection\+Interface\+::\+Primitive\+Type}]{\+\_\+current\+Type,  }\item[{bool}]{\+\_\+deselect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Called whenever the user performs a closest boundary selection. 

This has to be implemented by each type selection plugin if this interactive selection mode should be provided. The metaphor behind it is that the user clicks on an object and the primitives at the closest boundary get selected.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & The mouse event that currently is performed \\
\hline
{\em \+\_\+current\+Type} & The currently active primitive type \\
\hline
{\em \+\_\+deselect} & True if entities should be deselected \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_acc0da8cf5e115de8c4ae239ab6b364c1}{Selection\+Interface}.



Definition at line 1379 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a738301732e5ea55ea68db39bb9950a6e}\label{classMeshObjectSelectionPlugin_a738301732e5ea55ea68db39bb9950a6e}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Components\+Selection@{slot\+Components\+Selection}}
\index{slot\+Components\+Selection@{slot\+Components\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Components\+Selection()}{slotComponentsSelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Components\+Selection (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event,  }\item[{Selection\+Interface\+::\+Primitive\+Type}]{\+\_\+current\+Type,  }\item[{bool}]{\+\_\+deselect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Called whenever the user performs a connected components selection. 

This has to be implemented by each type selection plugin if this interactive selection mode should be provided. The metaphor behind it is that the user clicks on an object and all primitives that are connected to the clicked primitive are selected as well.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & The mouse event that currently is performed \\
\hline
{\em \+\_\+current\+Type} & The currently active primitive type \\
\hline
{\em \+\_\+deselect} & True if entities should be deselected \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_a2c0a078cf6f639459abb4e07c97f72e2}{Selection\+Interface}.



Definition at line 1481 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a6dc5dce5ac7939c522385024c0b25075}\label{classMeshObjectSelectionPlugin_a6dc5dce5ac7939c522385024c0b25075}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Flood\+Fill\+Selection@{slot\+Flood\+Fill\+Selection}}
\index{slot\+Flood\+Fill\+Selection@{slot\+Flood\+Fill\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Flood\+Fill\+Selection()}{slotFloodFillSelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Flood\+Fill\+Selection (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event,  }\item[{Selection\+Interface\+::\+Primitive\+Type}]{\+\_\+current\+Type,  }\item[{bool}]{\+\_\+deselect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Called whenever the user performs a flood fill selection. 

This has to be implemented by each type selection plugin if this interactive selection mode should be provided. The metaphor behind it is that the user clicks on an object and all primitives close to this point get selected, if the angle between the clicked point and the next point does not differ more than the specified angle.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & The mouse event that currently is performed \\
\hline
{\em \+\_\+current\+Type} & The currently active primitive type \\
\hline
{\em \+\_\+deselect} & True if entities should be deselected \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_a31d7ad7aaa0929fa38b660f6361ea338}{Selection\+Interface}.



Definition at line 1419 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a1ad2ab099d6108682a7eb00e1472ee01}\label{classMeshObjectSelectionPlugin_a1ad2ab099d6108682a7eb00e1472ee01}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Key\+Shortcut\+Event@{slot\+Key\+Shortcut\+Event}}
\index{slot\+Key\+Shortcut\+Event@{slot\+Key\+Shortcut\+Event}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Key\+Shortcut\+Event()}{slotKeyShortcutEvent()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Key\+Shortcut\+Event (\begin{DoxyParamCaption}\item[{int}]{\+\_\+key,  }\item[{Qt\+::\+Keyboard\+Modifiers}]{\+\_\+modifiers }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



One of the previously registered keys has been pressed. 

This slot is called whenever the user has pressed one of the registered keys. Note that this is actually handled by the selection base plugin since the different plugins might want to register the same key multiple times.


\begin{DoxyParams}{Parameters}
{\em \+\_\+key} & The pressed key \\
\hline
{\em \+\_\+modifiers} & Indicates whether mod-\/keys have been pressed synchronously \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_a999542653d36b5791117fb59e583e4d4}{Selection\+Interface}.



Definition at line 1817 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ade283f224cd07e99291c4bf5e301b124}\label{classMeshObjectSelectionPlugin_ade283f224cd07e99291c4bf5e301b124}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Lasso\+Selection@{slot\+Lasso\+Selection}}
\index{slot\+Lasso\+Selection@{slot\+Lasso\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Lasso\+Selection()}{slotLassoSelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Lasso\+Selection (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event,  }\item[{Selection\+Interface\+::\+Primitive\+Type}]{\+\_\+current\+Type,  }\item[{bool}]{\+\_\+deselect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Called whenever the user performs a lasso selection. 

This has to be implemented by each type selection plugin if this interactive selection mode should be provided. The metaphor behind it is that the user draws a polygonal line and all primitives which are {\bfseries visible} get selected.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & The mouse event that currently is performed \\
\hline
{\em \+\_\+current\+Type} & The currently active primitive type \\
\hline
{\em \+\_\+deselect} & True if entities should be deselected \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_a7538f8a7bcf7e768e2c9d8a23a4b8e2e}{Selection\+Interface}.



Definition at line 1294 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a369c2a02710d5e03fa5966d7bfdd6773}\label{classMeshObjectSelectionPlugin_a369c2a02710d5e03fa5966d7bfdd6773}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Load\+Selection@{slot\+Load\+Selection}}
\index{slot\+Load\+Selection@{slot\+Load\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Load\+Selection()}{slotLoadSelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Load\+Selection (\begin{DoxyParamCaption}\item[{const \hyperlink{classINIFile}{I\+N\+I\+File} \&}]{\+\_\+file }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Load selection for specific objects in the scene. 

Open\+Flipper allows for saving of selections in an I\+NI file (implemented by the different selection plugins by overriding function \hyperlink{classMeshObjectSelectionPlugin_abab87c229d53e80398f1ddba4ed485fe}{slot\+Save\+Selection()}). So this slot is called each time such I\+NI file is about to be loaded.


\begin{DoxyParams}{Parameters}
{\em \+\_\+file} & The file from which one can read the selection data \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_a916a266bea486f7f4d867e8bc9f2014f}{Selection\+Interface}.



Definition at line 1746 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_af0d0e34edaa7e663b31a64afbc6806e5}\label{classMeshObjectSelectionPlugin_af0d0e34edaa7e663b31a64afbc6806e5}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Mouse\+Wheel\+Event@{slot\+Mouse\+Wheel\+Event}}
\index{slot\+Mouse\+Wheel\+Event@{slot\+Mouse\+Wheel\+Event}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Mouse\+Wheel\+Event()}{slotMouseWheelEvent()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Mouse\+Wheel\+Event (\begin{DoxyParamCaption}\item[{Q\+Wheel\+Event $\ast$}]{\+\_\+event,  }\item[{std\+::string const \&}]{\+\_\+mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Wheel Event from main application. 

This slot is called if a wheel event occurred in the Viewer and is extended by the current Mode set in the Viewer. You can add additional Picking Modes to the Viewer by using the picking interface. This slot will only get called in picking\+Mode. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & Mouse event \\
\hline
{\em \+\_\+mode} & Name of the current Picking Mode. \\
\hline
\end{DoxyParams}


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



Definition at line 1909 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_abab87c229d53e80398f1ddba4ed485fe}\label{classMeshObjectSelectionPlugin_abab87c229d53e80398f1ddba4ed485fe}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Save\+Selection@{slot\+Save\+Selection}}
\index{slot\+Save\+Selection@{slot\+Save\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Save\+Selection()}{slotSaveSelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Save\+Selection (\begin{DoxyParamCaption}\item[{\hyperlink{classINIFile}{I\+N\+I\+File} \&}]{\+\_\+file }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Save selection for all objects in the scene. 

Override this slot in order to save selections for a specific data type. These selections are then stored within an I\+NI file and can be loaded via \hyperlink{classMeshObjectSelectionPlugin_a369c2a02710d5e03fa5966d7bfdd6773}{slot\+Load\+Selection()}.


\begin{DoxyParams}{Parameters}
{\em \+\_\+file} & The file into which one can store selection data \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_a1c9f790d2cdb9c72a203b1cbd12828e2}{Selection\+Interface}.



Definition at line 1791 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_aeb16a55ef7df369a7828622e96f2eb51}\label{classMeshObjectSelectionPlugin_aeb16a55ef7df369a7828622e96f2eb51}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Selection\+Operation@{slot\+Selection\+Operation}}
\index{slot\+Selection\+Operation@{slot\+Selection\+Operation}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Selection\+Operation()}{slotSelectionOperation()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Selection\+Operation (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+operation }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



A specific operation is requested. 

This slot is called each time the user has pressed one of the operations buttons (for the various primitive types) offered in the tool box.


\begin{DoxyParams}{Parameters}
{\em \+\_\+operation} & The identifier of the operation just as registered via add\+Selection\+Operations \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_a7062634e1ff05505d013ca5716a3a848}{Selection\+Interface}.



Definition at line 453 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a98aad925033a98c2c52f18d096a693bf}\label{classMeshObjectSelectionPlugin_a98aad925033a98c2c52f18d096a693bf}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Sphere\+Selection@{slot\+Sphere\+Selection}}
\index{slot\+Sphere\+Selection@{slot\+Sphere\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Sphere\+Selection()}{slotSphereSelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Sphere\+Selection (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event,  }\item[{double}]{\+\_\+radius,  }\item[{Selection\+Interface\+::\+Primitive\+Type}]{\+\_\+current\+Type,  }\item[{bool}]{\+\_\+deselect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Called whenever the user performs a sphere selection. 

This has to be implemented by each type selection plugin if this interactive selection mode should be provided. The metaphor behind it is that the user draws the selection with a sphere. All primitives inside the current sphere get selected.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & The mouse event that currently is performed \\
\hline
{\em \+\_\+radius} & The current radius of the selection sphere \\
\hline
{\em \+\_\+current\+Type} & The currently active primitive type \\
\hline
{\em \+\_\+deselect} & True if entities should be deselected \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_a4e693dc4deade5738d7b13fce787b4f7}{Selection\+Interface}.



Definition at line 1352 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a51b5e193bc7be9ffa61fa4f56f9ad7fc}\label{classMeshObjectSelectionPlugin_a51b5e193bc7be9ffa61fa4f56f9ad7fc}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Toggle\+Selection@{slot\+Toggle\+Selection}}
\index{slot\+Toggle\+Selection@{slot\+Toggle\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Toggle\+Selection()}{slotToggleSelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Toggle\+Selection (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event,  }\item[{Selection\+Interface\+::\+Primitive\+Type}]{\+\_\+current\+Type,  }\item[{bool}]{\+\_\+deselect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Called whenever the user performs a toggle selection. 

This has to be implemented by each type selection plugin if this interactive selection mode should be provided.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & The mouse event that occurred \\
\hline
{\em \+\_\+current\+Type} & The currently active primitive type \\
\hline
{\em \+\_\+deselect} & True if entities should be deselected \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_adb1742f2f116da187a34a82ec0880300}{Selection\+Interface}.



Definition at line 1239 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_ae6ff55442beeb8600811f40ebc02d95c}\label{classMeshObjectSelectionPlugin_ae6ff55442beeb8600811f40ebc02d95c}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!slot\+Volume\+Lasso\+Selection@{slot\+Volume\+Lasso\+Selection}}
\index{slot\+Volume\+Lasso\+Selection@{slot\+Volume\+Lasso\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Volume\+Lasso\+Selection()}{slotVolumeLassoSelection()}}
{\footnotesize\ttfamily void Mesh\+Object\+Selection\+Plugin\+::slot\+Volume\+Lasso\+Selection (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event,  }\item[{Selection\+Interface\+::\+Primitive\+Type}]{\+\_\+current\+Type,  }\item[{bool}]{\+\_\+deselect }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Called whenever the user performs a volume lasso selection. 

This has to be implemented by each type selection plugin if this interactive selection mode should be provided. The metaphor behind it is that the user draws a polygonal line and all primitives which are insinde the volume spanned by the eye position and the polygon get selected.


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & The mouse event that currently is performed \\
\hline
{\em \+\_\+current\+Type} & The currently active primitive type \\
\hline
{\em \+\_\+deselect} & True if entities should be deselected \\
\hline
\end{DoxyParams}


Reimplemented from \hyperlink{classSelectionInterface_ac0195511eef6d4f9e42218feac3e124b}{Selection\+Interface}.



Definition at line 1321 of file Mesh\+Object\+Selection\+Plugin.\+cc.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a6eace351ae45bddbc145720c0e25fe37}\label{classMeshObjectSelectionPlugin_a6eace351ae45bddbc145720c0e25fe37}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!toggle\+Mesh\+Selection@{toggle\+Mesh\+Selection}}
\index{toggle\+Mesh\+Selection@{toggle\+Mesh\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{toggle\+Mesh\+Selection()}{toggleMeshSelection()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
void Mesh\+Object\+Selection\+Plugin\+::toggle\+Mesh\+Selection (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id,  }\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{uint}]{\+\_\+fh,  }\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+hit\+\_\+point,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Toggle mesh selection. 

Toggle the selection state of mesh primitives.


\begin{DoxyParams}{Parameters}
{\em \+\_\+object\+Id} & id of the object that encapsulates the mesh \\
\hline
{\em \+\_\+mesh} & a mesh \\
\hline
{\em \+\_\+fh} & handle of the face that was picked \\
\hline
{\em \+\_\+hit\+\_\+point} & point that was picked \\
\hline
{\em \+\_\+primitive\+Type} & primitive types to be selected \\
\hline
\end{DoxyParams}


Definition at line 147 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_a040d8c56b1ba1fe7210801be0ec80cdb}\label{classMeshObjectSelectionPlugin_a040d8c56b1ba1fe7210801be0ec80cdb}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!update\+\_\+regions@{update\+\_\+regions}}
\index{update\+\_\+regions@{update\+\_\+regions}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{update\+\_\+regions()}{update\_regions()}}
{\footnotesize\ttfamily template$<$typename Mesh\+Type $>$ \\
void Mesh\+Object\+Selection\+Plugin\+::update\+\_\+regions (\begin{DoxyParamCaption}\item[{Mesh\+Type $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})}



Update face selection to correspond to the vertex selection. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & a mesh \\
\hline
\end{DoxyParams}


Definition at line 107 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classMeshObjectSelectionPlugin_abc6ac7dfd9716669d737e880cc78f937}\label{classMeshObjectSelectionPlugin_abc6ac7dfd9716669d737e880cc78f937}} 
\index{Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}!volume\+Selection@{volume\+Selection}}
\index{volume\+Selection@{volume\+Selection}!Mesh\+Object\+Selection\+Plugin@{Mesh\+Object\+Selection\+Plugin}}
\subsubsection{\texorpdfstring{volume\+Selection()}{volumeSelection()}}
{\footnotesize\ttfamily template$<$class MeshT $>$ \\
bool Mesh\+Object\+Selection\+Plugin\+::volume\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{int}]{\+\_\+object\+Id,  }\item[{\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} \&}]{\+\_\+state,  }\item[{Q\+Region $\ast$}]{\+\_\+region,  }\item[{Primitive\+Type}]{\+\_\+primitive\+Type,  }\item[{bool}]{\+\_\+deselection }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Surface volume selection tool. 

Select all primitves that are projected to the given region.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & a mesh \\
\hline
{\em \+\_\+object\+Id} & object id to work on \\
\hline
{\em \+\_\+state} & current gl state \\
\hline
{\em \+\_\+region} & region \\
\hline
{\em \+\_\+primitive\+Type} & primitive types to be selected \\
\hline
{\em \+\_\+deselection} & true, if entities should be deselected \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true, if something was selected 
\end{DoxyReturn}


Definition at line 391 of file Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin\+Collection-\/\+Selection/\+Plugin-\/\+Selection\+Mesh\+Object/Mesh\+Object\+Selection\+Plugin.\+hh\item 
Plugin\+Collection-\/\+Selection/\+Plugin-\/\+Selection\+Mesh\+Object/Edge\+Selection.\+cc\item 
Plugin\+Collection-\/\+Selection/\+Plugin-\/\+Selection\+Mesh\+Object/Face\+Selection.\+cc\item 
Plugin\+Collection-\/\+Selection/\+Plugin-\/\+Selection\+Mesh\+Object/Halfedge\+Selection.\+cc\item 
Plugin\+Collection-\/\+Selection/\+Plugin-\/\+Selection\+Mesh\+Object/Mesh\+Object\+Selection\+Plugin.\+cc\item 
Plugin\+Collection-\/\+Selection/\+Plugin-\/\+Selection\+Mesh\+Object/Mesh\+Object\+Selection\+Plugin\+T\+\_\+impl.\+hh\item 
Plugin\+Collection-\/\+Selection/\+Plugin-\/\+Selection\+Mesh\+Object/Vertex\+Selection.\+cc\end{DoxyCompactItemize}
