\hypertarget{a11652}{}\section{Open\+Volume\+Mesh\+:\+:Topology\+Kernel Class Reference}
\label{a11652}\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
Inheritance diagram for Open\+Volume\+Mesh\+:\+:Topology\+Kernel\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.666667cm]{a11652}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{a11664}{Cell\+Corrector}
\item 
class \hyperlink{a11656}{Edge\+Corrector}
\item 
class \hyperlink{a11660}{Face\+Corrector}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_ab9ef531b549f6b6271468a7a1d5cf091}\label{a11652_ab9ef531b549f6b6271468a7a1d5cf091}} 
typedef \hyperlink{a11428}{Open\+Volume\+Mesh\+Edge} {\bfseries Edge}
\item 
\mbox{\Hypertarget{a11652_a9104ddf393b3522c2808b42d7ad8ebe5}\label{a11652_a9104ddf393b3522c2808b42d7ad8ebe5}} 
typedef \hyperlink{a11432}{Open\+Volume\+Mesh\+Face} {\bfseries Face}
\item 
\mbox{\Hypertarget{a11652_a6eade3fcac5654a3f1639782ba882f72}\label{a11652_a6eade3fcac5654a3f1639782ba882f72}} 
typedef \hyperlink{a11436}{Open\+Volume\+Mesh\+Cell} {\bfseries Cell}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_ab771e8c24a1615db1a9da3231fe6613d}\label{a11652_ab771e8c24a1615db1a9da3231fe6613d}} 
\hyperlink{a11532}{Vertex\+O\+Half\+Edge\+Iter} {\bfseries voh\+\_\+iter} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a002af3c68c56936aec5207ca1327094f}\label{a11652_a002af3c68c56936aec5207ca1327094f}} 
std\+::pair$<$ \hyperlink{a11532}{Vertex\+O\+Half\+Edge\+Iter}, \hyperlink{a11532}{Vertex\+O\+Half\+Edge\+Iter} $>$ {\bfseries outgoing\+\_\+halfedges} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a481508e9613297ef50f2c9af52b12f7a}\label{a11652_a481508e9613297ef50f2c9af52b12f7a}} 
\hyperlink{a11536}{Vertex\+Vertex\+Iter} {\bfseries vv\+\_\+iter} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_aa88674456c9ccba89ac6d9d30657b4db}\label{a11652_aa88674456c9ccba89ac6d9d30657b4db}} 
std\+::pair$<$ \hyperlink{a11536}{Vertex\+Vertex\+Iter}, \hyperlink{a11536}{Vertex\+Vertex\+Iter} $>$ {\bfseries vertex\+\_\+vertices} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a1d1b37dc57a26923ed89bc63cb18800d}\label{a11652_a1d1b37dc57a26923ed89bc63cb18800d}} 
\hyperlink{a11540}{Half\+Edge\+Half\+Face\+Iter} {\bfseries hehf\+\_\+iter} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_ab15c29bee067ec22b6838117169718f8}\label{a11652_ab15c29bee067ec22b6838117169718f8}} 
std\+::pair$<$ \hyperlink{a11540}{Half\+Edge\+Half\+Face\+Iter}, \hyperlink{a11540}{Half\+Edge\+Half\+Face\+Iter} $>$ {\bfseries halfedge\+\_\+halffaces} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a9204ee28fb941845357705c5aa1745ed}\label{a11652_a9204ee28fb941845357705c5aa1745ed}} 
\hyperlink{a11544}{Vertex\+Face\+Iter} {\bfseries vf\+\_\+iter} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_ae53122a986a82a8619687743aae0bcac}\label{a11652_ae53122a986a82a8619687743aae0bcac}} 
std\+::pair$<$ \hyperlink{a11544}{Vertex\+Face\+Iter}, \hyperlink{a11544}{Vertex\+Face\+Iter} $>$ {\bfseries vertex\+\_\+faces} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a40d1552bfb0143240e34df90f5301eb7}\label{a11652_a40d1552bfb0143240e34df90f5301eb7}} 
\hyperlink{a11548}{Vertex\+Cell\+Iter} {\bfseries vc\+\_\+iter} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_abe0c5ff74a69f0affd3f1d74ad9815c6}\label{a11652_abe0c5ff74a69f0affd3f1d74ad9815c6}} 
std\+::pair$<$ \hyperlink{a11548}{Vertex\+Cell\+Iter}, \hyperlink{a11548}{Vertex\+Cell\+Iter} $>$ {\bfseries vertex\+\_\+cells} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a13045e26e211bddce40080f1dabe36bf}\label{a11652_a13045e26e211bddce40080f1dabe36bf}} 
\hyperlink{a11552}{Half\+Edge\+Cell\+Iter} {\bfseries hec\+\_\+iter} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a69bba1ed7901f7ec276f90c47c4bbbb4}\label{a11652_a69bba1ed7901f7ec276f90c47c4bbbb4}} 
std\+::pair$<$ \hyperlink{a11552}{Half\+Edge\+Cell\+Iter}, \hyperlink{a11552}{Half\+Edge\+Cell\+Iter} $>$ {\bfseries halfedge\+\_\+cells} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a5d0cebc77d1f2ceb702110d99ea9cd5c}\label{a11652_a5d0cebc77d1f2ceb702110d99ea9cd5c}} 
\hyperlink{a11556}{Cell\+Vertex\+Iter} {\bfseries cv\+\_\+iter} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a1f8ac6bd7ed2085dcfa8771877bb6634}\label{a11652_a1f8ac6bd7ed2085dcfa8771877bb6634}} 
std\+::pair$<$ \hyperlink{a11556}{Cell\+Vertex\+Iter}, \hyperlink{a11556}{Cell\+Vertex\+Iter} $>$ {\bfseries cell\+\_\+vertices} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_ade19adcb92af260610cf71f8d65d4456}\label{a11652_ade19adcb92af260610cf71f8d65d4456}} 
\hyperlink{a11560}{Cell\+Cell\+Iter} {\bfseries cc\+\_\+iter} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_ab5cade14c81fda9b608261f2ebc4d8f7}\label{a11652_ab5cade14c81fda9b608261f2ebc4d8f7}} 
std\+::pair$<$ \hyperlink{a11560}{Cell\+Cell\+Iter}, \hyperlink{a11560}{Cell\+Cell\+Iter} $>$ {\bfseries cell\+\_\+cells} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a02a0e1c19dc9628f43aae073d1750652}\label{a11652_a02a0e1c19dc9628f43aae073d1750652}} 
\hyperlink{a11564}{Half\+Face\+Vertex\+Iter} {\bfseries hfv\+\_\+iter} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_aa684a83512fe0d0ce019459b4842540b}\label{a11652_aa684a83512fe0d0ce019459b4842540b}} 
std\+::pair$<$ \hyperlink{a11564}{Half\+Face\+Vertex\+Iter}, \hyperlink{a11564}{Half\+Face\+Vertex\+Iter} $>$ {\bfseries halfface\+\_\+vertices} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_adb5731db7bbc7b02ccb7057d6dc5609e}\label{a11652_adb5731db7bbc7b02ccb7057d6dc5609e}} 
\hyperlink{a11568}{Boundary\+Half\+Face\+Half\+Face\+Iter} {\bfseries bhfhf\+\_\+iter} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+ref\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a4c5c4322afdf012a7e69cce0a2be35c2}\label{a11652_a4c5c4322afdf012a7e69cce0a2be35c2}} 
std\+::pair$<$ \hyperlink{a11568}{Boundary\+Half\+Face\+Half\+Face\+Iter}, \hyperlink{a11568}{Boundary\+Half\+Face\+Half\+Face\+Iter} $>$ {\bfseries boundary\+\_\+halfface\+\_\+halffaces} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+h, int \+\_\+max\+\_\+laps=1) const
\item 
\mbox{\Hypertarget{a11652_a681feec15fba78d7ea20cff54dfb2595}\label{a11652_a681feec15fba78d7ea20cff54dfb2595}} 
\hyperlink{a11596}{Boundary\+Face\+Iter} {\bfseries bf\+\_\+iter} () const
\item 
\mbox{\Hypertarget{a11652_a00c1da9b3f159b4e08350d471f73edb1}\label{a11652_a00c1da9b3f159b4e08350d471f73edb1}} 
\hyperlink{a11572}{Vertex\+Iter} {\bfseries v\+\_\+iter} () const
\item 
\mbox{\Hypertarget{a11652_a38656f87e31e52a87f9251368eb5e5ee}\label{a11652_a38656f87e31e52a87f9251368eb5e5ee}} 
\hyperlink{a11572}{Vertex\+Iter} {\bfseries vertices\+\_\+begin} () const
\item 
\mbox{\Hypertarget{a11652_acc171ffaafc959389be6247d5195ac95}\label{a11652_acc171ffaafc959389be6247d5195ac95}} 
\hyperlink{a11572}{Vertex\+Iter} {\bfseries vertices\+\_\+end} () const
\item 
\mbox{\Hypertarget{a11652_adacc4ef3ecc1b56e7e8ed645274f592b}\label{a11652_adacc4ef3ecc1b56e7e8ed645274f592b}} 
std\+::pair$<$ \hyperlink{a11572}{Vertex\+Iter}, \hyperlink{a11572}{Vertex\+Iter} $>$ {\bfseries vertices} () const
\item 
\mbox{\Hypertarget{a11652_aa4f37bb38055191e5f5ec5f8d457745b}\label{a11652_aa4f37bb38055191e5f5ec5f8d457745b}} 
\hyperlink{a11576}{Edge\+Iter} {\bfseries e\+\_\+iter} () const
\item 
\mbox{\Hypertarget{a11652_aa6678b00533e698af4704a3d768cdcd4}\label{a11652_aa6678b00533e698af4704a3d768cdcd4}} 
\hyperlink{a11576}{Edge\+Iter} {\bfseries edges\+\_\+begin} () const
\item 
\mbox{\Hypertarget{a11652_a777d102ab5cfb0308b18253494780fa8}\label{a11652_a777d102ab5cfb0308b18253494780fa8}} 
\hyperlink{a11576}{Edge\+Iter} {\bfseries edges\+\_\+end} () const
\item 
\mbox{\Hypertarget{a11652_a408ea41979245e7cbf4dd673e8332f58}\label{a11652_a408ea41979245e7cbf4dd673e8332f58}} 
std\+::pair$<$ \hyperlink{a11576}{Edge\+Iter}, \hyperlink{a11576}{Edge\+Iter} $>$ {\bfseries edges} () const
\item 
\mbox{\Hypertarget{a11652_a4230620fd970a93521646e580ffd89bc}\label{a11652_a4230620fd970a93521646e580ffd89bc}} 
\hyperlink{a11580}{Half\+Edge\+Iter} {\bfseries he\+\_\+iter} () const
\item 
\mbox{\Hypertarget{a11652_a86ee52ca865f0437d2ec96c40658904d}\label{a11652_a86ee52ca865f0437d2ec96c40658904d}} 
\hyperlink{a11580}{Half\+Edge\+Iter} {\bfseries halfedges\+\_\+begin} () const
\item 
\mbox{\Hypertarget{a11652_a421364f20d15d6b9107d0522e3c6c33d}\label{a11652_a421364f20d15d6b9107d0522e3c6c33d}} 
\hyperlink{a11580}{Half\+Edge\+Iter} {\bfseries halfedges\+\_\+end} () const
\item 
\mbox{\Hypertarget{a11652_aa99fe6987561659976867b5fd8e95b3b}\label{a11652_aa99fe6987561659976867b5fd8e95b3b}} 
std\+::pair$<$ \hyperlink{a11580}{Half\+Edge\+Iter}, \hyperlink{a11580}{Half\+Edge\+Iter} $>$ {\bfseries halfedges} () const
\item 
\mbox{\Hypertarget{a11652_a7ad9c5b98952347c533216940c349a73}\label{a11652_a7ad9c5b98952347c533216940c349a73}} 
\hyperlink{a11584}{Face\+Iter} {\bfseries f\+\_\+iter} () const
\item 
\mbox{\Hypertarget{a11652_adb6896084fce4ee4a5a8dce61bfa1983}\label{a11652_adb6896084fce4ee4a5a8dce61bfa1983}} 
\hyperlink{a11584}{Face\+Iter} {\bfseries faces\+\_\+begin} () const
\item 
\mbox{\Hypertarget{a11652_ab3ae02dfb39d023be989b3704ae8292f}\label{a11652_ab3ae02dfb39d023be989b3704ae8292f}} 
\hyperlink{a11584}{Face\+Iter} {\bfseries faces\+\_\+end} () const
\item 
\mbox{\Hypertarget{a11652_a6fd8b3bb473eff235a77969e04b94d95}\label{a11652_a6fd8b3bb473eff235a77969e04b94d95}} 
std\+::pair$<$ \hyperlink{a11584}{Face\+Iter}, \hyperlink{a11584}{Face\+Iter} $>$ {\bfseries faces} () const
\item 
\mbox{\Hypertarget{a11652_a3e38dce611a1a91e194e7758816c9b17}\label{a11652_a3e38dce611a1a91e194e7758816c9b17}} 
\hyperlink{a11588}{Half\+Face\+Iter} {\bfseries hf\+\_\+iter} () const
\item 
\mbox{\Hypertarget{a11652_a8a4e846dae1df65f2ebbd3fdbefa503b}\label{a11652_a8a4e846dae1df65f2ebbd3fdbefa503b}} 
\hyperlink{a11588}{Half\+Face\+Iter} {\bfseries halffaces\+\_\+begin} () const
\item 
\mbox{\Hypertarget{a11652_a2f855c15a78ecbdb0f5b7351d30518f6}\label{a11652_a2f855c15a78ecbdb0f5b7351d30518f6}} 
\hyperlink{a11588}{Half\+Face\+Iter} {\bfseries halffaces\+\_\+end} () const
\item 
\mbox{\Hypertarget{a11652_a1cf4a2b4dfca3b9ad649cb72927299ad}\label{a11652_a1cf4a2b4dfca3b9ad649cb72927299ad}} 
std\+::pair$<$ \hyperlink{a11588}{Half\+Face\+Iter}, \hyperlink{a11588}{Half\+Face\+Iter} $>$ {\bfseries halffaces} () const
\item 
\mbox{\Hypertarget{a11652_ac8abf099d90c90b8dc9d12ac6140b2cf}\label{a11652_ac8abf099d90c90b8dc9d12ac6140b2cf}} 
\hyperlink{a11592}{Cell\+Iter} {\bfseries c\+\_\+iter} () const
\item 
\mbox{\Hypertarget{a11652_a7879ac737d6709e13929ecc1b7b40d5a}\label{a11652_a7879ac737d6709e13929ecc1b7b40d5a}} 
\hyperlink{a11592}{Cell\+Iter} {\bfseries cells\+\_\+begin} () const
\item 
\mbox{\Hypertarget{a11652_af4050ef73a7c6936c1018a15a5eba142}\label{a11652_af4050ef73a7c6936c1018a15a5eba142}} 
\hyperlink{a11592}{Cell\+Iter} {\bfseries cells\+\_\+end} () const
\item 
\mbox{\Hypertarget{a11652_a0988420c84595006f5a749268a9150e4}\label{a11652_a0988420c84595006f5a749268a9150e4}} 
std\+::pair$<$ \hyperlink{a11592}{Cell\+Iter}, \hyperlink{a11592}{Cell\+Iter} $>$ {\bfseries cells} () const
\item 
\mbox{\Hypertarget{a11652_afad5d62c28c8225c1d692f76d1f99814}\label{a11652_afad5d62c28c8225c1d692f76d1f99814}} 
virtual size\+\_\+t \hyperlink{a11652_afad5d62c28c8225c1d692f76d1f99814}{n\+\_\+vertices} () const
\begin{DoxyCompactList}\small\item\em Get number of vertices in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a0863faf970d5c5a06da7bf288146cb40}\label{a11652_a0863faf970d5c5a06da7bf288146cb40}} 
virtual size\+\_\+t \hyperlink{a11652_a0863faf970d5c5a06da7bf288146cb40}{n\+\_\+edges} () const
\begin{DoxyCompactList}\small\item\em Get number of edges in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_aef444ab1f9b4f0b7994ed4d7955990f1}\label{a11652_aef444ab1f9b4f0b7994ed4d7955990f1}} 
virtual size\+\_\+t \hyperlink{a11652_aef444ab1f9b4f0b7994ed4d7955990f1}{n\+\_\+halfedges} () const
\begin{DoxyCompactList}\small\item\em Get number of halfedges in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a171b353c4d1035a2554e48000bc4cbad}\label{a11652_a171b353c4d1035a2554e48000bc4cbad}} 
virtual size\+\_\+t \hyperlink{a11652_a171b353c4d1035a2554e48000bc4cbad}{n\+\_\+faces} () const
\begin{DoxyCompactList}\small\item\em Get number of faces in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_aac95a200fceed597ddfaf31cfa42b73b}\label{a11652_aac95a200fceed597ddfaf31cfa42b73b}} 
virtual size\+\_\+t \hyperlink{a11652_aac95a200fceed597ddfaf31cfa42b73b}{n\+\_\+halffaces} () const
\begin{DoxyCompactList}\small\item\em Get number of halffaces in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a543512f35a6474063d24645788cae788}\label{a11652_a543512f35a6474063d24645788cae788}} 
virtual size\+\_\+t \hyperlink{a11652_a543512f35a6474063d24645788cae788}{n\+\_\+cells} () const
\begin{DoxyCompactList}\small\item\em Get number of cells in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_ab66c052f2f489247d3ffa1da869dec6c}\label{a11652_ab66c052f2f489247d3ffa1da869dec6c}} 
size\+\_\+t \hyperlink{a11652_ab66c052f2f489247d3ffa1da869dec6c}{n\+\_\+logical\+\_\+vertices} () const
\begin{DoxyCompactList}\small\item\em Get number of undeleted vertices in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a92132f03f30374c1c17ce00836af0e76}\label{a11652_a92132f03f30374c1c17ce00836af0e76}} 
size\+\_\+t \hyperlink{a11652_a92132f03f30374c1c17ce00836af0e76}{n\+\_\+logical\+\_\+edges} () const
\begin{DoxyCompactList}\small\item\em Get number of undeleted edges in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a093af0f82526d4f8a1b995899aa407fa}\label{a11652_a093af0f82526d4f8a1b995899aa407fa}} 
size\+\_\+t \hyperlink{a11652_a093af0f82526d4f8a1b995899aa407fa}{n\+\_\+logical\+\_\+halfedges} () const
\begin{DoxyCompactList}\small\item\em Get number of undeleted halfedges in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_ac59a5f45eb7ac4e6013c688eafeb5243}\label{a11652_ac59a5f45eb7ac4e6013c688eafeb5243}} 
size\+\_\+t \hyperlink{a11652_ac59a5f45eb7ac4e6013c688eafeb5243}{n\+\_\+logical\+\_\+faces} () const
\begin{DoxyCompactList}\small\item\em Get number of undeleted faces in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a478fc35af6432253bb8cde73b5d3fb84}\label{a11652_a478fc35af6432253bb8cde73b5d3fb84}} 
size\+\_\+t \hyperlink{a11652_a478fc35af6432253bb8cde73b5d3fb84}{n\+\_\+logical\+\_\+halffaces} () const
\begin{DoxyCompactList}\small\item\em Get number of undeleted halffaces in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_adb8dd679a6e570947921e3c63c2d6393}\label{a11652_adb8dd679a6e570947921e3c63c2d6393}} 
size\+\_\+t \hyperlink{a11652_adb8dd679a6e570947921e3c63c2d6393}{n\+\_\+logical\+\_\+cells} () const
\begin{DoxyCompactList}\small\item\em Get number of undeleted cells in mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a6c81ae9e0170056604bfc8306ad5206a}\label{a11652_a6c81ae9e0170056604bfc8306ad5206a}} 
int {\bfseries genus} () const
\item 
\mbox{\Hypertarget{a11652_ab83e69afa9df42ed53c793068bdd7444}\label{a11652_ab83e69afa9df42ed53c793068bdd7444}} 
virtual \hyperlink{a11608}{Vertex\+Handle} \hyperlink{a11652_ab83e69afa9df42ed53c793068bdd7444}{add\+\_\+vertex} ()
\begin{DoxyCompactList}\small\item\em Add abstract vertex. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a0444dd03b5c8f13beee04e85ca8654c0}\label{a11652_a0444dd03b5c8f13beee04e85ca8654c0}} 
virtual \hyperlink{a11608}{Edge\+Handle} \hyperlink{a11652_a0444dd03b5c8f13beee04e85ca8654c0}{add\+\_\+edge} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+from\+Vertex, const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+to\+Handle, bool \+\_\+allow\+Duplicates=false)
\begin{DoxyCompactList}\small\item\em Add edge. \end{DoxyCompactList}\item 
virtual \hyperlink{a11608}{Face\+Handle} \hyperlink{a11652_a0d39e76cff8a318046e640b3887a6845}{add\+\_\+face} (const std\+::vector$<$ \hyperlink{a11608}{Half\+Edge\+Handle} $>$ \&\+\_\+halfedges, bool \+\_\+topology\+Check=false)
\begin{DoxyCompactList}\small\item\em Add face via incident edges. \end{DoxyCompactList}\item 
virtual \hyperlink{a11608}{Face\+Handle} \hyperlink{a11652_a12dfd3700d0fb4c0374865c0e55bbef4}{add\+\_\+face} (const std\+::vector$<$ \hyperlink{a11608}{Vertex\+Handle} $>$ \&\+\_\+vertices)
\begin{DoxyCompactList}\small\item\em Add face via incident vertices. \end{DoxyCompactList}\item 
virtual \hyperlink{a11608}{Cell\+Handle} \hyperlink{a11652_a6eccac4ed7e00021b946a46aff011ff4}{add\+\_\+cell} (const std\+::vector$<$ \hyperlink{a11608}{Half\+Face\+Handle} $>$ \&\+\_\+halffaces, bool \+\_\+topology\+Check=false)
\begin{DoxyCompactList}\small\item\em Add cell via incident halffaces. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a3bd8e3dfe3525025333e8a903efa03ba}\label{a11652_a3bd8e3dfe3525025333e8a903efa03ba}} 
void \hyperlink{a11652_a3bd8e3dfe3525025333e8a903efa03ba}{set\+\_\+edge} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+eh, const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+from\+Vertex, const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+to\+Vertex)
\begin{DoxyCompactList}\small\item\em Set the vertices of an edge. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_aa2f7082c78c4dffe222d4deaf809c022}\label{a11652_aa2f7082c78c4dffe222d4deaf809c022}} 
void \hyperlink{a11652_aa2f7082c78c4dffe222d4deaf809c022}{set\+\_\+face} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+fh, const std\+::vector$<$ \hyperlink{a11608}{Half\+Edge\+Handle} $>$ \&\+\_\+hes)
\begin{DoxyCompactList}\small\item\em Set the half-\/edges of a face. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a9442cbd13519de47ef0864b0382d24d4}\label{a11652_a9442cbd13519de47ef0864b0382d24d4}} 
void \hyperlink{a11652_a9442cbd13519de47ef0864b0382d24d4}{set\+\_\+cell} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+ch, const std\+::vector$<$ \hyperlink{a11608}{Half\+Face\+Handle} $>$ \&\+\_\+hfs)
\begin{DoxyCompactList}\small\item\em Set the half-\/faces of a cell. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a6b637541cf9202863676fd94efa085f1}\label{a11652_a6b637541cf9202863676fd94efa085f1}} 
const \hyperlink{a11428}{Edge} \& \hyperlink{a11652_a6b637541cf9202863676fd94efa085f1}{edge} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+edge\+Handle) const
\begin{DoxyCompactList}\small\item\em Get edge with handle \+\_\+edge\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a402f8519c7f017271124709299bdba0d}\label{a11652_a402f8519c7f017271124709299bdba0d}} 
const \hyperlink{a11432}{Face} \& \hyperlink{a11652_a402f8519c7f017271124709299bdba0d}{face} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+face\+Handle) const
\begin{DoxyCompactList}\small\item\em Get face with handle \+\_\+face\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_ac0efff1066f5f31317ca39de8d7a38de}\label{a11652_ac0efff1066f5f31317ca39de8d7a38de}} 
const \hyperlink{a11436}{Cell} \& \hyperlink{a11652_ac0efff1066f5f31317ca39de8d7a38de}{cell} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+cell\+Handle) const
\begin{DoxyCompactList}\small\item\em Get cell with handle \+\_\+cell\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a0f369a8c67eaa94e9e478ef3ebe357fa}\label{a11652_a0f369a8c67eaa94e9e478ef3ebe357fa}} 
\hyperlink{a11428}{Edge} \& \hyperlink{a11652_a0f369a8c67eaa94e9e478ef3ebe357fa}{edge} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+edge\+Handle)
\begin{DoxyCompactList}\small\item\em Get edge with handle \+\_\+edge\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a1787882199b94fa916bad53b6eaa3a2a}\label{a11652_a1787882199b94fa916bad53b6eaa3a2a}} 
\hyperlink{a11432}{Face} \& \hyperlink{a11652_a1787882199b94fa916bad53b6eaa3a2a}{face} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+face\+Handle)
\begin{DoxyCompactList}\small\item\em Get face with handle \+\_\+face\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_ab87ce93f9f960f28f1378842ca999b6c}\label{a11652_ab87ce93f9f960f28f1378842ca999b6c}} 
\hyperlink{a11436}{Cell} \& \hyperlink{a11652_ab87ce93f9f960f28f1378842ca999b6c}{cell} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+cell\+Handle)
\begin{DoxyCompactList}\small\item\em Get cell with handle \+\_\+cell\+Handle. \end{DoxyCompactList}\item 
\hyperlink{a11428}{Edge} \hyperlink{a11652_afc3e17553ecce4cbc5fdd2a4c24083c7}{halfedge} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+half\+Edge\+Handle) const
\begin{DoxyCompactList}\small\item\em Get edge that corresponds to halfedge with handle \+\_\+half\+Edge\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_af6d58d26904d46359d41b7853a1fe3bf}\label{a11652_af6d58d26904d46359d41b7853a1fe3bf}} 
\hyperlink{a11432}{Face} \hyperlink{a11652_af6d58d26904d46359d41b7853a1fe3bf}{halfface} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+half\+Face\+Handle) const
\begin{DoxyCompactList}\small\item\em Get face that corresponds to halfface with handle \+\_\+half\+Face\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a33fc22ba3328305beeb0d68d786cff2f}\label{a11652_a33fc22ba3328305beeb0d68d786cff2f}} 
\hyperlink{a11428}{Edge} \hyperlink{a11652_a33fc22ba3328305beeb0d68d786cff2f}{opposite\+\_\+halfedge} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+half\+Edge\+Handle) const
\begin{DoxyCompactList}\small\item\em Get opposite halfedge that corresponds to halfedge with handle \+\_\+half\+Edge\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a7fafab03cc92a2844a6c863f4d87b126}\label{a11652_a7fafab03cc92a2844a6c863f4d87b126}} 
\hyperlink{a11432}{Face} \hyperlink{a11652_a7fafab03cc92a2844a6c863f4d87b126}{opposite\+\_\+halfface} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+half\+Face\+Handle) const
\begin{DoxyCompactList}\small\item\em Get opposite halfface that corresponds to halfface with handle \+\_\+half\+Face\+Handle. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a0e3250e7c2034fe4e8f6b2b8452e1db9}\label{a11652_a0e3250e7c2034fe4e8f6b2b8452e1db9}} 
\hyperlink{a11608}{Half\+Edge\+Handle} \hyperlink{a11652_a0e3250e7c2034fe4e8f6b2b8452e1db9}{halfedge} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+vh1, const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+vh2) const
\begin{DoxyCompactList}\small\item\em Get halfedge from vertex \+\_\+vh1 to \+\_\+vh2. \end{DoxyCompactList}\item 
\hyperlink{a11608}{Half\+Face\+Handle} \hyperlink{a11652_aac65562082780809b595b4a460313955}{halfface} (const std\+::vector$<$ \hyperlink{a11608}{Vertex\+Handle} $>$ \&\+\_\+vs) const
\item 
\hyperlink{a11608}{Half\+Face\+Handle} \hyperlink{a11652_a09eb2b3d69b3286c9cd217645c882afc}{halfface\+\_\+extensive} (const std\+::vector$<$ \hyperlink{a11608}{Vertex\+Handle} $>$ \&\+\_\+vs) const
\item 
\hyperlink{a11608}{Half\+Face\+Handle} \hyperlink{a11652_a97a4345623eaff55e53d9cb1c8528f9b}{halfface} (const std\+::vector$<$ \hyperlink{a11608}{Half\+Edge\+Handle} $>$ \&\+\_\+hes) const
\item 
\mbox{\Hypertarget{a11652_a5dec4dcde21f226b5e3f6732e1679d2c}\label{a11652_a5dec4dcde21f226b5e3f6732e1679d2c}} 
\hyperlink{a11608}{Half\+Edge\+Handle} \hyperlink{a11652_a5dec4dcde21f226b5e3f6732e1679d2c}{next\+\_\+halfedge\+\_\+in\+\_\+halfface} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+heh, const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+hfh) const
\begin{DoxyCompactList}\small\item\em Get next halfedge within a halfface. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_adb3741db7fd42db87acd054b2658f683}\label{a11652_adb3741db7fd42db87acd054b2658f683}} 
\hyperlink{a11608}{Half\+Edge\+Handle} \hyperlink{a11652_adb3741db7fd42db87acd054b2658f683}{prev\+\_\+halfedge\+\_\+in\+\_\+halfface} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+heh, const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+hfh) const
\begin{DoxyCompactList}\small\item\em Get previous halfedge within a halfface. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_ac87ba9f47893b76e6662d29c768fdfee}\label{a11652_ac87ba9f47893b76e6662d29c768fdfee}} 
size\+\_\+t \hyperlink{a11652_ac87ba9f47893b76e6662d29c768fdfee}{valence} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+vh) const
\begin{DoxyCompactList}\small\item\em Get valence of vertex (number of incident edges) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a79e919df70463ac98b7bd10232685ee3}\label{a11652_a79e919df70463ac98b7bd10232685ee3}} 
size\+\_\+t \hyperlink{a11652_a79e919df70463ac98b7bd10232685ee3}{valence} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+eh) const
\begin{DoxyCompactList}\small\item\em Get valence of edge (number of incident faces) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_abeedf2929501a0d978faaecad9638927}\label{a11652_abeedf2929501a0d978faaecad9638927}} 
size\+\_\+t \hyperlink{a11652_abeedf2929501a0d978faaecad9638927}{valence} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+fh) const
\begin{DoxyCompactList}\small\item\em Get valence of face (number of incident edges) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a7f5c45216ee0e40fb502628f0af25073}\label{a11652_a7f5c45216ee0e40fb502628f0af25073}} 
size\+\_\+t \hyperlink{a11652_a7f5c45216ee0e40fb502628f0af25073}{valence} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+ch) const
\begin{DoxyCompactList}\small\item\em Get valence of cell (number of incident faces) \end{DoxyCompactList}\item 
virtual \hyperlink{a11572}{Vertex\+Iter} \hyperlink{a11652_a117a36421d62a0843df19ca22102201c}{delete\+\_\+vertex} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Delete vertex from mesh. \end{DoxyCompactList}\item 
virtual \hyperlink{a11576}{Edge\+Iter} \hyperlink{a11652_acc204262a97f8523d5593f2683bf6311}{delete\+\_\+edge} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Delete edge from mesh. \end{DoxyCompactList}\item 
virtual \hyperlink{a11584}{Face\+Iter} \hyperlink{a11652_a4dd3198241a447db22676a79c3aa5037}{delete\+\_\+face} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Delete face from mesh. \end{DoxyCompactList}\item 
virtual \hyperlink{a11592}{Cell\+Iter} \hyperlink{a11652_a306d87e0fa6638195fce51786b3dfd50}{delete\+\_\+cell} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Delete cell from mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_afdbad979e2a1b5ed8654ace7a9bdd86d}\label{a11652_afdbad979e2a1b5ed8654ace7a9bdd86d}} 
virtual void \hyperlink{a11652_afdbad979e2a1b5ed8654ace7a9bdd86d}{collect\+\_\+garbage} ()
\begin{DoxyCompactList}\small\item\em Delete all entities that are marked as deleted. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a3dff14b77b024871d38260c7a700ddef}\label{a11652_a3dff14b77b024871d38260c7a700ddef}} 
virtual bool {\bfseries is\+\_\+deleted} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h) const
\item 
\mbox{\Hypertarget{a11652_afc3889b5e05e39d182543f486dd54161}\label{a11652_afc3889b5e05e39d182543f486dd54161}} 
virtual bool {\bfseries is\+\_\+deleted} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+h) const
\item 
\mbox{\Hypertarget{a11652_a49319cabb21f7df56cff3e194988707c}\label{a11652_a49319cabb21f7df56cff3e194988707c}} 
virtual bool {\bfseries is\+\_\+deleted} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+h) const
\item 
\mbox{\Hypertarget{a11652_ae0c13c4398aa6377111d0502e811a1c8}\label{a11652_ae0c13c4398aa6377111d0502e811a1c8}} 
virtual bool {\bfseries is\+\_\+deleted} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+h) const
\item 
\mbox{\Hypertarget{a11652_ac51c1ea3b1863b9309d208ad81952803}\label{a11652_ac51c1ea3b1863b9309d208ad81952803}} 
virtual bool {\bfseries is\+\_\+deleted} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+h) const
\item 
\mbox{\Hypertarget{a11652_a78b5a053e9df42480fea5f6e771d9dc0}\label{a11652_a78b5a053e9df42480fea5f6e771d9dc0}} 
virtual bool {\bfseries is\+\_\+deleted} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+h) const
\item 
\mbox{\Hypertarget{a11652_a9510fff6484aa597f481f1b0890a6c6c}\label{a11652_a9510fff6484aa597f481f1b0890a6c6c}} 
virtual void \hyperlink{a11652_a9510fff6484aa597f481f1b0890a6c6c}{swap\+\_\+cell\+\_\+indices} (\hyperlink{a11608}{Cell\+Handle} \+\_\+h1, \hyperlink{a11608}{Cell\+Handle} \+\_\+h2)
\begin{DoxyCompactList}\small\item\em Exchanges the indices of two cells while keeping the mesh otherwise unaffected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_ae1ebf933afa20beb9a2f4d2840038a90}\label{a11652_ae1ebf933afa20beb9a2f4d2840038a90}} 
virtual void \hyperlink{a11652_ae1ebf933afa20beb9a2f4d2840038a90}{swap\+\_\+face\+\_\+indices} (\hyperlink{a11608}{Face\+Handle} \+\_\+h1, \hyperlink{a11608}{Face\+Handle} \+\_\+h2)
\begin{DoxyCompactList}\small\item\em Exchanges the indices of two faces while keeping the mesh otherwise unaffected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a8dc05c16cd507611b91d03d30e01ab60}\label{a11652_a8dc05c16cd507611b91d03d30e01ab60}} 
virtual void \hyperlink{a11652_a8dc05c16cd507611b91d03d30e01ab60}{swap\+\_\+edge\+\_\+indices} (\hyperlink{a11608}{Edge\+Handle} \+\_\+h1, \hyperlink{a11608}{Edge\+Handle} \+\_\+h2)
\begin{DoxyCompactList}\small\item\em Exchanges the indices of two edges while keeping the mesh otherwise unaffected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a60c6bced7693f84fb3d1359a96d8e0aa}\label{a11652_a60c6bced7693f84fb3d1359a96d8e0aa}} 
virtual void \hyperlink{a11652_a60c6bced7693f84fb3d1359a96d8e0aa}{swap\+\_\+vertex\+\_\+indices} (\hyperlink{a11608}{Vertex\+Handle} \+\_\+h1, \hyperlink{a11608}{Vertex\+Handle} \+\_\+h2)
\begin{DoxyCompactList}\small\item\em Exchanges the indices of two vertices while keeping the mesh otherwise unaffected. \end{DoxyCompactList}\item 
\hyperlink{a11592}{Cell\+Iter} \hyperlink{a11652_a81b96e4f2500dd606b5e488e8712d22a}{delete\+\_\+cell\+\_\+range} (const \hyperlink{a11592}{Cell\+Iter} \&\+\_\+first, const \hyperlink{a11592}{Cell\+Iter} \&\+\_\+last)
\begin{DoxyCompactList}\small\item\em Delete range of cells. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_aa12dca4e8c32f513aca40cce9419e0d3}\label{a11652_aa12dca4e8c32f513aca40cce9419e0d3}} 
virtual void \hyperlink{a11652_aa12dca4e8c32f513aca40cce9419e0d3}{clear} (bool \+\_\+clear\+Props=true)
\begin{DoxyCompactList}\small\item\em Clear whole mesh. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a20620da2bbe66d4f358a7247454cbc97}\label{a11652_a20620da2bbe66d4f358a7247454cbc97}} 
void {\bfseries enable\+\_\+bottom\+\_\+up\+\_\+incidences} (bool \+\_\+enable=true)
\item 
\mbox{\Hypertarget{a11652_a5918ba6a3400f28421a35dd316ba11da}\label{a11652_a5918ba6a3400f28421a35dd316ba11da}} 
void {\bfseries enable\+\_\+vertex\+\_\+bottom\+\_\+up\+\_\+incidences} (bool \+\_\+enable=true)
\item 
\mbox{\Hypertarget{a11652_a3d5bdfda2519ba8a0a2959421589689a}\label{a11652_a3d5bdfda2519ba8a0a2959421589689a}} 
void {\bfseries enable\+\_\+edge\+\_\+bottom\+\_\+up\+\_\+incidences} (bool \+\_\+enable=true)
\item 
\mbox{\Hypertarget{a11652_ac0b6fd1cd8a2950f296d783e228a720a}\label{a11652_ac0b6fd1cd8a2950f296d783e228a720a}} 
void {\bfseries enable\+\_\+face\+\_\+bottom\+\_\+up\+\_\+incidences} (bool \+\_\+enable=true)
\item 
\mbox{\Hypertarget{a11652_a9385d4e66f2b092212c615f51d70923e}\label{a11652_a9385d4e66f2b092212c615f51d70923e}} 
bool {\bfseries has\+\_\+full\+\_\+bottom\+\_\+up\+\_\+incidences} () const
\item 
\mbox{\Hypertarget{a11652_ac0945af65ed5fad0f61d0cf08e3d6991}\label{a11652_ac0945af65ed5fad0f61d0cf08e3d6991}} 
bool {\bfseries has\+\_\+vertex\+\_\+bottom\+\_\+up\+\_\+incidences} () const
\item 
\mbox{\Hypertarget{a11652_a8f8781264391a130795d63cf06083e2d}\label{a11652_a8f8781264391a130795d63cf06083e2d}} 
bool {\bfseries has\+\_\+edge\+\_\+bottom\+\_\+up\+\_\+incidences} () const
\item 
\mbox{\Hypertarget{a11652_a2487277600c4e89a6872768a00be93a8}\label{a11652_a2487277600c4e89a6872768a00be93a8}} 
bool {\bfseries has\+\_\+face\+\_\+bottom\+\_\+up\+\_\+incidences} () const
\item 
\mbox{\Hypertarget{a11652_a25d23595c6f8a60e7a07399ac648ded7}\label{a11652_a25d23595c6f8a60e7a07399ac648ded7}} 
void {\bfseries enable\+\_\+deferred\+\_\+deletion} (bool \+\_\+enable=true)
\item 
\mbox{\Hypertarget{a11652_a34f05c595e217b1787287cd88b85b9b3}\label{a11652_a34f05c595e217b1787287cd88b85b9b3}} 
bool {\bfseries deferred\+\_\+deletion\+\_\+enabled} () const
\item 
\mbox{\Hypertarget{a11652_a9ec874a191c5523398f436ea03c5820d}\label{a11652_a9ec874a191c5523398f436ea03c5820d}} 
void {\bfseries enable\+\_\+fast\+\_\+deletion} (bool \+\_\+enable=true)
\item 
\mbox{\Hypertarget{a11652_af7cbb248bf7ff67a07b5b408f7ae4baf}\label{a11652_af7cbb248bf7ff67a07b5b408f7ae4baf}} 
bool {\bfseries fast\+\_\+deletion\+\_\+enabled} () const
\item 
\hyperlink{a11608}{Half\+Face\+Handle} \hyperlink{a11652_ab097eb42295253b61b32b62bcb9795e1}{adjacent\+\_\+halfface\+\_\+in\+\_\+cell} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+half\+Face\+Handle, const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+half\+Edge\+Handle) const
\begin{DoxyCompactList}\small\item\em Get halfface that is adjacent (w.\+r.\+t. a common halfedge) within the same cell. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_ac39df9aa50af9c9a2eeb1c08b0c47b06}\label{a11652_ac39df9aa50af9c9a2eeb1c08b0c47b06}} 
\hyperlink{a11608}{Cell\+Handle} \hyperlink{a11652_ac39df9aa50af9c9a2eeb1c08b0c47b06}{incident\+\_\+cell} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+half\+Face\+Handle) const
\begin{DoxyCompactList}\small\item\em Get cell that is incident to the given halfface. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a12ec71a2d32c8235df974782f5ed489a}\label{a11652_a12ec71a2d32c8235df974782f5ed489a}} 
bool {\bfseries is\+\_\+boundary} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+half\+Face\+Handle) const
\item 
\mbox{\Hypertarget{a11652_abe5bd45552b5c72d14aad6b8dd2d20ee}\label{a11652_abe5bd45552b5c72d14aad6b8dd2d20ee}} 
bool {\bfseries is\+\_\+boundary} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+face\+Handle) const
\item 
\mbox{\Hypertarget{a11652_a38284b25b6e21f6abe2e0bc57c77cf69}\label{a11652_a38284b25b6e21f6abe2e0bc57c77cf69}} 
bool {\bfseries is\+\_\+boundary} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+edge\+Handle) const
\item 
\mbox{\Hypertarget{a11652_aa101a80bcf6dd0450980077a54a3e08a}\label{a11652_aa101a80bcf6dd0450980077a54a3e08a}} 
bool {\bfseries is\+\_\+boundary} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+halfedge\+Handle) const
\item 
\mbox{\Hypertarget{a11652_a4e8a70ccbae5b248d0eaf134b1bed06e}\label{a11652_a4e8a70ccbae5b248d0eaf134b1bed06e}} 
bool {\bfseries is\+\_\+boundary} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+vertex\+Handle) const
\item 
\mbox{\Hypertarget{a11652_a481f7e7a79b66aaef1ccb992e3531b6c}\label{a11652_a481f7e7a79b66aaef1ccb992e3531b6c}} 
size\+\_\+t {\bfseries n\+\_\+vertices\+\_\+in\+\_\+cell} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+ch) const
\item 
\mbox{\Hypertarget{a11652_af67bc96ceefac51f992da77e70257aee}\label{a11652_af67bc96ceefac51f992da77e70257aee}} 
\hyperlink{a11428}{Edge} {\bfseries opposite\+\_\+halfedge} (const \hyperlink{a11428}{Edge} \&\+\_\+edge) const
\item 
\mbox{\Hypertarget{a11652_af3b83d5a90f80881c356b18c0069b22e}\label{a11652_af3b83d5a90f80881c356b18c0069b22e}} 
\hyperlink{a11432}{Face} {\bfseries opposite\+\_\+halfface} (const \hyperlink{a11432}{Face} \&\+\_\+face) const
\item 
\mbox{\Hypertarget{a11652_a9c653643ff4354f5d32cd9614a19f1cb}\label{a11652_a9c653643ff4354f5d32cd9614a19f1cb}} 
bool {\bfseries needs\+\_\+garbage\+\_\+collection} () const
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_aa273019d3894191776cd2cccca181b6d}\label{a11652_aa273019d3894191776cd2cccca181b6d}} 
static \hyperlink{a11608}{Half\+Edge\+Handle} \hyperlink{a11652_aa273019d3894191776cd2cccca181b6d}{halfedge\+\_\+handle} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+h, const unsigned char \+\_\+sub\+Idx)
\begin{DoxyCompactList}\small\item\em Conversion function. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_afd5f4900f7cda7e992be90ac57d667d7}\label{a11652_afd5f4900f7cda7e992be90ac57d667d7}} 
static \hyperlink{a11608}{Half\+Face\+Handle} \hyperlink{a11652_afd5f4900f7cda7e992be90ac57d667d7}{halfface\+\_\+handle} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+h, const unsigned char \+\_\+sub\+Idx)
\begin{DoxyCompactList}\small\item\em Conversion function. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a147bf3c413a752512f0443ac65085257}\label{a11652_a147bf3c413a752512f0443ac65085257}} 
static \hyperlink{a11608}{Edge\+Handle} \hyperlink{a11652_a147bf3c413a752512f0443ac65085257}{edge\+\_\+handle} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Handle conversion. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11652_a068b9daa412243a5fd1a3e38b5f3f27b}\label{a11652_a068b9daa412243a5fd1a3e38b5f3f27b}} 
static \hyperlink{a11608}{Face\+Handle} {\bfseries face\+\_\+handle} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+h)
\item 
\mbox{\Hypertarget{a11652_a758c21a9d80a1b69ce7cc7421f1f61fe}\label{a11652_a758c21a9d80a1b69ce7cc7421f1f61fe}} 
static \hyperlink{a11608}{Half\+Edge\+Handle} {\bfseries opposite\+\_\+halfedge\+\_\+handle} (const \hyperlink{a11608}{Half\+Edge\+Handle} \&\+\_\+h)
\item 
\mbox{\Hypertarget{a11652_a9da6da9c5d5bcae40eb58db7cc453e0c}\label{a11652_a9da6da9c5d5bcae40eb58db7cc453e0c}} 
static \hyperlink{a11608}{Half\+Face\+Handle} {\bfseries opposite\+\_\+halfface\+\_\+handle} (const \hyperlink{a11608}{Half\+Face\+Handle} \&\+\_\+h)
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_a66b5ed833a76cb6ab7141fac81829eb5}\label{a11652_a66b5ed833a76cb6ab7141fac81829eb5}} 
static const \hyperlink{a11608}{Vertex\+Handle} {\bfseries Invalid\+Vertex\+Handle} = \hyperlink{a11608}{Vertex\+Handle}(-\/1)
\item 
\mbox{\Hypertarget{a11652_ae2d44d3b6fd7688fa7e1b3627c787cde}\label{a11652_ae2d44d3b6fd7688fa7e1b3627c787cde}} 
static const \hyperlink{a11608}{Edge\+Handle} {\bfseries Invalid\+Edge\+Handle} = \hyperlink{a11608}{Edge\+Handle}(-\/1)
\item 
\mbox{\Hypertarget{a11652_aef0a6822bdd2cf829bb9bc94d4d9047e}\label{a11652_aef0a6822bdd2cf829bb9bc94d4d9047e}} 
static const \hyperlink{a11608}{Face\+Handle} {\bfseries Invalid\+Face\+Handle} = \hyperlink{a11608}{Face\+Handle}(-\/1)
\item 
\mbox{\Hypertarget{a11652_aff59640a267ade91e12bc73d25d30a57}\label{a11652_aff59640a267ade91e12bc73d25d30a57}} 
static const \hyperlink{a11608}{Cell\+Handle} {\bfseries Invalid\+Cell\+Handle} = \hyperlink{a11608}{Cell\+Handle}(-\/1)
\item 
\mbox{\Hypertarget{a11652_ae498f5c2a3231888f4b8e5f749b72c33}\label{a11652_ae498f5c2a3231888f4b8e5f749b72c33}} 
static const \hyperlink{a11608}{Half\+Edge\+Handle} {\bfseries Invalid\+Half\+Edge\+Handle} = \hyperlink{a11608}{Half\+Edge\+Handle}(-\/1)
\item 
\mbox{\Hypertarget{a11652_afe5b55119435342aa4cee48f8b36b8a1}\label{a11652_afe5b55119435342aa4cee48f8b36b8a1}} 
static const \hyperlink{a11608}{Half\+Face\+Handle} {\bfseries Invalid\+Half\+Face\+Handle} = \hyperlink{a11608}{Half\+Face\+Handle}(-\/1)
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_ad6c322d288d448e58fdd7cc27a7aa917}\label{a11652_ad6c322d288d448e58fdd7cc27a7aa917}} 
virtual void {\bfseries delete\+\_\+multiple\+\_\+vertices} (const std\+::vector$<$ bool $>$ \&\+\_\+tag)
\item 
\mbox{\Hypertarget{a11652_a2b225cbc6a08ab2921655adb3c8c72f2}\label{a11652_a2b225cbc6a08ab2921655adb3c8c72f2}} 
virtual void {\bfseries delete\+\_\+multiple\+\_\+edges} (const std\+::vector$<$ bool $>$ \&\+\_\+tag)
\item 
\mbox{\Hypertarget{a11652_ad31ecb8e67405cf400026744d94902a5}\label{a11652_ad31ecb8e67405cf400026744d94902a5}} 
virtual void {\bfseries delete\+\_\+multiple\+\_\+faces} (const std\+::vector$<$ bool $>$ \&\+\_\+tag)
\item 
\mbox{\Hypertarget{a11652_a5f90191ca81c006964e400d513c8405a}\label{a11652_a5f90191ca81c006964e400d513c8405a}} 
virtual void {\bfseries delete\+\_\+multiple\+\_\+cells} (const std\+::vector$<$ bool $>$ \&\+\_\+tag)
\item 
\mbox{\Hypertarget{a11652_a90c811109fca461d43ea2252761495d8}\label{a11652_a90c811109fca461d43ea2252761495d8}} 
void {\bfseries compute\+\_\+vertex\+\_\+bottom\+\_\+up\+\_\+incidences} ()
\item 
\mbox{\Hypertarget{a11652_aa2a661607e309c413879939dbf86b068}\label{a11652_aa2a661607e309c413879939dbf86b068}} 
void {\bfseries compute\+\_\+edge\+\_\+bottom\+\_\+up\+\_\+incidences} ()
\item 
\mbox{\Hypertarget{a11652_a5afb2c10b709516d9d9bead5f7253719}\label{a11652_a5afb2c10b709516d9d9bead5f7253719}} 
void {\bfseries compute\+\_\+face\+\_\+bottom\+\_\+up\+\_\+incidences} ()
\item 
\mbox{\Hypertarget{a11652_a14aaa981a56c1528129f171d026f28d7}\label{a11652_a14aaa981a56c1528129f171d026f28d7}} 
void {\bfseries reorder\+\_\+incident\+\_\+halffaces} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+eh)
\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_ad8aa2e51977d976bf8844aa5cd14af23}\label{a11652_ad8aa2e51977d976bf8844aa5cd14af23}} 
{\footnotesize template$<$class Circulator $>$ }\\static Circulator {\bfseries make\+\_\+end\+\_\+circulator} (const Circulator \&\+\_\+circ)
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_a95ea5009e05fb49ccb317b4a40eebd73}\label{a11652_a95ea5009e05fb49ccb317b4a40eebd73}} 
std\+::vector$<$ std\+::vector$<$ \hyperlink{a11608}{Half\+Edge\+Handle} $>$ $>$ {\bfseries outgoing\+\_\+hes\+\_\+per\+\_\+vertex\+\_\+}
\item 
\mbox{\Hypertarget{a11652_ac9f9839340f921c7ecca462487f598cb}\label{a11652_ac9f9839340f921c7ecca462487f598cb}} 
std\+::vector$<$ std\+::vector$<$ \hyperlink{a11608}{Half\+Face\+Handle} $>$ $>$ {\bfseries incident\+\_\+hfs\+\_\+per\+\_\+he\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a91578837b1cb1de0231bfc90bd4f9206}\label{a11652_a91578837b1cb1de0231bfc90bd4f9206}} 
std\+::vector$<$ \hyperlink{a11608}{Cell\+Handle} $>$ {\bfseries incident\+\_\+cell\+\_\+per\+\_\+hf\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a646592c2c4ac5175a6e55a8d13bc283a}\label{a11652_a646592c2c4ac5175a6e55a8d13bc283a}} 
std\+::vector$<$ \hyperlink{a11428}{Edge} $>$ {\bfseries edges\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a93d9440e85d2bd526cfe7122b0aa621f}\label{a11652_a93d9440e85d2bd526cfe7122b0aa621f}} 
std\+::vector$<$ \hyperlink{a11432}{Face} $>$ {\bfseries faces\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a7476c86cea3c7ba2e871b882699bb6e6}\label{a11652_a7476c86cea3c7ba2e871b882699bb6e6}} 
std\+::vector$<$ \hyperlink{a11436}{Cell} $>$ {\bfseries cells\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a7c2be327ce071f899d389a72d66ca381}\label{a11652_a7c2be327ce071f899d389a72d66ca381}} 
std\+::vector$<$ bool $>$ {\bfseries vertex\+\_\+deleted\+\_\+}
\item 
\mbox{\Hypertarget{a11652_ab2920794ac43dd2fffd84d6805df99e9}\label{a11652_ab2920794ac43dd2fffd84d6805df99e9}} 
std\+::vector$<$ bool $>$ {\bfseries edge\+\_\+deleted\+\_\+}
\item 
\mbox{\Hypertarget{a11652_af4e14af52129c1a6f18f94ebd6903c50}\label{a11652_af4e14af52129c1a6f18f94ebd6903c50}} 
std\+::vector$<$ bool $>$ {\bfseries face\+\_\+deleted\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a933dd8d2b52e68d99f9a861b8ebbb2d3}\label{a11652_a933dd8d2b52e68d99f9a861b8ebbb2d3}} 
std\+::vector$<$ bool $>$ {\bfseries cell\+\_\+deleted\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a76d916e71586af696c1f8b8556584434}\label{a11652_a76d916e71586af696c1f8b8556584434}} 
size\+\_\+t {\bfseries n\+\_\+deleted\+\_\+vertices\+\_\+} = 0
\item 
\mbox{\Hypertarget{a11652_a2d172adfd1e0bab03131b2c0bb71df0e}\label{a11652_a2d172adfd1e0bab03131b2c0bb71df0e}} 
size\+\_\+t {\bfseries n\+\_\+deleted\+\_\+edges\+\_\+} = 0
\item 
\mbox{\Hypertarget{a11652_a3efc4834ed9adeb28d7b54ab69913840}\label{a11652_a3efc4834ed9adeb28d7b54ab69913840}} 
size\+\_\+t {\bfseries n\+\_\+deleted\+\_\+faces\+\_\+} = 0
\item 
\mbox{\Hypertarget{a11652_ad44371ab21ffd729ad4468470e665daa}\label{a11652_ad44371ab21ffd729ad4468470e665daa}} 
size\+\_\+t {\bfseries n\+\_\+deleted\+\_\+cells\+\_\+} = 0
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_a38cf8394b1529981a6fc101e7c436950}\label{a11652_a38cf8394b1529981a6fc101e7c436950}} 
{\footnotesize template$<$class ContainerT $>$ }\\void {\bfseries get\+\_\+incident\+\_\+edges} (const ContainerT \&\+\_\+vs, std\+::set$<$ \hyperlink{a11608}{Edge\+Handle} $>$ \&\+\_\+es) const
\item 
\mbox{\Hypertarget{a11652_ad29a045b475c09f07e659c5e1845c4c7}\label{a11652_ad29a045b475c09f07e659c5e1845c4c7}} 
{\footnotesize template$<$class ContainerT $>$ }\\void {\bfseries get\+\_\+incident\+\_\+faces} (const ContainerT \&\+\_\+es, std\+::set$<$ \hyperlink{a11608}{Face\+Handle} $>$ \&\+\_\+fs) const
\item 
\mbox{\Hypertarget{a11652_ae6252b1467de1d1c00fddb7576192a0d}\label{a11652_ae6252b1467de1d1c00fddb7576192a0d}} 
{\footnotesize template$<$class ContainerT $>$ }\\void {\bfseries get\+\_\+incident\+\_\+cells} (const ContainerT \&\+\_\+fs, std\+::set$<$ \hyperlink{a11608}{Cell\+Handle} $>$ \&\+\_\+cs) const
\item 
\hyperlink{a11572}{Vertex\+Iter} \hyperlink{a11652_a045700b5d46f2685e13ecaa51fdd0709}{delete\+\_\+vertex\+\_\+core} (const \hyperlink{a11608}{Vertex\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Delete vertex from mesh. \end{DoxyCompactList}\item 
\hyperlink{a11576}{Edge\+Iter} \hyperlink{a11652_a302d0b905b3ea3f7ed17dc2e549757b1}{delete\+\_\+edge\+\_\+core} (const \hyperlink{a11608}{Edge\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Delete edge from mesh. \end{DoxyCompactList}\item 
\hyperlink{a11584}{Face\+Iter} \hyperlink{a11652_a109ad1c8c2680321774d1703c3167c58}{delete\+\_\+face\+\_\+core} (const \hyperlink{a11608}{Face\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Delete face from mesh. \end{DoxyCompactList}\item 
\hyperlink{a11592}{Cell\+Iter} \hyperlink{a11652_adfa680c6b8c1c795dd653ccddeaa093e}{delete\+\_\+cell\+\_\+core} (const \hyperlink{a11608}{Cell\+Handle} \&\+\_\+h)
\begin{DoxyCompactList}\small\item\em Delete cell from mesh. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_a5bb8c8cb8d4655df1525a31d6c848509}\label{a11652_a5bb8c8cb8d4655df1525a31d6c848509}} 
size\+\_\+t {\bfseries n\+\_\+vertices\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a824dd55bfa306eba43bd4dc054be3cd6}\label{a11652_a824dd55bfa306eba43bd4dc054be3cd6}} 
bool {\bfseries v\+\_\+bottom\+\_\+up\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a4de37a29b72f8cca727ae9283f7ee71f}\label{a11652_a4de37a29b72f8cca727ae9283f7ee71f}} 
bool {\bfseries e\+\_\+bottom\+\_\+up\+\_\+}
\item 
\mbox{\Hypertarget{a11652_a6c7147ca0f79b7c785c6909f1fe7ff41}\label{a11652_a6c7147ca0f79b7c785c6909f1fe7ff41}} 
bool {\bfseries f\+\_\+bottom\+\_\+up\+\_\+}
\item 
\mbox{\Hypertarget{a11652_ab69530e3f48a83b74bc0fde84fd65787}\label{a11652_ab69530e3f48a83b74bc0fde84fd65787}} 
bool {\bfseries deferred\+\_\+deletion}
\item 
\mbox{\Hypertarget{a11652_a0f3f79a86d31a92064adc525c48d2147}\label{a11652_a0f3f79a86d31a92064adc525c48d2147}} 
bool {\bfseries fast\+\_\+deletion}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11652_aff2e7a8de8e053b567828d7f7d9d9e2d}\label{a11652_aff2e7a8de8e053b567828d7f7d9d9e2d}} 
class {\bfseries Status\+Attrib}
\item 
\mbox{\Hypertarget{a11652_af339b9befdfedfeb679b538db20d74d9}\label{a11652_af339b9befdfedfeb679b538db20d74d9}} 
class {\bfseries Vertex\+O\+Half\+Edge\+Iter}
\item 
\mbox{\Hypertarget{a11652_a19ea11b2a6600db75a227d1dc7e8c593}\label{a11652_a19ea11b2a6600db75a227d1dc7e8c593}} 
class {\bfseries Vertex\+Vertex\+Iter}
\item 
\mbox{\Hypertarget{a11652_aaf037e67191e2cc7458f53e2f09a2688}\label{a11652_aaf037e67191e2cc7458f53e2f09a2688}} 
class {\bfseries Half\+Edge\+Half\+Face\+Iter}
\item 
\mbox{\Hypertarget{a11652_aa9d73f1a091ea6b4e05f2d1a362d3d05}\label{a11652_aa9d73f1a091ea6b4e05f2d1a362d3d05}} 
class {\bfseries Vertex\+Face\+Iter}
\item 
\mbox{\Hypertarget{a11652_ab06ebc9320827da841dc69293dc1fd8b}\label{a11652_ab06ebc9320827da841dc69293dc1fd8b}} 
class {\bfseries Vertex\+Cell\+Iter}
\item 
\mbox{\Hypertarget{a11652_ab881bf952294ccd92a37e5d3519e2a7e}\label{a11652_ab881bf952294ccd92a37e5d3519e2a7e}} 
class {\bfseries Half\+Edge\+Cell\+Iter}
\item 
\mbox{\Hypertarget{a11652_ac29565019de47f008c261dc7d092ad32}\label{a11652_ac29565019de47f008c261dc7d092ad32}} 
class {\bfseries Cell\+Vertex\+Iter}
\item 
\mbox{\Hypertarget{a11652_ac924065e52feae04fb993b21c90955e6}\label{a11652_ac924065e52feae04fb993b21c90955e6}} 
class {\bfseries Cell\+Cell\+Iter}
\item 
\mbox{\Hypertarget{a11652_aaa937a4f51561f0a5f4abbfe6b7571ad}\label{a11652_aaa937a4f51561f0a5f4abbfe6b7571ad}} 
class {\bfseries Half\+Face\+Vertex\+Iter}
\item 
\mbox{\Hypertarget{a11652_a4f138f0fb782db292e7ad3485aff5c1e}\label{a11652_a4f138f0fb782db292e7ad3485aff5c1e}} 
class {\bfseries Boundary\+Half\+Face\+Half\+Face\+Iter}
\item 
\mbox{\Hypertarget{a11652_aace2fceeddb2d3e4027ddd67384c384b}\label{a11652_aace2fceeddb2d3e4027ddd67384c384b}} 
class {\bfseries Boundary\+Face\+Iter}
\item 
\mbox{\Hypertarget{a11652_afcd0eec072787ca4d6b421d16072d103}\label{a11652_afcd0eec072787ca4d6b421d16072d103}} 
class {\bfseries Vertex\+Iter}
\item 
\mbox{\Hypertarget{a11652_a816ec85e3e235f14ab6a8f238da301ad}\label{a11652_a816ec85e3e235f14ab6a8f238da301ad}} 
class {\bfseries Edge\+Iter}
\item 
\mbox{\Hypertarget{a11652_ac0eda92cf90223e289fec55c7759d592}\label{a11652_ac0eda92cf90223e289fec55c7759d592}} 
class {\bfseries Half\+Edge\+Iter}
\item 
\mbox{\Hypertarget{a11652_a48df3fb737dcca5ea81b1aa90f6c231b}\label{a11652_a48df3fb737dcca5ea81b1aa90f6c231b}} 
class {\bfseries Face\+Iter}
\item 
\mbox{\Hypertarget{a11652_accc5514e4f3365a083ee4fab87123620}\label{a11652_accc5514e4f3365a083ee4fab87123620}} 
class {\bfseries Half\+Face\+Iter}
\item 
\mbox{\Hypertarget{a11652_a4c79ae0bbf8c632766cab98c74c0f218}\label{a11652_a4c79ae0bbf8c632766cab98c74c0f218}} 
class {\bfseries Cell\+Iter}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 57 of file Topology\+Kernel.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a11652_a6eccac4ed7e00021b946a46aff011ff4}\label{a11652_a6eccac4ed7e00021b946a46aff011ff4}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!add\+\_\+cell@{add\+\_\+cell}}
\index{add\+\_\+cell@{add\+\_\+cell}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{add\+\_\+cell()}{add\_cell()}}
{\footnotesize\ttfamily \hyperlink{a11608}{Cell\+Handle} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::add\+\_\+cell (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \hyperlink{a11608}{Half\+Face\+Handle} $>$ \&}]{\+\_\+halffaces,  }\item[{bool}]{\+\_\+topology\+Check = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Add cell via incident halffaces. 

Add cell via incident halffaces

\begin{DoxyReturn}{Returns}
Handle of the new cell, Invalid\+Cell\+Handle if {\itshape \+\_\+topology\+Check} is {\itshape true} and {\itshape \+\_\+halffaces} are not connected.
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
If \+\_\+halffaces are not connected and {\itshape \+\_\+topology\+Check} is {\itshape false}, the behavior is undefined. 
\end{DoxyWarning}


Reimplemented in \hyperlink{a11708_ad4591572bf3c6526052e1b81b0db60d9}{Open\+Volume\+Mesh\+::\+Hexahedral\+Mesh\+Topology\+Kernel}, and \hyperlink{a11720_ab0aab7dd51d3f90795b84a04d441e144}{Open\+Volume\+Mesh\+::\+Tetrahedral\+Mesh\+Topology\+Kernel}.



Definition at line 378 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a0d39e76cff8a318046e640b3887a6845}\label{a11652_a0d39e76cff8a318046e640b3887a6845}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!add\+\_\+face@{add\+\_\+face}}
\index{add\+\_\+face@{add\+\_\+face}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{add\+\_\+face()}{add\_face()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{a11608}{Face\+Handle} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::add\+\_\+face (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \hyperlink{a11608}{Half\+Edge\+Handle} $>$ \&}]{\+\_\+halfedges,  }\item[{bool}]{\+\_\+topology\+Check = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Add face via incident edges. 

Add face via incident edges

\begin{DoxyReturn}{Returns}
Handle of the new face, Invalid\+Face\+Handle if {\itshape \+\_\+halfedges} are not connected and {\itshape \+\_\+topology\+Check} is {\itshape true}.
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
If \+\_\+halfedges are not connected and {\itshape \+\_\+topology\+Check} is {\itshape false}, the behavior is undefined. 
\end{DoxyWarning}


Reimplemented in \hyperlink{a11708_a24812b87dd16229d6e4543a3ec97cf6f}{Open\+Volume\+Mesh\+::\+Hexahedral\+Mesh\+Topology\+Kernel}, and \hyperlink{a11720_a192007449542133c70f3bfe4e18bd194}{Open\+Volume\+Mesh\+::\+Tetrahedral\+Mesh\+Topology\+Kernel}.



Definition at line 161 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a12dfd3700d0fb4c0374865c0e55bbef4}\label{a11652_a12dfd3700d0fb4c0374865c0e55bbef4}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!add\+\_\+face@{add\+\_\+face}}
\index{add\+\_\+face@{add\+\_\+face}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{add\+\_\+face()}{add\_face()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{a11608}{Face\+Handle} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::add\+\_\+face (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \hyperlink{a11608}{Vertex\+Handle} $>$ \&}]{\+\_\+vertices }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Add face via incident vertices. 

Add face via incident vertices Define the \+\_\+vertices in counter-\/clockwise order (from the \char`\"{}outside\char`\"{}) 

Reimplemented in \hyperlink{a11708_aa3abb32b64daa7a4b834304c082e6c1d}{Open\+Volume\+Mesh\+::\+Hexahedral\+Mesh\+Topology\+Kernel}, and \hyperlink{a11720_abe082c791405bc29e47282a6de3b7096}{Open\+Volume\+Mesh\+::\+Tetrahedral\+Mesh\+Topology\+Kernel}.



Definition at line 250 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_ab097eb42295253b61b32b62bcb9795e1}\label{a11652_ab097eb42295253b61b32b62bcb9795e1}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!adjacent\+\_\+halfface\+\_\+in\+\_\+cell@{adjacent\+\_\+halfface\+\_\+in\+\_\+cell}}
\index{adjacent\+\_\+halfface\+\_\+in\+\_\+cell@{adjacent\+\_\+halfface\+\_\+in\+\_\+cell}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{adjacent\+\_\+halfface\+\_\+in\+\_\+cell()}{adjacent\_halfface\_in\_cell()}}
{\footnotesize\ttfamily \hyperlink{a11608}{Half\+Face\+Handle} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::adjacent\+\_\+halfface\+\_\+in\+\_\+cell (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Half\+Face\+Handle} \&}]{\+\_\+half\+Face\+Handle,  }\item[{const \hyperlink{a11608}{Half\+Edge\+Handle} \&}]{\+\_\+half\+Edge\+Handle }\end{DoxyParamCaption}) const}



