\hypertarget{a01490}{}\section{Open\+Flipper/libs\+\_\+required/\+Mesh\+Tools/\+Mesh\+SelectionT.hh File Reference}
\label{a01490}\index{Open\+Flipper/libs\+\_\+required/\+Mesh\+Tools/\+Mesh\+Selection\+T.\+hh@{Open\+Flipper/libs\+\_\+required/\+Mesh\+Tools/\+Mesh\+Selection\+T.\+hh}}


Functions for selection on a mesh.  


{\ttfamily \#include $<$vector$>$}\newline
\subsection*{Functions}
\begin{Indent}\textbf{ Vertex Selection}\par
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a4eb3ce7421178ac3c582dcf3fb83cee2}{Mesh\+Selection\+::select\+Vertices} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+vertices)
\begin{DoxyCompactList}\small\item\em Select given vertices of a mesh. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a8c595c5dd90cf674a85cc17fe49fb67a}{Mesh\+Selection\+::unselect\+Vertices} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+vertices)
\begin{DoxyCompactList}\small\item\em Unselect given vertices of a mesh. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a924f799afdbd628bcb8153cf20ebb567}{Mesh\+Selection\+::select\+All\+Vertices} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select all vertices of a mesh. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_af258d8432b1b821d2c40acccd23ca1fc}{Mesh\+Selection\+::clear\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Set all vertices to unselected. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a490cb3515f59ad877bfaca84b480fa5c}{Mesh\+Selection\+::invert\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em invert vertex selection \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a5964886273aa35a8f4236fce82768665}{Mesh\+Selection\+::select\+Boundary\+Vertices} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select all vertices of the mesh which are boundary vertices. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a00b2d9a553bd1a9609eaceaca62940c8}{Mesh\+Selection\+::shrink\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Shrink vertex selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a4f52bc1b8c5c9e5dfb41839eb35a79ac}{Mesh\+Selection\+::grow\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Grow vertex selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_a5909c3d4aeccf2e22149fabd9caf2880}{Mesh\+Selection\+::get\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Get the current vertex selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_afb75532536c1fc6ef47e0e301dfb6509}{Mesh\+Selection\+::get\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh, bool \&\+\_\+invert)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a965769976de53986416a407d34db8490}{Mesh\+Selection\+::select\+Boundary\+Vertices} (MeshT $\ast$\+\_\+mesh, const typename Mesh\+T\+::\+Vertex\+Handle \&\+\_\+vh)
\begin{DoxyCompactList}\small\item\em Select all vertices belonging to the same boundary as \+\_\+vh. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a2522bbc22e4d0884c84893d02b7efbd0}{Mesh\+Selection\+::convert\+Vertex\+To\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+vertices)
\begin{DoxyCompactList}\small\item\em Select for each vertex in \+\_\+vertices all incident edges. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a6770e143c4f5df59186ec117bd5a0bdc}{Mesh\+Selection\+::convert\+Vertex\+To\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em For each selected vertex select all incident edges. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a9fb78404f0cbb628c8c058a420ff3ec7}{Mesh\+Selection\+::convert\+Vertex\+To\+Halfedge\+Selection} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+vertices)
\begin{DoxyCompactList}\small\item\em Select for each vertex in \+\_\+vertices all incident halfedges. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a0b033e7428c0452547e856795ec5f8c1}{Mesh\+Selection\+::convert\+Vertex\+To\+Halfedge\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em For each selected vertex select all incident halfedges. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_afacf3d7983ca961a30910a0032525a3f}{Mesh\+Selection\+::convert\+Vertex\+To\+Face\+Selection} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+vertices)
\begin{DoxyCompactList}\small\item\em Select for each vertex in \+\_\+vertices all adjacent faces. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_ad32b82978508150a2b34bfc194b4cc8a}{Mesh\+Selection\+::convert\+Vertex\+To\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em For each selected vertex select all adjacent faces. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_aeee21d615c1d48c8caa8183291e43021}{Mesh\+Selection\+::convert\+Vertex\+Selection\+To\+Feature\+Vertices} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Convert vertex selection to feature selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_af955312b4a1e8a23a35a7f0265d02fdf}{Mesh\+Selection\+::convert\+Feature\+Vertices\+To\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Convert feature selection to vertex selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_aaf5c770f6982168e53edfb80408e2f22}{Mesh\+Selection\+::clear\+Feature\+Vertices} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Clear all features. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Modeling Regions}\par
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_aa452d893d414bda9d1cc5ccf3888240a}{Mesh\+Selection\+::set\+Area} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+vertices, unsigned int \+\_\+type, bool \+\_\+state)
\begin{DoxyCompactList}\small\item\em Set the area bit for all defined vertices. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a6eb4a1bc81d75e29a1d16b617466f1b5}{Mesh\+Selection\+::set\+Area} (MeshT $\ast$\+\_\+mesh, unsigned int \+\_\+type, bool \+\_\+state)
\begin{DoxyCompactList}\small\item\em Reset Modeling Status for vertices. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_a23f1268e0d7f5bdf8d738d2e2dec5f28}{Mesh\+Selection\+::get\+Area} (MeshT $\ast$\+\_\+mesh, unsigned int \+\_\+type)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_abd327b7755783b49cded3324142172fc}{Mesh\+Selection\+::get\+Area} (MeshT $\ast$\+\_\+mesh, unsigned int \+\_\+type, bool \&\+\_\+invert)
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Edge Selection}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a01490_adc22a132c3b78afe000f39571fb2b600}\label{a01490_adc22a132c3b78afe000f39571fb2b600}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_adc22a132c3b78afe000f39571fb2b600}{Mesh\+Selection\+::select\+Edges} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+edges, const double \+\_\+dihedral\+\_\+angle\+\_\+threshold=0.\+0)
\begin{DoxyCompactList}\small\item\em Select given edges of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a46b76ed0f07a034d57ae4f513431340b}\label{a01490_a46b76ed0f07a034d57ae4f513431340b}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a46b76ed0f07a034d57ae4f513431340b}{Mesh\+Selection\+::unselect\+Edges} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+edges)
\begin{DoxyCompactList}\small\item\em Unselect given edges of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a718cbfab9433603180dd5e744cfcfca6}\label{a01490_a718cbfab9433603180dd5e744cfcfca6}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a718cbfab9433603180dd5e744cfcfca6}{Mesh\+Selection\+::select\+All\+Edges} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select all edges of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a3b2e38f60b3f3aca013b58cbc766aab4}\label{a01490_a3b2e38f60b3f3aca013b58cbc766aab4}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a3b2e38f60b3f3aca013b58cbc766aab4}{Mesh\+Selection\+::clear\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Set all edges to unselected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a2f282523b1e2fbebcf4077c51e6d2abc}\label{a01490_a2f282523b1e2fbebcf4077c51e6d2abc}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a2f282523b1e2fbebcf4077c51e6d2abc}{Mesh\+Selection\+::invert\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Invert Edge selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a25a032d258f993b2c5735b0b51a797da}\label{a01490_a25a032d258f993b2c5735b0b51a797da}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a25a032d258f993b2c5735b0b51a797da}{Mesh\+Selection\+::grow\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Invert Edge selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a1f42e3aca8e85b9d84e93498e6dad386}\label{a01490_a1f42e3aca8e85b9d84e93498e6dad386}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a1f42e3aca8e85b9d84e93498e6dad386}{Mesh\+Selection\+::select\+Boundary\+Edges} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select all boundary edges of a mesh. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_ae1b620b3a5ac32e6d4e5d1392040c5ac}{Mesh\+Selection\+::get\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_ae351a508fb66904792a5bd08ea2d5261}{Mesh\+Selection\+::get\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh, bool \&\+\_\+invert)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_ae4cdad7f1467e42405e989070dc1132e}{Mesh\+Selection\+::convert\+Edge\+To\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+edges)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a622f53f1e90545ecfff418b646395855}{Mesh\+Selection\+::convert\+Edge\+To\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_af5e06f45f7d129a6172c8bd69746b0b1}{Mesh\+Selection\+::convert\+Edge\+To\+Face\+Selection} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+edges)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a4cf7d99ab2a628eb9d390901be565b36}{Mesh\+Selection\+::convert\+Edge\+To\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_ad144f05a30e78b947e6a08724065a9ac}{Mesh\+Selection\+::convert\+Edge\+To\+Halfedge\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a070a5f96c16ec115c88b468f7f7e51a7}{Mesh\+Selection\+::convert\+Edge\+Selection\+To\+Feature\+Edges} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a18787a2e2e0aa0bed9041f97df217e28}{Mesh\+Selection\+::convert\+Feature\+Edges\+To\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_afe6804aa5728ed34f8252627600e9c88}{Mesh\+Selection\+::clear\+Feature\+Edges} (MeshT $\ast$\+\_\+mesh)
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Halfedge Selection}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a01490_a110cf10da480e7f80076d32776a14d5f}\label{a01490_a110cf10da480e7f80076d32776a14d5f}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a110cf10da480e7f80076d32776a14d5f}{Mesh\+Selection\+::select\+Halfedges} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+halfedges)
\begin{DoxyCompactList}\small\item\em Select given edges of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_af0bb514fcc5277a866a9c0697599d89a}\label{a01490_af0bb514fcc5277a866a9c0697599d89a}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_af0bb514fcc5277a866a9c0697599d89a}{Mesh\+Selection\+::unselect\+Halfedges} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+halfedges)
\begin{DoxyCompactList}\small\item\em Unselect given edges of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a236c87dca9772c90e8027e6120e5bcdc}\label{a01490_a236c87dca9772c90e8027e6120e5bcdc}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a236c87dca9772c90e8027e6120e5bcdc}{Mesh\+Selection\+::select\+All\+Halfedges} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select all edges of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a205ce70fd607f67ddad0e34643a86321}\label{a01490_a205ce70fd607f67ddad0e34643a86321}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a205ce70fd607f67ddad0e34643a86321}{Mesh\+Selection\+::clear\+Halfedge\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Set all edges to unselected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a185a3a2faebcd592a3dc415070e10df3}\label{a01490_a185a3a2faebcd592a3dc415070e10df3}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a185a3a2faebcd592a3dc415070e10df3}{Mesh\+Selection\+::invert\+Halfedge\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Invert Edge selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a81d42ef6a24a6b84d73f7198504e476a}\label{a01490_a81d42ef6a24a6b84d73f7198504e476a}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a81d42ef6a24a6b84d73f7198504e476a}{Mesh\+Selection\+::select\+Boundary\+Halfedges} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select all boundary edges of a mesh. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_a1f02aa1cd6083ad64abf3d93116c45ae}{Mesh\+Selection\+::get\+Halfedge\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_ac166f2000cb664153381d48128f9fef4}{Mesh\+Selection\+::convert\+Halfedge\+To\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_aff013938f757c630c1952dcbad7f9507}{Mesh\+Selection\+::convert\+Halfedge\+To\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a55a95b652a1ccbd9ab6af9384244003d}{Mesh\+Selection\+::convert\+Halfedge\+To\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Face Selection}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a01490_ab29d6a585aef623d1616c0b061092cda}\label{a01490_ab29d6a585aef623d1616c0b061092cda}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_ab29d6a585aef623d1616c0b061092cda}{Mesh\+Selection\+::select\+Faces} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+faces)
\begin{DoxyCompactList}\small\item\em Select given faces of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_ac6680f93f98016a5d08534b3e4dfe749}\label{a01490_ac6680f93f98016a5d08534b3e4dfe749}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_ac6680f93f98016a5d08534b3e4dfe749}{Mesh\+Selection\+::unselect\+Faces} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+faces)
\begin{DoxyCompactList}\small\item\em Unselect given faces of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a647da3f4cac97714f98e0408e300266f}\label{a01490_a647da3f4cac97714f98e0408e300266f}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a647da3f4cac97714f98e0408e300266f}{Mesh\+Selection\+::select\+All\+Faces} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select all faces of a mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a3793e41b1270bd6cdc010ff495d729f4}\label{a01490_a3793e41b1270bd6cdc010ff495d729f4}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a3793e41b1270bd6cdc010ff495d729f4}{Mesh\+Selection\+::clear\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Set all faces to unselected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_a0bd0e341ae9db1a4f66880cc623ff4b5}\label{a01490_a0bd0e341ae9db1a4f66880cc623ff4b5}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a0bd0e341ae9db1a4f66880cc623ff4b5}{Mesh\+Selection\+::invert\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Invert face selection. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a01490_ad45c3d42c416be9d1719754ec9ecb0f5}\label{a01490_ad45c3d42c416be9d1719754ec9ecb0f5}} 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_ad45c3d42c416be9d1719754ec9ecb0f5}{Mesh\+Selection\+::select\+Boundary\+Faces} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Select all boundary faces of a mesh. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a5d54f312a8d7b60fcd32d034cfdc2765}{Mesh\+Selection\+::shrink\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Shrink Face selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a367e9e11118f22f27f511d7067c3ee0a}{Mesh\+Selection\+::grow\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\begin{DoxyCompactList}\small\item\em Grow Face selection. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_a1b780ccb6b9d85c010cd8e53be8c4919}{Mesh\+Selection\+::get\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\std\+::vector$<$ int $>$ \hyperlink{a01490_a6db74f9731ef4a8b97ffb902ff8b0f44}{Mesh\+Selection\+::get\+Face\+Selection} (MeshT $\ast$\+\_\+mesh, bool \&\+\_\+invert)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a4e885892bce0cd5811df469981d6e301}{Mesh\+Selection\+::convert\+Face\+To\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh, const std\+::vector$<$ int $>$ \&\+\_\+faces)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a45c60fc30b46c6d7ebd4272d5ac77b6f}{Mesh\+Selection\+::convert\+Face\+To\+Vertex\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_ab7308244c8a9316f797ac92a82c7197e}{Mesh\+Selection\+::convert\+Face\+To\+Edge\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a689b67dde775c2378e4c95ec8dd53bb2}{Mesh\+Selection\+::convert\+Face\+To\+Halfedge\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a7bc9e15a98dab3245a5d842a262a9e32}{Mesh\+Selection\+::convert\+Face\+Selection\+To\+Feature\+Faces} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a3f9fc5759456c6eb472a7c41362bf609}{Mesh\+Selection\+::convert\+Feature\+Faces\+To\+Face\+Selection} (MeshT $\ast$\+\_\+mesh)
\item 
{\footnotesize template$<$typename MeshT $>$ }\\void \hyperlink{a01490_a3baeab2984cf732e4580fe75a5d2d37e}{Mesh\+Selection\+::clear\+Feature\+Faces} (MeshT $\ast$\+\_\+mesh)
\end{DoxyCompactItemize}
\end{Indent}


