\hypertarget{a01332}{\section{Open\+Mesh\+:\+:Tri\+Connectivity Class Reference}
\label{a01332}\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
}


Connectivity Class for Triangle Meshes.  




{\ttfamily \#include $<$libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Mesh/\+Tri\+Connectivity.\+hh$>$}

Inheritance diagram for Open\+Mesh\+:\+:Tri\+Connectivity\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{a01332}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a01332_ac864bcbb89452120c74f3f3048857077}{assign\+\_\+connectivity} (const \hyperlink{a01332}{Tri\+Connectivity} \&\+\_\+other)
\item 
\hypertarget{a01332_a57cb0f450269aff3c1576dff34c68e92}{void {\bfseries assign\+\_\+connectivity} (const \hyperlink{a00979}{Poly\+Connectivity} \&\+\_\+other)}\label{a01332_a57cb0f450269aff3c1576dff34c68e92}

\item 
\hyperlink{a01426}{Vertex\+Handle} \hyperlink{a01332_a79197fce2c1f72ade3e9067e9b6d36f7}{opposite\+\_\+vh} (\hyperlink{a00667}{Halfedge\+Handle} \+\_\+heh) const 
\item 
\hyperlink{a01426}{Vertex\+Handle} \hyperlink{a01332_aea5edb78a83ec7bb62442e6b2a7fa92e}{opposite\+\_\+he\+\_\+opposite\+\_\+vh} (\hyperlink{a00667}{Halfedge\+Handle} \+\_\+heh) const 
\end{DoxyCompactItemize}
\begin{Indent}{\bf Addding items to a mesh}\par
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00554}{Face\+Handle} \hyperlink{a01332_a01cc090968741a636a853c72681a2def}{add\+\_\+face} (const \hyperlink{a01426}{Vertex\+Handle} $\ast$\+\_\+vhandles, size\+\_\+t \+\_\+vhs\+\_\+size)
\begin{DoxyCompactList}\small\item\em Add a face with arbitrary valence to the triangle mesh. \end{DoxyCompactList}\item 
\hyperlink{a00554}{Face\+Handle} \hyperlink{a01332_a12a852fec7c0523c721dc8d23b5636a5}{add\+\_\+face} (const std\+::vector$<$ \hyperlink{a01426}{Vertex\+Handle} $>$ \&\+\_\+vhandles)
\begin{DoxyCompactList}\small\item\em Add a face with arbitrary valence to the triangle mesh. \end{DoxyCompactList}\item 
\hyperlink{a00554}{Face\+Handle} \hyperlink{a01332_ab9bd7da96c553e696338356d1715487a}{add\+\_\+face} (\hyperlink{a01426}{Vertex\+Handle} \+\_\+vh0, \hyperlink{a01426}{Vertex\+Handle} \+\_\+vh1, \hyperlink{a01426}{Vertex\+Handle} \+\_\+vh2)
\begin{DoxyCompactList}\small\item\em Add a face to the mesh (triangle) \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Topology modifying operators}\par
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a01332_afaf2ae45f5324b6fac111158169973a0}{is\+\_\+collapse\+\_\+ok} (\hyperlink{a00667}{Halfedge\+Handle} \+\_\+heh)
\item 
\hypertarget{a01332_a142b267bf7eaa2e57b66a0035df43f10}{\hyperlink{a00667}{Halfedge\+Handle} \hyperlink{a01332_a142b267bf7eaa2e57b66a0035df43f10}{vertex\+\_\+split} (\hyperlink{a01426}{Vertex\+Handle} v0, \hyperlink{a01426}{Vertex\+Handle} v1, \hyperlink{a01426}{Vertex\+Handle} vl, \hyperlink{a01426}{Vertex\+Handle} vr)}\label{a01332_a142b267bf7eaa2e57b66a0035df43f10}

\begin{DoxyCompactList}\small\item\em Vertex Split\+: inverse operation to \hyperlink{a00979_a5afce0f6be1f425f5e0d42441fee35df}{collapse()}. \end{DoxyCompactList}\item 
\hypertarget{a01332_a9f74455d996b3dffcf49c897c63fb0ec}{bool \hyperlink{a01332_a9f74455d996b3dffcf49c897c63fb0ec}{is\+\_\+flip\+\_\+ok} (\hyperlink{a00520}{Edge\+Handle} \+\_\+eh) const }\label{a01332_a9f74455d996b3dffcf49c897c63fb0ec}