Get halfface that is adjacent (w.\+r.\+t. a common halfedge) within the same cell. 

\begin{DoxyReturn}{Returns}
Handle of the adjacent half-\/face if {\itshape \+\_\+half\+Face\+Handle} is not at a boundary, {\itshape Invalid\+Half\+Face\+Handle} otherwise.
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
The mesh must have face bottom-\/up incidences. 
\end{DoxyWarning}


Definition at line 2267 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a306d87e0fa6638195fce51786b3dfd50}\label{a11652_a306d87e0fa6638195fce51786b3dfd50}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+cell@{delete\+\_\+cell}}
\index{delete\+\_\+cell@{delete\+\_\+cell}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+cell()}{delete\_cell()}}
{\footnotesize\ttfamily \hyperlink{a11592}{Cell\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+cell (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Cell\+Handle} \&}]{\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Delete cell from mesh. 

Since there\textquotesingle{}s no higher dimensional incident entity to a cell, we can safely delete it from the mesh.


\begin{DoxyParams}{Parameters}
{\em \+\_\+h} & The handle to the cell to be deleted \\
\hline
\end{DoxyParams}


Definition at line 712 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_adfa680c6b8c1c795dd653ccddeaa093e}\label{a11652_adfa680c6b8c1c795dd653ccddeaa093e}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+cell\+\_\+core@{delete\+\_\+cell\+\_\+core}}
\index{delete\+\_\+cell\+\_\+core@{delete\+\_\+cell\+\_\+core}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+cell\+\_\+core()}{delete\_cell\_core()}}
{\footnotesize\ttfamily \hyperlink{a11592}{Cell\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+cell\+\_\+core (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Cell\+Handle} \&}]{\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Delete cell from mesh. 

After performing this operation, all cells following cell \+\_\+h in the array will be accessible through their old handle decreased by one. These steps are performed\+:

1) Delete links in BU\+: HF -\/$>$ C 2) Decrease all entries $>$ c in BU\+: HF -\/$>$ C 3) Delete cell from storage array 4) Delete property item


