geos_390_docs/classgeos_1_1geom_1_1Coordi...

1382 lines
81 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GEOS: geos::geom::CoordinateSequence Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">GEOS
&#160;<span id="projectnumber">3.9.1dev</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegeos.html">geos</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1geom.html">geom</a></li><li class="navelem"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classgeos_1_1geom_1_1CoordinateSequence-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::geom::CoordinateSequence Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>The internal representation of a list of coordinates inside a <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a>.
<a href="classgeos_1_1geom_1_1CoordinateSequence.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="CoordinateSequence_8h_source.html">geos.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::geom::CoordinateSequence:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1geom_1_1CoordinateSequence__inherit__graph.svg" width="100%" height="406"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a40d5eb1e3be15b43bbeceb760bc352fd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a40d5eb1e3be15b43bbeceb760bc352fda22d84e20c83f416b958f26e52973d9c8">X</a>,
<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a40d5eb1e3be15b43bbeceb760bc352fda28285456ecb126635c26d868bd67b48f">Y</a>,
<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a40d5eb1e3be15b43bbeceb760bc352fda1b2bcdb3724272b18890bcb81730ad68">Z</a>,
<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a40d5eb1e3be15b43bbeceb760bc352fdac60fbd9d5e99a937b18df9dfab97a4b8">M</a>
}<tr class="memdesc:a40d5eb1e3be15b43bbeceb760bc352fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard ordinate index values. <a href="classgeos_1_1geom_1_1CoordinateSequence.html#a40d5eb1e3be15b43bbeceb760bc352fd">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a40d5eb1e3be15b43bbeceb760bc352fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca329cbbec92629bbc708360109949e1"><td class="memItemLeft" align="right" valign="top">typedef std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#aca329cbbec92629bbc708360109949e1">Ptr</a></td></tr>
<tr class="separator:aca329cbbec92629bbc708360109949e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a54c83b498a70841bb479778a7fda1609"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a54c83b498a70841bb479778a7fda1609">~CoordinateSequence</a> ()</td></tr>
<tr class="separator:a54c83b498a70841bb479778a7fda1609"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1671b92e89441e2e6c996013bdf4d5d4"><td class="memItemLeft" align="right" valign="top">virtual std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a1671b92e89441e2e6c996013bdf4d5d4">clone</a> () const =0</td></tr>
<tr class="memdesc:a1671b92e89441e2e6c996013bdf4d5d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a deep copy of this collection. <a href="#a1671b92e89441e2e6c996013bdf4d5d4">More...</a><br /></td></tr>
<tr class="separator:a1671b92e89441e2e6c996013bdf4d5d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21b38920a6a53f3ae0723ef0813fa462"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a21b38920a6a53f3ae0723ef0813fa462">getAt</a> (std::size_t i) const =0</td></tr>
<tr class="memdesc:a21b38920a6a53f3ae0723ef0813fa462"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a read-only reference to <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> at position i. <a href="#a21b38920a6a53f3ae0723ef0813fa462">More...</a><br /></td></tr>
<tr class="separator:a21b38920a6a53f3ae0723ef0813fa462"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a931a4baa65571e31e720c8d8d9390e31"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a931a4baa65571e31e720c8d8d9390e31">back</a> () const </td></tr>
<tr class="memdesc:a931a4baa65571e31e720c8d8d9390e31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return last <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> in the sequence. <a href="#a931a4baa65571e31e720c8d8d9390e31">More...</a><br /></td></tr>
<tr class="separator:a931a4baa65571e31e720c8d8d9390e31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70939ed2369aefcef44c6c8c6e5fbce1"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a70939ed2369aefcef44c6c8c6e5fbce1">front</a> () const </td></tr>
<tr class="memdesc:a70939ed2369aefcef44c6c8c6e5fbce1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return first <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> in the sequence. <a href="#a70939ed2369aefcef44c6c8c6e5fbce1">More...</a><br /></td></tr>
<tr class="separator:a70939ed2369aefcef44c6c8c6e5fbce1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab86bbd3a91f0d1a365bf82f2e0f7bd31"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ab86bbd3a91f0d1a365bf82f2e0f7bd31">operator[]</a> (std::size_t i) const </td></tr>
<tr class="separator:ab86bbd3a91f0d1a365bf82f2e0f7bd31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b3b6523ead3976271cc367904009879"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a7b3b6523ead3976271cc367904009879">getEnvelope</a> () const </td></tr>
<tr class="separator:a7b3b6523ead3976271cc367904009879"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21e9cebf585767cc8233f54629729f24"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a21e9cebf585767cc8233f54629729f24">getAt</a> (std::size_t i, <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;c) const =0</td></tr>
<tr class="memdesc:a21e9cebf585767cc8233f54629729f24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> at position i to given <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a>. <a href="#a21e9cebf585767cc8233f54629729f24">More...</a><br /></td></tr>
<tr class="separator:a21e9cebf585767cc8233f54629729f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11ed8d7eca9c62dcd19012245fe25416"><td class="memItemLeft" align="right" valign="top">virtual std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a11ed8d7eca9c62dcd19012245fe25416">getSize</a> () const =0</td></tr>
<tr class="memdesc:a11ed8d7eca9c62dcd19012245fe25416"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of Coordinates (actual or otherwise, as this implementation may not store its data in <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> objects). <a href="#a11ed8d7eca9c62dcd19012245fe25416">More...</a><br /></td></tr>
<tr class="separator:a11ed8d7eca9c62dcd19012245fe25416"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0069f2bc78df952cd5495ae7c005fae9"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a0069f2bc78df952cd5495ae7c005fae9">size</a> () const </td></tr>
<tr class="separator:a0069f2bc78df952cd5495ae7c005fae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9338282a924b596db9c923aa4eef188"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#aa9338282a924b596db9c923aa4eef188">toVector</a> (std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt; &amp;coords) const =0</td></tr>
<tr class="separator:aa9338282a924b596db9c923aa4eef188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03d2e25eac13c33c536a54d2108de344"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a03d2e25eac13c33c536a54d2108de344">isEmpty</a> () const =0</td></tr>
<tr class="memdesc:a03d2e25eac13c33c536a54d2108de344"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns <code>true</code> it list contains no coordinates. <a href="#a03d2e25eac13c33c536a54d2108de344">More...</a><br /></td></tr>
<tr class="separator:a03d2e25eac13c33c536a54d2108de344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a422179995ad225e63563cba78170eb89"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a422179995ad225e63563cba78170eb89">setAt</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;c, std::size_t pos)=0</td></tr>
<tr class="memdesc:a422179995ad225e63563cba78170eb89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> c to position pos. <a href="#a422179995ad225e63563cba78170eb89">More...</a><br /></td></tr>
<tr class="separator:a422179995ad225e63563cba78170eb89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaee5fd5ac811ebdcf68701d4fb400b7"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#aaaee5fd5ac811ebdcf68701d4fb400b7">toString</a> () const </td></tr>
<tr class="memdesc:aaaee5fd5ac811ebdcf68701d4fb400b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a string representation of <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a>. <a href="#aaaee5fd5ac811ebdcf68701d4fb400b7">More...</a><br /></td></tr>
<tr class="separator:aaaee5fd5ac811ebdcf68701d4fb400b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed2aa2f665e1c688ea45ca192929c49d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#aed2aa2f665e1c688ea45ca192929c49d">setPoints</a> (const std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt; &amp;v)=0</td></tr>
<tr class="memdesc:aed2aa2f665e1c688ea45ca192929c49d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Substitute <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> list with a copy of the given vector. <a href="#aed2aa2f665e1c688ea45ca192929c49d">More...</a><br /></td></tr>
<tr class="separator:aed2aa2f665e1c688ea45ca192929c49d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d85a76be7d7b3117e6ccbd7e39b2ee1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a4d85a76be7d7b3117e6ccbd7e39b2ee1">hasRepeatedPoints</a> () const </td></tr>
<tr class="memdesc:a4d85a76be7d7b3117e6ccbd7e39b2ee1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if contains any two consecutive points. <a href="#a4d85a76be7d7b3117e6ccbd7e39b2ee1">More...</a><br /></td></tr>
<tr class="separator:a4d85a76be7d7b3117e6ccbd7e39b2ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68d66d3350c5dc11ba575f290d0c7c6e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a68d66d3350c5dc11ba575f290d0c7c6e">minCoordinate</a> () const </td></tr>
<tr class="memdesc:a68d66d3350c5dc11ba575f290d0c7c6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns lower-left <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> in list. <a href="#a68d66d3350c5dc11ba575f290d0c7c6e">More...</a><br /></td></tr>
<tr class="separator:a68d66d3350c5dc11ba575f290d0c7c6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96077c66e7e2e60eba2f3c00a25de12d"><td class="memItemLeft" align="right" valign="top">virtual std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a96077c66e7e2e60eba2f3c00a25de12d">getDimension</a> () const =0</td></tr>
<tr class="separator:a96077c66e7e2e60eba2f3c00a25de12d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d9a1bc570917c48c21a2c2fe7a76f6d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a3d9a1bc570917c48c21a2c2fe7a76f6d">hasZ</a> () const </td></tr>
<tr class="separator:a3d9a1bc570917c48c21a2c2fe7a76f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad341ce4750b2834925ebead7b146bb32"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ad341ce4750b2834925ebead7b146bb32">getOrdinate</a> (std::size_t index, std::size_t ordinateIndex) const </td></tr>
<tr class="separator:ad341ce4750b2834925ebead7b146bb32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a157be17137d57313d633a0faa7657864"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a157be17137d57313d633a0faa7657864">getX</a> (std::size_t index) const </td></tr>
<tr class="separator:a157be17137d57313d633a0faa7657864"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67979e34bbc25a7656afb49695da05df"><td class="memItemLeft" align="right" valign="top">virtual double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a67979e34bbc25a7656afb49695da05df">getY</a> (std::size_t index) const </td></tr>
<tr class="separator:a67979e34bbc25a7656afb49695da05df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cb41773fe4e6d72bd5004d1d6f79bcd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a6cb41773fe4e6d72bd5004d1d6f79bcd">setOrdinate</a> (std::size_t index, std::size_t ordinateIndex, double value)=0</td></tr>
<tr class="separator:a6cb41773fe4e6d72bd5004d1d6f79bcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac07da62532a8b03ea7e6fbad2809b0ba"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ac07da62532a8b03ea7e6fbad2809b0ba">expandEnvelope</a> (<a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a> &amp;env) const </td></tr>
<tr class="separator:ac07da62532a8b03ea7e6fbad2809b0ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd103ca9668f584c7ec363ba9d5d8406"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#acd103ca9668f584c7ec363ba9d5d8406">apply_rw</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a> *filter)=0</td></tr>
<tr class="separator:acd103ca9668f584c7ec363ba9d5d8406"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a509dac08bd83c8344d21a28f7edba3af"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a509dac08bd83c8344d21a28f7edba3af">apply_ro</a> (<a class="el" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a> *filter) const =0</td></tr>
<tr class="separator:a509dac08bd83c8344d21a28f7edba3af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ba2cfd860eef2342b1306e855b58b0c"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a6ba2cfd860eef2342b1306e855b58b0c"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a6ba2cfd860eef2342b1306e855b58b0c">applyCoordinateFilter</a> (T &amp;f)</td></tr>
<tr class="memdesc:a6ba2cfd860eef2342b1306e855b58b0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply a filter to each <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> of this sequence. The filter is expected to provide a .filter(Coordinate&amp;) method. <a href="#a6ba2cfd860eef2342b1306e855b58b0c">More...</a><br /></td></tr>
<tr class="separator:a6ba2cfd860eef2342b1306e855b58b0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a2933e1d264d4b133b5631a5c17039749"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a2933e1d264d4b133b5631a5c17039749">hasRepeatedPoints</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl)</td></tr>
<tr class="memdesc:a2933e1d264d4b133b5631a5c17039749"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if given <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a> contains any two consecutive <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a>. <a href="#a2933e1d264d4b133b5631a5c17039749">More...</a><br /></td></tr>
<tr class="separator:a2933e1d264d4b133b5631a5c17039749"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5dbb8e6b020b0db7945a3ffa535de54"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ad5dbb8e6b020b0db7945a3ffa535de54">atLeastNCoordinatesOrNothing</a> (std::size_t n, <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *c)</td></tr>
<tr class="memdesc:ad5dbb8e6b020b0db7945a3ffa535de54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns either the given <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a> if its length is greater than the given amount, or an empty <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a>. <a href="#ad5dbb8e6b020b0db7945a3ffa535de54">More...</a><br /></td></tr>
<tr class="separator:ad5dbb8e6b020b0db7945a3ffa535de54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f129978a814a880fa8eed566d499d35"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a9f129978a814a880fa8eed566d499d35">indexOf</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> *coordinate, const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl)</td></tr>
<tr class="separator:a9f129978a814a880fa8eed566d499d35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefd3dacec98fad79435ba76601e61880"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#aefd3dacec98fad79435ba76601e61880">equals</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl1, const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl2)</td></tr>
<tr class="memdesc:aefd3dacec98fad79435ba76601e61880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the two arrays are identical, both null, or pointwise equal. <a href="#aefd3dacec98fad79435ba76601e61880">More...</a><br /></td></tr>
<tr class="separator:aefd3dacec98fad79435ba76601e61880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad731d3ad1514dd8a1ac92d1d53d5964b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ad731d3ad1514dd8a1ac92d1d53d5964b">scroll</a> (<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl, const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> *firstCoordinate)</td></tr>
<tr class="memdesc:ad731d3ad1514dd8a1ac92d1d53d5964b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scroll given <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a> so to start with given <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a>. <a href="#ad731d3ad1514dd8a1ac92d1d53d5964b">More...</a><br /></td></tr>
<tr class="separator:ad731d3ad1514dd8a1ac92d1d53d5964b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fa893acf32a068019741318ade63896"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a8fa893acf32a068019741318ade63896">increasingDirection</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;pts)</td></tr>
<tr class="memdesc:a8fa893acf32a068019741318ade63896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines which orientation of the <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> array is (overall) increasing. <a href="#a8fa893acf32a068019741318ade63896">More...</a><br /></td></tr>
<tr class="separator:a8fa893acf32a068019741318ade63896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19a41f7b30c8f1dbda912bffbfcf5226"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a19a41f7b30c8f1dbda912bffbfcf5226">isRing</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *pts)</td></tr>
<tr class="memdesc:a19a41f7b30c8f1dbda912bffbfcf5226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether an array of <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>s forms a ring, by checking length and closure. Self-intersection is not checked. <a href="#a19a41f7b30c8f1dbda912bffbfcf5226">More...</a><br /></td></tr>
<tr class="separator:a19a41f7b30c8f1dbda912bffbfcf5226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09cd5d0357620486e7b23bb1f3514e27"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a09cd5d0357620486e7b23bb1f3514e27">reverse</a> (<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl)</td></tr>
<tr class="memdesc:a09cd5d0357620486e7b23bb1f3514e27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> order in given <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a>. <a href="#a09cd5d0357620486e7b23bb1f3514e27">More...</a><br /></td></tr>
<tr class="separator:a09cd5d0357620486e7b23bb1f3514e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a978f0b66cbc7cb3f0ee6070c31331e95"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a978f0b66cbc7cb3f0ee6070c31331e95">CoordinateSequence</a> ()</td></tr>
<tr class="separator:a978f0b66cbc7cb3f0ee6070c31331e95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fa22fa9e29897db91d039afb0decbf6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a6fa22fa9e29897db91d039afb0decbf6">CoordinateSequence</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;)</td></tr>
<tr class="separator:a6fa22fa9e29897db91d039afb0decbf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The internal representation of a list of coordinates inside a <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a>. </p>
<p>There are some cases in which you might want Geometries to store their points using something other than the GEOS <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> class. For example, you may want to experiment with another implementation, such as an array of Xs and an array of Ys. or you might want to use your own coordinate class, one that supports extra attributes like M-values.</p>
<p>You can do this by implementing the <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a> and <a class="el" href="classgeos_1_1geom_1_1CoordinateSequenceFactory.html" title="A factory to create concrete instances of CoordinateSequences. ">CoordinateSequenceFactory</a> interfaces. You would then create a <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html" title="Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...">GeometryFactory</a> parameterized by your <a class="el" href="classgeos_1_1geom_1_1CoordinateSequenceFactory.html" title="A factory to create concrete instances of CoordinateSequences. ">CoordinateSequenceFactory</a>, and use this <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html" title="Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...">GeometryFactory</a> to create new Geometries. All of these new Geometries will use your <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a> implementation. </p>
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00058">58</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="aca329cbbec92629bbc708360109949e1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a>&gt; <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#aca329cbbec92629bbc708360109949e1">geos::geom::CoordinateSequence::Ptr</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00068">68</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a40d5eb1e3be15b43bbeceb760bc352fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>Standard ordinate index values. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a40d5eb1e3be15b43bbeceb760bc352fda22d84e20c83f416b958f26e52973d9c8"></a>X&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a40d5eb1e3be15b43bbeceb760bc352fda28285456ecb126635c26d868bd67b48f"></a>Y&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a40d5eb1e3be15b43bbeceb760bc352fda1b2bcdb3724272b18890bcb81730ad68"></a>Z&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a40d5eb1e3be15b43bbeceb760bc352fdac60fbd9d5e99a937b18df9dfab97a4b8"></a>M&#160;</td><td class="fielddoc">
</td></tr>
</table>
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00215">215</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a978f0b66cbc7cb3f0ee6070c31331e95"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::geom::CoordinateSequence::CoordinateSequence </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00062">62</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6fa22fa9e29897db91d039afb0decbf6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::geom::CoordinateSequence::CoordinateSequence </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00064">64</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<a class="anchor" id="a54c83b498a70841bb479778a7fda1609"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual geos::geom::CoordinateSequence::~CoordinateSequence </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00071">71</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a509dac08bd83c8344d21a28f7edba3af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void geos::geom::CoordinateSequence::apply_ro </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a> *&#160;</td>
<td class="paramname"><em>filter</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a303402a1e80348d036abb2bf4cc83de2">geos::geom::CoordinateArraySequence</a>, <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#aa4f380b1b07ca43d13648f87c6a10e19">geos::geom::FixedSizeCoordinateSequence&lt; N &gt;</a>, and <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#aa4f380b1b07ca43d13648f87c6a10e19">geos::geom::FixedSizeCoordinateSequence&lt; 1 &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="acd103ca9668f584c7ec363ba9d5d8406"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void geos::geom::CoordinateSequence::apply_rw </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a> *&#160;</td>
<td class="paramname"><em>filter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a1cf1bf407f8f1d42e7957c0e6fdc9c59">geos::geom::CoordinateArraySequence</a>, <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#acb85ade79c0d5827ab0288cd57e19c94">geos::geom::FixedSizeCoordinateSequence&lt; N &gt;</a>, and <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#acb85ade79c0d5827ab0288cd57e19c94">geos::geom::FixedSizeCoordinateSequence&lt; 1 &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a6ba2cfd860eef2342b1306e855b58b0c"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::geom::CoordinateSequence::applyCoordinateFilter </td>
<td>(</td>
<td class="paramtype">T &amp;&#160;</td>
<td class="paramname"><em>f</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Apply a filter to each <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> of this sequence. The filter is expected to provide a .filter(Coordinate&amp;) method. </p>
<p>TODO: accept a Functor instead, will be more flexible. actually, define iterators on <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> </p>
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00298">298</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
<p>References <a class="el" href="export_8h_source.html#l00028">GEOS_DLL</a>, <a class="el" href="namespacegeos_1_1geom.html#a9f7a30fa79d09664d0d305fb875c019d">geos::geom::operator!=()</a>, <a class="el" href="namespacegeos_1_1geom.html#a2031e0143940407ca589d3216cf0eb06">geos::geom::operator&lt;&lt;()</a>, and <a class="el" href="namespacegeos_1_1geom.html#aa3ab17cfa95af46ea53ac92482041d76">geos::geom::operator==()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1geom_1_1CoordinateSequence_a6ba2cfd860eef2342b1306e855b58b0c_cgraph.svg" width="478" height="143"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="ad5dbb8e6b020b0db7945a3ffa535de54"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a>* geos::geom::CoordinateSequence::atLeastNCoordinatesOrNothing </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns either the given <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a> if its length is greater than the given amount, or an empty <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a>. </p>
</div>
</div>
<a class="anchor" id="a931a4baa65571e31e720c8d8d9390e31"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>&amp; geos::geom::CoordinateSequence::back </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return last <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> in the sequence. </p>
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00088">88</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
<p>Referenced by <a class="el" href="OffsetSegmentString_8h_source.html#l00162">geos::operation::buffer::OffsetSegmentString::closeRing()</a>, and <a class="el" href="OffsetSegmentString_8h_source.html#l00067">geos::operation::buffer::OffsetSegmentString::isRedundant()</a>.</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1geom_1_1CoordinateSequence_a931a4baa65571e31e720c8d8d9390e31_icgraph.svg" width="100%" height="416"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a1671b92e89441e2e6c996013bdf4d5d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a>&gt; geos::geom::CoordinateSequence::clone </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a deep copy of this collection. </p>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a026f2a5b600ce3cf0b1ed469d9a6845f">geos::geom::CoordinateArraySequence</a>, <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#af4a39362fd6127124eab4f422c96fea2">geos::geom::FixedSizeCoordinateSequence&lt; N &gt;</a>, and <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#af4a39362fd6127124eab4f422c96fea2">geos::geom::FixedSizeCoordinateSequence&lt; 1 &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="aefd3dacec98fad79435ba76601e61880"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool geos::geom::CoordinateSequence::equals </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>cl1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>cl2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the two arrays are identical, both null, or pointwise equal. </p>
</div>
</div>
<a class="anchor" id="ac07da62532a8b03ea7e6fbad2809b0ba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void geos::geom::CoordinateSequence::expandEnvelope </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a> &amp;&#160;</td>
<td class="paramname"><em>env</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Expands the given <a class="el" href="classgeos_1_1geom_1_1Envelope.html" title="An Envelope defines a rectangulare region of the 2D coordinate plane. ">Envelope</a> to include the coordinates in the sequence. Allows implementing classes to optimize access to coordinate values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">env</td><td>the envelope to expand </td></tr>
</table>
</dd>
</dl>
<p>Reimplemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a56b68617fbb4c839950ba61139af56dc">geos::geom::CoordinateArraySequence</a>.</p>
</div>
</div>
<a class="anchor" id="a70939ed2369aefcef44c6c8c6e5fbce1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>&amp; geos::geom::CoordinateSequence::front </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return first <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> in the sequence. </p>
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00095">95</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
<p>Referenced by <a class="el" href="OffsetSegmentString_8h_source.html#l00162">geos::operation::buffer::OffsetSegmentString::closeRing()</a>.</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1geom_1_1CoordinateSequence_a70939ed2369aefcef44c6c8c6e5fbce1_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a21b38920a6a53f3ae0723ef0813fa462"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>&amp; geos::geom::CoordinateSequence::getAt </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a read-only reference to <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> at position i. </p>
<p>Whether or not the <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> returned is the actual underlying <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> or merely a copy depends on the implementation. </p>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a2c396bf9459e91fa5a02b51b76fa919f">geos::geom::CoordinateArraySequence</a>.</p>
</div>
</div>
<a class="anchor" id="a21e9cebf585767cc8233f54629729f24"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void geos::geom::CoordinateSequence::getAt </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>i</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> at position i to given <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a>. </p>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#ac7a0484c7520c9b6acd24b260c2c1b6d">geos::geom::CoordinateArraySequence</a>.</p>
</div>
</div>
<a class="anchor" id="a96077c66e7e2e60eba2f3c00a25de12d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::size_t geos::geom::CoordinateSequence::getDimension </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the dimension (number of ordinates in each coordinate) for this sequence.</p>
<dl class="section return"><dt>Returns</dt><dd>the dimension of the sequence. </dd></dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#ac7c228353fe19ab61a642b016a411917">geos::geom::CoordinateArraySequence</a>, <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#a1b28024c1e24118384ccd1687eaf3b35">geos::geom::FixedSizeCoordinateSequence&lt; N &gt;</a>, and <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#a1b28024c1e24118384ccd1687eaf3b35">geos::geom::FixedSizeCoordinateSequence&lt; 1 &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a7b3b6523ead3976271cc367904009879"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classgeos_1_1geom_1_1Envelope.html">Envelope</a> geos::geom::CoordinateSequence::getEnvelope </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad341ce4750b2834925ebead7b146bb32"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual double geos::geom::CoordinateSequence::getOrdinate </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>ordinateIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the ordinate of a coordinate in this sequence. Ordinate indices 0 and 1 are assumed to be X and Y. Ordinates indices greater than 1 have user-defined semantics (for instance, they may contain other dimensions or measure values).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>the coordinate index in the sequence </td></tr>
<tr><td class="paramname">ordinateIndex</td><td>the ordinate index in the coordinate (in range [0, dimension-1]) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a11ed8d7eca9c62dcd19012245fe25416"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::size_t geos::geom::CoordinateSequence::getSize </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the number of Coordinates (actual or otherwise, as this implementation may not store its data in <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> objects). </p>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a7af2fa5cdbebe35fe5c9a416fdf57d77">geos::geom::CoordinateArraySequence</a>, <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#a0741f808d7a0cb4ed74bfed09af00fba">geos::geom::FixedSizeCoordinateSequence&lt; N &gt;</a>, and <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#a0741f808d7a0cb4ed74bfed09af00fba">geos::geom::FixedSizeCoordinateSequence&lt; 1 &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a157be17137d57313d633a0faa7657864"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual double geos::geom::CoordinateSequence::getX </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns ordinate X (0) of the specified coordinate.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the value of the X ordinate in the index'th coordinate </dd></dl>
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00248">248</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<a class="anchor" id="a67979e34bbc25a7656afb49695da05df"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual double geos::geom::CoordinateSequence::getY </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns ordinate Y (1) of the specified coordinate.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the value of the Y ordinate in the index'th coordinate </dd></dl>
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00260">260</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4d85a76be7d7b3117e6ccbd7e39b2ee1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool geos::geom::CoordinateSequence::hasRepeatedPoints </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if contains any two consecutive points. </p>
</div>
</div>
<a class="anchor" id="a2933e1d264d4b133b5631a5c17039749"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool geos::geom::CoordinateSequence::hasRepeatedPoints </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>cl</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if given <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a> contains any two consecutive <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a>. </p>
</div>
</div>
<a class="anchor" id="a3d9a1bc570917c48c21a2c2fe7a76f6d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::geom::CoordinateSequence::hasZ </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00225">225</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<a class="anchor" id="a8fa893acf32a068019741318ade63896"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int geos::geom::CoordinateSequence::increasingDirection </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;&#160;</td>
<td class="paramname"><em>pts</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Determines which orientation of the <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> array is (overall) increasing. </p>
<p>In other words, determines which end of the array is "smaller" (using the standard ordering on <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>). Returns an integer indicating the increasing direction. If the sequence is a palindrome, it is defined to be oriented in a positive direction.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pts</td><td>the array of Coordinates to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>1</code> if the array is smaller at the start or is a palindrome, <code>-1</code> if smaller at the end</dd></dl>
<p>NOTE: this method is found in CoordinateArrays class for JTS </p>
</div>
</div>
<a class="anchor" id="a9f129978a814a880fa8eed566d499d35"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static size_t geos::geom::CoordinateSequence::indexOf </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> *&#160;</td>
<td class="paramname"><em>coordinate</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>cl</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return position of a <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a>, or -1 if not found</p>
<p>FIXME: return std::size_t, using numeric_limits&lt;std::size_t&gt;::max as 'not found' value. </p>
</div>
</div>
<a class="anchor" id="a03d2e25eac13c33c536a54d2108de344"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool geos::geom::CoordinateSequence::isEmpty </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns <code>true</code> it list contains no coordinates. </p>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#af4bb708362943ea58b15bb4a3cf15c3b">geos::geom::CoordinateArraySequence</a>, <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#a52d9c172d1c6bce20902f29633dac239">geos::geom::FixedSizeCoordinateSequence&lt; N &gt;</a>, and <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#a52d9c172d1c6bce20902f29633dac239">geos::geom::FixedSizeCoordinateSequence&lt; 1 &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a19a41f7b30c8f1dbda912bffbfcf5226"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool geos::geom::CoordinateSequence::isRing </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>pts</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether an array of <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>s forms a ring, by checking length and closure. Self-intersection is not checked. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pts</td><td>an array of Coordinates </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the coordinate form a ring. </dd></dl>
</div>
</div>
<a class="anchor" id="a68d66d3350c5dc11ba575f290d0c7c6e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>* geos::geom::CoordinateSequence::minCoordinate </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns lower-left <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> in list. </p>
</div>
</div>
<a class="anchor" id="ab86bbd3a91f0d1a365bf82f2e0f7bd31"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>&amp; geos::geom::CoordinateSequence::operator[] </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00101">101</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
</div>
</div>
<a class="anchor" id="a09cd5d0357620486e7b23bb1f3514e27"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void geos::geom::CoordinateSequence::reverse </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>cl</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reverse <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> order in given <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a>. </p>
</div>
</div>
<a class="anchor" id="ad731d3ad1514dd8a1ac92d1d53d5964b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void geos::geom::CoordinateSequence::scroll </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&#160;</td>
<td class="paramname"><em>cl</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> *&#160;</td>
<td class="paramname"><em>firstCoordinate</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Scroll given <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a> so to start with given <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a>. </p>
</div>
</div>
<a class="anchor" id="a422179995ad225e63563cba78170eb89"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void geos::geom::CoordinateSequence::setAt </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>pos</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Copy <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> c to position pos. </p>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a9b724277e1f29ddc322c9f795ab16ca1">geos::geom::CoordinateArraySequence</a>.</p>
</div>
</div>
<a class="anchor" id="a6cb41773fe4e6d72bd5004d1d6f79bcd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void geos::geom::CoordinateSequence::setOrdinate </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>ordinateIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the value for a given ordinate of a coordinate in this sequence.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>the coordinate index in the sequence </td></tr>
<tr><td class="paramname">ordinateIndex</td><td>the ordinate index in the coordinate (in range [0, dimension-1]) </td></tr>
<tr><td class="paramname">value</td><td>the new ordinate value </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#ad3a3ba17afb9cc4f6af31e327fdad27d">geos::geom::CoordinateArraySequence</a>.</p>
</div>
</div>
<a class="anchor" id="aed2aa2f665e1c688ea45ca192929c49d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void geos::geom::CoordinateSequence::setPoints </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Substitute <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates. ">Coordinate</a> list with a copy of the given vector. </p>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#ac5fe679b2e1208a7fcc84f326bf6898d">geos::geom::CoordinateArraySequence</a>, <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#afa3982645cb44539fcf8583e1f3640be">geos::geom::FixedSizeCoordinateSequence&lt; N &gt;</a>, and <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#afa3982645cb44539fcf8583e1f3640be">geos::geom::FixedSizeCoordinateSequence&lt; 1 &gt;</a>.</p>
</div>
</div>
<a class="anchor" id="a0069f2bc78df952cd5495ae7c005fae9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t geos::geom::CoordinateSequence::size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="CoordinateSequence_8h_source.html#l00120">120</a> of file <a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a>.</p>
<p>Referenced by <a class="el" href="OffsetSegmentString_8h_source.html#l00144">geos::operation::buffer::OffsetSegmentString::addPts()</a>, <a class="el" href="OffsetSegmentString_8h_source.html#l00162">geos::operation::buffer::OffsetSegmentString::closeRing()</a>, <a class="el" href="OffsetSegmentString_8h_source.html#l00067">geos::operation::buffer::OffsetSegmentString::isRedundant()</a>, and <a class="el" href="OffsetSegmentString_8h_source.html#l00194">geos::operation::buffer::OffsetSegmentString::size()</a>.</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1geom_1_1CoordinateSequence_a0069f2bc78df952cd5495ae7c005fae9_icgraph.svg" width="100%" height="497"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="aaaee5fd5ac811ebdcf68701d4fb400b7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string geos::geom::CoordinateSequence::toString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a string representation of <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry. ">CoordinateSequence</a>. </p>
</div>
</div>
<a class="anchor" id="aa9338282a924b596db9c923aa4eef188"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void geos::geom::CoordinateSequence::toVector </td>
<td>(</td>
<td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>coords</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Pushes all Coordinates of this sequence into the provided vector.</p>
<p>This method is a port of the toCoordinateArray() method of JTS. </p>
<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#ad561225f89d62932789c8ac1a9a9ccda">geos::geom::FixedSizeCoordinateSequence&lt; N &gt;</a>, <a class="el" href="classgeos_1_1geom_1_1FixedSizeCoordinateSequence.html#ad561225f89d62932789c8ac1a9a9ccda">geos::geom::FixedSizeCoordinateSequence&lt; 1 &gt;</a>, and <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a262658cb21b10905f31219eaebaf89b0">geos::geom::CoordinateArraySequence</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="CoordinateSequence_8h_source.html">CoordinateSequence.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>