EVOLUTION-MANAGER
Edit File: Geometry_8h_source.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.5"/> <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 style="padding-left: 0.5em;"> <div id="projectname">GEOS  <span id="projectnumber">3.5.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_78009f08da3e03d86b70776dcc463e92.html">include</a></li><li class="navelem"><a class="el" href="dir_40c9e98f0599f998dfc16f8b0ec4bf37.html">geos</a></li><li class="navelem"><a class="el" href="dir_96804201bc1ea21f729d92f9316bf857.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"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/**********************************************************************</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> *</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * GEOS - Geometry Engine Open Source</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * http://geos.osgeo.org</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> *</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * Copyright (C) 2009 2011 Sandro Santilli <strk@keybit.net></span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Copyright (C) 2005 2006 Refractions Research Inc.</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * Copyright (C) 2001-2002 Vivid Solutions Inc.</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <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> <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> <span class="comment"> * by the Free Software Foundation. </span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * See the COPYING file for more information.</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> *</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> **********************************************************************</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> *</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <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> <span class="comment"> *</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> **********************************************************************/</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#ifndef GEOS_GEOM_GEOMETRY_H</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor"></span><span class="preprocessor">#define GEOS_GEOM_GEOMETRY_H</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <geos/export.h></span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include <geos/platform.h></span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include <geos/inline.h></span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <geos/geom/Envelope.h></span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <geos/geom/Dimension.h></span> <span class="comment">// for Dimension::DimensionType</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <geos/geom/GeometryComponentFilter.h></span> <span class="comment">// for inheritance</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <string></span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <iostream></span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <vector></span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <memory></span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#ifdef _MSC_VER</span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span><span class="preprocessor">#pragma warning(push)</span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span><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="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor"></span><span class="preprocessor">#pragma warning(disable: 4355) // warning C4355: 'this' : used in base member initializer list</span></div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">// Forward declarations</span></div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">namespace </span>geos {</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">namespace </span>geom {</div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">class </span>Coordinate;</div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">class </span>CoordinateFilter;</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keyword">class </span>CoordinateSequence;</div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keyword">class </span>CoordinateSequenceFilter;</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">class </span>GeometryComponentFilter;</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keyword">class </span>GeometryFactory;</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">class </span>GeometryFilter;</div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keyword">class </span>IntersectionMatrix;</div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">class </span>PrecisionModel;</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">class </span>Point;</div> <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div> <div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="namespacegeos_1_1io.html"> 56</a></span>  <span class="keyword">namespace </span>io { <span class="comment">// geos.io</span></div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">class </span>Unload;</div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  } <span class="comment">// namespace geos.io</span></div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> }</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">namespace </span>geos {</div> <div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">namespace </span>geom { <span class="comment">// geos::geom</span></div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8"> 65</a></span> <span class="keyword">enum</span> <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8">GeometryTypeId</a> {</div> <div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ac376a9701abf81f81a64a270ad4eb5de"> 67</a></span>  <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ac376a9701abf81f81a64a270ad4eb5de">GEOS_POINT</a>,</div> <div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8acac50eabb09b9a062bfeaef7f943f9e7"> 69</a></span>  <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8acac50eabb09b9a062bfeaef7f943f9e7">GEOS_LINESTRING</a>,</div> <div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a2858500525a9249ef95a24d33c04f2f6"> 71</a></span>  <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a2858500525a9249ef95a24d33c04f2f6">GEOS_LINEARRING</a>,</div> <div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ad049a213a3bced4eb7900eeae0814ba3"> 73</a></span>  <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ad049a213a3bced4eb7900eeae0814ba3">GEOS_POLYGON</a>,</div> <div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8afc434e57e19533af795a95796a032a8f"> 75</a></span>  <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8afc434e57e19533af795a95796a032a8f">GEOS_MULTIPOINT</a>,</div> <div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a1370cb41e0578504d2b93a23fdac99fd"> 77</a></span>  <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8a1370cb41e0578504d2b93a23fdac99fd">GEOS_MULTILINESTRING</a>,</div> <div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ae56b8b200a145ccfacc77cdb05e25b2c"> 79</a></span>  <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ae56b8b200a145ccfacc77cdb05e25b2c">GEOS_MULTIPOLYGON</a>,</div> <div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ab48fde06301f4394c46d0fd5305be70e"> 81</a></span>  <a class="code" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8ab48fde06301f4394c46d0fd5305be70e">GEOS_GEOMETRYCOLLECTION</a></div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span> };</div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> <div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html"> 167</a></span> <span class="keyword">class </span>GEOS_DLL <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> {</div> <div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div> <div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <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="l00172"></a><span class="lineno"> 172</span> </div> <div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#afc42e2336764c1ea807a94b87c69b546"> 174</a></span>  <span class="keyword">typedef</span> std::vector<const Geometry *> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#afc42e2336764c1ea807a94b87c69b546">ConstVect</a>;</div> <div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div> <div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#af5aa62e7313d54e76704d5b3f9a3b0b5"> 177</a></span>  <span class="keyword">typedef</span> std::vector<Geometry *> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#af5aa62e7313d54e76704d5b3f9a3b0b5">NonConstVect</a>;</div> <div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div> <div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ad1556305e4785746bc203b0b87132784"> 180</a></span>  <span class="keyword">typedef</span> std::auto_ptr<Geometry> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#ad1556305e4785746bc203b0b87132784">AutoPtr</a>;</div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* clone() <span class="keyword">const</span>=0;</div> <div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keyword">virtual</span> ~<a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>();</div> <div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div> <div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div> <div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ab41bcf3461be250e143ed2d7da19815b"> 196</a></span>  <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#ab41bcf3461be250e143ed2d7da19815b">getFactory</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> factory; }</div> <div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div> <div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a75dcb588b48e79ab3249d37137b12e1d"> 211</a></span>  <span class="keywordtype">void</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a75dcb588b48e79ab3249d37137b12e1d">setUserData</a>(<span class="keywordtype">void</span>* newUserData) { userData=newUserData; }</div> <div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div> <div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a81e62db157e244914b34893ba8c5f1cf"> 219</a></span>  <span class="keywordtype">void</span>* <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a81e62db157e244914b34893ba8c5f1cf">getUserData</a>() { <span class="keywordflow">return</span> userData; }</div> <div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div> <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="comment">/*</span></div> <div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="comment"> * \brief</span></div> <div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="comment"> * Returns the ID of the Spatial Reference System used by the</span></div> <div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="comment"> * <code>Geometry</code>.</span></div> <div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="comment"> *</span></div> <div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="comment"> * GEOS supports Spatial Reference System information in the simple way</span></div> <div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"> * defined in the SFS. A Spatial Reference System ID (SRID) is present</span></div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="comment"> * in each <code>Geometry</code> object. <code>Geometry</code></span></div> <div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="comment"> * provides basic accessor operations for this field, but no others.</span></div> <div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="comment"> * The SRID is represented as an integer.</span></div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> *</span></div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment"> * @return the ID of the coordinate space in which the</span></div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="comment"> * <code>Geometry</code> is defined.</span></div> <div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="comment"> *</span></div> <div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="comment"> */</span></div> <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> getSRID()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> SRID; }</div> <div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div> <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="comment">/*</span></div> <div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="comment"> * Sets the ID of the Spatial Reference System used by the</span></div> <div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="comment"> * <code>Geometry</code>.</span></div> <div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="comment"> */</span></div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSRID(<span class="keywordtype">int</span> newSRID) { SRID=newSRID; }</div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">const</span> PrecisionModel* getPrecisionModel() <span class="keyword">const</span>;</div> <div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div> <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> Coordinate* getCoordinate() <span class="keyword">const</span>=0; <span class="comment">//Abstract</span></div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div> <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keyword">virtual</span> CoordinateSequence* getCoordinates() <span class="keyword">const</span>=0; <span class="comment">//Abstract</span></div> <div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div> <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <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="l00265"></a><span class="lineno"> 265</span> </div> <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isSimple() <span class="keyword">const</span>; </div> <div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div> <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <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="l00271"></a><span class="lineno"> 271</span> </div> <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <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="l00274"></a><span class="lineno"> 274</span> </div> <div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#aa9c08c0e76c8cfc0e13b1b471e4049db"> 277</a></span>  <span class="keyword">virtual</span> std::size_t <a class="code" href="classgeos_1_1geom_1_1Geometry.html#aa9c08c0e76c8cfc0e13b1b471e4049db">getNumGeometries</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 1; }</div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div> <div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ae46e3ec59729a56ea2979b5a177cc25d"> 281</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* <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>{ <span class="keywordflow">return</span> <span class="keyword">this</span>; }</div> <div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div> <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isValid() <span class="keyword">const</span>;</div> <div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div> <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <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="l00296"></a><span class="lineno"> 296</span> </div> <div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#ab21116730ab9f580285a7e3a93f7941e"> 298</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#ab21116730ab9f580285a7e3a93f7941e">isRectangle</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div> <div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div> <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <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="l00302"></a><span class="lineno"> 302</span> </div> <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> getCoordinateDimension() <span class="keyword">const</span>=0; <span class="comment">//Abstract</span></div> <div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div> <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* getBoundary() <span class="keyword">const</span>=0; <span class="comment">//Abstract</span></div> <div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div> <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <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="l00326"></a><span class="lineno"> 326</span> </div> <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* getEnvelope() <span class="keyword">const</span>;</div> <div class="line"><a name="l00329"></a><span class="lineno"> 329</span> </div> <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <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="l00335"></a><span class="lineno"> 335</span> </div> <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <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="l00353"></a><span class="lineno"> 353</span> </div> <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <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="l00359"></a><span class="lineno"> 359</span> </div> <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <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="l00362"></a><span class="lineno"> 362</span> </div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <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="l00386"></a><span class="lineno"> 386</span> </div> <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <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="l00392"></a><span class="lineno"> 392</span> </div> <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <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="l00395"></a><span class="lineno"> 395</span> </div> <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <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="l00402"></a><span class="lineno"> 402</span> </div> <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keyword">virtual</span> <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="l00418"></a><span class="lineno"> 418</span>  <span class="keyword">const</span> std::string& intersectionPattern) <span class="keyword">const</span>;</div> <div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div> <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordtype">bool</span> relate(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>& g, <span class="keyword">const</span> std::string& intersectionPattern)<span class="keyword"> const</span></div> <div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword"> </span>{</div> <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">return</span> relate(&g, intersectionPattern);</div> <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  }</div> <div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div> <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keyword">virtual</span> IntersectionMatrix* relate(<span class="keyword">const</span> Geometry *g) <span class="keyword">const</span>;</div> <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  IntersectionMatrix* relate(<span class="keyword">const</span> Geometry &g)<span class="keyword"> const </span>{</div> <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">return</span> relate(&g);</div> <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  }</div> <div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div> <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> equals(<span class="keyword">const</span> Geometry *g) <span class="keyword">const</span>;</div> <div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div> <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordtype">bool</span> covers(<span class="keyword">const</span> Geometry* g) <span class="keyword">const</span>;</div> <div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div> <div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#af979c13c17f500907d0be400f80abb45"> 508</a></span>  <span class="keywordtype">bool</span> <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="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">return</span> g-><a class="code" href="classgeos_1_1geom_1_1Geometry.html#aad901fe993635be50793e7cfd19b113f">covers</a>(<span class="keyword">this</span>);</div> <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  }</div> <div class="line"><a name="l00511"></a><span class="lineno"> 511</span> </div> <div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div> <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keyword">virtual</span> std::string toString() <span class="keyword">const</span>;</div> <div class="line"><a name="l00515"></a><span class="lineno"> 515</span> </div> <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keyword">virtual</span> std::string toText() <span class="keyword">const</span>;</div> <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  </div> <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="comment">//</span></div> <div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* buffer(<span class="keywordtype">double</span> distance) <span class="keyword">const</span>;</div> <div class="line"><a name="l00523"></a><span class="lineno"> 523</span> </div> <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="comment">//</span></div> <div class="line"><a name="l00531"></a><span class="lineno"> 531</span> <span class="comment"></span> <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* buffer(<span class="keywordtype">double</span> distance,<span class="keywordtype">int</span> quadrantSegments) <span class="keyword">const</span>;</div> <div class="line"><a name="l00532"></a><span class="lineno"> 532</span> </div> <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* buffer(<span class="keywordtype">double</span> distance, <span class="keywordtype">int</span> quadrantSegments,</div> <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordtype">int</span> endCapStyle) <span class="keyword">const</span>;</div> <div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div> <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* convexHull() <span class="keyword">const</span>;</div> <div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div> <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* 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="l00587"></a><span class="lineno"> 587</span> </div> <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* 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="l00598"></a><span class="lineno"> 598</span>  <span class="comment">// throw(IllegalArgumentException *, TopologyException *);</span></div> <div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div> <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  AutoPtr Union() <span class="keyword">const</span>;</div> <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="comment">// throw(IllegalArgumentException *, TopologyException *);</span></div> <div class="line"><a name="l00619"></a><span class="lineno"> 619</span> </div> <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* 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="l00631"></a><span class="lineno"> 631</span> </div> <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* 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="l00642"></a><span class="lineno"> 642</span> </div> <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <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="l00648"></a><span class="lineno"> 648</span>  <span class="keyword">const</span>=0; <span class="comment">//Abstract</span></div> <div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div> <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <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="l00651"></a><span class="lineno"> 651</span>  <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="l00652"></a><span class="lineno"> 652</span>  <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="l00653"></a><span class="lineno"> 653</span>  <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="l00654"></a><span class="lineno"> 654</span>  <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="l00655"></a><span class="lineno"> 655</span>  <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="l00656"></a><span class="lineno"> 656</span> </div> <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_rw(<a class="code" href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">CoordinateSequenceFilter</a>& filter)=0;</div> <div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div> <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> apply_ro(<a class="code" href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">CoordinateSequenceFilter</a>& filter) <span class="keyword">const</span>=0;</div> <div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div> <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="keyword">template</span> <<span class="keyword">class</span> T></div> <div class="line"><a name="l00685"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#a979504ef90b6d3b67af529cec504fbfe"> 685</a></span>  <span class="keywordtype">void</span> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#a979504ef90b6d3b67af529cec504fbfe">applyComponentFilter</a>(T& f)<span class="keyword"> const</span></div> <div class="line"><a name="l00686"></a><span class="lineno"> 686</span> <span class="keyword"> </span>{</div> <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordflow">for</span>(std::size_t i=0, n=getNumGeometries(); i<n; ++i)</div> <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  f.filter(getGeometryN(i));</div> <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  }</div> <div class="line"><a name="l00690"></a><span class="lineno"> 690</span> </div> <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> normalize()=0; <span class="comment">//Abstract</span></div> <div class="line"><a name="l00693"></a><span class="lineno"> 693</span> </div> <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <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="l00695"></a><span class="lineno"> 695</span> </div> <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <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="l00701"></a><span class="lineno"> 701</span> </div> <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keyword">virtual</span> <span class="keywordtype">double</span> getArea() <span class="keyword">const</span>;</div> <div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div> <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keyword">virtual</span> <span class="keywordtype">double</span> getLength() <span class="keyword">const</span>;</div> <div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div> <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <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="l00720"></a><span class="lineno"> 720</span>  <span class="keywordtype">double</span> cDistance) <span class="keyword">const</span>;</div> <div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div> <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Point.html">Point</a>* getCentroid() <span class="keyword">const</span>;</div> <div class="line"><a name="l00732"></a><span class="lineno"> 732</span> </div> <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="comment">//</span></div> <div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <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>& ret) <span class="keyword">const</span>;</div> <div class="line"><a name="l00738"></a><span class="lineno"> 738</span> </div> <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="keyword">virtual</span> <a class="code" href="classgeos_1_1geom_1_1Point.html">Point</a>* getInteriorPoint() <span class="keyword">const</span>;</div> <div class="line"><a name="l00750"></a><span class="lineno"> 750</span> </div> <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="comment">/*</span></div> <div class="line"><a name="l00752"></a><span class="lineno"> 752</span> <span class="comment"> * \brief</span></div> <div class="line"><a name="l00753"></a><span class="lineno"> 753</span> <span class="comment"> * Notifies this Geometry that its Coordinates have been changed</span></div> <div class="line"><a name="l00754"></a><span class="lineno"> 754</span> <span class="comment"> * by an external party (using a CoordinateFilter, for example).</span></div> <div class="line"><a name="l00755"></a><span class="lineno"> 755</span> <span class="comment"> */</span></div> <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> geometryChanged();</div> <div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div> <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="keywordtype">void</span> geometryChangedAction();</div> <div class="line"><a name="l00764"></a><span class="lineno"> 764</span> </div> <div class="line"><a name="l00765"></a><span class="lineno"> 765</span> <span class="keyword">protected</span>:</div> <div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div> <div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="classgeos_1_1geom_1_1Geometry.html#af6377611bdb44ea3b1cbc8862fa2bdfb"> 768</a></span>  <span class="keyword">mutable</span> std::auto_ptr<Envelope> <a class="code" href="classgeos_1_1geom_1_1Geometry.html#af6377611bdb44ea3b1cbc8862fa2bdfb">envelope</a>;</div> <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  </div> <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> hasNonEmptyElements(<span class="keyword">const</span> std::vector<Geometry *>* geometries);</div> <div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div> <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <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="l00775"></a><span class="lineno"> 775</span> </div> <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> hasNullElements(<span class="keyword">const</span> std::vector<Geometry *>* lrs);</div> <div class="line"><a name="l00778"></a><span class="lineno"> 778</span> </div> <div class="line"><a name="l00779"></a><span class="lineno"> 779</span> <span class="comment">// static void reversePointOrder(CoordinateSequence* coordinates);</span></div> <div class="line"><a name="l00780"></a><span class="lineno"> 780</span> <span class="comment">// static Coordinate& minCoordinate(CoordinateSequence* coordinates);</span></div> <div class="line"><a name="l00781"></a><span class="lineno"> 781</span> <span class="comment">// static void scroll(CoordinateSequence* coordinates,Coordinate* firstCoordinate);</span></div> <div class="line"><a name="l00782"></a><span class="lineno"> 782</span> <span class="comment">// static int indexOf(Coordinate* coordinate,CoordinateSequence* coordinates);</span></div> <div class="line"><a name="l00783"></a><span class="lineno"> 783</span> <span class="comment">//</span></div> <div class="line"><a name="l00788"></a><span class="lineno"> 788</span> <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="l00789"></a><span class="lineno"> 789</span> </div> <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <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="l00791"></a><span class="lineno"> 791</span>  <span class="comment">// throw(IllegalArgumentException *);</span></div> <div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div> <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="comment">//virtual void checkEqualSRID(Geometry *other);</span></div> <div class="line"><a name="l00794"></a><span class="lineno"> 794</span> </div> <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="comment">//virtual void checkEqualPrecisionModel(Geometry *other);</span></div> <div class="line"><a name="l00796"></a><span class="lineno"> 796</span> </div> <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  <span class="keyword">virtual</span> Envelope::AutoPtr computeEnvelopeInternal() <span class="keyword">const</span>=0; <span class="comment">//Abstract</span></div> <div class="line"><a name="l00798"></a><span class="lineno"> 798</span> </div> <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <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="l00800"></a><span class="lineno"> 800</span> </div> <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordtype">int</span> compare(std::vector<Coordinate> a, std::vector<Coordinate> b) <span class="keyword">const</span>;</div> <div class="line"><a name="l00802"></a><span class="lineno"> 802</span> </div> <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keywordtype">int</span> compare(std::vector<Geometry *> a, std::vector<Geometry *> b) <span class="keyword">const</span>;</div> <div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div> <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="keywordtype">bool</span> equal(<span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>& a, <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>& b,</div> <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="keywordtype">double</span> tolerance) <span class="keyword">const</span>;</div> <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <span class="keywordtype">int</span> SRID;</div> <div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div> <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="comment">//Geometry* toInternalGeometry(const Geometry *g) const;</span></div> <div class="line"><a name="l00811"></a><span class="lineno"> 811</span> </div> <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  <span class="comment">//Geometry* fromInternalGeometry(const Geometry *g) const;</span></div> <div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div> <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="comment">//virtual bool isRectangle() const { return false; } -- moved to public</span></div> <div class="line"><a name="l00817"></a><span class="lineno"> 817</span> </div> <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <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> &geom);</div> <div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div> <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <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="l00830"></a><span class="lineno"> 830</span> </div> <div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00832"></a><span class="lineno"> 832</span> </div> <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordtype">int</span> getClassSortIndex() <span class="keyword">const</span>;</div> <div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div> <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  <span class="keyword">class </span>GEOS_DLL GeometryChangedFilter : <span class="keyword">public</span> <a class="code" href="classgeos_1_1geom_1_1GeometryComponentFilter.html">GeometryComponentFilter</a></div> <div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  {</div> <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="keywordtype">void</span> filter_rw(<a class="code" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* geom);</div> <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  };</div> <div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div> <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keyword">static</span> GeometryChangedFilter geometryChangedFilter;</div> <div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div> <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="comment">//</span></div> <div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="comment"></span> <span class="keyword">const</span> <a class="code" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a> *factory;</div> <div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div> <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="keywordtype">void</span>* userData;</div> <div class="line"><a name="l00850"></a><span class="lineno"> 850</span> };</div> <div class="line"><a name="l00851"></a><span class="lineno"> 851</span> </div> <div class="line"><a name="l00856"></a><span class="lineno"> 856</span> GEOS_DLL std::ostream& <a class="code" href="namespacegeos_1_1geom.html#ab8723f7afa29f8c4dcb9b77fa42132e4">operator<< </a>(std::ostream& os, <span class="keyword">const</span> Geometry& geom);</div> <div class="line"><a name="l00857"></a><span class="lineno"> 857</span> </div> <div class="line"><a name="l00858"></a><span class="lineno"> 858</span> <span class="keyword">struct </span>GEOS_DLL GeometryGreaterThen {</div> <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keywordtype">bool</span> operator()(<span class="keyword">const</span> Geometry *first, <span class="keyword">const</span> Geometry *second);</div> <div class="line"><a name="l00860"></a><span class="lineno"> 860</span> };</div> <div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div> <div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div> <div class="line"><a name="l00864"></a><span class="lineno"> 864</span> std::string <a class="code" href="namespacegeos_1_1geom.html#acdb90e29e8ba4eeeb5860f2bb0bb9b0f">geosversion</a>();</div> <div class="line"><a name="l00865"></a><span class="lineno"> 865</span> </div> <div class="line"><a name="l00871"></a><span class="lineno"> 871</span> std::string <a class="code" href="namespacegeos_1_1geom.html#ac0f658bdb01fb543cd247febca7ab10c">jtsport</a>();</div> <div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div> <div class="line"><a name="l00873"></a><span class="lineno"> 873</span> <span class="comment">// We use this instead of std::pair<auto_ptr<Geometry>> because C++11</span></div> <div class="line"><a name="l00874"></a><span class="lineno"> 874</span> <span class="comment">// forbids that construct:</span></div> <div class="line"><a name="l00875"></a><span class="lineno"> 875</span> <span class="comment">// http://lwg.github.com/issues/lwg-closed.html#2068</span></div> <div class="line"><a name="l00876"></a><span class="lineno"> 876</span> <span class="keyword">struct </span>GeomPtrPair {</div> <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="keyword">typedef</span> std::auto_ptr<Geometry> GeomPtr;</div> <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  GeomPtr first;</div> <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  GeomPtr second;</div> <div class="line"><a name="l00880"></a><span class="lineno"> 880</span> };</div> <div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div> <div class="line"><a name="l00882"></a><span class="lineno"> 882</span> } <span class="comment">// namespace geos::geom</span></div> <div class="line"><a name="l00883"></a><span class="lineno"> 883</span> } <span class="comment">// namespace geos</span></div> <div class="line"><a name="l00884"></a><span class="lineno"> 884</span> </div> <div class="line"><a name="l00885"></a><span class="lineno"> 885</span> <span class="preprocessor">#ifdef _MSC_VER</span></div> <div class="line"><a name="l00886"></a><span class="lineno"> 886</span> <span class="preprocessor"></span><span class="preprocessor">#pragma warning(pop)</span></div> <div class="line"><a name="l00887"></a><span class="lineno"> 887</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div> <div class="line"><a name="l00888"></a><span class="lineno"> 888</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00889"></a><span class="lineno"> 889</span> <span class="preprocessor">#endif // ndef GEOS_GEOM_GEOMETRY_H</span></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> GeometryFilter.h:48</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> Envelope.h:53</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> Geometry.h:69</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> Geometry.h:81</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> Geometry.h:77</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> Coordinate.h:60</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="ttdef"><b>Definition:</b> Geometry.h:281</div></div> <div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_a81e62db157e244914b34893ba8c5f1cf"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#a81e62db157e244914b34893ba8c5f1cf">geos::geom::Geometry::getUserData</a></div><div class="ttdeci">void * getUserData()</div><div class="ttdoc">Gets the user data object for this geometry, if any. </div><div class="ttdef"><b>Definition:</b> Geometry.h:219</div></div> <div class="ttc" id="namespacegeos_1_1geom_html_ab8723f7afa29f8c4dcb9b77fa42132e4"><div class="ttname"><a href="namespacegeos_1_1geom.html#ab8723f7afa29f8c4dcb9b77fa42132e4">geos::geom::operator<<</a></div><div class="ttdeci">GEOS_DLL std::ostream & operator<<(std::ostream &os, const Coordinate &c)</div><div class="ttdoc">Output function. </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> Geometry.h:298</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="ttdef"><b>Definition:</b> CoordinateSequenceFilter.h:58</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> Geometry.h:277</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="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> Geometry.h:65</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> Geometry.h:167</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="ttdef"><b>Definition:</b> CoordinateFilter.h:43</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> Geometry.h:75</div></div> <div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_af6377611bdb44ea3b1cbc8862fa2bdfb"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#af6377611bdb44ea3b1cbc8862fa2bdfb">geos::geom::Geometry::envelope</a></div><div class="ttdeci">std::auto_ptr< Envelope > envelope</div><div class="ttdoc">The bounding box of this Geometry. </div><div class="ttdef"><b>Definition:</b> Geometry.h:768</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="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> Geometry.h:211</div></div> <div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_ad1556305e4785746bc203b0b87132784"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#ad1556305e4785746bc203b0b87132784">geos::geom::Geometry::AutoPtr</a></div><div class="ttdeci">std::auto_ptr< Geometry > AutoPtr</div><div class="ttdoc">An auto_ptr of Geometry. </div><div class="ttdef"><b>Definition:</b> Geometry.h:180</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> Geometry.h:196</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> GeometryFactory.h:67</div></div> <div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_af5aa62e7313d54e76704d5b3f9a3b0b5"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#af5aa62e7313d54e76704d5b3f9a3b0b5">geos::geom::Geometry::NonConstVect</a></div><div class="ttdeci">std::vector< Geometry * > NonConstVect</div><div class="ttdoc">A vector of non-const Geometry pointers. </div><div class="ttdef"><b>Definition:</b> Geometry.h:177</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> Geometry.h:73</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> Geometry.h:71</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> Geometry.h:67</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> CoordinateSequence.h:59</div></div> <div class="ttc" id="classgeos_1_1geom_1_1Point_html"><div class="ttname"><a href="classgeos_1_1geom_1_1Point.html">geos::geom::Point</a></div><div class="ttdef"><b>Definition:</b> Point.h:67</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> Geometry.h:79</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 &f) const </div><div class="ttdoc">Apply a fiter to each component of this geometry. The filter is expected to provide a ...</div><div class="ttdef"><b>Definition:</b> Geometry.h:685</div></div> <div class="ttc" id="classgeos_1_1geom_1_1Geometry_html_afc42e2336764c1ea807a94b87c69b546"><div class="ttname"><a href="classgeos_1_1geom_1_1Geometry.html#afc42e2336764c1ea807a94b87c69b546">geos::geom::Geometry::ConstVect</a></div><div class="ttdeci">std::vector< const Geometry * > ConstVect</div><div class="ttdoc">A vector of const Geometry pointers. </div><div class="ttdef"><b>Definition:</b> Geometry.h:174</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> Dimension.h:31</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> Geometry.h:508</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> GeometryComponentFilter.h:43</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>