\begin{DoxyParams}{Parameters}
{\em \+\_\+h} & A cell handle \\
\hline
\end{DoxyParams}


Definition at line 1369 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a81b96e4f2500dd606b5e488e8712d22a}\label{a11652_a81b96e4f2500dd606b5e488e8712d22a}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+cell\+\_\+range@{delete\+\_\+cell\+\_\+range}}
\index{delete\+\_\+cell\+\_\+range@{delete\+\_\+cell\+\_\+range}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+cell\+\_\+range()}{delete\_cell\_range()}}
{\footnotesize\ttfamily \hyperlink{a11592}{Cell\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+cell\+\_\+range (\begin{DoxyParamCaption}\item[{const \hyperlink{a11592}{Cell\+Iter} \&}]{\+\_\+first,  }\item[{const \hyperlink{a11592}{Cell\+Iter} \&}]{\+\_\+last }\end{DoxyParamCaption})}



Delete range of cells. 

Deletes all cells in range \mbox{[}\+\_\+first, \+\_\+last\mbox{]}.


\begin{DoxyParams}{Parameters}
{\em \+\_\+first} & Iterator to first cell that is to be deleted \\
\hline
{\em \+\_\+last} & Iterator to last cell that is to be deleted \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
An iterator to the first cell after the deleted range 
\end{DoxyReturn}


Definition at line 1960 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_acc204262a97f8523d5593f2683bf6311}\label{a11652_acc204262a97f8523d5593f2683bf6311}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+edge@{delete\+\_\+edge}}
\index{delete\+\_\+edge@{delete\+\_\+edge}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+edge()}{delete\_edge()}}
{\footnotesize\ttfamily \hyperlink{a11576}{Edge\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+edge (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Edge\+Handle} \&}]{\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Delete edge from mesh. 

Get all incident higher-\/dimensional entities and delete the complete subtree of the mesh incident to edge {\itshape h. In this function all incident entities are gathered and deleted using the delete}$\ast$\+\_\+core functions that do the actual deletion including the update of the bottom-\/up incidences, etc.


\begin{DoxyParams}{Parameters}
{\em \+\_\+h} & The handle to the edge to be deleted \\
\hline
\end{DoxyParams}


Definition at line 642 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a302d0b905b3ea3f7ed17dc2e549757b1}\label{a11652_a302d0b905b3ea3f7ed17dc2e549757b1}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+edge\+\_\+core@{delete\+\_\+edge\+\_\+core}}
\index{delete\+\_\+edge\+\_\+core@{delete\+\_\+edge\+\_\+core}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+edge\+\_\+core()}{delete\_edge\_core()}}
{\footnotesize\ttfamily \hyperlink{a11576}{Edge\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+edge\+\_\+core (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Edge\+Handle} \&}]{\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Delete edge from mesh. 

After performing this operation, all edges following edge \+\_\+h in the array will be accessible through their old handle decreased by one. This function directly fixes the edge links in all faces. These steps are performed\+:

1) Delete bottom-\/up links from incident vertices 2) Decrease all half-\/edge handles $>$ \+\_\+h in incident faces 3) Delete entry in bottom-\/up list\+: HE -\/$>$ HF 4) Decrease all half-\/edge handles $>$ 2$\ast$\+\_\+h.idx() in vertex bottom-\/up list 5) Delete edge itself 6) Delete property entry