\subsection{Detailed Description}
Functions for selection on a mesh. 



\subsection{Function Documentation}
\mbox{\Hypertarget{a01490_file_afe6804aa5728ed34f8252627600e9c88}\label{a01490_file_afe6804aa5728ed34f8252627600e9c88}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!clear\+Feature\+Edges@{clear\+Feature\+Edges}}
\index{clear\+Feature\+Edges@{clear\+Feature\+Edges}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{clear\+Feature\+Edges()}{clearFeatureEdges()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::clear\+Feature\+Edges (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Clear all features 

Definition at line 786 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a3baeab2984cf732e4580fe75a5d2d37e}\label{a01490_file_a3baeab2984cf732e4580fe75a5d2d37e}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!clear\+Feature\+Faces@{clear\+Feature\+Faces}}
\index{clear\+Feature\+Faces@{clear\+Feature\+Faces}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{clear\+Feature\+Faces()}{clearFeatureFaces()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::clear\+Feature\+Faces (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Clear all features 

Definition at line 1214 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_aaf5c770f6982168e53edfb80408e2f22}\label{a01490_file_aaf5c770f6982168e53edfb80408e2f22}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!clear\+Feature\+Vertices@{clear\+Feature\+Vertices}}
\index{clear\+Feature\+Vertices@{clear\+Feature\+Vertices}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{clear\+Feature\+Vertices()}{clearFeatureVertices()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::clear\+Feature\+Vertices (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Clear all features. 


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


Definition at line 445 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_af258d8432b1b821d2c40acccd23ca1fc}\label{a01490_file_af258d8432b1b821d2c40acccd23ca1fc}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!clear\+Vertex\+Selection@{clear\+Vertex\+Selection}}
\index{clear\+Vertex\+Selection@{clear\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{clear\+Vertex\+Selection()}{clearVertexSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::clear\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set all vertices to unselected. 


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


Definition at line 114 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a070a5f96c16ec115c88b468f7f7e51a7}\label{a01490_file_a070a5f96c16ec115c88b468f7f7e51a7}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Edge\+Selection\+To\+Feature\+Edges@{convert\+Edge\+Selection\+To\+Feature\+Edges}}
\index{convert\+Edge\+Selection\+To\+Feature\+Edges@{convert\+Edge\+Selection\+To\+Feature\+Edges}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Edge\+Selection\+To\+Feature\+Edges()}{convertEdgeSelectionToFeatureEdges()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Edge\+Selection\+To\+Feature\+Edges (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Convert edge selection to feature selection 

Definition at line 756 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_af5e06f45f7d129a6172c8bd69746b0b1}\label{a01490_file_af5e06f45f7d129a6172c8bd69746b0b1}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Edge\+To\+Face\+Selection@{convert\+Edge\+To\+Face\+Selection}}
\index{convert\+Edge\+To\+Face\+Selection@{convert\+Edge\+To\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Edge\+To\+Face\+Selection()}{convertEdgeToFaceSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Edge\+To\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+edges }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Select for each edge in \+\_\+edges all adjacent faces 
\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+edges} & List of edges to be converted \\
\hline
\end{DoxyParams}


Definition at line 695 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a4cf7d99ab2a628eb9d390901be565b36}\label{a01490_file_a4cf7d99ab2a628eb9d390901be565b36}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Edge\+To\+Face\+Selection@{convert\+Edge\+To\+Face\+Selection}}
\index{convert\+Edge\+To\+Face\+Selection@{convert\+Edge\+To\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Edge\+To\+Face\+Selection()}{convertEdgeToFaceSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Edge\+To\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each selected edge select all adjacent faces 

Definition at line 721 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_ad144f05a30e78b947e6a08724065a9ac}\label{a01490_file_ad144f05a30e78b947e6a08724065a9ac}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Edge\+To\+Halfedge\+Selection@{convert\+Edge\+To\+Halfedge\+Selection}}
\index{convert\+Edge\+To\+Halfedge\+Selection@{convert\+Edge\+To\+Halfedge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Edge\+To\+Halfedge\+Selection()}{convertEdgeToHalfedgeSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Edge\+To\+Halfedge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each selected edge select all halfedges 

Definition at line 743 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_ae4cdad7f1467e42405e989070dc1132e}\label{a01490_file_ae4cdad7f1467e42405e989070dc1132e}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Edge\+To\+Vertex\+Selection@{convert\+Edge\+To\+Vertex\+Selection}}
\index{convert\+Edge\+To\+Vertex\+Selection@{convert\+Edge\+To\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Edge\+To\+Vertex\+Selection()}{convertEdgeToVertexSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Edge\+To\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+edges }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Select for each edge in \+\_\+edges all incident vertices 
\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+edges} & List of edges to be converted \\
\hline
\end{DoxyParams}


Definition at line 660 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a622f53f1e90545ecfff418b646395855}\label{a01490_file_a622f53f1e90545ecfff418b646395855}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Edge\+To\+Vertex\+Selection@{convert\+Edge\+To\+Vertex\+Selection}}
\index{convert\+Edge\+To\+Vertex\+Selection@{convert\+Edge\+To\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Edge\+To\+Vertex\+Selection()}{convertEdgeToVertexSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Edge\+To\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each selected edge select all incident vertices 

Definition at line 677 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a7bc9e15a98dab3245a5d842a262a9e32}\label{a01490_file_a7bc9e15a98dab3245a5d842a262a9e32}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Face\+Selection\+To\+Feature\+Faces@{convert\+Face\+Selection\+To\+Feature\+Faces}}
\index{convert\+Face\+Selection\+To\+Feature\+Faces@{convert\+Face\+Selection\+To\+Feature\+Faces}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Face\+Selection\+To\+Feature\+Faces()}{convertFaceSelectionToFeatureFaces()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Face\+Selection\+To\+Feature\+Faces (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Convert face selection to feature selection 

Definition at line 1184 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_ab7308244c8a9316f797ac92a82c7197e}\label{a01490_file_ab7308244c8a9316f797ac92a82c7197e}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Face\+To\+Edge\+Selection@{convert\+Face\+To\+Edge\+Selection}}
\index{convert\+Face\+To\+Edge\+Selection@{convert\+Face\+To\+Edge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Face\+To\+Edge\+Selection()}{convertFaceToEdgeSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Face\+To\+Edge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each selected face select all adjacent edges 

Definition at line 1154 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a689b67dde775c2378e4c95ec8dd53bb2}\label{a01490_file_a689b67dde775c2378e4c95ec8dd53bb2}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Face\+To\+Halfedge\+Selection@{convert\+Face\+To\+Halfedge\+Selection}}
\index{convert\+Face\+To\+Halfedge\+Selection@{convert\+Face\+To\+Halfedge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Face\+To\+Halfedge\+Selection()}{convertFaceToHalfedgeSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Face\+To\+Halfedge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each selected face select all incident halfedges 

Definition at line 1169 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a4e885892bce0cd5811df469981d6e301}\label{a01490_file_a4e885892bce0cd5811df469981d6e301}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Face\+To\+Vertex\+Selection@{convert\+Face\+To\+Vertex\+Selection}}
\index{convert\+Face\+To\+Vertex\+Selection@{convert\+Face\+To\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Face\+To\+Vertex\+Selection()}{convertFaceToVertexSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Face\+To\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+faces }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Select for each face in \+\_\+faces all adjacent vertices


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+faces} & List of faces to be converted \\
\hline
\end{DoxyParams}


