geos_390_docs/Geometry_8h_source.html

145 lines
110 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: Geometry.h Source File</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><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_0bc14b2fb119a11b6a0f32f4d350db61.html">geos</a></li><li class="navelem"><a class="el" href="dir_aed5f07abf54fb298f6559880addb1ef.html">geom</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Geometry.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="Geometry_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="comment">/**********************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * GEOS - Geometry Engine Open Source</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * http://geos.osgeo.org</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Copyright (C) 2009 2011 Sandro Santilli &lt;strk@kbt.io&gt;</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * Copyright (C) 2005 2006 Refractions Research Inc.</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * Copyright (C) 2001-2002 Vivid Solutions Inc.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * This is free software; you can redistribute and/or modify it under</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * the terms of the GNU Lesser General Public Licence as published</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * by the Free Software Foundation.</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * See the COPYING file for more information.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> **********************************************************************</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * Last port: geom/Geometry.java rev. 1.112</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> **********************************************************************/</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#ifndef GEOS_GEOM_GEOMETRY_H</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#define GEOS_GEOM_GEOMETRY_H</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#ifndef USE_UNSTABLE_GEOS_CPP_API</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#ifndef _MSC_VER</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor"># warning &quot;The GEOS C++ API is unstable, please use the C API instead&quot;</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor"># warning &quot;HINT: #include geos_c.h&quot;</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="preprocessor">#pragma message(&quot;The GEOS C++ API is unstable, please use the C API instead&quot;)</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#pragma message(&quot;HINT: #include geos_c.h&quot;)</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="export_8h.html">geos/export.h</a>&gt;</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="inline_8h.html">geos/inline.h</a>&gt;</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="Envelope_8h.html">geos/geom/Envelope.h</a>&gt;</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="Dimension_8h.html">geos/geom/Dimension.h</a>&gt;</span> <span class="comment">// for Dimension::DimensionType</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="GeometryComponentFilter_8h.html">geos/geom/GeometryComponentFilter.h</a>&gt;</span> <span class="comment">// for inheritance</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="IntersectionMatrix_8h.html">geos/geom/IntersectionMatrix.h</a>&gt;</span></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;<span class="preprocessor">#include &lt;algorithm&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;string&gt;</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;iostream&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#pragma warning(push)</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="preprocessor">#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#pragma warning(disable: 4355) // warning C4355: &#39;this&#39; : used in base member initializer list</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="comment">// Forward declarations</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacegeos.html">geos</a> {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">namespace </span>geom {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">class </span>Coordinate;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">class </span>CoordinateFilter;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;<span class="keyword">class </span>CoordinateSequence;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keyword">class </span>CoordinateSequenceFilter;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;<span class="keyword">class </span>GeometryComponentFilter;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">class </span>GeometryFactory;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<span class="keyword">class </span>GeometryFilter;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">class </span>PrecisionModel;</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="keyword">class </span>Point;</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"><a class="line" href="namespacegeos_1_1io.html"> 66</a></span>&#160;<span class="keyword">namespace </span>io { <span class="comment">// geos.io</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keyword">class </span><a class="code" href="classgeos_1_1io_1_1Unload.html">Unload</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;} <span class="comment">// namespace geos.io</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;}</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacegeos.html">geos</a> {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keyword">namespace </span>geom { <span class="comment">// geos::geom</span></div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8"> 75</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8">GeometryTypeId</a> {</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ac376a9701abf81f81a64a270ad4eb5de"> 77</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ac376a9701abf81f81a64a270ad4eb5de">GEOS_POINT</a>,</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8acac50eabb09b9a062bfeaef7f943f9e7"> 79</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8acac50eabb09b9a062bfeaef7f943f9e7">GEOS_LINESTRING</a>,</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a2858500525a9249ef95a24d33c04f2f6"> 81</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a2858500525a9249ef95a24d33c04f2f6">GEOS_LINEARRING</a>,</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ad049a213a3bced4eb7900eeae0814ba3"> 83</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ad049a213a3bced4eb7900eeae0814ba3">GEOS_POLYGON</a>,</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8afc434e57e19533af795a95796a032a8f"> 85</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8afc434e57e19533af795a95796a032a8f">GEOS_MULTIPOINT</a>,</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a1370cb41e0578504d2b93a23fdac99fd"> 87</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a1370cb41e0578504d2b93a23fdac99fd">GEOS_MULTILINESTRING</a>,</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ae56b8b200a145ccfacc77cdb05e25b2c"> 89</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ae56b8b200a145ccfacc77cdb05e25b2c">GEOS_MULTIPOLYGON</a>,</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ab48fde06301f4394c46d0fd5305be70e"> 91</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ab48fde06301f4394c46d0fd5305be70e">GEOS_GEOMETRYCOLLECTION</a></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;};</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422"> 94</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422">GeometrySortIndex</a> {</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422aad8e6ee40d44565cea2359ab0f893f0d"> 95</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422aad8e6ee40d44565cea2359ab0f893f0d">SORTINDEX_POINT</a> = 0,</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a8676bcb82497cce17e3ac38701eebd1b"> 96</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a8676bcb82497cce17e3ac38701eebd1b">SORTINDEX_MULTIPOINT</a> = 1,</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422ae80c0a79b1ec815de6c29845ceb773c7"> 97</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422ae80c0a79b1ec815de6c29845ceb773c7">SORTINDEX_LINESTRING</a> = 2,</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422aa4acc75f4c861809fbc917d727f133bc"> 98</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422aa4acc75f4c861809fbc917d727f133bc">SORTINDEX_LINEARRING</a> = 3,</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422ad553cc16b338be72525990c036211bc8"> 99</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422ad553cc16b338be72525990c036211bc8">SORTINDEX_MULTILINESTRING</a> = 4,</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a0d5f5e5e388dfc2a03927966b9075d75"> 100</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a0d5f5e5e388dfc2a03927966b9075d75">SORTINDEX_POLYGON</a> = 5,</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a1fdaa227c03b463cae47d53755041496"> 101</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a1fdaa227c03b463cae47d53755041496">SORTINDEX_MULTIPOLYGON</a> = 6,</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a025e9a52cdf53a0bdd5532c6f82ad288"> 102</a></span>&#160; <a class="code" href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a025e9a52cdf53a0bdd5532c6f82ad288">SORTINDEX_GEOMETRYCOLLECTION</a> = 7</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;};</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html"> 188</a></span>&#160;<span class="keyword">class </span><a class="code" href="export_8h.html#ae36df939090171f6e9a28a8cb6254fea">GEOS_DLL</a> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a639aef3f5d0d27a72053343b0e09b5f3"> 192</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160;</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a83f0703f34370c8c1900f70478479ed2"> 195</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a83f0703f34370c8c1900f70478479ed2">ConstVect</a> = std::vector&lt;const Geometry*&gt;;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a0a36e1ee6e576c0fe925592a510ef307"> 198</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a0a36e1ee6e576c0fe925592a510ef307">NonConstVect</a> = std::vector&lt;Geometry*&gt;;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a57c6acd6bb0a8371356897f40247ed33"> 201</a></span>&#160; <span class="keyword">using</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a57c6acd6bb0a8371356897f40247ed33">Ptr</a> = std::unique_ptr&lt;Geometry&gt; ;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; <span class="keyword">virtual</span> std::unique_ptr&lt;Geometry&gt; clone() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <span class="keyword">virtual</span> ~<a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>();</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a>*</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ab41bcf3461be250e143ed2d7da19815b"> 218</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#ab41bcf3461be250e143ed2d7da19815b">getFactory</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> _factory;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordtype">void</span></div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a75dcb588b48e79ab3249d37137b12e1d"> 237</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a75dcb588b48e79ab3249d37137b12e1d">setUserData</a>(<span class="keywordtype">void</span>* newUserData)</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; {</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; _userData = newUserData;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordtype">void</span>*</div><div class="line"><a name="l00249"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a28afb816f4065c929e97108da1503f29"> 249</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a28afb816f4065c929e97108da1503f29">getUserData</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> _userData;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span></div><div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a898135f854cc07c243e7deb45de65505"> 265</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a898135f854cc07c243e7deb45de65505">getSRID</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">return</span> SRID;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#afc2702d0d3827a304db1ccc25714f6a3"> 274</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#afc2702d0d3827a304db1ccc25714f6a3">setSRID</a>(<span class="keywordtype">int</span> newSRID)</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; SRID = newSRID;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1PrecisionModel.html">PrecisionModel</a>* getPrecisionModel() <span class="keyword">const</span>;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>* getCoordinate() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keyword">virtual</span> std::unique_ptr&lt;CoordinateSequence&gt; getCoordinates() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keyword">virtual</span> std::size_t getNumPoints() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isSimple() <span class="keyword">const</span>;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keyword">virtual</span> std::string getGeometryType() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keyword">virtual</span> <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8">GeometryTypeId</a> getGeometryTypeId() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">virtual</span> std::size_t</div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#aa9c08c0e76c8cfc0e13b1b471e4049db"> 310</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#aa9c08c0e76c8cfc0e13b1b471e4049db">getNumGeometries</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> 1;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>*</div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ae46e3ec59729a56ea2979b5a177cc25d"> 318</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#ae46e3ec59729a56ea2979b5a177cc25d">getGeometryN</a>(std::size_t <span class="comment">/*n*/</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> <span class="keyword">this</span>;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isValid() <span class="keyword">const</span>;</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isEmpty() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span></div><div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ab21116730ab9f580285a7e3a93f7941e"> 339</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#ab21116730ab9f580285a7e3a93f7941e">isRectangle</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; }</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cf">Dimension::DimensionType</a> getDimension() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160;</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a2263ca7a107a8048276f11c92fabfab3"> 348</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a2263ca7a107a8048276f11c92fabfab3">isDimensionStrict</a>(<a class="code" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cf">Dimension::DimensionType</a> d)<span class="keyword"> const </span>{</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">return</span> d == getDimension();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; }</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div><div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ab169b9909bd730a2e3308b3131383d6a"> 352</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#ab169b9909bd730a2e3308b3131383d6a">isPuntal</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">return</span> isDimensionStrict(<a class="code" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cfa8baa9b556734c7439b778dd77175d68a">Dimension::P</a>);</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; }</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160;</div><div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a2663a8eb5273bd53a3048d594ee8dfa3"> 356</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a2663a8eb5273bd53a3048d594ee8dfa3">isLineal</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">return</span> isDimensionStrict(<a class="code" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cfa4647a7b91baa6f91d523f9293100789d">Dimension::L</a>);</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; }</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160;</div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#af050e5f878c31a026a9dc7b25042b25a"> 360</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#af050e5f878c31a026a9dc7b25042b25a">isPolygonal</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">return</span> isDimensionStrict(<a class="code" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cfa35166f022d8564b72d7cb041c1a8d9a2">Dimension::A</a>);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; }</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#afee501f64aba753afaf622adcd7a0872"> 364</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#afee501f64aba753afaf622adcd7a0872">isCollection</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <span class="keywordtype">int</span> t = getGeometryTypeId();</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="keywordflow">return</span> t == <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ab48fde06301f4394c46d0fd5305be70e">GEOS_GEOMETRYCOLLECTION</a> ||</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; t == <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8afc434e57e19533af795a95796a032a8f">GEOS_MULTIPOINT</a> ||</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; t == <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a1370cb41e0578504d2b93a23fdac99fd">GEOS_MULTILINESTRING</a> ||</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; t == <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ae56b8b200a145ccfacc77cdb05e25b2c">GEOS_MULTIPOLYGON</a>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160;</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keyword">virtual</span> uint8_t getCoordinateDimension() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="keyword">virtual</span> std::unique_ptr&lt;Geometry&gt; getBoundary() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> getBoundaryDimension() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="keyword">virtual</span> std::unique_ptr&lt;Geometry&gt; getEnvelope() <span class="keyword">const</span>;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a>* getEnvelopeInternal() <span class="keyword">const</span>;</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> disjoint(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* other) <span class="keyword">const</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> touches(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* other) <span class="keyword">const</span>;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160;</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> intersects(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160;</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> crosses(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> within(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160;</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> contains(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> overlaps(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordtype">bool</span> relate(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g,</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <span class="keyword">const</span> std::string&amp; intersectionPattern) <span class="keyword">const</span>;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; <span class="keywordtype">bool</span></div><div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ac05904544441dc3cd395a74a14d210d9"> 490</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#ac05904544441dc3cd395a74a14d210d9">relate</a>(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>&amp; g, <span class="keyword">const</span> std::string&amp; intersectionPattern)<span class="keyword"> const</span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <span class="keywordflow">return</span> relate(&amp;g, intersectionPattern);</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; }</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; std::unique_ptr&lt;IntersectionMatrix&gt; relate(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160;</div><div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a9028f93d9244bda4fbaf9331a46d9d2f"> 498</a></span>&#160; std::unique_ptr&lt;IntersectionMatrix&gt; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a9028f93d9244bda4fbaf9331a46d9d2f">relate</a>(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>&amp; g)<span class="keyword"> const</span></div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <span class="keywordflow">return</span> relate(&amp;g);</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; }</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160;</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> equals(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160;</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordtype">bool</span> covers(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160;</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordtype">bool</span></div><div class="line"><a name="l00581"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#af979c13c17f500907d0be400f80abb45"> 581</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#af979c13c17f500907d0be400f80abb45">coveredBy</a>(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g)<span class="keyword"> const</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">return</span> g-&gt;<a class="code" href="classgeos_1_1geom_1_1Geometry.html#aad901fe993635be50793e7cfd19b113f">covers</a>(<span class="keyword">this</span>);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; }</div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160;</div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160;</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keyword">virtual</span> std::string toString() <span class="keyword">const</span>;</div><div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160;</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keyword">virtual</span> std::string toText() <span class="keyword">const</span>;</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; std::unique_ptr&lt;Geometry&gt; buffer(<span class="keywordtype">double</span> distance) <span class="keyword">const</span>;</div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; std::unique_ptr&lt;Geometry&gt; buffer(<span class="keywordtype">double</span> distance, <span class="keywordtype">int</span> quadrantSegments) <span class="keyword">const</span>;</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160;</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; std::unique_ptr&lt;Geometry&gt; buffer(<span class="keywordtype">double</span> distance, <span class="keywordtype">int</span> quadrantSegments,</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordtype">int</span> endCapStyle) <span class="keyword">const</span>;</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160;</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; <span class="keyword">virtual</span> std::unique_ptr&lt;Geometry&gt; convexHull() <span class="keyword">const</span>;</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160;</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keyword">virtual</span> std::unique_ptr&lt;Geometry&gt; reverse() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160;</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; std::unique_ptr&lt;Geometry&gt; intersection(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* other) <span class="keyword">const</span>;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160;</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; std::unique_ptr&lt;Geometry&gt; Union(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* other) <span class="keyword">const</span>;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="comment">// throw(IllegalArgumentException *, TopologyException *);</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a57c6acd6bb0a8371356897f40247ed33">Ptr</a> Union() <span class="keyword">const</span>;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="comment">// throw(IllegalArgumentException *, TopologyException *);</span></div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160;</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; std::unique_ptr&lt;Geometry&gt; difference(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* other) <span class="keyword">const</span>;</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160;</div><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; std::unique_ptr&lt;Geometry&gt; symDifference(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* other) <span class="keyword">const</span>;</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160;</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> equalsExact(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* other, <span class="keywordtype">double</span> tolerance = 0)</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keyword">const</span> = 0; <span class="comment">// Abstract</span></div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_rw(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a>* filter) = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_ro(<a class="code" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a>* filter) <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_rw(<a class="code" href="classgeos_1_1geom_1_1GeometryFilter.html">GeometryFilter</a>* filter);</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_ro(<a class="code" href="classgeos_1_1geom_1_1GeometryFilter.html">GeometryFilter</a>* filter) <span class="keyword">const</span>;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_rw(<a class="code" href="classgeos_1_1geom_1_1GeometryComponentFilter.html">GeometryComponentFilter</a>* filter);</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_ro(<a class="code" href="classgeos_1_1geom_1_1GeometryComponentFilter.html">GeometryComponentFilter</a>* filter) <span class="keyword">const</span>;</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_rw(<a class="code" href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">CoordinateSequenceFilter</a>&amp; filter) = 0;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_ro(<a class="code" href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">CoordinateSequenceFilter</a>&amp; filter) <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160;</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;</div><div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; <span class="keywordtype">void</span></div><div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a979504ef90b6d3b67af529cec504fbfe"> 768</a></span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a979504ef90b6d3b67af529cec504fbfe">applyComponentFilter</a>(T&amp; f)<span class="keyword"> const</span></div><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160;<span class="keyword"> </span>{</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <span class="keywordflow">for</span>(std::size_t i = 0, n = getNumGeometries(); i &lt; n; ++i) {</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; f.filter(getGeometryN(i));</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; }</div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; }</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160;</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> normalize() = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160;</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> compareTo(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* geom) <span class="keyword">const</span>;</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">double</span> distance(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g) <span class="keyword">const</span>;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">double</span> getArea() <span class="keyword">const</span>;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160;</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">double</span> getLength() <span class="keyword">const</span>;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isWithinDistance(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* geom,</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <span class="keywordtype">double</span> cDistance) <span class="keyword">const</span>;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160;</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; <span class="keyword">virtual</span> std::unique_ptr&lt;Point&gt; getCentroid() <span class="keyword">const</span>;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160;</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="comment">//</span></div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> getCentroid(<a class="code" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>&amp; ret) <span class="keyword">const</span>;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160;</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; std::unique_ptr&lt;Point&gt; getInteriorPoint() <span class="keyword">const</span>;</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160;</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> geometryChanged();</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <span class="keywordtype">void</span> geometryChangedAction();</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160;</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;</div><div class="line"><a name="l00857"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a3078813471b2c70b04da6271a5da83eb"> 857</a></span>&#160; <span class="keyword">mutable</span> std::unique_ptr&lt;Envelope&gt; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a3078813471b2c70b04da6271a5da83eb">envelope</a>;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00861"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a9fe7d434f5eeac333fca775a652f5d70"> 861</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a9fe7d434f5eeac333fca775a652f5d70">hasNonEmptyElements</a>(<span class="keyword">const</span> std::vector&lt;T&gt;* geometries) {</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; <span class="keywordflow">return</span> std::any_of(geometries-&gt;begin(), geometries-&gt;end(), [](<span class="keyword">const</span> T&amp; g) { <span class="keywordflow">return</span> !g-&gt;<a class="code" href="classgeos_1_1geom_1_1Geometry.html#a76c52f479ea31bd1d5c5bde8ba089657">isEmpty</a>(); });</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; }</div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> hasNullElements(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a>* list);</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00870"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#af956233ea57ece02cc8a97338e8e91db"> 870</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#af956233ea57ece02cc8a97338e8e91db">hasNullElements</a>(<span class="keyword">const</span> std::vector&lt;T&gt;* geometries) {</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keywordflow">return</span> std::any_of(geometries-&gt;begin(), geometries-&gt;end(), [](<span class="keyword">const</span> T&amp; g) { <span class="keywordflow">return</span> g == <span class="keyword">nullptr</span>; });</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; }</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160;</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160;<span class="comment">// static void reversePointOrder(CoordinateSequence* coordinates);</span></div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160;<span class="comment">// static Coordinate&amp; minCoordinate(CoordinateSequence* coordinates);</span></div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160;<span class="comment">// static void scroll(CoordinateSequence* coordinates,Coordinate* firstCoordinate);</span></div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160;<span class="comment">// static int indexOf(Coordinate* coordinate,CoordinateSequence* coordinates);</span></div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160;<span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isEquivalentClass(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* other) <span class="keyword">const</span>;</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160;</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> checkNotGeometryCollection(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* g);</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="comment">// throw(IllegalArgumentException *);</span></div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="comment">//virtual void checkEqualSRID(Geometry *other);</span></div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <span class="comment">//virtual void checkEqualPrecisionModel(Geometry *other);</span></div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Envelope.html#ab206f2390f2fc2efd3df9e6eab71c672">Envelope::Ptr</a> computeEnvelopeInternal() <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160;</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> compareToSameClass(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* geom) <span class="keyword">const</span> = 0; <span class="comment">//Abstract</span></div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; <span class="keywordtype">int</span> compare(std::vector&lt;Coordinate&gt; a, std::vector&lt;Coordinate&gt; b) <span class="keyword">const</span>;</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; <span class="keywordtype">int</span> compare(std::vector&lt;Geometry*&gt; a, std::vector&lt;Geometry*&gt; b) <span class="keyword">const</span>;</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160;</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordtype">int</span> compare(<span class="keyword">const</span> std::vector&lt;std::unique_ptr&lt;Geometry&gt;&gt; &amp; a, <span class="keyword">const</span> std::vector&lt;std::unique_ptr&lt;Geometry&gt;&gt; &amp; b) <span class="keyword">const</span>;</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160;</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <span class="keywordtype">bool</span> equal(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>&amp; a, <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>&amp; b,</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordtype">double</span> tolerance) <span class="keyword">const</span>;</div><div class="line"><a name="l00904"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ac26216d9188cf7e60112a56ccdb7f01c"> 904</a></span>&#160; <span class="keywordtype">int</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#ac26216d9188cf7e60112a56ccdb7f01c">SRID</a>;</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160;</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>&amp; geom);</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a>* factory);</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div><div class="line"><a name="l00920"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a0011cf7156ff985f7847eb56369d5881"> 920</a></span>&#160; <span class="keyword">static</span> std::vector&lt;std::unique_ptr&lt;Geometry&gt;&gt; <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a0011cf7156ff985f7847eb56369d5881">toGeometryArray</a>(std::vector&lt;std::unique_ptr&lt;T&gt;&gt; &amp;&amp; v) {</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; static_assert(std::is_base_of&lt;Geometry, T&gt;::value, <span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; std::vector&lt;std::unique_ptr&lt;Geometry&gt;&gt; gv(v.size());</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; v.size(); i++) {</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; gv[i] = std::move(v[i]);</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; }</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">return</span> gv;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160;</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">int</span> getSortIndex() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160;</div><div class="line"><a name="l00936"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry_1_1GeometryChangedFilter.html"> 936</a></span>&#160; <span class="keyword">class </span><a class="code" href="export_8h.html#ae36df939090171f6e9a28a8cb6254fea">GEOS_DLL</a> <a class="code" href="classgeos_1_1geom_1_1Geometry_1_1GeometryChangedFilter.html">GeometryChangedFilter</a> : <span class="keyword">public</span> <a class="code" href="classgeos_1_1geom_1_1GeometryComponentFilter.html">GeometryComponentFilter</a> {</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keywordtype">void</span> filter_rw(<a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* geom) <span class="keyword">override</span>;</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; };</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160;</div><div class="line"><a name="l00941"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#aeae05c4e3b9ccf180584802ee4e59d9d"> 941</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classgeos_1_1geom_1_1Geometry_1_1GeometryChangedFilter.html">GeometryChangedFilter</a> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#aeae05c4e3b9ccf180584802ee4e59d9d">geometryChangedFilter</a>;</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160;</div><div class="line"><a name="l00947"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a00cd60eb152657d72f17fb89323ce8eb"> 947</a></span>&#160; <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a>* <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a00cd60eb152657d72f17fb89323ce8eb">_factory</a>;</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;</div><div class="line"><a name="l00949"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#adab3f4e1dc7025ad0f42df42df121aed"> 949</a></span>&#160; <span class="keywordtype">void</span>* <a class="code" href="classgeos_1_1geom_1_1Geometry.html#adab3f4e1dc7025ad0f42df42df121aed">_userData</a>;</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160;};</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160;</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160;<a class="code" href="export_8h.html#ae36df939090171f6e9a28a8cb6254fea">GEOS_DLL</a> std::ostream&amp; <a class="code" href="namespacegeos_1_1geom.html#a2031e0143940407ca589d3216cf0eb06">operator&lt;&lt; </a>(std::ostream&amp; os, <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>&amp; geom);</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160;</div><div class="line"><a name="l00958"></a><span class="lineno"><a class="line" href="structgeos_1_1geom_1_1GeometryGreaterThen.html"> 958</a></span>&#160;<span class="keyword">struct </span><a class="code" href="export_8h.html#ae36df939090171f6e9a28a8cb6254fea">GEOS_DLL</a> <a class="code" href="structgeos_1_1geom_1_1GeometryGreaterThen.html">GeometryGreaterThen</a> {</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* first, <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* second);</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;};</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160;</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160;<a class="code" href="export_8h.html#ae36df939090171f6e9a28a8cb6254fea">GEOS_DLL</a> std::string <a class="code" href="namespacegeos_1_1geom.html#acdb90e29e8ba4eeeb5860f2bb0bb9b0f">geosversion</a>();</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160;</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160;<a class="code" href="export_8h.html#ae36df939090171f6e9a28a8cb6254fea">GEOS_DLL</a> std::string <a class="code" href="namespacegeos_1_1geom.html#ac0f658bdb01fb543cd247febca7ab10c">jtsport</a>();</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160;</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160;<span class="comment">// We use this instead of std::pair&lt;unique_ptr&lt;Geometry&gt;&gt; because C++11</span></div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160;<span class="comment">// forbids that construct:</span></div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160;<span class="comment">// http://lwg.github.com/issues/lwg-closed.html#2068</span></div><div class="line"><a name="l00976"></a><span class="lineno"><a class="line" href="structgeos_1_1geom_1_1GeomPtrPair.html"> 976</a></span>&#160;<span class="keyword">struct </span><a class="code" href="structgeos_1_1geom_1_1GeomPtrPair.html">GeomPtrPair</a> {</div><div class="line"><a name="l00977"></a><span class="lineno"><a class="line" href="structgeos_1_1geom_1_1GeomPtrPair.html#ab2cb271a228f22c4ead07728f4abf4f1"> 977</a></span>&#160; <span class="keyword">typedef</span> std::unique_ptr&lt;Geometry&gt; <a class="code" href="structgeos_1_1geom_1_1GeomPtrPair.html#ab2cb271a228f22c4ead07728f4abf4f1">GeomPtr</a>;</div><div class="line"><a name="l00978"></a><span class="lineno"><a class="line" href="structgeos_1_1geom_1_1GeomPtrPair.html#a8798fbb650f7a8a555f34a76a1115581"> 978</a></span>&#160; GeomPtr <a class="code" href="structgeos_1_1geom_1_1GeomPtrPair.html#a8798fbb650f7a8a555f34a76a1115581">first</a>;</div><div class="line"><a name="l00979"></a><span class="lineno"><a class="line" href="structgeos_1_1geom_1_1GeomPtrPair.html#a8df381b7f1a4facdcab55d2e2a85a3f9"> 979</a></span>&#160; GeomPtr <a class="code" href="structgeos_1_1geom_1_1GeomPtrPair.html#a8df381b7f1a4facdcab55d2e2a85a3f9">second</a>;</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;};</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>&#160;</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>&#160;} <span class="comment">// namespace geos::geom</span></div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>&#160;} <span class="comment">// namespace geos</span></div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>&#160;</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>&#160;<span class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>&#160;<span class="preprocessor">#pragma warning(pop)</span></div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>&#160;</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>&#160;<span class="preprocessor">#endif // ndef GEOS_GEOM_GEOMETRY_H</span></div><div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a00cd60eb152657d72f17fb89323ce8eb"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a00cd60eb152657d72f17fb89323ce8eb">geos::geom::Geometry::_factory</a></div><div class="ttdeci">const GeometryFactory * _factory</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00947">Geometry.h:947</a></div></div>
<div class="ttc" id="structgeos_1_1geom_1_1GeomPtrPair_html"><div class="ttname"><a href="structgeos_1_1geom_1_1GeomPtrPair.html">geos::geom::GeomPtrPair</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00976">Geometry.h:976</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1GeometryFilter_html"><div class="ttname"><a href="classgeos_1_1geom_1_1GeometryFilter.html">geos::geom::GeometryFilter</a></div><div class="ttdoc">Geometry classes support the concept of applying a Geometry filter to the Geometry. </div><div class="ttdef"><b>Definition:</b> <a href="GeometryFilter_8h_source.html#l00047">GeometryFilter.h:47</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a898135f854cc07c243e7deb45de65505"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a898135f854cc07c243e7deb45de65505">geos::geom::Geometry::getSRID</a></div><div class="ttdeci">virtual int getSRID() const </div><div class="ttdoc">Returns the ID of the Spatial Reference System used by the Geometry. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00265">Geometry.h:265</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Envelope_html"><div class="ttname"><a href="classgeos_1_1geom_1_1Envelope.html">geos::geom::Envelope</a></div><div class="ttdoc">An Envelope defines a rectangulare region of the 2D coordinate plane. </div><div class="ttdef"><b>Definition:</b> <a href="Envelope_8h_source.html#l00058">Envelope.h:58</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8acac50eabb09b9a062bfeaef7f943f9e7"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8acac50eabb09b9a062bfeaef7f943f9e7">geos::geom::GEOS_LINESTRING</a></div><div class="ttdoc">a linestring </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00079">Geometry.h:79</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8ab48fde06301f4394c46d0fd5305be70e"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ab48fde06301f4394c46d0fd5305be70e">geos::geom::GEOS_GEOMETRYCOLLECTION</a></div><div class="ttdoc">a collection of heterogeneus geometries </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00091">Geometry.h:91</a></div></div>
<div class="ttc" id="export_8h_html_ae36df939090171f6e9a28a8cb6254fea"><div class="ttname"><a href="export_8h.html#ae36df939090171f6e9a28a8cb6254fea">GEOS_DLL</a></div><div class="ttdeci">#define GEOS_DLL</div><div class="ttdef"><b>Definition:</b> <a href="export_8h_source.html#l00028">export.h:28</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_ac05904544441dc3cd395a74a14d210d9"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#ac05904544441dc3cd395a74a14d210d9">geos::geom::Geometry::relate</a></div><div class="ttdeci">bool relate(const Geometry &amp;g, const std::string &amp;intersectionPattern) const </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00490">Geometry.h:490</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422aad8e6ee40d44565cea2359ab0f893f0d"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422aad8e6ee40d44565cea2359ab0f893f0d">geos::geom::SORTINDEX_POINT</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00095">Geometry.h:95</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8a1370cb41e0578504d2b93a23fdac99fd"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a1370cb41e0578504d2b93a23fdac99fd">geos::geom::GEOS_MULTILINESTRING</a></div><div class="ttdoc">a collection of linestrings </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00087">Geometry.h:87</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422a8676bcb82497cce17e3ac38701eebd1b"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a8676bcb82497cce17e3ac38701eebd1b">geos::geom::SORTINDEX_MULTIPOINT</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00096">Geometry.h:96</a></div></div>
<div class="ttc" id="inline_8h_html"><div class="ttname"><a href="inline_8h.html">inline.h</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Coordinate_html"><div class="ttname"><a href="classgeos_1_1geom_1_1Coordinate.html">geos::geom::Coordinate</a></div><div class="ttdoc">Coordinate is the lightweight class used to store coordinates. </div><div class="ttdef"><b>Definition:</b> <a href="Coordinate_8h_source.html#l00060">Coordinate.h:60</a></div></div>
<div class="ttc" id="export_8h_html"><div class="ttname"><a href="export_8h.html">export.h</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_ae46e3ec59729a56ea2979b5a177cc25d"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#ae46e3ec59729a56ea2979b5a177cc25d">geos::geom::Geometry::getGeometryN</a></div><div class="ttdeci">virtual const Geometry * getGeometryN(std::size_t) const </div><div class="ttdoc">Returns a pointer to the nth Geometry in this collection (or self if this is not a collection) ...</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00318">Geometry.h:318</a></div></div>
<div class="ttc" id="GeometryComponentFilter_8h_html"><div class="ttname"><a href="GeometryComponentFilter_8h.html">GeometryComponentFilter.h</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_aeae05c4e3b9ccf180584802ee4e59d9d"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#aeae05c4e3b9ccf180584802ee4e59d9d">geos::geom::Geometry::geometryChangedFilter</a></div><div class="ttdeci">static GeometryChangedFilter geometryChangedFilter</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00941">Geometry.h:941</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_ab21116730ab9f580285a7e3a93f7941e"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#ab21116730ab9f580285a7e3a93f7941e">geos::geom::Geometry::isRectangle</a></div><div class="ttdeci">virtual bool isRectangle() const </div><div class="ttdoc">Polygon overrides to check for actual rectangle. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00339">Geometry.h:339</a></div></div>
<div class="ttc" id="classgeos_1_1io_1_1Unload_html"><div class="ttname"><a href="classgeos_1_1io_1_1Unload.html">geos::io::Unload</a></div><div class="ttdef"><b>Definition:</b> <a href="unload_8h_source.html#l00023">unload.h:23</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1CoordinateSequenceFilter_html"><div class="ttname"><a href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">geos::geom::CoordinateSequenceFilter</a></div><div class="ttdoc">Interface for classes which provide operations that can be applied to the coordinates in a Coordinate...</div><div class="ttdef"><b>Definition:</b> <a href="CoordinateSequenceFilter_8h_source.html#l00057">CoordinateSequenceFilter.h:57</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1PrecisionModel_html"><div class="ttname"><a href="classgeos_1_1geom_1_1PrecisionModel.html">geos::geom::PrecisionModel</a></div><div class="ttdoc">Specifies the precision model of the Coordinate in a Geometry. </div><div class="ttdef"><b>Definition:</b> <a href="PrecisionModel_8h_source.html#l00087">PrecisionModel.h:87</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_aa9c08c0e76c8cfc0e13b1b471e4049db"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#aa9c08c0e76c8cfc0e13b1b471e4049db">geos::geom::Geometry::getNumGeometries</a></div><div class="ttdeci">virtual std::size_t getNumGeometries() const </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00310">Geometry.h:310</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_acdb90e29e8ba4eeeb5860f2bb0bb9b0f"><div class="ttname"><a href="namespacegeos_1_1geom.html#acdb90e29e8ba4eeeb5860f2bb0bb9b0f">geos::geom::geosversion</a></div><div class="ttdeci">std::string geosversion()</div><div class="ttdoc">Return current GEOS version. </div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_af050e5f878c31a026a9dc7b25042b25a"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#af050e5f878c31a026a9dc7b25042b25a">geos::geom::Geometry::isPolygonal</a></div><div class="ttdeci">bool isPolygonal() const </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00360">Geometry.h:360</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8">geos::geom::GeometryTypeId</a></div><div class="ttdeci">GeometryTypeId</div><div class="ttdoc">Geometry types. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00075">Geometry.h:75</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_aad901fe993635be50793e7cfd19b113f"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#aad901fe993635be50793e7cfd19b113f">geos::geom::Geometry::covers</a></div><div class="ttdeci">bool covers(const Geometry *g) const </div><div class="ttdoc">Returns true if this geometry covers the specified geometry. </div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html">geos::geom::Geometry</a></div><div class="ttdoc">Basic implementation of Geometry, constructed and destructed by GeometryFactory. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00188">Geometry.h:188</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_ac26216d9188cf7e60112a56ccdb7f01c"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#ac26216d9188cf7e60112a56ccdb7f01c">geos::geom::Geometry::SRID</a></div><div class="ttdeci">int SRID</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00904">Geometry.h:904</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a0011cf7156ff985f7847eb56369d5881"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a0011cf7156ff985f7847eb56369d5881">geos::geom::Geometry::toGeometryArray</a></div><div class="ttdeci">static std::vector&lt; std::unique_ptr&lt; Geometry &gt; &gt; toGeometryArray(std::vector&lt; std::unique_ptr&lt; T &gt;&gt; &amp;&amp;v)</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00920">Geometry.h:920</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a2663a8eb5273bd53a3048d594ee8dfa3"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a2663a8eb5273bd53a3048d594ee8dfa3">geos::geom::Geometry::isLineal</a></div><div class="ttdeci">bool isLineal() const </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00356">Geometry.h:356</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1CoordinateFilter_html"><div class="ttname"><a href="classgeos_1_1geom_1_1CoordinateFilter.html">geos::geom::CoordinateFilter</a></div><div class="ttdoc">Geometry classes support the concept of applying a coordinate filter to every coordinate in the Geome...</div><div class="ttdef"><b>Definition:</b> <a href="CoordinateFilter_8h_source.html#l00043">CoordinateFilter.h:43</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_1_1GeometryChangedFilter_html"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry_1_1GeometryChangedFilter.html">geos::geom::Geometry::GeometryChangedFilter</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00936">Geometry.h:936</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8afc434e57e19533af795a95796a032a8f"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8afc434e57e19533af795a95796a032a8f">geos::geom::GEOS_MULTIPOINT</a></div><div class="ttdoc">a collection of points </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00085">Geometry.h:85</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_adab3f4e1dc7025ad0f42df42df121aed"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#adab3f4e1dc7025ad0f42df42df121aed">geos::geom::Geometry::_userData</a></div><div class="ttdeci">void * _userData</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00949">Geometry.h:949</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac0f658bdb01fb543cd247febca7ab10c"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac0f658bdb01fb543cd247febca7ab10c">geos::geom::jtsport</a></div><div class="ttdeci">std::string jtsport()</div><div class="ttdoc">Return the version of JTS this GEOS release has been ported from. </div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422a025e9a52cdf53a0bdd5532c6f82ad288"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a025e9a52cdf53a0bdd5532c6f82ad288">geos::geom::SORTINDEX_GEOMETRYCOLLECTION</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00102">Geometry.h:102</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422ae80c0a79b1ec815de6c29845ceb773c7"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422ae80c0a79b1ec815de6c29845ceb773c7">geos::geom::SORTINDEX_LINESTRING</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00097">Geometry.h:97</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a75dcb588b48e79ab3249d37137b12e1d"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a75dcb588b48e79ab3249d37137b12e1d">geos::geom::Geometry::setUserData</a></div><div class="ttdeci">void setUserData(void *newUserData)</div><div class="ttdoc">A simple scheme for applications to add their own custom data to a Geometry. An example use might be ...</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00237">Geometry.h:237</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422aa4acc75f4c861809fbc917d727f133bc"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422aa4acc75f4c861809fbc917d727f133bc">geos::geom::SORTINDEX_LINEARRING</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00098">Geometry.h:98</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Dimension_html_af46f1c0c325eb685fcf32987748d04cfa4647a7b91baa6f91d523f9293100789d"><div class="ttname"><a href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cfa4647a7b91baa6f91d523f9293100789d">geos::geom::Dimension::L</a></div><div class="ttdoc">Dimension value of a curve (1). </div><div class="ttdef"><b>Definition:</b> <a href="Dimension_8h_source.html#l00045">Dimension.h:45</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Dimension_html_af46f1c0c325eb685fcf32987748d04cfa35166f022d8564b72d7cb041c1a8d9a2"><div class="ttname"><a href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cfa35166f022d8564b72d7cb041c1a8d9a2">geos::geom::Dimension::A</a></div><div class="ttdoc">Dimension value of a surface (2). </div><div class="ttdef"><b>Definition:</b> <a href="Dimension_8h_source.html#l00048">Dimension.h:48</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a28afb816f4065c929e97108da1503f29"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a28afb816f4065c929e97108da1503f29">geos::geom::Geometry::getUserData</a></div><div class="ttdeci">void * getUserData() const </div><div class="ttdoc">Gets the user data object for this geometry, if any. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00249">Geometry.h:249</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_ab41bcf3461be250e143ed2d7da19815b"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#ab41bcf3461be250e143ed2d7da19815b">geos::geom::Geometry::getFactory</a></div><div class="ttdeci">const GeometryFactory * getFactory() const </div><div class="ttdoc">Gets the factory which contains the context in which this geometry was created. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00218">Geometry.h:218</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a2031e0143940407ca589d3216cf0eb06"><div class="ttname"><a href="namespacegeos_1_1geom.html#a2031e0143940407ca589d3216cf0eb06">geos::geom::operator&lt;&lt;</a></div><div class="ttdeci">std::ostream &amp; operator&lt;&lt;(std::ostream &amp;os, const Coordinate &amp;c)</div><div class="ttdoc">Output function. </div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a76c52f479ea31bd1d5c5bde8ba089657"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a76c52f479ea31bd1d5c5bde8ba089657">geos::geom::Geometry::isEmpty</a></div><div class="ttdeci">virtual bool isEmpty() const =0</div><div class="ttdoc">Returns whether or not the set of points in this Geometry is empty. </div></div>
<div class="ttc" id="classgeos_1_1geom_1_1GeometryFactory_html"><div class="ttname"><a href="classgeos_1_1geom_1_1GeometryFactory.html">geos::geom::GeometryFactory</a></div><div class="ttdoc">Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...</div><div class="ttdef"><b>Definition:</b> <a href="GeometryFactory_8h_source.html#l00068">GeometryFactory.h:68</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a0a36e1ee6e576c0fe925592a510ef307"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a0a36e1ee6e576c0fe925592a510ef307">geos::geom::Geometry::NonConstVect</a></div><div class="ttdeci">std::vector&lt; Geometry * &gt; NonConstVect</div><div class="ttdoc">A vector of non-const Geometry pointers. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00198">Geometry.h:198</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a2263ca7a107a8048276f11c92fabfab3"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a2263ca7a107a8048276f11c92fabfab3">geos::geom::Geometry::isDimensionStrict</a></div><div class="ttdeci">virtual bool isDimensionStrict(Dimension::DimensionType d) const </div><div class="ttdoc">Checks whether this Geometry consists only of components having dimension d. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00348">Geometry.h:348</a></div></div>
<div class="ttc" id="namespacegeos_html"><div class="ttname"><a href="namespacegeos.html">geos</a></div><div class="ttdoc">Basic namespace for all GEOS functionalities. </div><div class="ttdef"><b>Definition:</b> <a href="IndexedNestedRingTester_8h_source.html#l00026">IndexedNestedRingTester.h:26</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_ab169b9909bd730a2e3308b3131383d6a"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#ab169b9909bd730a2e3308b3131383d6a">geos::geom::Geometry::isPuntal</a></div><div class="ttdeci">bool isPuntal() const </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00352">Geometry.h:352</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422">geos::geom::GeometrySortIndex</a></div><div class="ttdeci">GeometrySortIndex</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00094">Geometry.h:94</a></div></div>
<div class="ttc" id="Envelope_8h_html"><div class="ttname"><a href="Envelope_8h.html">Envelope.h</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_afc2702d0d3827a304db1ccc25714f6a3"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#afc2702d0d3827a304db1ccc25714f6a3">geos::geom::Geometry::setSRID</a></div><div class="ttdeci">virtual void setSRID(int newSRID)</div><div class="ttdoc">Sets the ID of the Spatial Reference System used by the Geometry. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00274">Geometry.h:274</a></div></div>
<div class="ttc" id="structgeos_1_1geom_1_1GeomPtrPair_html_ab2cb271a228f22c4ead07728f4abf4f1"><div class="ttname"><a href="structgeos_1_1geom_1_1GeomPtrPair.html#ab2cb271a228f22c4ead07728f4abf4f1">geos::geom::GeomPtrPair::GeomPtr</a></div><div class="ttdeci">std::unique_ptr&lt; Geometry &gt; GeomPtr</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00977">Geometry.h:977</a></div></div>
<div class="ttc" id="structgeos_1_1geom_1_1GeometryGreaterThen_html"><div class="ttname"><a href="structgeos_1_1geom_1_1GeometryGreaterThen.html">geos::geom::GeometryGreaterThen</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00958">Geometry.h:958</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8ad049a213a3bced4eb7900eeae0814ba3"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ad049a213a3bced4eb7900eeae0814ba3">geos::geom::GEOS_POLYGON</a></div><div class="ttdoc">a polygon </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00083">Geometry.h:83</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_afee501f64aba753afaf622adcd7a0872"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#afee501f64aba753afaf622adcd7a0872">geos::geom::Geometry::isCollection</a></div><div class="ttdeci">bool isCollection() const </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00364">Geometry.h:364</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8a2858500525a9249ef95a24d33c04f2f6"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a2858500525a9249ef95a24d33c04f2f6">geos::geom::GEOS_LINEARRING</a></div><div class="ttdoc">a linear ring (linestring with 1st point == last point) </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00081">Geometry.h:81</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_af956233ea57ece02cc8a97338e8e91db"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#af956233ea57ece02cc8a97338e8e91db">geos::geom::Geometry::hasNullElements</a></div><div class="ttdeci">static bool hasNullElements(const std::vector&lt; T &gt; *geometries)</div><div class="ttdoc">Returns true if the vector contains any null elements. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00870">Geometry.h:870</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8ac376a9701abf81f81a64a270ad4eb5de"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ac376a9701abf81f81a64a270ad4eb5de">geos::geom::GEOS_POINT</a></div><div class="ttdoc">a point </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00077">Geometry.h:77</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422ad553cc16b338be72525990c036211bc8"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422ad553cc16b338be72525990c036211bc8">geos::geom::SORTINDEX_MULTILINESTRING</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00099">Geometry.h:99</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422a0d5f5e5e388dfc2a03927966b9075d75"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a0d5f5e5e388dfc2a03927966b9075d75">geos::geom::SORTINDEX_POLYGON</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00100">Geometry.h:100</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Dimension_html_af46f1c0c325eb685fcf32987748d04cfa8baa9b556734c7439b778dd77175d68a"><div class="ttname"><a href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cfa8baa9b556734c7439b778dd77175d68a">geos::geom::Dimension::P</a></div><div class="ttdoc">Dimension value of a point (0). </div><div class="ttdef"><b>Definition:</b> <a href="Dimension_8h_source.html#l00042">Dimension.h:42</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1CoordinateSequence_html"><div class="ttname"><a href="classgeos_1_1geom_1_1CoordinateSequence.html">geos::geom::CoordinateSequence</a></div><div class="ttdoc">The internal representation of a list of coordinates inside a Geometry. </div><div class="ttdef"><b>Definition:</b> <a href="CoordinateSequence_8h_source.html#l00058">CoordinateSequence.h:58</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Envelope_html_ab206f2390f2fc2efd3df9e6eab71c672"><div class="ttname"><a href="classgeos_1_1geom_1_1Envelope.html#ab206f2390f2fc2efd3df9e6eab71c672">geos::geom::Envelope::Ptr</a></div><div class="ttdeci">std::unique_ptr&lt; Envelope &gt; Ptr</div><div class="ttdef"><b>Definition:</b> <a href="Envelope_8h_source.html#l00064">Envelope.h:64</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a9fe7d434f5eeac333fca775a652f5d70"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a9fe7d434f5eeac333fca775a652f5d70">geos::geom::Geometry::hasNonEmptyElements</a></div><div class="ttdeci">static bool hasNonEmptyElements(const std::vector&lt; T &gt; *geometries)</div><div class="ttdoc">Returns true if the array contains any non-empty Geometrys. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00861">Geometry.h:861</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_ac568beb61b017827bc8ec85af6860422a1fdaa227c03b463cae47d53755041496"><div class="ttname"><a href="namespacegeos_1_1geom.html#ac568beb61b017827bc8ec85af6860422a1fdaa227c03b463cae47d53755041496">geos::geom::SORTINDEX_MULTIPOLYGON</a></div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00101">Geometry.h:101</a></div></div>
<div class="ttc" id="Dimension_8h_html"><div class="ttname"><a href="Dimension_8h.html">Dimension.h</a></div></div>
<div class="ttc" id="structgeos_1_1geom_1_1GeomPtrPair_html_a8798fbb650f7a8a555f34a76a1115581"><div class="ttname"><a href="structgeos_1_1geom_1_1GeomPtrPair.html#a8798fbb650f7a8a555f34a76a1115581">geos::geom::GeomPtrPair::first</a></div><div class="ttdeci">GeomPtr first</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00978">Geometry.h:978</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a57c6acd6bb0a8371356897f40247ed33"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a57c6acd6bb0a8371356897f40247ed33">geos::geom::Geometry::Ptr</a></div><div class="ttdeci">std::unique_ptr&lt; Geometry &gt; Ptr</div><div class="ttdoc">An unique_ptr of Geometry. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00201">Geometry.h:201</a></div></div>
<div class="ttc" id="namespacegeos_1_1geom_html_a98c5b0e81001a7c3fdc7a058960356d8ae56b8b200a145ccfacc77cdb05e25b2c"><div class="ttname"><a href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ae56b8b200a145ccfacc77cdb05e25b2c">geos::geom::GEOS_MULTIPOLYGON</a></div><div class="ttdoc">a collection of polygons </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00089">Geometry.h:89</a></div></div>
<div class="ttc" id="structgeos_1_1geom_1_1GeomPtrPair_html_a8df381b7f1a4facdcab55d2e2a85a3f9"><div class="ttname"><a href="structgeos_1_1geom_1_1GeomPtrPair.html#a8df381b7f1a4facdcab55d2e2a85a3f9">geos::geom::GeomPtrPair::second</a></div><div class="ttdeci">GeomPtr second</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00979">Geometry.h:979</a></div></div>
<div class="ttc" id="IntersectionMatrix_8h_html"><div class="ttname"><a href="IntersectionMatrix_8h.html">IntersectionMatrix.h</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a3078813471b2c70b04da6271a5da83eb"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a3078813471b2c70b04da6271a5da83eb">geos::geom::Geometry::envelope</a></div><div class="ttdeci">std::unique_ptr&lt; Envelope &gt; envelope</div><div class="ttdoc">The bounding box of this Geometry. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00857">Geometry.h:857</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a83f0703f34370c8c1900f70478479ed2"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a83f0703f34370c8c1900f70478479ed2">geos::geom::Geometry::ConstVect</a></div><div class="ttdeci">std::vector&lt; const Geometry * &gt; ConstVect</div><div class="ttdoc">A vector of const Geometry pointers. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00195">Geometry.h:195</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a979504ef90b6d3b67af529cec504fbfe"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a979504ef90b6d3b67af529cec504fbfe">geos::geom::Geometry::applyComponentFilter</a></div><div class="ttdeci">void applyComponentFilter(T &amp;f) const </div><div class="ttdoc">Apply a filter to each component of this geometry. The filter is expected to provide a ...</div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00768">Geometry.h:768</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a9028f93d9244bda4fbaf9331a46d9d2f"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a9028f93d9244bda4fbaf9331a46d9d2f">geos::geom::Geometry::relate</a></div><div class="ttdeci">std::unique_ptr&lt; IntersectionMatrix &gt; relate(const Geometry &amp;g) const </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00498">Geometry.h:498</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Dimension_html_af46f1c0c325eb685fcf32987748d04cf"><div class="ttname"><a href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cf">geos::geom::Dimension::DimensionType</a></div><div class="ttdeci">DimensionType</div><div class="ttdef"><b>Definition:</b> <a href="Dimension_8h_source.html#l00031">Dimension.h:31</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_af979c13c17f500907d0be400f80abb45"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#af979c13c17f500907d0be400f80abb45">geos::geom::Geometry::coveredBy</a></div><div class="ttdeci">bool coveredBy(const Geometry *g) const </div><div class="ttdoc">Tests whether this geometry is covered by the specified geometry. </div><div class="ttdef"><b>Definition:</b> <a href="Geometry_8h_source.html#l00581">Geometry.h:581</a></div></div>
<div class="ttc" id="classgeos_1_1geom_1_1GeometryComponentFilter_html"><div class="ttname"><a href="classgeos_1_1geom_1_1GeometryComponentFilter.html">geos::geom::GeometryComponentFilter</a></div><div class="ttdef"><b>Definition:</b> <a href="GeometryComponentFilter_8h_source.html#l00043">GeometryComponentFilter.h:43</a></div></div>
</div><!-- fragment --></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>