\begin{DoxyParams}{Parameters}
{\em \+\_\+h} & An edge\textquotesingle{}s handle \\
\hline
\end{DoxyParams}


Definition at line 1016 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a4dd3198241a447db22676a79c3aa5037}\label{a11652_a4dd3198241a447db22676a79c3aa5037}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+face@{delete\+\_\+face}}
\index{delete\+\_\+face@{delete\+\_\+face}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+face()}{delete\_face()}}
{\footnotesize\ttfamily \hyperlink{a11584}{Face\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+face (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Face\+Handle} \&}]{\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Delete face from mesh. 

Get all incident higher-\/dimensional entities and delete the complete subtree of the mesh incident to face {\itshape h. In this function all incident entities are gathered and deleted using the delete}$\ast$\+\_\+core functions that do the actual deletion including the update of the bottom-\/up incidences, etc.


\begin{DoxyParams}{Parameters}
{\em \+\_\+h} & The handle to the face to be deleted \\
\hline
\end{DoxyParams}


Definition at line 683 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a109ad1c8c2680321774d1703c3167c58}\label{a11652_a109ad1c8c2680321774d1703c3167c58}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+face\+\_\+core@{delete\+\_\+face\+\_\+core}}
\index{delete\+\_\+face\+\_\+core@{delete\+\_\+face\+\_\+core}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+face\+\_\+core()}{delete\_face\_core()}}
{\footnotesize\ttfamily \hyperlink{a11584}{Face\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+face\+\_\+core (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Face\+Handle} \&}]{\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Delete face from mesh. 

After performing this operation, all faces following face \+\_\+h in the array will be accessible through their old handle decreased by one. This function directly fixes the face links in all cells. These steps are performed\+:

1) Delete bottom-\/up links from incident edges 2) Decrease all half-\/face handles $>$ \+\_\+h in incident cells 3) Delete entry in bottom-\/up list\+: HF -\/$>$ C 4) Decrease all half-\/face handles $>$ 2$\ast$\+\_\+h.idx() in half-\/edge bottom-\/up list 5) Delete face itself 6) Delete property entry


