Files
opennurbs/6/d4/df9/class_o_n___triangle.html
Bozo 2ea16cc86c Publish!
Generated from TESTING
2018-01-26 12:40:11 +00:00

1010 lines
56 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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_Triangle 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
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</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="../../d4/d67/class_o_n___triangle-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">ON_Triangle Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../d8/d95/opennurbs__line_8h_source.html">opennurbs_line.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:a9a77c2e07cdb02f796e5da04a6d81dfe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a9a77c2e07cdb02f796e5da04a6d81dfe">ON_Triangle</a> ()=default</td></tr>
<tr class="memdesc:a9a77c2e07cdb02f796e5da04a6d81dfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor is uninitialized. <a href="#a9a77c2e07cdb02f796e5da04a6d81dfe">More...</a><br /></td></tr>
<tr class="separator:a9a77c2e07cdb02f796e5da04a6d81dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ebcdb38e84d37f8a34b3733a4718be9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a6ebcdb38e84d37f8a34b3733a4718be9">ON_Triangle</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> vertices[3])</td></tr>
<tr class="separator:a6ebcdb38e84d37f8a34b3733a4718be9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb2dcf67be0f3e77c610d6d7401bd7e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#adb2dcf67be0f3e77c610d6d7401bd7e7">ON_Triangle</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;a, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;b, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;c)</td></tr>
<tr class="separator:adb2dcf67be0f3e77c610d6d7401bd7e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ef0712cfa97cf142c5466d914854fc2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a6ef0712cfa97cf142c5466d914854fc2">ON_Triangle</a> (double x)</td></tr>
<tr class="memdesc:a6ef0712cfa97cf142c5466d914854fc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows Triangle(0.0) ZeroTriangle. <a href="#a6ef0712cfa97cf142c5466d914854fc2">More...</a><br /></td></tr>
<tr class="separator:a6ef0712cfa97cf142c5466d914854fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1e3519793194518cf535755aa1ccee6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#af1e3519793194518cf535755aa1ccee6">ON_Triangle</a> (const <a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> &amp;tri)=default</td></tr>
<tr class="separator:af1e3519793194518cf535755aa1ccee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1613fa60dd93ce98c0feb1e510f1a04e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a1613fa60dd93ce98c0feb1e510f1a04e">~ON_Triangle</a> ()=default</td></tr>
<tr class="separator:a1613fa60dd93ce98c0feb1e510f1a04e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19f44b34c5b4dacd2444a1fd2ed441de"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a19f44b34c5b4dacd2444a1fd2ed441de">Area</a> () const</td></tr>
<tr class="separator:a19f44b34c5b4dacd2444a1fd2ed441de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fc99a12b987effd1707d8d0f0d2a466"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a4fc99a12b987effd1707d8d0f0d2a466">BoundingBox</a> () const</td></tr>
<tr class="separator:a4fc99a12b987effd1707d8d0f0d2a466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a702b6075af75f8fcc6e906986c53d40b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a702b6075af75f8fcc6e906986c53d40b">ClosestPointTo</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;test_point, double *s1, double *s2) const</td></tr>
<tr class="separator:a702b6075af75f8fcc6e906986c53d40b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ee7ff85e28d04c50bce594c919e7f3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a8ee7ff85e28d04c50bce594c919e7f3a">ClosestPointTo</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;test_point) const</td></tr>
<tr class="separator:a8ee7ff85e28d04c50bce594c919e7f3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa3566eca5c38d945c0a573f535ce206"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#afa3566eca5c38d945c0a573f535ce206">Create</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> vertices[3])</td></tr>
<tr class="separator:afa3566eca5c38d945c0a573f535ce206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad544ea03d4c668e90ae791a565a8c169"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#ad544ea03d4c668e90ae791a565a8c169">Create</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;a, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;b, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;c)</td></tr>
<tr class="separator:ad544ea03d4c668e90ae791a565a8c169"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6a41e85de44778aa1ec1003e7ee449f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#af6a41e85de44778aa1ec1003e7ee449f">DistanceTo</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;test_point) const</td></tr>
<tr class="separator:af6a41e85de44778aa1ec1003e7ee449f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab56b749e26fc64643a0721d1d4b735de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/d6f/class_o_n___line.html">ON_Line</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#ab56b749e26fc64643a0721d1d4b735de">Edge</a> (int i) const</td></tr>
<tr class="separator:ab56b749e26fc64643a0721d1d4b735de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa281fbcbb5b2ce87abc5a4637ab1c489"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#aa281fbcbb5b2ce87abc5a4637ab1c489">GetBoundingBox</a> (<a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;bbox, int bGrowBox=false) const</td></tr>
<tr class="separator:aa281fbcbb5b2ce87abc5a4637ab1c489"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa09cc39e375358195e2bd5a9858336f2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#aa09cc39e375358195e2bd5a9858336f2">GetTightBoundingBox</a> (<a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;tight_bbox, bool bGrowBox=false, const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> *xform=nullptr) const</td></tr>
<tr class="separator:aa09cc39e375358195e2bd5a9858336f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3238ef876221f6eeaa40db4b33b73206"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a3238ef876221f6eeaa40db4b33b73206">IsDegenerate</a> (double tol=ON_ZERO_TOLERANCE) const</td></tr>
<tr class="separator:a3238ef876221f6eeaa40db4b33b73206"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53dcb06810c9c23252a1f69e7bfc4754"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a53dcb06810c9c23252a1f69e7bfc4754">IsValid</a> () const</td></tr>
<tr class="separator:a53dcb06810c9c23252a1f69e7bfc4754"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad49a96df7b21b933e8c6898eec2771fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#ad49a96df7b21b933e8c6898eec2771fc">Normal</a> () const</td></tr>
<tr class="separator:ad49a96df7b21b933e8c6898eec2771fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae38ca22cd1422470531d041ac2dd7209"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#ae38ca22cd1422470531d041ac2dd7209">operator const ON_3dPoint *</a> () const</td></tr>
<tr class="separator:ae38ca22cd1422470531d041ac2dd7209"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fa3e08be5e17b31d3efc25efbc6144c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a9fa3e08be5e17b31d3efc25efbc6144c">operator ON_3dPoint *</a> ()</td></tr>
<tr class="separator:a9fa3e08be5e17b31d3efc25efbc6144c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a345882a0d0404cf428597e4e5bfe0411"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a345882a0d0404cf428597e4e5bfe0411">operator=</a> (const <a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> &amp;tri)=default</td></tr>
<tr class="separator:a345882a0d0404cf428597e4e5bfe0411"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fe872cfbffc30be41a512e9a8dd9737"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a0fe872cfbffc30be41a512e9a8dd9737">operator[]</a> (int)</td></tr>
<tr class="memdesc:a0fe872cfbffc30be41a512e9a8dd9737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Triangle[i] = Triangle.m_V[i]. <a href="#a0fe872cfbffc30be41a512e9a8dd9737">More...</a><br /></td></tr>
<tr class="separator:a0fe872cfbffc30be41a512e9a8dd9737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ed9bb7b71edc5943803d44ef43c9d9e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a0ed9bb7b71edc5943803d44ef43c9d9e">operator[]</a> (int) const</td></tr>
<tr class="separator:a0ed9bb7b71edc5943803d44ef43c9d9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58551ef478d86c983ce27a14cb3c16d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/d89/class_o_n___plane_equation.html">ON_PlaneEquation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a58551ef478d86c983ce27a14cb3c16d2">PlaneEquation</a> () const</td></tr>
<tr class="separator:a58551ef478d86c983ce27a14cb3c16d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff3eb20118fd2a61acdcd33d48b89cf8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#aff3eb20118fd2a61acdcd33d48b89cf8">PointAt</a> (double s1, double s2) const</td></tr>
<tr class="separator:aff3eb20118fd2a61acdcd33d48b89cf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae483f88d577e6cf113ebc727bac38154"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#ae483f88d577e6cf113ebc727bac38154">Reverse</a> (int i)</td></tr>
<tr class="separator:ae483f88d577e6cf113ebc727bac38154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81f88c1319048b37d8e5627ea1bc4691"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a81f88c1319048b37d8e5627ea1bc4691">Rotate</a> (double sin_angle, double cos_angle, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;axis_of_rotation, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;center_of_rotation)</td></tr>
<tr class="memdesc:a81f88c1319048b37d8e5627ea1bc4691"><td class="mdescLeft">&#160;</td><td class="mdescRight">rotate line about a point and axis <a href="#a81f88c1319048b37d8e5627ea1bc4691">More...</a><br /></td></tr>
<tr class="separator:a81f88c1319048b37d8e5627ea1bc4691"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e3ca97c17ced1232da98e22f0ef6c71"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a9e3ca97c17ced1232da98e22f0ef6c71">Rotate</a> (double angle_in_radians, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;axis_of_rotation, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;center_of_rotation)</td></tr>
<tr class="separator:a9e3ca97c17ced1232da98e22f0ef6c71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afed07ff497792bcddc07e043ecd22573"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#afed07ff497792bcddc07e043ecd22573">Transform</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;xform)</td></tr>
<tr class="separator:afed07ff497792bcddc07e043ecd22573"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2245348a522963a125c4fa05dda0f72c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a2245348a522963a125c4fa05dda0f72c">Translate</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;delta)</td></tr>
<tr class="separator:a2245348a522963a125c4fa05dda0f72c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6969d23684a0cb2f39e44916ef417bb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a6969d23684a0cb2f39e44916ef417bb0">UnitNormal</a> () const</td></tr>
<tr class="separator:a6969d23684a0cb2f39e44916ef417bb0"><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:ab721c1111f1fc05d338ed8b6499f7073"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#ab721c1111f1fc05d338ed8b6499f7073">m_V</a> [3]</td></tr>
<tr class="memdesc:ab721c1111f1fc05d338ed8b6499f7073"><td class="mdescLeft">&#160;</td><td class="mdescRight">verticies <a href="#ab721c1111f1fc05d338ed8b6499f7073">More...</a><br /></td></tr>
<tr class="separator:ab721c1111f1fc05d338ed8b6499f7073"><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:a3493f70880a69e59ef3785baec1b1443"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a3493f70880a69e59ef3785baec1b1443">NanTriangle</a></td></tr>
<tr class="memdesc:a3493f70880a69e59ef3785baec1b1443"><td class="mdescLeft">&#160;</td><td class="mdescRight">{<a class="el" href="../../d2/d35/class_o_n__3d_point.html#a431f63a983b61e62251c3ebb37d851ff" title="(ON_DBL_QNAN,ON_DBL_QNAN,ON_DBL_QNAN) ">ON_3dPoint::NanPoint</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#a431f63a983b61e62251c3ebb37d851ff" title="(ON_DBL_QNAN,ON_DBL_QNAN,ON_DBL_QNAN) ">ON_3dPoint::NanPoint</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#a431f63a983b61e62251c3ebb37d851ff" title="(ON_DBL_QNAN,ON_DBL_QNAN,ON_DBL_QNAN) ">ON_3dPoint::NanPoint</a>} <a href="#a3493f70880a69e59ef3785baec1b1443">More...</a><br /></td></tr>
<tr class="separator:a3493f70880a69e59ef3785baec1b1443"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4245632c9b586075706cfcdc851f86d"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#ab4245632c9b586075706cfcdc851f86d">UnsetTriangle</a></td></tr>
<tr class="memdesc:ab4245632c9b586075706cfcdc851f86d"><td class="mdescLeft">&#160;</td><td class="mdescRight">{<a class="el" href="../../d2/d35/class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a>} <a href="#ab4245632c9b586075706cfcdc851f86d">More...</a><br /></td></tr>
<tr class="separator:ab4245632c9b586075706cfcdc851f86d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a539b325f064f60664ca7250035b99c68"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df9/class_o_n___triangle.html#a539b325f064f60664ca7250035b99c68">ZeroTriangle</a></td></tr>
<tr class="memdesc:a539b325f064f60664ca7250035b99c68"><td class="mdescLeft">&#160;</td><td class="mdescRight">{<a class="el" href="../../d2/d35/class_o_n__3d_point.html#ae5dcca5dde698b25a7ec98b3868285b5" title="(0.0,0.0,0.0) ">ON_3dPoint::Origin</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#ae5dcca5dde698b25a7ec98b3868285b5" title="(0.0,0.0,0.0) ">ON_3dPoint::Origin</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#ae5dcca5dde698b25a7ec98b3868285b5" title="(0.0,0.0,0.0) ">ON_3dPoint::Origin</a>} <a href="#a539b325f064f60664ca7250035b99c68">More...</a><br /></td></tr>
<tr class="separator:a539b325f064f60664ca7250035b99c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9a77c2e07cdb02f796e5da04a6d81dfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a77c2e07cdb02f796e5da04a6d81dfe">&#9670;&nbsp;</a></span>ON_Triangle() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_Triangle::ON_Triangle </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor is uninitialized. </p>
</div>
</div>
<a id="a6ebcdb38e84d37f8a34b3733a4718be9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ebcdb38e84d37f8a34b3733a4718be9">&#9670;&nbsp;</a></span>ON_Triangle() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_Triangle::ON_Triangle </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>vertices</em>[3]</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="adb2dcf67be0f3e77c610d6d7401bd7e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb2dcf67be0f3e77c610d6d7401bd7e7">&#9670;&nbsp;</a></span>ON_Triangle() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_Triangle::ON_Triangle </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname"><em>a</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> &amp;&#160;</td>
<td class="paramname"><em>b</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> &amp;&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6ef0712cfa97cf142c5466d914854fc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ef0712cfa97cf142c5466d914854fc2">&#9670;&nbsp;</a></span>ON_Triangle() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_Triangle::ON_Triangle </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>x</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allows Triangle(0.0) ZeroTriangle. </p>
</div>
</div>
<a id="af1e3519793194518cf535755aa1ccee6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af1e3519793194518cf535755aa1ccee6">&#9670;&nbsp;</a></span>ON_Triangle() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_Triangle::ON_Triangle </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> &amp;&#160;</td>
<td class="paramname"><em>tri</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1613fa60dd93ce98c0feb1e510f1a04e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1613fa60dd93ce98c0feb1e510f1a04e">&#9670;&nbsp;</a></span>~ON_Triangle()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ON_Triangle::~ON_Triangle </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a19f44b34c5b4dacd2444a1fd2ed441de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19f44b34c5b4dacd2444a1fd2ed441de">&#9670;&nbsp;</a></span>Area()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double ON_Triangle::Area </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: Area of triangle </p>
</div>
</div>
<a id="a4fc99a12b987effd1707d8d0f0d2a466"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fc99a12b987effd1707d8d0f0d2a466">&#9670;&nbsp;</a></span>BoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> ON_Triangle::BoundingBox </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Get Triangles 3d axis aligned bounding box. Returns: 3d bounding box. </p>
</div>
</div>
<a id="a702b6075af75f8fcc6e906986c53d40b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a702b6075af75f8fcc6e906986c53d40b">&#9670;&nbsp;</a></span>ClosestPointTo() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::ClosestPointTo </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname"><em>test_point</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>s1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>s2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Find the point on the triangle that is closest to the test_point. Parameters: test_point - [in] s1, s2 - [out] PointAt( *s1, *s2) is the point on the triangle closest to test_point. Returns: true if successful. </p>
</div>
</div>
<a id="a8ee7ff85e28d04c50bce594c919e7f3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ee7ff85e28d04c50bce594c919e7f3a">&#9670;&nbsp;</a></span>ClosestPointTo() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> ON_Triangle::ClosestPointTo </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname"><em>test_point</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Find the point on the triangle that is closest to the test_point. Parameters: test_point - [in] Returns: The point on the line that is closest to test_point. </p>
</div>
</div>
<a id="afa3566eca5c38d945c0a573f535ce206"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa3566eca5c38d945c0a573f535ce206">&#9670;&nbsp;</a></span>Create() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Triangle::Create </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>vertices</em>[3]</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Create a Triangle from three points. Parameters: vertices - [in] vertices </p>
</div>
</div>
<a id="ad544ea03d4c668e90ae791a565a8c169"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad544ea03d4c668e90ae791a565a8c169">&#9670;&nbsp;</a></span>Create() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Triangle::Create </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname"><em>a</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> &amp;&#160;</td>
<td class="paramname"><em>b</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> &amp;&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Create a Triangle from three points. Parameters: a,b,c - [in] vertices </p>
</div>
</div>
<a id="af6a41e85de44778aa1ec1003e7ee449f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6a41e85de44778aa1ec1003e7ee449f">&#9670;&nbsp;</a></span>DistanceTo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double ON_Triangle::DistanceTo </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &amp;&#160;</td>
<td class="paramname"><em>test_point</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Find the point on the triangle that is closest to the test_point. Parameters: test_point -[in] Returns: distance from the point on triangle that is closest to test_point. See Also: <a class="el" href="../../d2/d35/class_o_n__3d_point.html#a645aae8223672bebfdda756671763e01">ON_3dPoint::DistanceTo</a> <a class="el" href="../../d4/d6f/class_o_n___line.html#ac2cea825235da9735f589c31601e0824">ON_Line::ClosestPointTo</a> </p>
</div>
</div>
<a id="ab56b749e26fc64643a0721d1d4b735de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab56b749e26fc64643a0721d1d4b735de">&#9670;&nbsp;</a></span>Edge()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/d6f/class_o_n___line.html">ON_Line</a> ON_Triangle::Edge </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: Edge opposite m_V[i] Specifically, <a class="el" href="../../d4/d6f/class_o_n___line.html">ON_Line</a>( m_V[(i+1)%3 ], m_V[(i+2)%3 ] ) </p>
</div>
</div>
<a id="aa281fbcbb5b2ce87abc5a4637ab1c489"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa281fbcbb5b2ce87abc5a4637ab1c489">&#9670;&nbsp;</a></span>GetBoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::GetBoundingBox </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;&#160;</td>
<td class="paramname"><em>bbox</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>bGrowBox</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Get line's 3d axis aligned bounding box or the union of the input box with the object's bounding box. Parameters: bbox - [in/out] 3d axis aligned bounding box bGrowBox - [in] (default=false) If true, then the union of the input bbox and the object's bounding box is returned in bbox. If false, the object's bounding box is returned in bbox. Returns: true if object has bounding box and calculation was successful. </p>
</div>
</div>
<a id="aa09cc39e375358195e2bd5a9858336f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa09cc39e375358195e2bd5a9858336f2">&#9670;&nbsp;</a></span>GetTightBoundingBox()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::GetTightBoundingBox </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d1/d17/class_o_n___bounding_box.html">ON_BoundingBox</a> &amp;&#160;</td>
<td class="paramname"><em>tight_bbox</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>bGrowBox</em> = <code>false</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> *&#160;</td>
<td class="paramname"><em>xform</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Get tight bounding box with respect to a given frame Parameters: tight_bbox - [in/out] tight bounding box bGrowBox -[in] (default=false) If true and the input tight_bbox is valid, then returned tight_bbox is the union of the input tight_bbox and the line's tight bounding box. xform -[in] (default=nullptr) If not nullptr, the tight bounding box of the transformed triangle is calculated. The triangle is not modified. Returns: True if a valid tight_bbox is returned. </p>
</div>
</div>
<a id="a3238ef876221f6eeaa40db4b33b73206"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3238ef876221f6eeaa40db4b33b73206">&#9670;&nbsp;</a></span>IsDegenerate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::IsDegenerate </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>tol</em> = <code>ON_ZERO_TOLERANCE</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: true if <a class="el" href="../../d4/df9/class_o_n___triangle.html#a19f44b34c5b4dacd2444a1fd2ed441de">Area()</a>&lt; tol Note: Recall Area = .5* base * height. So this degeneracy tests for a combination long enough and high enough. See Also: <a class="el" href="../../d4/df9/class_o_n___triangle.html#a19f44b34c5b4dacd2444a1fd2ed441de">ON_Triangle::Area()</a> </p>
</div>
</div>
<a id="a53dcb06810c9c23252a1f69e7bfc4754"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53dcb06810c9c23252a1f69e7bfc4754">&#9670;&nbsp;</a></span>IsValid()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::IsValid </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: True if m_V[i].<a class="el" href="../../d4/df9/class_o_n___triangle.html#a53dcb06810c9c23252a1f69e7bfc4754">IsValid()</a> for all i </p>
</div>
</div>
<a id="ad49a96df7b21b933e8c6898eec2771fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad49a96df7b21b933e8c6898eec2771fc">&#9670;&nbsp;</a></span>Normal()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> ON_Triangle::Normal </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: N = ( b-a) X ( c-a) where a,b,c are the verticies See Also: <a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> <a class="el" href="../../d4/df9/class_o_n___triangle.html#a6969d23684a0cb2f39e44916ef417bb0">UnitNormal()</a> </p>
</div>
</div>
<a id="ae38ca22cd1422470531d041ac2dd7209"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae38ca22cd1422470531d041ac2dd7209">&#9670;&nbsp;</a></span>operator const ON_3dPoint *()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_Triangle::operator const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> * </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9fa3e08be5e17b31d3efc25efbc6144c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fa3e08be5e17b31d3efc25efbc6144c">&#9670;&nbsp;</a></span>operator ON_3dPoint *()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">ON_Triangle::operator <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> * </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a345882a0d0404cf428597e4e5bfe0411"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a345882a0d0404cf428597e4e5bfe0411">&#9670;&nbsp;</a></span>operator=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a>&amp; ON_Triangle::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> &amp;&#160;</td>
<td class="paramname"><em>tri</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0fe872cfbffc30be41a512e9a8dd9737"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fe872cfbffc30be41a512e9a8dd9737">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&amp; ON_Triangle::operator[] </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Triangle[i] = Triangle.m_V[i]. </p>
</div>
</div>
<a id="a0ed9bb7b71edc5943803d44ef43c9d9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ed9bb7b71edc5943803d44ef43c9d9e">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a>&amp; ON_Triangle::operator[] </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a58551ef478d86c983ce27a14cb3c16d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58551ef478d86c983ce27a14cb3c16d2">&#9670;&nbsp;</a></span>PlaneEquation()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../dd/d89/class_o_n___plane_equation.html">ON_PlaneEquation</a> ON_Triangle::PlaneEquation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: Plane containing Triangle with normal given by <a class="el" href="../../d4/df9/class_o_n___triangle.html#a6969d23684a0cb2f39e44916ef417bb0">UnitNormal()</a>. Notes: Ensure !IsDegenerate() to gaurentee meaningful result </p>
</div>
</div>
<a id="aff3eb20118fd2a61acdcd33d48b89cf8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff3eb20118fd2a61acdcd33d48b89cf8">&#9670;&nbsp;</a></span>PointAt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> ON_Triangle::PointAt </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>s1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>s2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Evaluate point on triangle. Parameters: s1, s2 - [in] evaluation parameter. Returns: (1-s1-s2)* m_V[0] + s1*m_V[1] + s2*m_V[2] Notes: Point is in the triangle iff s1&gt;=0, s2&gt;=0 and s1 + s2&lt;=1. Other values produce points on the plane of the triangle. </p>
</div>
</div>
<a id="ae483f88d577e6cf113ebc727bac38154"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae483f88d577e6cf113ebc727bac38154">&#9670;&nbsp;</a></span>Reverse()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ON_Triangle::Reverse </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Description: Reverse endpoints of Edge[i]. </p>
</div>
</div>
<a id="a81f88c1319048b37d8e5627ea1bc4691"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81f88c1319048b37d8e5627ea1bc4691">&#9670;&nbsp;</a></span>Rotate() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::Rotate </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>sin_angle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>cos_angle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>axis_of_rotation</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> &amp;&#160;</td>
<td class="paramname"><em>center_of_rotation</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>rotate line about a point and axis </p>
</div>
</div>
<a id="a9e3ca97c17ced1232da98e22f0ef6c71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e3ca97c17ced1232da98e22f0ef6c71">&#9670;&nbsp;</a></span>Rotate() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::Rotate </td>
<td>(</td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>angle_in_radians</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>axis_of_rotation</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> &amp;&#160;</td>
<td class="paramname"><em>center_of_rotation</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afed07ff497792bcddc07e043ecd22573"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afed07ff497792bcddc07e043ecd22573">&#9670;&nbsp;</a></span>Transform()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::Transform </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &amp;&#160;</td>
<td class="paramname"><em>xform</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a2245348a522963a125c4fa05dda0f72c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2245348a522963a125c4fa05dda0f72c">&#9670;&nbsp;</a></span>Translate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool ON_Triangle::Translate </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &amp;&#160;</td>
<td class="paramname"><em>delta</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6969d23684a0cb2f39e44916ef417bb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6969d23684a0cb2f39e44916ef417bb0">&#9670;&nbsp;</a></span>UnitNormal()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> ON_Triangle::UnitNormal </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns: <a class="el" href="../../d4/df9/class_o_n___triangle.html#ad49a96df7b21b933e8c6898eec2771fc">Normal()</a>.Unitize() Notes: Ensure !IsDegenerate() to gaurentee that <a class="el" href="../../d4/df9/class_o_n___triangle.html#a6969d23684a0cb2f39e44916ef417bb0">UnitNormal()</a>.Length()==1 and the result is not just a bunch of noise. Can return zero vector in some degenerate cases. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ab721c1111f1fc05d338ed8b6499f7073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab721c1111f1fc05d338ed8b6499f7073">&#9670;&nbsp;</a></span>m_V</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> ON_Triangle::m_V[3]</td>
</tr>
</table>
</div><div class="memdoc">
<p>verticies </p>
</div>
</div>
<a id="a3493f70880a69e59ef3785baec1b1443"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3493f70880a69e59ef3785baec1b1443">&#9670;&nbsp;</a></span>NanTriangle</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="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> ON_Triangle::NanTriangle</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>{<a class="el" href="../../d2/d35/class_o_n__3d_point.html#a431f63a983b61e62251c3ebb37d851ff" title="(ON_DBL_QNAN,ON_DBL_QNAN,ON_DBL_QNAN) ">ON_3dPoint::NanPoint</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#a431f63a983b61e62251c3ebb37d851ff" title="(ON_DBL_QNAN,ON_DBL_QNAN,ON_DBL_QNAN) ">ON_3dPoint::NanPoint</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#a431f63a983b61e62251c3ebb37d851ff" title="(ON_DBL_QNAN,ON_DBL_QNAN,ON_DBL_QNAN) ">ON_3dPoint::NanPoint</a>} </p>
</div>
</div>
<a id="ab4245632c9b586075706cfcdc851f86d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4245632c9b586075706cfcdc851f86d">&#9670;&nbsp;</a></span>UnsetTriangle</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="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> ON_Triangle::UnsetTriangle</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>{<a class="el" href="../../d2/d35/class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#aa68906e3e7650b01ce88c527f6088d7d" title="(ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) ">ON_3dPoint::UnsetPoint</a>} </p>
</div>
</div>
<a id="a539b325f064f60664ca7250035b99c68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a539b325f064f60664ca7250035b99c68">&#9670;&nbsp;</a></span>ZeroTriangle</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="../../d4/df9/class_o_n___triangle.html">ON_Triangle</a> ON_Triangle::ZeroTriangle</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>{<a class="el" href="../../d2/d35/class_o_n__3d_point.html#ae5dcca5dde698b25a7ec98b3868285b5" title="(0.0,0.0,0.0) ">ON_3dPoint::Origin</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#ae5dcca5dde698b25a7ec98b3868285b5" title="(0.0,0.0,0.0) ">ON_3dPoint::Origin</a>, <a class="el" href="../../d2/d35/class_o_n__3d_point.html#ae5dcca5dde698b25a7ec98b3868285b5" title="(0.0,0.0,0.0) ">ON_3dPoint::Origin</a>} </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jan 26 2018 12:38:23 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.14
</small></address>
</body>
</html>