\begin{DoxyCompactList}\small\item\em Check whether flipping \+\_\+eh is topologically correct. \end{DoxyCompactList}\item 
void \hyperlink{a01332_a03b3c3be3c52a194789bd541d24f4c09}{flip} (\hyperlink{a00520}{Edge\+Handle} \+\_\+eh)
\item 
void \hyperlink{a01332_a721461096a996b9d664bc4f7d4f243d3}{split} (\hyperlink{a00520}{Edge\+Handle} \+\_\+eh, \hyperlink{a01426}{Vertex\+Handle} \+\_\+vh)
\begin{DoxyCompactList}\small\item\em Edge split (= 2-\/to-\/4 split) \end{DoxyCompactList}\item 
void \hyperlink{a01332_ae3abf40e7b4f6ed78b409373849c5f64}{split\+\_\+copy} (\hyperlink{a00520}{Edge\+Handle} \+\_\+eh, \hyperlink{a01426}{Vertex\+Handle} \+\_\+vh)
\begin{DoxyCompactList}\small\item\em Edge split (= 2-\/to-\/4 split) \end{DoxyCompactList}\item 
void \hyperlink{a01332_a9609450333c35e0d9a7450ccfb2aa5f5}{split} (\hyperlink{a00554}{Face\+Handle} \+\_\+fh, \hyperlink{a01426}{Vertex\+Handle} \+\_\+vh)
\begin{DoxyCompactList}\small\item\em Face split (= 1-\/to-\/3) split, calls corresponding \hyperlink{a00994}{Poly\+Mesh\+T} function). \end{DoxyCompactList}\item 
void \hyperlink{a01332_a41afe5443acdc5bdcb7a997761510fdb}{split\+\_\+copy} (\hyperlink{a00554}{Face\+Handle} \+\_\+fh, \hyperlink{a01426}{Vertex\+Handle} \+\_\+vh)
\begin{DoxyCompactList}\small\item\em Face split (= 1-\/to-\/3) split, calls corresponding \hyperlink{a00994}{Poly\+Mesh\+T} function). \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01332_a233cfac01b1c8f3f257a5471bdebba84}{static bool {\bfseries is\+\_\+triangles} ()}\label{a01332_a233cfac01b1c8f3f257a5471bdebba84}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01332_a75be754f14b0346fc60fca008390ca4e}{\hyperlink{a00667}{Halfedge\+Handle} \hyperlink{a01332_a75be754f14b0346fc60fca008390ca4e}{insert\+\_\+loop} (\hyperlink{a00667}{Halfedge\+Handle} \+\_\+hh)}\label{a01332_a75be754f14b0346fc60fca008390ca4e}

\begin{DoxyCompactList}\small\item\em Helper for vertex split. \end{DoxyCompactList}\item 
\hypertarget{a01332_a8bd98d3c836d505c14f10cf7b4860296}{\hyperlink{a00667}{Halfedge\+Handle} \hyperlink{a01332_a8bd98d3c836d505c14f10cf7b4860296}{insert\+\_\+edge} (\hyperlink{a01426}{Vertex\+Handle} \+\_\+vh, \hyperlink{a00667}{Halfedge\+Handle} \+\_\+h0, \hyperlink{a00667}{Halfedge\+Handle} \+\_\+h1)}\label{a01332_a8bd98d3c836d505c14f10cf7b4860296}

\begin{DoxyCompactList}\small\item\em Helper for vertex split. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Connectivity Class for Triangle Meshes. 

Definition at line 58 of file Tri\+Connectivity.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a01332_a01cc090968741a636a853c72681a2def}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!add\+\_\+face@{add\+\_\+face}}
\index{add\+\_\+face@{add\+\_\+face}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{add\+\_\+face}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Tri\+Connectivity\+::\+Face\+Handle} Open\+Mesh\+::\+Tri\+Connectivity\+::add\+\_\+face (
\begin{DoxyParamCaption}
\item[{const {\bf Vertex\+Handle} $\ast$}]{\+\_\+vhandles, }
\item[{size\+\_\+t}]{\+\_\+vhs\+\_\+size}
\end{DoxyParamCaption}
)}}\label{a01332_a01cc090968741a636a853c72681a2def}