\begin{DoxyParams}{Parameters}
{\em \+\_\+h} & An face\textquotesingle{}s handle \\
\hline
\end{DoxyParams}


Definition at line 1200 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a117a36421d62a0843df19ca22102201c}\label{a11652_a117a36421d62a0843df19ca22102201c}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+vertex@{delete\+\_\+vertex}}
\index{delete\+\_\+vertex@{delete\+\_\+vertex}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+vertex()}{delete\_vertex()}}
{\footnotesize\ttfamily \hyperlink{a11572}{Vertex\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+vertex (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Vertex\+Handle} \&}]{\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Delete vertex from mesh. 

Get all incident higher-\/dimensional entities and delete the complete subtree of the mesh incident to vertex {\itshape h. In this function all incident entities are gathered and deleted using the delete}$\ast$\+\_\+core functions that do the actual deletion including the update of the bottom-\/up incidences, etc.


\begin{DoxyParams}{Parameters}
{\em \+\_\+h} & The handle to the vertex to be deleted \\
\hline
\end{DoxyParams}


Definition at line 592 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a045700b5d46f2685e13ecaa51fdd0709}\label{a11652_a045700b5d46f2685e13ecaa51fdd0709}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!delete\+\_\+vertex\+\_\+core@{delete\+\_\+vertex\+\_\+core}}
\index{delete\+\_\+vertex\+\_\+core@{delete\+\_\+vertex\+\_\+core}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{delete\+\_\+vertex\+\_\+core()}{delete\_vertex\_core()}}
{\footnotesize\ttfamily \hyperlink{a11572}{Vertex\+Iter} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::delete\+\_\+vertex\+\_\+core (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Vertex\+Handle} \&}]{\+\_\+h }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Delete vertex from mesh. 