Definition at line 1107 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a45c60fc30b46c6d7ebd4272d5ac77b6f}\label{a01490_file_a45c60fc30b46c6d7ebd4272d5ac77b6f}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Face\+To\+Vertex\+Selection@{convert\+Face\+To\+Vertex\+Selection}}
\index{convert\+Face\+To\+Vertex\+Selection@{convert\+Face\+To\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Face\+To\+Vertex\+Selection()}{convertFaceToVertexSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Face\+To\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each selected face select all adjacent vertices 

Definition at line 1123 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a18787a2e2e0aa0bed9041f97df217e28}\label{a01490_file_a18787a2e2e0aa0bed9041f97df217e28}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Feature\+Edges\+To\+Edge\+Selection@{convert\+Feature\+Edges\+To\+Edge\+Selection}}
\index{convert\+Feature\+Edges\+To\+Edge\+Selection@{convert\+Feature\+Edges\+To\+Edge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Feature\+Edges\+To\+Edge\+Selection()}{convertFeatureEdgesToEdgeSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Feature\+Edges\+To\+Edge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Convert feature selection to edge selection 

Definition at line 771 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a3f9fc5759456c6eb472a7c41362bf609}\label{a01490_file_a3f9fc5759456c6eb472a7c41362bf609}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Feature\+Faces\+To\+Face\+Selection@{convert\+Feature\+Faces\+To\+Face\+Selection}}
\index{convert\+Feature\+Faces\+To\+Face\+Selection@{convert\+Feature\+Faces\+To\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Feature\+Faces\+To\+Face\+Selection()}{convertFeatureFacesToFaceSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Feature\+Faces\+To\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Convert feature selection to edge selection 

Definition at line 1199 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_af955312b4a1e8a23a35a7f0265d02fdf}\label{a01490_file_af955312b4a1e8a23a35a7f0265d02fdf}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Feature\+Vertices\+To\+Vertex\+Selection@{convert\+Feature\+Vertices\+To\+Vertex\+Selection}}
\index{convert\+Feature\+Vertices\+To\+Vertex\+Selection@{convert\+Feature\+Vertices\+To\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Feature\+Vertices\+To\+Vertex\+Selection()}{convertFeatureVerticesToVertexSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Feature\+Vertices\+To\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Convert feature selection to vertex selection. 


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


Definition at line 430 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_aff013938f757c630c1952dcbad7f9507}\label{a01490_file_aff013938f757c630c1952dcbad7f9507}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Halfedge\+To\+Edge\+Selection@{convert\+Halfedge\+To\+Edge\+Selection}}
\index{convert\+Halfedge\+To\+Edge\+Selection@{convert\+Halfedge\+To\+Edge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Halfedge\+To\+Edge\+Selection()}{convertHalfedgeToEdgeSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Halfedge\+To\+Edge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each halfedge select all edges 

Definition at line 899 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a55a95b652a1ccbd9ab6af9384244003d}\label{a01490_file_a55a95b652a1ccbd9ab6af9384244003d}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Halfedge\+To\+Face\+Selection@{convert\+Halfedge\+To\+Face\+Selection}}
\index{convert\+Halfedge\+To\+Face\+Selection@{convert\+Halfedge\+To\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Halfedge\+To\+Face\+Selection()}{convertHalfedgeToFaceSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Halfedge\+To\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each halfedge select all incident faces 

Definition at line 911 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_ac166f2000cb664153381d48128f9fef4}\label{a01490_file_ac166f2000cb664153381d48128f9fef4}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Halfedge\+To\+Vertex\+Selection@{convert\+Halfedge\+To\+Vertex\+Selection}}
\index{convert\+Halfedge\+To\+Vertex\+Selection@{convert\+Halfedge\+To\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Halfedge\+To\+Vertex\+Selection()}{convertHalfedgeToVertexSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Halfedge\+To\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

For each halfedge select all incident vertices 

Definition at line 886 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_aeee21d615c1d48c8caa8183291e43021}\label{a01490_file_aeee21d615c1d48c8caa8183291e43021}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Vertex\+Selection\+To\+Feature\+Vertices@{convert\+Vertex\+Selection\+To\+Feature\+Vertices}}
\index{convert\+Vertex\+Selection\+To\+Feature\+Vertices@{convert\+Vertex\+Selection\+To\+Feature\+Vertices}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Vertex\+Selection\+To\+Feature\+Vertices()}{convertVertexSelectionToFeatureVertices()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Vertex\+Selection\+To\+Feature\+Vertices (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Convert vertex selection to feature selection. 


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


Definition at line 415 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a2522bbc22e4d0884c84893d02b7efbd0}\label{a01490_file_a2522bbc22e4d0884c84893d02b7efbd0}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Vertex\+To\+Edge\+Selection@{convert\+Vertex\+To\+Edge\+Selection}}
\index{convert\+Vertex\+To\+Edge\+Selection@{convert\+Vertex\+To\+Edge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Vertex\+To\+Edge\+Selection()}{convertVertexToEdgeSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Vertex\+To\+Edge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+vertices }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Select for each vertex in \+\_\+vertices all incident edges. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+vertices} & List of vertices to be converted \\
\hline
\end{DoxyParams}