Add a face with arbitrary valence to the triangle mesh. 

Override Open\+Mesh\+::\+Mesh\+::\+Poly\+Mesh\+T\+::add\+\_\+face(). Faces that aren't triangles will be triangulated and added. In this case an invalid face handle will be returned. face is triangle -\/$>$ ok

face is not a triangle -\/$>$ triangulate 

Definition at line 58 of file Tri\+Connectivity.\+cc.

\hypertarget{a01332_a12a852fec7c0523c721dc8d23b5636a5}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!add\+\_\+face@{add\+\_\+face}}
\index{add\+\_\+face@{add\+\_\+face}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{add\+\_\+face}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Face\+Handle} Open\+Mesh\+::\+Tri\+Connectivity\+::add\+\_\+face (
\begin{DoxyParamCaption}
\item[{const std\+::vector$<$ {\bf Vertex\+Handle} $>$ \&}]{\+\_\+vhandles}
\end{DoxyParamCaption}
)}}\label{a01332_a12a852fec7c0523c721dc8d23b5636a5}


Add a face with arbitrary valence to the triangle mesh. 

Override Open\+Mesh\+::\+Mesh\+::\+Poly\+Mesh\+T\+::add\+\_\+face(). Faces that aren't triangles will be triangulated and added. In this case an invalid face handle will be returned. 

Definition at line 92 of file Tri\+Connectivity.\+cc.

\hypertarget{a01332_ab9bd7da96c553e696338356d1715487a}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!add\+\_\+face@{add\+\_\+face}}
\index{add\+\_\+face@{add\+\_\+face}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{add\+\_\+face}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Face\+Handle} Open\+Mesh\+::\+Tri\+Connectivity\+::add\+\_\+face (
\begin{DoxyParamCaption}
\item[{{\bf Vertex\+Handle}}]{\+\_\+vh0, }
\item[{{\bf Vertex\+Handle}}]{\+\_\+vh1, }
\item[{{\bf Vertex\+Handle}}]{\+\_\+vh2}
\end{DoxyParamCaption}
)}}\label{a01332_ab9bd7da96c553e696338356d1715487a}


Add a face to the mesh (triangle) 

This function adds a triangle to the mesh. The triangle is passed directly to the underlying \hyperlink{a00979}{Poly\+Connectivity} as we don't explicitly need to triangulate something.


\begin{DoxyParams}{Parameters}
{\em \+\_\+vh0} & \hyperlink{a01426}{Vertex\+Handle} 1 \\
\hline
{\em \+\_\+vh1} & \hyperlink{a01426}{Vertex\+Handle} 2 \\
\hline
{\em \+\_\+vh2} & \hyperlink{a01426}{Vertex\+Handle} 3 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{a00554}{Face\+Handle} of the added face (invalid, if the operation failed) 
\end{DoxyReturn}


Definition at line 100 of file Tri\+Connectivity.\+cc.

\hypertarget{a01332_ac864bcbb89452120c74f3f3048857077}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!assign\+\_\+connectivity@{assign\+\_\+connectivity}}
\index{assign\+\_\+connectivity@{assign\+\_\+connectivity}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{assign\+\_\+connectivity}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Tri\+Connectivity\+::assign\+\_\+connectivity (
\begin{DoxyParamCaption}
\item[{const {\bf Tri\+Connectivity} \&}]{\+\_\+other}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01332_ac864bcbb89452120c74f3f3048857077}
\hyperlink{a01332_ac864bcbb89452120c74f3f3048857077}{assign\+\_\+connectivity()} methods. See \hyperlink{a00295_ab959910ec7df2c8edc7f47878e549066}{Array\+Kernel\+::assign\+\_\+connectivity()} for more details. When the source connectivity is not triangles, in addition \char`\"{}fan\char`\"{} connectivity triangulation is performed 

Definition at line 71 of file Tri\+Connectivity.\+hh.

\hypertarget{a01332_a03b3c3be3c52a194789bd541d24f4c09}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!flip@{flip}}
\index{flip@{flip}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{flip}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Tri\+Connectivity\+::flip (
\begin{DoxyParamCaption}
\item[{{\bf Edge\+Handle}}]{\+\_\+eh}
\end{DoxyParamCaption}
)}}\label{a01332_a03b3c3be3c52a194789bd541d24f4c09}
Flip edge \+\_\+eh. Check for topological correctness first using \hyperlink{a01332_a9f74455d996b3dffcf49c897c63fb0ec}{is\+\_\+flip\+\_\+ok()}. 