After performing this operation, all vertices following vertex \+\_\+h in the array will be accessible through their old handle decreased by one. This function directly fixes the vertex links in all edges. These steps are performed\+:

1) Decrease all vertex handles $>$ \+\_\+h in incident edges 2) Delete entry in bottom-\/up list\+: V -\/$>$ HE 3) Delete vertex itself (not necessary here since a vertex is only represented by a number) 4) Delete property entry


\begin{DoxyParams}{Parameters}
{\em \+\_\+h} & A vertex\textquotesingle{}s handle \\
\hline
\end{DoxyParams}


Definition at line 911 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_afc3e17553ecce4cbc5fdd2a4c24083c7}\label{a11652_afc3e17553ecce4cbc5fdd2a4c24083c7}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!halfedge@{halfedge}}
\index{halfedge@{halfedge}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{halfedge()}{halfedge()}}
{\footnotesize\ttfamily \hyperlink{a11428}{Open\+Volume\+Mesh\+Edge} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::halfedge (\begin{DoxyParamCaption}\item[{const \hyperlink{a11608}{Half\+Edge\+Handle} \&}]{\+\_\+half\+Edge\+Handle }\end{DoxyParamCaption}) const}



Get edge that corresponds to halfedge with handle \+\_\+half\+Edge\+Handle. 

