Automated Release Preparation

This commit is contained in:
Jan Schuffenhauer
2020-01-16 12:21:09 +01:00
parent cd3ba27e8d
commit f5f4ca7a06
134 changed files with 5397 additions and 2198 deletions

View File

@@ -89,50 +89,54 @@ $(document).ready(function(){initNavTree('_intelli_triangulation_8h_source.html'
<a href="_intelli_triangulation_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef INTELLITRIANGULATION_H</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define INTELLITRIANGULATION_H</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &lt;QPoint&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">//for unit testing</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="keyword">class </span><a class="code" href="class_unit_test.html">UnitTest</a>;</div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="struct_triangle.html"> 10</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_triangle.html">Triangle</a> {</div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a"> 11</a></span>&#160; QPoint <a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>,<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>,<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>;</div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;};</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="namespace_intelli_triangulation.html"> 14</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_intelli_triangulation.html">IntelliTriangulation</a> {</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca"> 23</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">sign</a>(QPoint&amp; p1, QPoint&amp; p2, QPoint&amp; p3){</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keywordflow">return</span> (p1.x() - p3.x()) * (p2.y() - p3.y()) - (p2.x() - p3.x()) * (p1.y() - p3.y());</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;}</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197"> 33</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197">isInTriangle</a>(<a class="code" href="struct_triangle.html">Triangle</a>&amp; tri, QPoint&amp; P){</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordtype">float</span> val1, val2, val3;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordtype">bool</span> neg, pos;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; val1 = <a class="code" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">IntelliTriangulation::sign</a>(P,tri.<a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>,tri.<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>);</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; val2 = <a class="code" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">IntelliTriangulation::sign</a>(P,tri.<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>,tri.<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; val3 = <a class="code" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">IntelliTriangulation::sign</a>(P,tri.<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>,tri.<a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; neg = (val1&lt;0.f) || (val2&lt;0.f) || (val3&lt;0.f);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; pos = (val1&gt;0.f) || (val2&gt;0.f) || (val3&gt;0.f);</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="preprocessor">#include &lt;QPoint&gt;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; </div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="struct_triangle.html"> 13</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_triangle.html">Triangle</a> {</div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a"> 14</a></span>&#160; QPoint <a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>,<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>,<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;};</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="namespace_intelli_triangulation.html"> 17</a></span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_intelli_triangulation.html">IntelliTriangulation</a> {</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca"> 26</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">sign</a>(QPoint&amp; p1, QPoint&amp; p2, QPoint&amp; p3){</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">return</span> (p1.x() - p3.x()) * (p2.y() - p3.y()) - (p2.x() - p3.x()) * (p1.y() - p3.y());</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;}</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197"> 36</a></span>&#160;<span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197">isInTriangle</a>(<a class="code" href="struct_triangle.html">Triangle</a>&amp; tri, QPoint&amp; P){</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">float</span> val1, val2, val3;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">bool</span> neg, pos;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; val1 = <a class="code" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">IntelliTriangulation::sign</a>(P,tri.<a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>,tri.<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; val2 = <a class="code" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">IntelliTriangulation::sign</a>(P,tri.<a class="code" href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">B</a>,tri.<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>);</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; val3 = <a class="code" href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">IntelliTriangulation::sign</a>(P,tri.<a class="code" href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">C</a>,tri.<a class="code" href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">A</a>);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> !(neg &amp;&amp; pos);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; neg = (val1&lt;0.f) || (val2&lt;0.f) || (val3&lt;0.f);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; pos = (val1&gt;0.f) || (val2&gt;0.f) || (val3&gt;0.f);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;std::vector&lt;Triangle&gt; <a class="code" href="namespace_intelli_triangulation.html#acdaf1ed598e868b25e9e06d580da32e5">calculateTriangles</a>(std::vector&lt;QPoint&gt; polyPoints);</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespace_intelli_triangulation.html#a00621e2d8708fe2e8966d7d79b64e186">isInPolygon</a>(std::vector&lt;Triangle&gt; &amp;triangles, QPoint &amp;point);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">return</span> !(neg &amp;&amp; pos);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; </div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;std::vector&lt;Triangle&gt; <a class="code" href="namespace_intelli_triangulation.html#acdaf1ed598e868b25e9e06d580da32e5">calculateTriangles</a>(std::vector&lt;QPoint&gt; polyPoints);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="namespace_intelli_triangulation.html#a00621e2d8708fe2e8966d7d79b64e186">isInPolygon</a>(std::vector&lt;Triangle&gt; &amp;triangles, QPoint &amp;point);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;}</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; </div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="anamespace_intelli_triangulation_html_ac150fee67fd41a451bd2592f10e00197"><div class="ttname"><a href="namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197">IntelliTriangulation::isInTriangle</a></div><div class="ttdeci">bool isInTriangle(Triangle &amp;tri, QPoint &amp;P)</div><div class="ttdoc">A function to check if a given point is in a triangle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00033">IntelliTriangulation.h:33</a></div></div>
<div class="ttc" id="anamespace_intelli_triangulation_html_af9af549a7faff35a74c1265b290ea0ca"><div class="ttname"><a href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">IntelliTriangulation::sign</a></div><div class="ttdeci">float sign(QPoint &amp;p1, QPoint &amp;p2, QPoint &amp;p3)</div><div class="ttdoc">A function to get the 2*area of a traingle, using its determinat.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00023">IntelliTriangulation.h:23</a></div></div>
<div class="ttc" id="anamespace_intelli_triangulation_html_ac150fee67fd41a451bd2592f10e00197"><div class="ttname"><a href="namespace_intelli_triangulation.html#ac150fee67fd41a451bd2592f10e00197">IntelliTriangulation::isInTriangle</a></div><div class="ttdeci">bool isInTriangle(Triangle &amp;tri, QPoint &amp;P)</div><div class="ttdoc">A function to check if a given point is in a triangle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00036">IntelliTriangulation.h:36</a></div></div>
<div class="ttc" id="anamespace_intelli_triangulation_html_af9af549a7faff35a74c1265b290ea0ca"><div class="ttname"><a href="namespace_intelli_triangulation.html#af9af549a7faff35a74c1265b290ea0ca">IntelliTriangulation::sign</a></div><div class="ttdeci">float sign(QPoint &amp;p1, QPoint &amp;p2, QPoint &amp;p3)</div><div class="ttdoc">A function to get the 2*area of a traingle, using its determinat.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00026">IntelliTriangulation.h:26</a></div></div>
<div class="ttc" id="anamespace_intelli_triangulation_html_acdaf1ed598e868b25e9e06d580da32e5"><div class="ttname"><a href="namespace_intelli_triangulation.html#acdaf1ed598e868b25e9e06d580da32e5">IntelliTriangulation::calculateTriangles</a></div><div class="ttdeci">std::vector&lt; Triangle &gt; calculateTriangles(std::vector&lt; QPoint &gt; polyPoints)</div><div class="ttdoc">A function to split a polygon in its spanning traingles by using Meisters Theorem of graph theory by ...</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8cpp_source.html#l00007">IntelliTriangulation.cpp:7</a></div></div>
<div class="ttc" id="astruct_triangle_html_a64fa6a90a6131f12a1a3054bf86647d7"><div class="ttname"><a href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">Triangle::B</a></div><div class="ttdeci">QPoint B</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00011">IntelliTriangulation.h:11</a></div></div>
<div class="ttc" id="astruct_triangle_html_addb8aaab314d79f3617acca01e12872a"><div class="ttname"><a href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">Triangle::C</a></div><div class="ttdeci">QPoint C</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00011">IntelliTriangulation.h:11</a></div></div>
<div class="ttc" id="astruct_triangle_html"><div class="ttname"><a href="struct_triangle.html">Triangle</a></div><div class="ttdoc">The Triangle struct holds the 3 vertices of a triangle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00010">IntelliTriangulation.h:10</a></div></div>
<div class="ttc" id="astruct_triangle_html_a64fa6a90a6131f12a1a3054bf86647d7"><div class="ttname"><a href="struct_triangle.html#a64fa6a90a6131f12a1a3054bf86647d7">Triangle::B</a></div><div class="ttdeci">QPoint B</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00014">IntelliTriangulation.h:14</a></div></div>
<div class="ttc" id="astruct_triangle_html_addb8aaab314d79f3617acca01e12872a"><div class="ttname"><a href="struct_triangle.html#addb8aaab314d79f3617acca01e12872a">Triangle::C</a></div><div class="ttdeci">QPoint C</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00014">IntelliTriangulation.h:14</a></div></div>
<div class="ttc" id="astruct_triangle_html"><div class="ttname"><a href="struct_triangle.html">Triangle</a></div><div class="ttdoc">The Triangle struct holds the 3 vertices of a triangle.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00013">IntelliTriangulation.h:13</a></div></div>
<div class="ttc" id="anamespace_intelli_triangulation_html_a00621e2d8708fe2e8966d7d79b64e186"><div class="ttname"><a href="namespace_intelli_triangulation.html#a00621e2d8708fe2e8966d7d79b64e186">IntelliTriangulation::isInPolygon</a></div><div class="ttdeci">bool isInPolygon(std::vector&lt; Triangle &gt; &amp;triangles, QPoint &amp;point)</div><div class="ttdoc">A function to check if a point lies in a polygon by checking its spanning triangles.</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8cpp_source.html#l00116">IntelliTriangulation.cpp:116</a></div></div>
<div class="ttc" id="anamespace_intelli_triangulation_html"><div class="ttname"><a href="namespace_intelli_triangulation.html">IntelliTriangulation</a></div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00014">IntelliTriangulation.h:14</a></div></div>
<div class="ttc" id="astruct_triangle_html_a4fe8b39e0144ebff908b7718c2f2751b"><div class="ttname"><a href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">Triangle::A</a></div><div class="ttdeci">QPoint A</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00011">IntelliTriangulation.h:11</a></div></div>
<div class="ttc" id="anamespace_intelli_triangulation_html"><div class="ttname"><a href="namespace_intelli_triangulation.html">IntelliTriangulation</a></div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00017">IntelliTriangulation.h:17</a></div></div>
<div class="ttc" id="astruct_triangle_html_a4fe8b39e0144ebff908b7718c2f2751b"><div class="ttname"><a href="struct_triangle.html#a4fe8b39e0144ebff908b7718c2f2751b">Triangle::A</a></div><div class="ttdeci">QPoint A</div><div class="ttdef"><b>Definition:</b> <a href="_intelli_triangulation_8h_source.html#l00014">IntelliTriangulation.h:14</a></div></div>
<div class="ttc" id="aclass_unit_test_html"><div class="ttname"><a href="class_unit_test.html">UnitTest</a></div><div class="ttdef"><b>Definition:</b> <a href="main_unit_test_8cpp_source.html#l00008">mainUnitTest.cpp:8</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>