Definition at line 340 of file Tri\+Connectivity.\+cc.

\hypertarget{a01332_afaf2ae45f5324b6fac111158169973a0}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!is\+\_\+collapse\+\_\+ok@{is\+\_\+collapse\+\_\+ok}}
\index{is\+\_\+collapse\+\_\+ok@{is\+\_\+collapse\+\_\+ok}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{is\+\_\+collapse\+\_\+ok}]{\setlength{\rightskip}{0pt plus 5cm}bool Open\+Mesh\+::\+Tri\+Connectivity\+::is\+\_\+collapse\+\_\+ok (
\begin{DoxyParamCaption}
\item[{{\bf Halfedge\+Handle}}]{\+\_\+heh}
\end{DoxyParamCaption}
)}}\label{a01332_afaf2ae45f5324b6fac111158169973a0}
Returns whether collapsing halfedge \+\_\+heh is ok or would lead to topological inconsistencies. \begin{DoxyAttention}{Attention}
This method need the \hyperlink{a03369_ab78a93560926cd2f9958cb028f7ea96dad3e94e10c76894ebce6048b8bbb77a74}{Attributes\+::\+Status} attribute and changes the {\itshape tagged} bit. 
\end{DoxyAttention}


Definition at line 108 of file Tri\+Connectivity.\+cc.

\hypertarget{a01332_aea5edb78a83ec7bb62442e6b2a7fa92e}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!opposite\+\_\+he\+\_\+opposite\+\_\+vh@{opposite\+\_\+he\+\_\+opposite\+\_\+vh}}
\index{opposite\+\_\+he\+\_\+opposite\+\_\+vh@{opposite\+\_\+he\+\_\+opposite\+\_\+vh}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{opposite\+\_\+he\+\_\+opposite\+\_\+vh}]{\setlength{\rightskip}{0pt plus 5cm}Open\+Mesh\+::\+Tri\+Connectivity\+::opposite\+\_\+he\+\_\+opposite\+\_\+vh (
\begin{DoxyParamCaption}
\item[{{\bf Halfedge\+Handle}}]{\+\_\+heh}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01332_aea5edb78a83ec7bb62442e6b2a7fa92e}
Returns the opposite vertex to the opposite halfedge of \+\_\+heh in the face referenced by it returns Invalid\+Vertex\+Handle if the opposite halfedge is boundary 

Definition at line 131 of file Tri\+Connectivity.\+hh.

\hypertarget{a01332_a79197fce2c1f72ade3e9067e9b6d36f7}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!opposite\+\_\+vh@{opposite\+\_\+vh}}
\index{opposite\+\_\+vh@{opposite\+\_\+vh}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{opposite\+\_\+vh}]{\setlength{\rightskip}{0pt plus 5cm}Open\+Mesh\+::\+Tri\+Connectivity\+::opposite\+\_\+vh (
\begin{DoxyParamCaption}
\item[{{\bf Halfedge\+Handle}}]{\+\_\+heh}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01332_a79197fce2c1f72ade3e9067e9b6d36f7}
Returns the opposite vertex to the halfedge \+\_\+heh in the face referenced by \+\_\+heh returns Invalid\+Vertex\+Handle if the \+\_\+heh is boundary 

Definition at line 122 of file Tri\+Connectivity.\+hh.

\hypertarget{a01332_a721461096a996b9d664bc4f7d4f243d3}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!split@{split}}
\index{split@{split}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{split}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Tri\+Connectivity\+::split (
\begin{DoxyParamCaption}
\item[{{\bf Edge\+Handle}}]{\+\_\+eh, }
\item[{{\bf Vertex\+Handle}}]{\+\_\+vh}
\end{DoxyParamCaption}
)}}\label{a01332_a721461096a996b9d664bc4f7d4f243d3}