Definition at line 276 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a6770e143c4f5df59186ec117bd5a0bdc}\label{a01490_file_a6770e143c4f5df59186ec117bd5a0bdc}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Vertex\+To\+Edge\+Selection@{convert\+Vertex\+To\+Edge\+Selection}}
\index{convert\+Vertex\+To\+Edge\+Selection@{convert\+Vertex\+To\+Edge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Vertex\+To\+Edge\+Selection()}{convertVertexToEdgeSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Vertex\+To\+Edge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



For each selected vertex select all incident edges. 


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


Definition at line 299 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_afacf3d7983ca961a30910a0032525a3f}\label{a01490_file_afacf3d7983ca961a30910a0032525a3f}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Vertex\+To\+Face\+Selection@{convert\+Vertex\+To\+Face\+Selection}}
\index{convert\+Vertex\+To\+Face\+Selection@{convert\+Vertex\+To\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Vertex\+To\+Face\+Selection()}{convertVertexToFaceSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Vertex\+To\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+vertices }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Select for each vertex in \+\_\+vertices all adjacent faces. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+vertices} & List of vertices to be converted \\
\hline
\end{DoxyParams}


Definition at line 367 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_ad32b82978508150a2b34bfc194b4cc8a}\label{a01490_file_ad32b82978508150a2b34bfc194b4cc8a}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Vertex\+To\+Face\+Selection@{convert\+Vertex\+To\+Face\+Selection}}
\index{convert\+Vertex\+To\+Face\+Selection@{convert\+Vertex\+To\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Vertex\+To\+Face\+Selection()}{convertVertexToFaceSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Vertex\+To\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



For each selected vertex select all adjacent faces. 


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


Definition at line 393 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a9fb78404f0cbb628c8c058a420ff3ec7}\label{a01490_file_a9fb78404f0cbb628c8c058a420ff3ec7}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Vertex\+To\+Halfedge\+Selection@{convert\+Vertex\+To\+Halfedge\+Selection}}
\index{convert\+Vertex\+To\+Halfedge\+Selection@{convert\+Vertex\+To\+Halfedge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Vertex\+To\+Halfedge\+Selection()}{convertVertexToHalfedgeSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Vertex\+To\+Halfedge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+vertices }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Select for each vertex in \+\_\+vertices all incident halfedges. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+vertices} & List of vertices to be converted \\
\hline
\end{DoxyParams}