Otherwise return the opposite halfedge via opposite() 

Definition at line 2055 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_aac65562082780809b595b4a460313955}\label{a11652_aac65562082780809b595b4a460313955}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!halfface@{halfface}}
\index{halfface@{halfface}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{halfface()}{halfface()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{a11608}{Half\+Face\+Handle} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::halfface (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \hyperlink{a11608}{Vertex\+Handle} $>$ \&}]{\+\_\+vs }\end{DoxyParamCaption}) const}

Get half-\/face from list of incident vertices (in connected order)

\begin{DoxyNote}{Note}
Only the first three vertices are checked 
\end{DoxyNote}


Definition at line 2138 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a97a4345623eaff55e53d9cb1c8528f9b}\label{a11652_a97a4345623eaff55e53d9cb1c8528f9b}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!halfface@{halfface}}
\index{halfface@{halfface}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{halfface()}{halfface()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{a11608}{Half\+Face\+Handle} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::halfface (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \hyperlink{a11608}{Half\+Edge\+Handle} $>$ \&}]{\+\_\+hes }\end{DoxyParamCaption}) const}

Get half-\/face from list of incident half-\/edges

\begin{DoxyNote}{Note}
Only the first two half-\/edges are checked 
\end{DoxyNote}


Definition at line 2205 of file Topology\+Kernel.\+cc.