Edge split (= 2-\/to-\/4 split) 

The function will introduce two new faces ( non-\/boundary case) or one additional face (if edge is boundary)

\begin{DoxyNote}{Note}
The properties of the new edges, halfedges, and faces will be undefined!
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em \+\_\+eh} & Edge handle that should be splitted \\
\hline
{\em \+\_\+vh} & Vertex handle that will be inserted at the edge \\
\hline
\end{DoxyParams}


Definition at line 392 of file Tri\+Connectivity.\+cc.

\hypertarget{a01332_a9609450333c35e0d9a7450ccfb2aa5f5}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!split@{split}}
\index{split@{split}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{split}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Tri\+Connectivity\+::split (
\begin{DoxyParamCaption}
\item[{{\bf Face\+Handle}}]{\+\_\+fh, }
\item[{{\bf Vertex\+Handle}}]{\+\_\+vh}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01332_a9609450333c35e0d9a7450ccfb2aa5f5}


Face split (= 1-\/to-\/3) split, calls corresponding \hyperlink{a00994}{Poly\+Mesh\+T} function). 


\begin{DoxyParams}{Parameters}
{\em \+\_\+fh} & Face handle that should be splitted \\
\hline
{\em \+\_\+vh} & Vertex handle that will be inserted at the face \\
\hline
\end{DoxyParams}


Definition at line 188 of file Tri\+Connectivity.\+hh.

\hypertarget{a01332_ae3abf40e7b4f6ed78b409373849c5f64}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!split\+\_\+copy@{split\+\_\+copy}}
\index{split\+\_\+copy@{split\+\_\+copy}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{split\+\_\+copy}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Tri\+Connectivity\+::split\+\_\+copy (
\begin{DoxyParamCaption}
\item[{{\bf Edge\+Handle}}]{\+\_\+eh, }
\item[{{\bf Vertex\+Handle}}]{\+\_\+vh}
\end{DoxyParamCaption}
)}}\label{a01332_ae3abf40e7b4f6ed78b409373849c5f64}


Edge split (= 2-\/to-\/4 split) 

The function will introduce two new faces ( non-\/boundary case) or one additional face (if edge is boundary)

\begin{DoxyNote}{Note}
The properties of the new edges will be adjusted to the properties of the original edge 

The properties of the new faces and halfedges will be undefined
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em \+\_\+eh} & Edge handle that should be splitted \\
\hline
{\em \+\_\+vh} & Vertex handle that will be inserted at the edge \\
\hline
\end{DoxyParams}


Definition at line 489 of file Tri\+Connectivity.\+cc.

\hypertarget{a01332_a41afe5443acdc5bdcb7a997761510fdb}{\index{Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}!split\+\_\+copy@{split\+\_\+copy}}
\index{split\+\_\+copy@{split\+\_\+copy}!Open\+Mesh\+::\+Tri\+Connectivity@{Open\+Mesh\+::\+Tri\+Connectivity}}
\subsubsection[{split\+\_\+copy}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+Tri\+Connectivity\+::split\+\_\+copy (
\begin{DoxyParamCaption}
\item[{{\bf Face\+Handle}}]{\+\_\+fh, }
\item[{{\bf Vertex\+Handle}}]{\+\_\+vh}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01332_a41afe5443acdc5bdcb7a997761510fdb}


Face split (= 1-\/to-\/3) split, calls corresponding \hyperlink{a00994}{Poly\+Mesh\+T} function). 


\begin{DoxyParams}{Parameters}
{\em \+\_\+fh} & Face handle that should be splitted \\
\hline
{\em \+\_\+vh} & Vertex handle that will be inserted at the face \\
\hline
\end{DoxyParams}


Definition at line 196 of file Tri\+Connectivity.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Mesh/Tri\+Connectivity.\+hh\item 
libs\+\_\+required/\+Open\+Mesh/\+Doc/\+Examples/nav\+\_\+code4.\+cc\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+Mesh/Tri\+Connectivity.\+cc\end{DoxyCompactItemize}