Definition at line 319 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a0b033e7428c0452547e856795ec5f8c1}\label{a01490_file_a0b033e7428c0452547e856795ec5f8c1}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!convert\+Vertex\+To\+Halfedge\+Selection@{convert\+Vertex\+To\+Halfedge\+Selection}}
\index{convert\+Vertex\+To\+Halfedge\+Selection@{convert\+Vertex\+To\+Halfedge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{convert\+Vertex\+To\+Halfedge\+Selection()}{convertVertexToHalfedgeSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::convert\+Vertex\+To\+Halfedge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



For each selected vertex select all incident halfedges. 


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


Definition at line 343 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a23f1268e0d7f5bdf8d738d2e2dec5f28}\label{a01490_file_a23f1268e0d7f5bdf8d738d2e2dec5f28}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Area@{get\+Area}}
\index{get\+Area@{get\+Area}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Area()}{getArea()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Area (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{unsigned int}]{\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the current vertex selection 

Definition at line 478 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_abd327b7755783b49cded3324142172fc}\label{a01490_file_abd327b7755783b49cded3324142172fc}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Area@{get\+Area}}
\index{get\+Area@{get\+Area}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Area()}{getArea()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Area (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{unsigned int}]{\+\_\+type,  }\item[{bool \&}]{\+\_\+invert }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the current vertex selection


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+type} & Bit to be changed ( Normally Modeling area is \hyperlink{a06215_af600bbf2c3f55c90a2a64848f0547617ad4ba3270b74b3d36d9962cd69a972d3d}{Open\+Mesh\+::\+Attributes\+::\+U\+N\+U\+S\+ED} $<$$<$ 1 ) \\
\hline
{\em \+\_\+invert} & if true \+: vector has been inverted to save mem \\
\hline
\end{DoxyParams}


Definition at line 490 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_ae1b620b3a5ac32e6d4e5d1392040c5ac}\label{a01490_file_ae1b620b3a5ac32e6d4e5d1392040c5ac}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Edge\+Selection@{get\+Edge\+Selection}}
\index{get\+Edge\+Selection@{get\+Edge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Edge\+Selection()}{getEdgeSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Edge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the current edge selection 

Definition at line 623 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_ae351a508fb66904792a5bd08ea2d5261}\label{a01490_file_ae351a508fb66904792a5bd08ea2d5261}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Edge\+Selection@{get\+Edge\+Selection}}
\index{get\+Edge\+Selection@{get\+Edge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Edge\+Selection()}{getEdgeSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Edge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{bool \&}]{\+\_\+invert }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the current edge selection 
\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+invert} & if true \+: vector has been inverted to save mem \\
\hline
\end{DoxyParams}


