geos_390_docs/classgeos_1_1triangulate_1_...

245 lines
14 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.11"/>
<title>GEOS: geos::triangulate::IncrementalDelaunayTriangulator 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="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">GEOS
&#160;<span id="projectnumber">3.9.1dev</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegeos.html">geos</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1triangulate.html">triangulate</a></li><li class="navelem"><a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html">IncrementalDelaunayTriangulator</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::triangulate::IncrementalDelaunayTriangulator Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Computes a Delauanay Triangulation of a set of <a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1Vertex.html">quadedge::Vertex</a>es, using an incrementatal insertion algorithm.
<a href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="IncrementalDelaunayTriangulator_8h_source.html">IncrementalDelaunayTriangulator.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for geos::triangulate::IncrementalDelaunayTriangulator:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator__coll__graph.svg" width="426" height="471"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:af3b848e2751936e631a35d1167192d1f"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; <a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1Vertex.html">quadedge::Vertex</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#af3b848e2751936e631a35d1167192d1f">VertexList</a></td></tr>
<tr class="separator:af3b848e2751936e631a35d1167192d1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:a1dbfa9296b8cdc00b44a0826021ed7a4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#a1dbfa9296b8cdc00b44a0826021ed7a4">IncrementalDelaunayTriangulator</a> (<a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1QuadEdgeSubdivision.html">quadedge::QuadEdgeSubdivision</a> *<a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#a3abc7867dd0f4f53eb92ea768aa27603">subdiv</a>)</td></tr>
<tr class="separator:a1dbfa9296b8cdc00b44a0826021ed7a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bbf2ff5d755818476b732b16132363f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#a5bbf2ff5d755818476b732b16132363f">insertSites</a> (const <a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#af3b848e2751936e631a35d1167192d1f">VertexList</a> &amp;vertices)</td></tr>
<tr class="separator:a5bbf2ff5d755818476b732b16132363f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a820bc36d3e16f115c8bef205965b0790"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1QuadEdge.html">quadedge::QuadEdge</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#a820bc36d3e16f115c8bef205965b0790">insertSite</a> (const <a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1Vertex.html">quadedge::Vertex</a> &amp;v)</td></tr>
<tr class="separator:a820bc36d3e16f115c8bef205965b0790"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a3abc7867dd0f4f53eb92ea768aa27603"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1QuadEdgeSubdivision.html">quadedge::QuadEdgeSubdivision</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#a3abc7867dd0f4f53eb92ea768aa27603">subdiv</a></td></tr>
<tr class="separator:a3abc7867dd0f4f53eb92ea768aa27603"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbba7a2312efe19d645851116834fa79"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#afbba7a2312efe19d645851116834fa79">isUsingTolerance</a></td></tr>
<tr class="separator:afbba7a2312efe19d645851116834fa79"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Computes a Delauanay Triangulation of a set of <a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1Vertex.html">quadedge::Vertex</a>es, using an incrementatal insertion algorithm. </p>
<dl class="section author"><dt>Author</dt><dd>JTS: Martin Davis </dd>
<dd>
Benjamin Campbell </dd></dl>
<p>Definition at line <a class="el" href="IncrementalDelaunayTriangulator_8h_source.html#l00042">42</a> of file <a class="el" href="IncrementalDelaunayTriangulator_8h_source.html">IncrementalDelaunayTriangulator.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="af3b848e2751936e631a35d1167192d1f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::vector&lt;<a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1Vertex.html">quadedge::Vertex</a>&gt; <a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#af3b848e2751936e631a35d1167192d1f">geos::triangulate::IncrementalDelaunayTriangulator::VertexList</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="IncrementalDelaunayTriangulator_8h_source.html#l00057">57</a> of file <a class="el" href="IncrementalDelaunayTriangulator_8h_source.html">IncrementalDelaunayTriangulator.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1dbfa9296b8cdc00b44a0826021ed7a4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">geos::triangulate::IncrementalDelaunayTriangulator::IncrementalDelaunayTriangulator </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1QuadEdgeSubdivision.html">quadedge::QuadEdgeSubdivision</a> *&#160;</td>
<td class="paramname"><em>subdiv</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new triangulator using the given <a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1QuadEdgeSubdivision.html">quadedge::QuadEdgeSubdivision</a>. The triangulator uses the tolerance of the supplied subdivision.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">subdiv</td><td>a subdivision in which to build the TIN </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a820bc36d3e16f115c8bef205965b0790"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1QuadEdge.html">quadedge::QuadEdge</a>&amp; geos::triangulate::IncrementalDelaunayTriangulator::insertSite </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1triangulate_1_1quadedge_1_1Vertex.html">quadedge::Vertex</a> &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Inserts a new point into a subdivision representing a Delaunay triangulation, and fixes the affected edges so that the result is still a Delaunay triangulation. </p>
<dl class="section return"><dt>Returns</dt><dd>a quadedge containing the inserted vertex </dd></dl>
</div>
</div>
<a class="anchor" id="a5bbf2ff5d755818476b732b16132363f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void geos::triangulate::IncrementalDelaunayTriangulator::insertSites </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1triangulate_1_1IncrementalDelaunayTriangulator.html#af3b848e2751936e631a35d1167192d1f">VertexList</a> &amp;&#160;</td>
<td class="paramname"><em>vertices</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Inserts all sites in a collection. The inserted vertices <b>MUST</b> be unique up to the provided tolerance value. (i.e. no two vertices should be closer than the provided tolerance value). They do not have to be rounded to the tolerance grid, however.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">vertices</td><td>a Collection of Vertex</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">LocateFailureException</td><td>if the location algorithm fails to converge in a reasonable number of iterations </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="afbba7a2312efe19d645851116834fa79"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::triangulate::IncrementalDelaunayTriangulator::isUsingTolerance</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>Definition at line <a class="el" href="IncrementalDelaunayTriangulator_8h_source.html#l00045">45</a> of file <a class="el" href="IncrementalDelaunayTriangulator_8h_source.html">IncrementalDelaunayTriangulator.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3abc7867dd0f4f53eb92ea768aa27603"></a>
<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="classgeos_1_1triangulate_1_1quadedge_1_1QuadEdgeSubdivision.html">quadedge::QuadEdgeSubdivision</a>* geos::triangulate::IncrementalDelaunayTriangulator::subdiv</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>Definition at line <a class="el" href="IncrementalDelaunayTriangulator_8h_source.html#l00044">44</a> of file <a class="el" href="IncrementalDelaunayTriangulator_8h_source.html">IncrementalDelaunayTriangulator.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="IncrementalDelaunayTriangulator_8h_source.html">IncrementalDelaunayTriangulator.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>