Files
opennurbs/6/de/d91/class_o_n___mesh_face.html
Bozo 55446d56ce Publish!
Generated from v6.0.11315.11111-test10
2018-01-26 04:54:48 -08:00

577 lines
30 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_MeshFace Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">openNURBS SDK Help
&#160;<span id="projectnumber">6.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="../../db/d8b/class_o_n___mesh_face-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_MeshFace Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../db/df7/opennurbs__mesh_8h_source.html">opennurbs_mesh.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aed86a0ca0732a65efd31f8aa3cc26a4f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#aed86a0ca0732a65efd31f8aa3cc26a4f">ComputeFaceNormal</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *dV, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;FN) const</td></tr>
<tr class="separator:aed86a0ca0732a65efd31f8aa3cc26a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55a53d347dfb17c1111d42f72bc2dded"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a55a53d347dfb17c1111d42f72bc2dded">ComputeFaceNormal</a> (const <a class="el" href="../../d0/dec/class_o_n__3f_point.html">ON_3fPoint</a> *fV, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;FN) const</td></tr>
<tr class="separator:a55a53d347dfb17c1111d42f72bc2dded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a834d8211d46a3c039a2a9515f956e6c5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a834d8211d46a3c039a2a9515f956e6c5">ComputeFaceNormal</a> (const class <a class="el" href="../../d0/d8a/class_o_n__3d_point_list_ref.html">ON_3dPointListRef</a> &amp;vertex_list, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;FN) const</td></tr>
<tr class="separator:a834d8211d46a3c039a2a9515f956e6c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6c52bde6776cc584774392946746e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a1d6c52bde6776cc584774392946746e8">Flip</a> ()</td></tr>
<tr class="separator:a1d6c52bde6776cc584774392946746e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc95f94687ef601b11d85a385097a964"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#abc95f94687ef601b11d85a385097a964">GetCornerNormals</a> (const class <a class="el" href="../../d0/d8a/class_o_n__3d_point_list_ref.html">ON_3dPointListRef</a> &amp;vertex_list, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> corner_normals[4]) const</td></tr>
<tr class="separator:abc95f94687ef601b11d85a385097a964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c29c4b5ea2117ded9aea18ee287be7a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a4c29c4b5ea2117ded9aea18ee287be7a">GetPlaneEquation</a> (const class <a class="el" href="../../d0/d8a/class_o_n__3d_point_list_ref.html">ON_3dPointListRef</a> &amp;vertex_list, <a class="el" href="../../dd/d89/class_o_n___plane_equation.html">ON_PlaneEquation</a> &amp;face_plane_equation) const</td></tr>
<tr class="separator:a4c29c4b5ea2117ded9aea18ee287be7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af38f4133c64703ec14387ae4a6b6fc85"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#af38f4133c64703ec14387ae4a6b6fc85">IsPlanar</a> (double planar_tolerance, double angle_tolerance_radians, const class <a class="el" href="../../d0/d8a/class_o_n__3d_point_list_ref.html">ON_3dPointListRef</a> &amp;vertex_list, <a class="el" href="../../dd/d89/class_o_n___plane_equation.html">ON_PlaneEquation</a> *face_plane_equation) const</td></tr>
<tr class="separator:af38f4133c64703ec14387ae4a6b6fc85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d322742686cd502591f0c9123afed84"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a0d322742686cd502591f0c9123afed84">IsQuad</a> () const</td></tr>
<tr class="separator:a0d322742686cd502591f0c9123afed84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3d6fd13174cf14bde48659f32d2ea3a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#ae3d6fd13174cf14bde48659f32d2ea3a">IsTriangle</a> () const</td></tr>
<tr class="separator:ae3d6fd13174cf14bde48659f32d2ea3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61f89f46cdc7764b9c1761e201dc95da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a61f89f46cdc7764b9c1761e201dc95da">IsValid</a> (int mesh_vertex_count) const</td></tr>
<tr class="separator:a61f89f46cdc7764b9c1761e201dc95da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a450b52a2abd7ad3af66d13ba9f544daa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a450b52a2abd7ad3af66d13ba9f544daa">IsValid</a> (unsigned int mesh_vertex_count) const</td></tr>
<tr class="separator:a450b52a2abd7ad3af66d13ba9f544daa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a093700cd8b56b5dc2b113a3772f0864a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a093700cd8b56b5dc2b113a3772f0864a">IsValid</a> (int mesh_vertex_count, const <a class="el" href="../../d0/dec/class_o_n__3f_point.html">ON_3fPoint</a> *V) const</td></tr>
<tr class="separator:a093700cd8b56b5dc2b113a3772f0864a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5bd248dfe138b6d9f9bf2a9b3b74053"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#ad5bd248dfe138b6d9f9bf2a9b3b74053">IsValid</a> (int mesh_vertex_count, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *V) const</td></tr>
<tr class="separator:ad5bd248dfe138b6d9f9bf2a9b3b74053"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4662b09ee67551440717d67ac046cf5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#ab4662b09ee67551440717d67ac046cf5">Repair</a> (int mesh_vertex_count)</td></tr>
<tr class="separator:ab4662b09ee67551440717d67ac046cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22ebfd748d51ed85f4b4993ee3b301be"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a22ebfd748d51ed85f4b4993ee3b301be">Repair</a> (int mesh_vertex_count, const <a class="el" href="../../d0/dec/class_o_n__3f_point.html">ON_3fPoint</a> *V)</td></tr>
<tr class="separator:a22ebfd748d51ed85f4b4993ee3b301be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a319245a7f54bfa73fa40bae2fbee8212"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a319245a7f54bfa73fa40bae2fbee8212">Repair</a> (int mesh_vertex_count, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *V)</td></tr>
<tr class="separator:a319245a7f54bfa73fa40bae2fbee8212"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a48215097327f42857c4761bebb6252e1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#a48215097327f42857c4761bebb6252e1">vi</a> [4]</td></tr>
<tr class="memdesc:a48215097327f42857c4761bebb6252e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">vertex index - vi[2]==vi[3] for tirangles <a href="#a48215097327f42857c4761bebb6252e1">More...</a><br /></td></tr>
<tr class="separator:a48215097327f42857c4761bebb6252e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:ab0d1a6dcfac6107d9d4cce773282a616"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../de/d91/class_o_n___mesh_face.html">ON_MeshFace</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d91/class_o_n___mesh_face.html#ab0d1a6dcfac6107d9d4cce773282a616">UnsetMeshFace</a></td></tr>
<tr class="memdesc:ab0d1a6dcfac6107d9d4cce773282a616"><td class="mdescLeft">&#160;</td><td class="mdescRight">all vi[] values are -1. <a href="#ab0d1a6dcfac6107d9d4cce773282a616">More...</a><br /></td></tr>
<tr class="separator:ab0d1a6dcfac6107d9d4cce773282a616"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aed86a0ca0732a65efd31f8aa3cc26a4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed86a0ca0732a65efd31f8aa3cc26a4f">&#9670;&nbsp;</a></span>ComputeFaceNormal() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::ComputeFaceNormal </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *&#160;</td>
<td class="paramname"><em>dV</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>FN</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Compute the face normal Parameters: dV - [in] double precision vertex array for the mesh fV - [in] float precision vertex array for the mesh FN - [out] face normal Returns: true if FN is valid. </p>
</div>
</div>
<a id="a55a53d347dfb17c1111d42f72bc2dded"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55a53d347dfb17c1111d42f72bc2dded">&#9670;&nbsp;</a></span>ComputeFaceNormal() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::ComputeFaceNormal </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d0/dec/class_o_n__3f_point.html">ON_3fPoint</a> *&#160;</td>
<td class="paramname"><em>fV</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>FN</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a834d8211d46a3c039a2a9515f956e6c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a834d8211d46a3c039a2a9515f956e6c5">&#9670;&nbsp;</a></span>ComputeFaceNormal() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::ComputeFaceNormal </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../d0/d8a/class_o_n__3d_point_list_ref.html">ON_3dPointListRef</a> &amp;&#160;</td>
<td class="paramname"><em>vertex_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>FN</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1d6c52bde6776cc584774392946746e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d6c52bde6776cc584774392946746e8">&#9670;&nbsp;</a></span>Flip()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_MeshFace::Flip </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Reverses the order of the vertices in v[]. vi[0] is not changed. </p>
</div>
</div>
<a id="abc95f94687ef601b11d85a385097a964"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc95f94687ef601b11d85a385097a964">&#9670;&nbsp;</a></span>GetCornerNormals()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">unsigned int ON_MeshFace::GetCornerNormals </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../d0/d8a/class_o_n__3d_point_list_ref.html">ON_3dPointListRef</a> &amp;&#160;</td>
<td class="paramname"><em>vertex_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a>&#160;</td>
<td class="paramname"><em>corner_normals</em>[4]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Get corner normals. Parameters: vertex_list - [in] corner_normals[4] - [out] For a triangle, all values are identical. If a corner normal cannot be calculated, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html#aa62d84d9817922de5f60ef3b057ed0be" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dVector::UnsetVector</a> is returned. Returns: Number of corner normals that are valid. </p>
</div>
</div>
<a id="a4c29c4b5ea2117ded9aea18ee287be7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c29c4b5ea2117ded9aea18ee287be7a">&#9670;&nbsp;</a></span>GetPlaneEquation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::GetPlaneEquation </td>
<td>(</td>
<td class="paramtype">const class <a class="el" href="../../d0/d8a/class_o_n__3d_point_list_ref.html">ON_3dPointListRef</a> &amp;&#160;</td>
<td class="paramname"><em>vertex_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/d89/class_o_n___plane_equation.html">ON_PlaneEquation</a> &amp;&#160;</td>
<td class="paramname"><em>face_plane_equation</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="af38f4133c64703ec14387ae4a6b6fc85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af38f4133c64703ec14387ae4a6b6fc85">&#9670;&nbsp;</a></span>IsPlanar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::IsPlanar </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>planar_tolerance</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>angle_tolerance_radians</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const class <a class="el" href="../../d0/d8a/class_o_n__3d_point_list_ref.html">ON_3dPointListRef</a> &amp;&#160;</td>
<td class="paramname"><em>vertex_list</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="../../dd/d89/class_o_n___plane_equation.html">ON_PlaneEquation</a> *&#160;</td>
<td class="paramname"><em>face_plane_equation</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Parameters: planar_tolerance - [in] If planar_tolerance &gt;= 0 and (maximum plane equation value - minimum plane equation value) &gt; planar_tolerance, then false is returned. angle_tolerance_radians - [in] If angle_tolerance_radians &gt;= 0.0 and the angle between opposite corner normals is &gt; angle_tolerance_radians, then false is returned. A corner normal is the normal to the triangle formed by two adjacent edges and the diagonal connecting their endpoints. A quad has four corner normals. Passing in ON_PI/2 is a good way will result in false being returned for non-convex quads face_plane_equation - [out] If not null, the equation used to test planarity is returned here. Returns: True if the face is planar </p>
</div>
</div>
<a id="a0d322742686cd502591f0c9123afed84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d322742686cd502591f0c9123afed84">&#9670;&nbsp;</a></span>IsQuad()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::IsQuad </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: True if vi[2] != vi[3]; Remarks: Assumes the face is valid. </p>
</div>
</div>
<a id="ae3d6fd13174cf14bde48659f32d2ea3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3d6fd13174cf14bde48659f32d2ea3a">&#9670;&nbsp;</a></span>IsTriangle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::IsTriangle </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: True if vi[2] == vi[3]; Remarks: Assumes the face is valid. </p>
</div>
</div>
<a id="a61f89f46cdc7764b9c1761e201dc95da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61f89f46cdc7764b9c1761e201dc95da">&#9670;&nbsp;</a></span>IsValid() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::IsValid </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mesh_vertex_count</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Determine if a face is valid by checking that the vertices are distinct. Parameters: mesh_vertex_count - [in] number of vertices in the mesh V - [in] optional array of mesh_vertex_count vertex locations. Returns: true The face is valid. false The face is not valid. It may be possible to repair the face by calling <a class="el" href="../../de/d91/class_o_n___mesh_face.html#ab4662b09ee67551440717d67ac046cf5">ON_MeshFace::Repair()</a>. </p>
</div>
</div>
<a id="a450b52a2abd7ad3af66d13ba9f544daa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a450b52a2abd7ad3af66d13ba9f544daa">&#9670;&nbsp;</a></span>IsValid() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::IsValid </td>
<td>(</td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>mesh_vertex_count</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a093700cd8b56b5dc2b113a3772f0864a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a093700cd8b56b5dc2b113a3772f0864a">&#9670;&nbsp;</a></span>IsValid() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::IsValid </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mesh_vertex_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d0/dec/class_o_n__3f_point.html">ON_3fPoint</a> *&#160;</td>
<td class="paramname"><em>V</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad5bd248dfe138b6d9f9bf2a9b3b74053"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5bd248dfe138b6d9f9bf2a9b3b74053">&#9670;&nbsp;</a></span>IsValid() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::IsValid </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mesh_vertex_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *&#160;</td>
<td class="paramname"><em>V</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab4662b09ee67551440717d67ac046cf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4662b09ee67551440717d67ac046cf5">&#9670;&nbsp;</a></span>Repair() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::Repair </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mesh_vertex_count</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: If <a class="el" href="../../de/d91/class_o_n___mesh_face.html#a61f89f46cdc7764b9c1761e201dc95da">IsValid()</a> returns false, then you can use <a class="el" href="../../de/d91/class_o_n___mesh_face.html#ab4662b09ee67551440717d67ac046cf5">Repair()</a> to attempt to create a valid triangle. Parameters: mesh_vertex_count - [in] number of vertices in the mesh V - [in] optional array of mesh_vertex_count vertex locations. Returns: true repair was successful and v[0], v[1], vi[2] have distinct valid values and v[2] == v[3]. false this face's vi[] values cannot be repaired </p>
</div>
</div>
<a id="a22ebfd748d51ed85f4b4993ee3b301be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22ebfd748d51ed85f4b4993ee3b301be">&#9670;&nbsp;</a></span>Repair() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::Repair </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mesh_vertex_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d0/dec/class_o_n__3f_point.html">ON_3fPoint</a> *&#160;</td>
<td class="paramname"><em>V</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a319245a7f54bfa73fa40bae2fbee8212"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a319245a7f54bfa73fa40bae2fbee8212">&#9670;&nbsp;</a></span>Repair() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_MeshFace::Repair </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mesh_vertex_count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> *&#160;</td>
<td class="paramname"><em>V</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ab0d1a6dcfac6107d9d4cce773282a616"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0d1a6dcfac6107d9d4cce773282a616">&#9670;&nbsp;</a></span>UnsetMeshFace</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../de/d91/class_o_n___mesh_face.html">ON_MeshFace</a> ON_MeshFace::UnsetMeshFace</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>all vi[] values are -1. </p>
</div>
</div>
<a id="a48215097327f42857c4761bebb6252e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48215097327f42857c4761bebb6252e1">&#9670;&nbsp;</a></span>vi</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ON_MeshFace::vi[4]</td>
</tr>
</table>
</div><div class="memdoc">
<p>vertex index - vi[2]==vi[3] for tirangles </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jan 26 2018 04:54:32 for openNURBS SDK Help by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>