Definition at line 637 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a1b780ccb6b9d85c010cd8e53be8c4919}\label{a01490_file_a1b780ccb6b9d85c010cd8e53be8c4919}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Face\+Selection@{get\+Face\+Selection}}
\index{get\+Face\+Selection@{get\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Face\+Selection()}{getFaceSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the current face selection 

Definition at line 1070 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a6db74f9731ef4a8b97ffb902ff8b0f44}\label{a01490_file_a6db74f9731ef4a8b97ffb902ff8b0f44}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Face\+Selection@{get\+Face\+Selection}}
\index{get\+Face\+Selection@{get\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Face\+Selection()}{getFaceSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{bool \&}]{\+\_\+invert }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the current face selection


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+invert} & if true \+: vector has been inverted to save mem \\
\hline
\end{DoxyParams}


Definition at line 1084 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a1f02aa1cd6083ad64abf3d93116c45ae}\label{a01490_file_a1f02aa1cd6083ad64abf3d93116c45ae}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Halfedge\+Selection@{get\+Halfedge\+Selection}}
\index{get\+Halfedge\+Selection@{get\+Halfedge\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Halfedge\+Selection()}{getHalfedgeSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Halfedge\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the current edge selection 

Definition at line 874 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a5909c3d4aeccf2e22149fabd9caf2880}\label{a01490_file_a5909c3d4aeccf2e22149fabd9caf2880}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Vertex\+Selection@{get\+Vertex\+Selection}}
\index{get\+Vertex\+Selection@{get\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Vertex\+Selection()}{getVertexSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get the current vertex selection. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
vector of selected vertex indices 
\end{DoxyReturn}


Definition at line 204 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_afb75532536c1fc6ef47e0e301dfb6509}\label{a01490_file_afb75532536c1fc6ef47e0e301dfb6509}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!get\+Vertex\+Selection@{get\+Vertex\+Selection}}
\index{get\+Vertex\+Selection@{get\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{get\+Vertex\+Selection()}{getVertexSelection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
std\+::vector$<$ int $>$ Mesh\+Selection\+::get\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{bool \&}]{\+\_\+invert }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Get the current vertex selection


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+invert} & if true \+: vector has been inverted to save mem \\
\hline
\end{DoxyParams}


Definition at line 218 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a367e9e11118f22f27f511d7067c3ee0a}\label{a01490_file_a367e9e11118f22f27f511d7067c3ee0a}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!grow\+Face\+Selection@{grow\+Face\+Selection}}
\index{grow\+Face\+Selection@{grow\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{grow\+Face\+Selection()}{growFaceSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::grow\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Grow Face selection. 

Selects all faces which are adjacent to a vertex of a already selected face. 

Definition at line 1045 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a4f52bc1b8c5c9e5dfb41839eb35a79ac}\label{a01490_file_a4f52bc1b8c5c9e5dfb41839eb35a79ac}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!grow\+Vertex\+Selection@{grow\+Vertex\+Selection}}
\index{grow\+Vertex\+Selection@{grow\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{grow\+Vertex\+Selection()}{growVertexSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::grow\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Grow vertex selection. 


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


Definition at line 181 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a490cb3515f59ad877bfaca84b480fa5c}\label{a01490_file_a490cb3515f59ad877bfaca84b480fa5c}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!invert\+Vertex\+Selection@{invert\+Vertex\+Selection}}
\index{invert\+Vertex\+Selection@{invert\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{invert\+Vertex\+Selection()}{invertVertexSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::invert\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



invert vertex selection 


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


Definition at line 125 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a924f799afdbd628bcb8153cf20ebb567}\label{a01490_file_a924f799afdbd628bcb8153cf20ebb567}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!select\+All\+Vertices@{select\+All\+Vertices}}
\index{select\+All\+Vertices@{select\+All\+Vertices}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{select\+All\+Vertices()}{selectAllVertices()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::select\+All\+Vertices (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Select all vertices of a mesh. 


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


Definition at line 102 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a5964886273aa35a8f4236fce82768665}\label{a01490_file_a5964886273aa35a8f4236fce82768665}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!select\+Boundary\+Vertices@{select\+Boundary\+Vertices}}
\index{select\+Boundary\+Vertices@{select\+Boundary\+Vertices}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{select\+Boundary\+Vertices()}{selectBoundaryVertices()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::select\+Boundary\+Vertices (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Select all vertices of the mesh which are boundary vertices. 


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


Definition at line 137 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a965769976de53986416a407d34db8490}\label{a01490_file_a965769976de53986416a407d34db8490}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!select\+Boundary\+Vertices@{select\+Boundary\+Vertices}}
\index{select\+Boundary\+Vertices@{select\+Boundary\+Vertices}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{select\+Boundary\+Vertices()}{selectBoundaryVertices()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::select\+Boundary\+Vertices (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const typename Mesh\+T\+::\+Vertex\+Handle \&}]{\+\_\+vh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Select all vertices belonging to the same boundary as \+\_\+vh. 

This function gets one vertex that has to be on a boundary. Than the function will follow the boundary and mark all vertices at it as selected.


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+vh} & handle of a boundary vertex \\
\hline
\end{DoxyParams}


Definition at line 242 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a4eb3ce7421178ac3c582dcf3fb83cee2}\label{a01490_file_a4eb3ce7421178ac3c582dcf3fb83cee2}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!select\+Vertices@{select\+Vertices}}
\index{select\+Vertices@{select\+Vertices}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{select\+Vertices()}{selectVertices()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::select\+Vertices (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+vertices }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Select given vertices of a mesh. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+vertices} & Vertex index to select \\
\hline
\end{DoxyParams}


Definition at line 74 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_aa452d893d414bda9d1cc5ccf3888240a}\label{a01490_file_aa452d893d414bda9d1cc5ccf3888240a}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!set\+Area@{set\+Area}}
\index{set\+Area@{set\+Area}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{set\+Area()}{setArea()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::set\+Area (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+vertices,  }\item[{unsigned int}]{\+\_\+type,  }\item[{bool}]{\+\_\+state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set the area bit for all defined vertices. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+vertices} & The vertices belonging to the modeling area \\
\hline
{\em \+\_\+type} & Bit to be changed ( Normally Modeling area is \hyperlink{a06215_af600bbf2c3f55c90a2a64848f0547617ad4ba3270b74b3d36d9962cd69a972d3d}{Open\+Mesh\+::\+Attributes\+::\+U\+N\+U\+S\+ED} $<$$<$ 1 ) \\
\hline
{\em \+\_\+state} & New state to be set \\
\hline
\end{DoxyParams}


Definition at line 459 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a6eb4a1bc81d75e29a1d16b617466f1b5}\label{a01490_file_a6eb4a1bc81d75e29a1d16b617466f1b5}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!set\+Area@{set\+Area}}
\index{set\+Area@{set\+Area}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{set\+Area()}{setArea()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::set\+Area (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{unsigned int}]{\+\_\+type,  }\item[{bool}]{\+\_\+state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Reset Modeling Status for vertices. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+type} & Bit to be changed ( Normally Modeling area is \hyperlink{a06215_af600bbf2c3f55c90a2a64848f0547617ad4ba3270b74b3d36d9962cd69a972d3d}{Open\+Mesh\+::\+Attributes\+::\+U\+N\+U\+S\+ED} $<$$<$ 1 ) \\
\hline
{\em \+\_\+state} & New state to be set \\
\hline
\end{DoxyParams}


Definition at line 471 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a5d54f312a8d7b60fcd32d034cfdc2765}\label{a01490_file_a5d54f312a8d7b60fcd32d034cfdc2765}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!shrink\+Face\+Selection@{shrink\+Face\+Selection}}
\index{shrink\+Face\+Selection@{shrink\+Face\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{shrink\+Face\+Selection()}{shrinkFaceSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::shrink\+Face\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Shrink Face selection. 

Deselects all faces which are adjacent to a boundary vertex of the original selection 

Definition at line 1010 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a00b2d9a553bd1a9609eaceaca62940c8}\label{a01490_file_a00b2d9a553bd1a9609eaceaca62940c8}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!shrink\+Vertex\+Selection@{shrink\+Vertex\+Selection}}
\index{shrink\+Vertex\+Selection@{shrink\+Vertex\+Selection}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{shrink\+Vertex\+Selection()}{shrinkVertexSelection()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::shrink\+Vertex\+Selection (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Shrink vertex selection. 


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


Definition at line 151 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{a01490_file_a8c595c5dd90cf674a85cc17fe49fb67a}\label{a01490_file_a8c595c5dd90cf674a85cc17fe49fb67a}} 
\index{Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}!unselect\+Vertices@{unselect\+Vertices}}
\index{unselect\+Vertices@{unselect\+Vertices}!Mesh\+Selection\+T.\+hh@{Mesh\+Selection\+T.\+hh}}
\subsubsection{\texorpdfstring{unselect\+Vertices()}{unselectVertices()}}
{\footnotesize\ttfamily template$<$typename MeshT $>$ \\
void Mesh\+Selection\+::unselect\+Vertices (\begin{DoxyParamCaption}\item[{MeshT $\ast$}]{\+\_\+mesh,  }\item[{const std\+::vector$<$ int $>$ \&}]{\+\_\+vertices }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Unselect given vertices of a mesh. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to work on \\
\hline
{\em \+\_\+vertices} & Vertex index to unselect \\
\hline
\end{DoxyParams}


Definition at line 88 of file Mesh\+Selection\+T\+\_\+impl.\+hh.

