Metahuman_DNA_Calibration/docs/doxygen/build/html/classdnac_1_1Triangle.html
2022-11-29 14:58:38 +01:00

597 lines
38 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DNA Calib: dnac::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 id="projectrow">
<td id="projectalign">
<div id="projectname">DNA Calib<span id="projectnumber">&#160;1.1</span>
</div>
<div id="projectbrief">Project brief</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacednac.html">dnac</a></li><li class="navelem"><a class="el" href="classdnac_1_1Triangle.html">Triangle</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classdnac_1_1Triangle-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">dnac::Triangle Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="Triangle_8h_source.html">Triangle.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for dnac::Triangle:</div>
<div class="dyncontent">
<div class="center"><img src="classdnac_1_1Triangle__coll__graph.png" border="0" usemap="#adnac_1_1Triangle_coll__map" alt="Collaboration graph"/></div>
<map name="adnac_1_1Triangle_coll__map" id="adnac_1_1Triangle_coll__map">
<area shape="rect" title=" " alt="" coords="5,1423,172,1676"/>
<area shape="rect" href="structtdm_1_1vec.html" title=" " alt="" coords="35,769,143,1331"/>
<area shape="rect" href="structtdm_1_1vec.html" title=" " alt="" coords="30,145,147,707"/>
<area shape="rect" title=" " alt="" coords="69,5,108,83"/>
</map>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3fac34e4a2651e2e9a93ec71bf55fbfe"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a3fac34e4a2651e2e9a93ec71bf55fbfe">Triangle</a> (const <a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> &amp;<a class="el" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>, const <a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> &amp;b, const <a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> &amp;c)</td></tr>
<tr class="separator:a3fac34e4a2651e2e9a93ec71bf55fbfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f0c725811a75e5968585b105e99fae4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a7f0c725811a75e5968585b105e99fae4">Triangle</a> (const std::array&lt; <a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a>, 3 &gt; &amp;vertices)</td></tr>
<tr class="separator:a7f0c725811a75e5968585b105e99fae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01152865f1cdf7af65f49add515164a6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a01152865f1cdf7af65f49add515164a6">Triangle</a> (const <a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;triangle)=default</td></tr>
<tr class="separator:a01152865f1cdf7af65f49add515164a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ad65c95a119b1cb78c0ffadf9f610d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a6ad65c95a119b1cb78c0ffadf9f610d1">operator=</a> (const <a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;triangle)=default</td></tr>
<tr class="separator:a6ad65c95a119b1cb78c0ffadf9f610d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41ded3d5d29359f9f40fff6dcbffd523"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a41ded3d5d29359f9f40fff6dcbffd523">Triangle</a> (<a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a41ded3d5d29359f9f40fff6dcbffd523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada3c80719a410334af81029f864b583c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#ada3c80719a410334af81029f864b583c">operator=</a> (<a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;&amp;triangle)=default</td></tr>
<tr class="separator:ada3c80719a410334af81029f864b583c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab989f4f1cd4c51ac60921519e65d41d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetdm.html#aa01d9c92918f0f78c73c3a9494be09f8">fvec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#ab989f4f1cd4c51ac60921519e65d41d9">getBarycentricCoords</a> (const <a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> &amp;point) const</td></tr>
<tr class="separator:ab989f4f1cd4c51ac60921519e65d41d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2b54d2f45efa2a0e425cb84e9a6b924"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#ab2b54d2f45efa2a0e425cb84e9a6b924">A</a> () const</td></tr>
<tr class="separator:ab2b54d2f45efa2a0e425cb84e9a6b924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa27280064681d5bb283f3dadc94e9cbe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#aa27280064681d5bb283f3dadc94e9cbe">B</a> () const</td></tr>
<tr class="separator:aa27280064681d5bb283f3dadc94e9cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a742ada344c20bc5773cc5aba87e3f6e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a742ada344c20bc5773cc5aba87e3f6e1">C</a> () const</td></tr>
<tr class="separator:a742ada344c20bc5773cc5aba87e3f6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a618ca0293fd8e0fe93206b7632210239"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a></td></tr>
<tr class="separator:a618ca0293fd8e0fe93206b7632210239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adee4e3cbbb0d1aad29bbc5ddeea9d2bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a></td></tr>
<tr class="separator:adee4e3cbbb0d1aad29bbc5ddeea9d2bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accac789e95cd7a6c197487ce5a1c03d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a></td></tr>
<tr class="separator:accac789e95cd7a6c197487ce5a1c03d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a32724ec4a6a23e18ac09b237626a03"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a5a32724ec4a6a23e18ac09b237626a03">d00</a></td></tr>
<tr class="separator:a5a32724ec4a6a23e18ac09b237626a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dfa8e1b5cfd11ea7284509faa5a13ad"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#a1dfa8e1b5cfd11ea7284509faa5a13ad">d01</a></td></tr>
<tr class="separator:a1dfa8e1b5cfd11ea7284509faa5a13ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafd0e116b15b8f4608c0f475bd4414b1"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#aafd0e116b15b8f4608c0f475bd4414b1">d11</a></td></tr>
<tr class="separator:aafd0e116b15b8f4608c0f475bd4414b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3bcaecd2caa3029bf8c52c8f70e3d55"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdnac_1_1Triangle.html#af3bcaecd2caa3029bf8c52c8f70e3d55">denom</a></td></tr>
<tr class="separator:af3bcaecd2caa3029bf8c52c8f70e3d55"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3fac34e4a2651e2e9a93ec71bf55fbfe" name="a3fac34e4a2651e2e9a93ec71bf55fbfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fac34e4a2651e2e9a93ec71bf55fbfe">&#9670;&nbsp;</a></span>Triangle() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">dnac::Triangle::Triangle </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</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="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</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="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</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 class="fragment"><div class="line"><span class="lineno"> 7</span> :</div>
<div class="line"><span class="lineno"> 8</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>{a_},</div>
<div class="line"><span class="lineno"> 9</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a>{b - <a class="code hl_variable" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>},</div>
<div class="line"><span class="lineno"> 10</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a>{c - <a class="code hl_variable" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>},</div>
<div class="line"><span class="lineno"> 11</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#a5a32724ec4a6a23e18ac09b237626a03">d00</a>{<a class="code hl_function" href="namespacetdm.html#a789cefc95e9408211615da063d75b751">tdm::dot</a>(<a class="code hl_variable" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a>, <a class="code hl_variable" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a>)},</div>
<div class="line"><span class="lineno"> 12</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#a1dfa8e1b5cfd11ea7284509faa5a13ad">d01</a>{<a class="code hl_function" href="namespacetdm.html#a789cefc95e9408211615da063d75b751">tdm::dot</a>(<a class="code hl_variable" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a>, <a class="code hl_variable" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a>)},</div>
<div class="line"><span class="lineno"> 13</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#aafd0e116b15b8f4608c0f475bd4414b1">d11</a>{<a class="code hl_function" href="namespacetdm.html#a789cefc95e9408211615da063d75b751">tdm::dot</a>(<a class="code hl_variable" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a>, <a class="code hl_variable" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a>)},</div>
<div class="line"><span class="lineno"> 14</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#af3bcaecd2caa3029bf8c52c8f70e3d55">denom</a>{<a class="code hl_variable" href="classdnac_1_1Triangle.html#a5a32724ec4a6a23e18ac09b237626a03">d00</a> * <a class="code hl_variable" href="classdnac_1_1Triangle.html#aafd0e116b15b8f4608c0f475bd4414b1">d11</a> - <a class="code hl_variable" href="classdnac_1_1Triangle.html#a1dfa8e1b5cfd11ea7284509faa5a13ad">d01</a> * <a class="code hl_variable" href="classdnac_1_1Triangle.html#a1dfa8e1b5cfd11ea7284509faa5a13ad">d01</a>} {</div>
<div class="line"><span class="lineno"> 15</span>}</div>
<div class="ttc" id="aclassdnac_1_1Triangle_html_a1dfa8e1b5cfd11ea7284509faa5a13ad"><div class="ttname"><a href="classdnac_1_1Triangle.html#a1dfa8e1b5cfd11ea7284509faa5a13ad">dnac::Triangle::d01</a></div><div class="ttdeci">float d01</div><div class="ttdef"><b>Definition:</b> Triangle.h:35</div></div>
<div class="ttc" id="aclassdnac_1_1Triangle_html_a5a32724ec4a6a23e18ac09b237626a03"><div class="ttname"><a href="classdnac_1_1Triangle.html#a5a32724ec4a6a23e18ac09b237626a03">dnac::Triangle::d00</a></div><div class="ttdeci">float d00</div><div class="ttdef"><b>Definition:</b> Triangle.h:34</div></div>
<div class="ttc" id="aclassdnac_1_1Triangle_html_a618ca0293fd8e0fe93206b7632210239"><div class="ttname"><a href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">dnac::Triangle::a</a></div><div class="ttdeci">fvec2 a</div><div class="ttdef"><b>Definition:</b> Triangle.h:31</div></div>
<div class="ttc" id="aclassdnac_1_1Triangle_html_aafd0e116b15b8f4608c0f475bd4414b1"><div class="ttname"><a href="classdnac_1_1Triangle.html#aafd0e116b15b8f4608c0f475bd4414b1">dnac::Triangle::d11</a></div><div class="ttdeci">float d11</div><div class="ttdef"><b>Definition:</b> Triangle.h:36</div></div>
<div class="ttc" id="aclassdnac_1_1Triangle_html_accac789e95cd7a6c197487ce5a1c03d3"><div class="ttname"><a href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">dnac::Triangle::v1</a></div><div class="ttdeci">fvec2 v1</div><div class="ttdef"><b>Definition:</b> Triangle.h:33</div></div>
<div class="ttc" id="aclassdnac_1_1Triangle_html_adee4e3cbbb0d1aad29bbc5ddeea9d2bf"><div class="ttname"><a href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">dnac::Triangle::v0</a></div><div class="ttdeci">fvec2 v0</div><div class="ttdef"><b>Definition:</b> Triangle.h:32</div></div>
<div class="ttc" id="aclassdnac_1_1Triangle_html_af3bcaecd2caa3029bf8c52c8f70e3d55"><div class="ttname"><a href="classdnac_1_1Triangle.html#af3bcaecd2caa3029bf8c52c8f70e3d55">dnac::Triangle::denom</a></div><div class="ttdeci">float denom</div><div class="ttdef"><b>Definition:</b> Triangle.h:37</div></div>
<div class="ttc" id="anamespacetdm_html_a789cefc95e9408211615da063d75b751"><div class="ttname"><a href="namespacetdm.html#a789cefc95e9408211615da063d75b751">tdm::dot</a></div><div class="ttdeci">T dot(const vec&lt; L, T &gt; &amp;lhs, const vec&lt; L, T &gt; &amp;rhs)</div><div class="ttdef"><b>Definition:</b> Computations.h:31</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a7f0c725811a75e5968585b105e99fae4" name="a7f0c725811a75e5968585b105e99fae4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f0c725811a75e5968585b105e99fae4">&#9670;&nbsp;</a></span>Triangle() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">dnac::Triangle::Triangle </td>
<td>(</td>
<td class="paramtype">const std::array&lt; <a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a>, 3 &gt; &amp;&#160;</td>
<td class="paramname"><em>vertices</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 17</span> :</div>
<div class="line"><span class="lineno"> 18</span> <a class="code hl_function" href="classdnac_1_1Triangle.html#a3fac34e4a2651e2e9a93ec71bf55fbfe">Triangle</a>(vertices[0], vertices[1], vertices[2]) {</div>
<div class="line"><span class="lineno"> 19</span>}</div>
<div class="ttc" id="aclassdnac_1_1Triangle_html_a3fac34e4a2651e2e9a93ec71bf55fbfe"><div class="ttname"><a href="classdnac_1_1Triangle.html#a3fac34e4a2651e2e9a93ec71bf55fbfe">dnac::Triangle::Triangle</a></div><div class="ttdeci">Triangle(const fvec2 &amp;a, const fvec2 &amp;b, const fvec2 &amp;c)</div><div class="ttdef"><b>Definition:</b> Triangle.cpp:7</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a01152865f1cdf7af65f49add515164a6" name="a01152865f1cdf7af65f49add515164a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01152865f1cdf7af65f49add515164a6">&#9670;&nbsp;</a></span>Triangle() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">dnac::Triangle::Triangle </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;&#160;</td>
<td class="paramname"><em>triangle</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="a41ded3d5d29359f9f40fff6dcbffd523" name="a41ded3d5d29359f9f40fff6dcbffd523"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41ded3d5d29359f9f40fff6dcbffd523">&#9670;&nbsp;</a></span>Triangle() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">dnac::Triangle::Triangle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;&amp;&#160;</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="ab2b54d2f45efa2a0e425cb84e9a6b924" name="ab2b54d2f45efa2a0e425cb84e9a6b924"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2b54d2f45efa2a0e425cb84e9a6b924">&#9670;&nbsp;</a></span>A()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> dnac::Triangle::A </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 21</span> {</div>
<div class="line"><span class="lineno"> 22</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>;</div>
<div class="line"><span class="lineno"> 23</span>}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>.</p>
</div>
</div>
<a id="aa27280064681d5bb283f3dadc94e9cbe" name="aa27280064681d5bb283f3dadc94e9cbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa27280064681d5bb283f3dadc94e9cbe">&#9670;&nbsp;</a></span>B()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> dnac::Triangle::B </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 25</span> {</div>
<div class="line"><span class="lineno"> 26</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a> + <a class="code hl_variable" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>;</div>
<div class="line"><span class="lineno"> 27</span>}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>, and <a class="el" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a>.</p>
</div>
</div>
<a id="a742ada344c20bc5773cc5aba87e3f6e1" name="a742ada344c20bc5773cc5aba87e3f6e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a742ada344c20bc5773cc5aba87e3f6e1">&#9670;&nbsp;</a></span>C()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> dnac::Triangle::C </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 29</span> {</div>
<div class="line"><span class="lineno"> 30</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a> + <a class="code hl_variable" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>;</div>
<div class="line"><span class="lineno"> 31</span>}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>, and <a class="el" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a>.</p>
</div>
</div>
<a id="ab989f4f1cd4c51ac60921519e65d41d9" name="ab989f4f1cd4c51ac60921519e65d41d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab989f4f1cd4c51ac60921519e65d41d9">&#9670;&nbsp;</a></span>getBarycentricCoords()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacetdm.html#aa01d9c92918f0f78c73c3a9494be09f8">fvec3</a> dnac::Triangle::getBarycentricCoords </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> &amp;&#160;</td>
<td class="paramname"><em>point</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<div class="fragment"><div class="line"><span class="lineno"> 33</span> {</div>
<div class="line"><span class="lineno"> 34</span> <span class="comment">// Real-Time Collision Detection The Morgan Kaufmann Series, chapter 3.4 Barycentric Coordinates</span></div>
<div class="line"><span class="lineno"> 35</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> v2 = point - <a class="code hl_variable" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>;</div>
<div class="line"><span class="lineno"> 36</span> </div>
<div class="line"><span class="lineno"> 37</span> <span class="keyword">const</span> <span class="keywordtype">float</span> d20 = <a class="code hl_function" href="namespacetdm.html#a789cefc95e9408211615da063d75b751">tdm::dot</a>(v2, <a class="code hl_variable" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a>);</div>
<div class="line"><span class="lineno"> 38</span> <span class="keyword">const</span> <span class="keywordtype">float</span> d21 = <a class="code hl_function" href="namespacetdm.html#a789cefc95e9408211615da063d75b751">tdm::dot</a>(v2, <a class="code hl_variable" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a>);</div>
<div class="line"><span class="lineno"> 39</span> </div>
<div class="line"><span class="lineno"> 40</span> <span class="keyword">const</span> <span class="keywordtype">float</span> v = (<a class="code hl_variable" href="classdnac_1_1Triangle.html#aafd0e116b15b8f4608c0f475bd4414b1">d11</a> * d20 - <a class="code hl_variable" href="classdnac_1_1Triangle.html#a1dfa8e1b5cfd11ea7284509faa5a13ad">d01</a> * d21) / <a class="code hl_variable" href="classdnac_1_1Triangle.html#af3bcaecd2caa3029bf8c52c8f70e3d55">denom</a>;</div>
<div class="line"><span class="lineno"> 41</span> <span class="keyword">const</span> <span class="keywordtype">float</span> w = (<a class="code hl_variable" href="classdnac_1_1Triangle.html#a5a32724ec4a6a23e18ac09b237626a03">d00</a> * d21 - <a class="code hl_variable" href="classdnac_1_1Triangle.html#a1dfa8e1b5cfd11ea7284509faa5a13ad">d01</a> * d20) / <a class="code hl_variable" href="classdnac_1_1Triangle.html#af3bcaecd2caa3029bf8c52c8f70e3d55">denom</a>;</div>
<div class="line"><span class="lineno"> 42</span> <span class="keyword">const</span> <span class="keywordtype">float</span> u = 1.0f - v - w;</div>
<div class="line"><span class="lineno"> 43</span> <span class="keywordflow">return</span> {u, v, w};</div>
<div class="line"><span class="lineno"> 44</span>}</div>
<div class="ttc" id="anamespacetdm_html_a20ebba8186d4ee0b937cdd4fd2acafc2"><div class="ttname"><a href="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">tdm::fvec2</a></div><div class="ttdeci">fvec&lt; 2 &gt; fvec2</div><div class="ttdef"><b>Definition:</b> Types.h:50</div></div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="classdnac_1_1Triangle.html#a618ca0293fd8e0fe93206b7632210239">a</a>, <a class="el" href="classdnac_1_1Triangle.html#a5a32724ec4a6a23e18ac09b237626a03">d00</a>, <a class="el" href="classdnac_1_1Triangle.html#a1dfa8e1b5cfd11ea7284509faa5a13ad">d01</a>, <a class="el" href="classdnac_1_1Triangle.html#aafd0e116b15b8f4608c0f475bd4414b1">d11</a>, <a class="el" href="classdnac_1_1Triangle.html#af3bcaecd2caa3029bf8c52c8f70e3d55">denom</a>, <a class="el" href="namespacetdm.html#a789cefc95e9408211615da063d75b751">tdm::dot()</a>, <a class="el" href="classdnac_1_1Triangle.html#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">v0</a>, and <a class="el" href="classdnac_1_1Triangle.html#accac789e95cd7a6c197487ce5a1c03d3">v1</a>.</p>
</div>
</div>
<a id="a6ad65c95a119b1cb78c0ffadf9f610d1" name="a6ad65c95a119b1cb78c0ffadf9f610d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ad65c95a119b1cb78c0ffadf9f610d1">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></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="classdnac_1_1Triangle.html">Triangle</a> &amp; dnac::Triangle::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;&#160;</td>
<td class="paramname"><em>triangle</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="ada3c80719a410334af81029f864b583c" name="ada3c80719a410334af81029f864b583c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada3c80719a410334af81029f864b583c">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></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="classdnac_1_1Triangle.html">Triangle</a> &amp; dnac::Triangle::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classdnac_1_1Triangle.html">Triangle</a> &amp;&amp;&#160;</td>
<td class="paramname"><em>triangle</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>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a618ca0293fd8e0fe93206b7632210239" name="a618ca0293fd8e0fe93206b7632210239"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a618ca0293fd8e0fe93206b7632210239">&#9670;&nbsp;</a></span>a</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="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> dnac::Triangle::a</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="classdnac_1_1Triangle.html#ab2b54d2f45efa2a0e425cb84e9a6b924">A()</a>, <a class="el" href="classdnac_1_1Triangle.html#aa27280064681d5bb283f3dadc94e9cbe">B()</a>, <a class="el" href="classdnac_1_1Triangle.html#a742ada344c20bc5773cc5aba87e3f6e1">C()</a>, and <a class="el" href="classdnac_1_1Triangle.html#ab989f4f1cd4c51ac60921519e65d41d9">getBarycentricCoords()</a>.</p>
</div>
</div>
<a id="a5a32724ec4a6a23e18ac09b237626a03" name="a5a32724ec4a6a23e18ac09b237626a03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a32724ec4a6a23e18ac09b237626a03">&#9670;&nbsp;</a></span>d00</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float dnac::Triangle::d00</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="classdnac_1_1Triangle.html#ab989f4f1cd4c51ac60921519e65d41d9">getBarycentricCoords()</a>.</p>
</div>
</div>
<a id="a1dfa8e1b5cfd11ea7284509faa5a13ad" name="a1dfa8e1b5cfd11ea7284509faa5a13ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1dfa8e1b5cfd11ea7284509faa5a13ad">&#9670;&nbsp;</a></span>d01</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float dnac::Triangle::d01</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="classdnac_1_1Triangle.html#ab989f4f1cd4c51ac60921519e65d41d9">getBarycentricCoords()</a>.</p>
</div>
</div>
<a id="aafd0e116b15b8f4608c0f475bd4414b1" name="aafd0e116b15b8f4608c0f475bd4414b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafd0e116b15b8f4608c0f475bd4414b1">&#9670;&nbsp;</a></span>d11</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float dnac::Triangle::d11</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="classdnac_1_1Triangle.html#ab989f4f1cd4c51ac60921519e65d41d9">getBarycentricCoords()</a>.</p>
</div>
</div>
<a id="af3bcaecd2caa3029bf8c52c8f70e3d55" name="af3bcaecd2caa3029bf8c52c8f70e3d55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3bcaecd2caa3029bf8c52c8f70e3d55">&#9670;&nbsp;</a></span>denom</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float dnac::Triangle::denom</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="classdnac_1_1Triangle.html#ab989f4f1cd4c51ac60921519e65d41d9">getBarycentricCoords()</a>.</p>
</div>
</div>
<a id="adee4e3cbbb0d1aad29bbc5ddeea9d2bf" name="adee4e3cbbb0d1aad29bbc5ddeea9d2bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adee4e3cbbb0d1aad29bbc5ddeea9d2bf">&#9670;&nbsp;</a></span>v0</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="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> dnac::Triangle::v0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="classdnac_1_1Triangle.html#aa27280064681d5bb283f3dadc94e9cbe">B()</a>, and <a class="el" href="classdnac_1_1Triangle.html#ab989f4f1cd4c51ac60921519e65d41d9">getBarycentricCoords()</a>.</p>
</div>
</div>
<a id="accac789e95cd7a6c197487ce5a1c03d3" name="accac789e95cd7a6c197487ce5a1c03d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accac789e95cd7a6c197487ce5a1c03d3">&#9670;&nbsp;</a></span>v1</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="namespacetdm.html#a20ebba8186d4ee0b937cdd4fd2acafc2">fvec2</a> dnac::Triangle::v1</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="reference">Referenced by <a class="el" href="classdnac_1_1Triangle.html#a742ada344c20bc5773cc5aba87e3f6e1">C()</a>, and <a class="el" href="classdnac_1_1Triangle.html#ab989f4f1cd4c51ac60921519e65d41d9">getBarycentricCoords()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="Triangle_8h_source.html">Triangle.h</a></li>
<li><a class="el" href="Triangle_8cpp.html">Triangle.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>