\mbox{\Hypertarget{a11652_a09eb2b3d69b3286c9cd217645c882afc}\label{a11652_a09eb2b3d69b3286c9cd217645c882afc}} 
\index{Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}!halfface\+\_\+extensive@{halfface\+\_\+extensive}}
\index{halfface\+\_\+extensive@{halfface\+\_\+extensive}!Open\+Volume\+Mesh\+::\+Topology\+Kernel@{Open\+Volume\+Mesh\+::\+Topology\+Kernel}}
\subsubsection{\texorpdfstring{halfface\+\_\+extensive()}{halfface\_extensive()}}
{\footnotesize\ttfamily \hyperlink{a11608}{Half\+Face\+Handle} Open\+Volume\+Mesh\+::\+Topology\+Kernel\+::halfface\+\_\+extensive (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ \hyperlink{a11608}{Vertex\+Handle} $>$ \&}]{\+\_\+vs }\end{DoxyParamCaption}) const}

Get half-\/face from list of incident vertices (in connected order)

\begin{DoxyNote}{Note}
All vertices are checked 
\end{DoxyNote}


Definition at line 2158 of file Topology\+Kernel.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Type-\/\+Open\+Volume\+Mesh/libs/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/Topology\+Kernel.\+hh\item 
Type-\/\+Open\+Volume\+Mesh/libs/\+Open\+Volume\+Mesh/src/\+Open\+Volume\+Mesh/\+Core/Topology\+Kernel.\+cc\end{DoxyCompactItemize}
