Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 5035839f674c88dea1f7928a86fbdc64 > files > 715

geos-devel-3.2.1-3.fc14.x86_64.rpm

<!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"/>
<title>GEOS: geos::geom::CoordinateSequence Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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 class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespacegeos.html">geos</a>      </li>
      <li><a class="el" href="namespacegeos_1_1geom.html">geom</a>      </li>
      <li><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geos::geom::CoordinateSequence</a>      </li>
    </ul>
  </div>
</div>
<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="#friends">Friends</a>  </div>
  <div class="headertitle">
<h1>geos::geom::CoordinateSequence Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::geom::CoordinateSequence" -->
<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="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="geom_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">
  <img src="classgeos_1_1geom_1_1CoordinateSequence.png" usemap="#geos::geom::CoordinateSequence_map" alt=""/>
  <map id="geos::geom::CoordinateSequence_map" name="geos::geom::CoordinateSequence_map">
<area href="classgeos_1_1geom_1_1CoordinateArraySequence.html" alt="geos::geom::CoordinateArraySequence" shape="rect" coords="0,56,232,80"/>
</map>
</div>

<p><a href="classgeos_1_1geom_1_1CoordinateSequence-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <b>X</b>, 
<b>Y</b>, 
<b>Z</b>, 
<b>M</b>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Standard ordinate index values. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a81941b61c907910f4ca9921ca065a390"></a><!-- doxytag: member="geos::geom::CoordinateSequence::AutoPtr" ref="a81941b61c907910f4ca9921ca065a390" args="" -->
typedef std::auto_ptr<br class="typebreak"/>
&lt; <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>AutoPtr</b></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1065f91119134d58831895655516ee2"></a><!-- doxytag: member="geos::geom::CoordinateSequence::clone" ref="ab1065f91119134d58831895655516ee2" args="() const =0" -->
virtual <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ab1065f91119134d58831895655516ee2">clone</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a deep copy of this collection. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#abd13683c365c0eef322e72ecae3fffa9">getAt</a> (size_t i) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#abd13683c365c0eef322e72ecae3fffa9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a931a4baa65571e31e720c8d8d9390e31"></a><!-- doxytag: member="geos::geom::CoordinateSequence::back" ref="a931a4baa65571e31e720c8d8d9390e31" args="() const " -->
const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a931a4baa65571e31e720c8d8d9390e31">back</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70939ed2369aefcef44c6c8c6e5fbce1"></a><!-- doxytag: member="geos::geom::CoordinateSequence::front" ref="a70939ed2369aefcef44c6c8c6e5fbce1" args="() const " -->
const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a70939ed2369aefcef44c6c8c6e5fbce1">front</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f147f816bae3a7c5f6ef20dca442cf5"></a><!-- doxytag: member="geos::geom::CoordinateSequence::operator[]" ref="a6f147f816bae3a7c5f6ef20dca442cf5" args="(size_t i) const " -->
const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (size_t i) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd7dd0cf61922300f6f5f14027da5c05"></a><!-- doxytag: member="geos::geom::CoordinateSequence::getAt" ref="acd7dd0cf61922300f6f5f14027da5c05" args="(size_t i, Coordinate &amp;c) const =0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#acd7dd0cf61922300f6f5f14027da5c05">getAt</a> (size_t i, <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;c) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5588a4dd18b290ff6b2c47f4e7bb270f"></a><!-- doxytag: member="geos::geom::CoordinateSequence::getSize" ref="a5588a4dd18b290ff6b2c47f4e7bb270f" args="() const =0" -->
virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a5588a4dd18b290ff6b2c47f4e7bb270f">getSize</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0069f2bc78df952cd5495ae7c005fae9"></a><!-- doxytag: member="geos::geom::CoordinateSequence::size" ref="a0069f2bc78df952cd5495ae7c005fae9" args="() const " -->
size_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>size</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const std::vector<br class="typebreak"/>
&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a209e02161c3752d04ff436b8a813cb20">toVector</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a read-only vector with the Coordinates in this collection.  <a href="#a209e02161c3752d04ff436b8a813cb20"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pushes all Coordinates of this sequence onto the provided vector.  <a href="#aa9338282a924b596db9c923aa4eef188"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a22f1fddbe6697f8ceae08e6a3b08d63d">add</a> (const std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt; *vc, bool allowRepeated)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an array of coordinates.  <a href="#a22f1fddbe6697f8ceae08e6a3b08d63d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a19a8e104eb3d47459c6a59e9885901ea">add</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl, bool allowRepeated, bool direction)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an array of coordinates.  <a href="#a19a8e104eb3d47459c6a59e9885901ea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ae3d029f6e372293089b3c9171d7e479c">add</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;c, bool allowRepeated)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a coordinate.  <a href="#ae3d029f6e372293089b3c9171d7e479c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a194f4989ac4e6171f83facec4ee08ec9">add</a> (size_t i, const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;coord, bool allowRepeated)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts the specified coordinate at the specified position in this list.  <a href="#a194f4989ac4e6171f83facec4ee08ec9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03d2e25eac13c33c536a54d2108de344"></a><!-- doxytag: member="geos::geom::CoordinateSequence::isEmpty" ref="a03d2e25eac13c33c536a54d2108de344" args="() const =0" -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a03d2e25eac13c33c536a54d2108de344">isEmpty</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns <code>true</code> it list contains no coordinates. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3b779c4695fe5720867469d1210df5e"></a><!-- doxytag: member="geos::geom::CoordinateSequence::add" ref="af3b779c4695fe5720867469d1210df5e" args="(const Coordinate &amp;c)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#af3b779c4695fe5720867469d1210df5e">add</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;c)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates.">Coordinate</a> to the list. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ac3090a9fbf6ba8758343212a318a5f89">setAt</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;c, size_t pos)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a 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 pos.  <a href="#ac3090a9fbf6ba8758343212a318a5f89"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44774ac291a7ae8b0753c183bf4fdaeb"></a><!-- doxytag: member="geos::geom::CoordinateSequence::deleteAt" ref="a44774ac291a7ae8b0753c183bf4fdaeb" args="(size_t pos)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a44774ac291a7ae8b0753c183bf4fdaeb">deleteAt</a> (size_t pos)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates.">Coordinate</a> at position pos (list will shrink). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46ab5f90983dff3a2fa4b9381c40fdac"></a><!-- doxytag: member="geos::geom::CoordinateSequence::toString" ref="a46ab5f90983dff3a2fa4b9381c40fdac" args="() const =0" -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a46ab5f90983dff3a2fa4b9381c40fdac">toString</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a string rapresentation 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>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed2aa2f665e1c688ea45ca192929c49d"></a><!-- doxytag: member="geos::geom::CoordinateSequence::setPoints" ref="aed2aa2f665e1c688ea45ca192929c49d" args="(const std::vector&lt; Coordinate &gt; &amp;v)=0" -->
virtual void&nbsp;</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><td class="mdescLeft">&nbsp;</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. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d85a76be7d7b3117e6ccbd7e39b2ee1"></a><!-- doxytag: member="geos::geom::CoordinateSequence::hasRepeatedPoints" ref="a4d85a76be7d7b3117e6ccbd7e39b2ee1" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a4d85a76be7d7b3117e6ccbd7e39b2ee1">hasRepeatedPoints</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if contains any two consecutive points. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68d66d3350c5dc11ba575f290d0c7c6e"></a><!-- doxytag: member="geos::geom::CoordinateSequence::minCoordinate" ref="a68d66d3350c5dc11ba575f290d0c7c6e" args="() const " -->
const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a68d66d3350c5dc11ba575f290d0c7c6e">minCoordinate</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a7589a0b6d792201f16d764094909805f">removeRepeatedPoints</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove consecutive equal Coordinates from the sequence.  <a href="#a7589a0b6d792201f16d764094909805f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a3c49271fdab8e9b2b4b7511948939652">getDimension</a> () const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a60768ecf8861abc0d4511f3ff142ae4a">getOrdinate</a> (size_t index, size_t ordinateIndex) const =0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a7602255f338b6ff0a550d1e5cc6a347a">getX</a> (size_t index) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#aa203b9c1013f6c9327e8bd0dc8414563">getY</a> (size_t index) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#aeeb0dade88f226128beb31d149b14c9e">setOrdinate</a> (size_t index, size_t ordinateIndex, double value)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</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><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd103ca9668f584c7ec363ba9d5d8406"></a><!-- doxytag: member="geos::geom::CoordinateSequence::apply_rw" ref="acd103ca9668f584c7ec363ba9d5d8406" args="(const CoordinateFilter *filter)=0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>apply_rw</b> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a> *filter)=0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a509dac08bd83c8344d21a28f7edba3af"></a><!-- doxytag: member="geos::geom::CoordinateSequence::apply_ro" ref="a509dac08bd83c8344d21a28f7edba3af" args="(CoordinateFilter *filter) const =0" -->
virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><b>apply_ro</b> (<a class="el" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a> *filter) const =0</td></tr>
<tr><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr><td class="memTemplItemLeft" align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#ad8729785943a7036e466e5b81f214bed">applyCoordinateFilter</a> (T &amp;f)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply a fiter 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="#ad8729785943a7036e466e5b81f214bed"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a80862d50435c54fc013c9ba7ba2c6393">removeRepeatedPoints</a> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a new <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry.">CoordinateSequence</a> being a copy of the input with any consecutive equal <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates.">Coordinate</a> removed.  <a href="#a80862d50435c54fc013c9ba7ba2c6393"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2933e1d264d4b133b5631a5c17039749"></a><!-- doxytag: member="geos::geom::CoordinateSequence::hasRepeatedPoints" ref="a2933e1d264d4b133b5631a5c17039749" args="(const CoordinateSequence *cl)" -->
static bool&nbsp;</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><td class="mdescLeft">&nbsp;</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>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67694d4fcf68bdb9451707f6b8239b47"></a><!-- doxytag: member="geos::geom::CoordinateSequence::atLeastNCoordinatesOrNothing" ref="a67694d4fcf68bdb9451707f6b8239b47" args="(size_t n, CoordinateSequence *c)" -->
static <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a67694d4fcf68bdb9451707f6b8239b47">atLeastNCoordinatesOrNothing</a> (size_t n, <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *c)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a790ba217899a1c87b71e0a2f8ea7ac81"></a><!-- doxytag: member="geos::geom::CoordinateSequence::minCoordinate" ref="a790ba217899a1c87b71e0a2f8ea7ac81" args="(CoordinateSequence *cl)" -->
static const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#a790ba217899a1c87b71e0a2f8ea7ac81">minCoordinate</a> (<a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *cl)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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 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>. This is actually the <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates.">Coordinate</a> with lower X (and Y if needed) ordinate. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html#adee7ba85a8b270345e8dfa5ebc4490b2">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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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.  <a href="#adee7ba85a8b270345e8dfa5ebc4490b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefd3dacec98fad79435ba76601e61880"></a><!-- doxytag: member="geos::geom::CoordinateSequence::equals" ref="aefd3dacec98fad79435ba76601e61880" args="(const CoordinateSequence *cl1, const CoordinateSequence *cl2)" -->
static bool&nbsp;</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><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the two arrays are identical, both null, or pointwise equal. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad731d3ad1514dd8a1ac92d1d53d5964b"></a><!-- doxytag: member="geos::geom::CoordinateSequence::scroll" ref="ad731d3ad1514dd8a1ac92d1d53d5964b" args="(CoordinateSequence *cl, const Coordinate *firstCoordinate)" -->
static void&nbsp;</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><td class="mdescLeft">&nbsp;</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>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</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><td class="mdescLeft">&nbsp;</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"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09cd5d0357620486e7b23bb1f3514e27"></a><!-- doxytag: member="geos::geom::CoordinateSequence::reverse" ref="a09cd5d0357620486e7b23bb1f3514e27" args="(CoordinateSequence *cl)" -->
static void&nbsp;</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><td class="mdescLeft">&nbsp;</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>. <br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fa22fa9e29897db91d039afb0decbf6"></a><!-- doxytag: member="geos::geom::CoordinateSequence::CoordinateSequence" ref="a6fa22fa9e29897db91d039afb0decbf6" args="(const CoordinateSequence &amp;)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>CoordinateSequence</b> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;)</td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a1f603d20589cabb54143a649038e17"></a><!-- doxytag: member="geos::geom::CoordinateSequence::operator&lt;&lt;" ref="a9a1f603d20589cabb54143a649038e17" args="(std::ostream &amp;os, const CoordinateSequence &amp;cs)" -->
std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;os, const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;cs)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa917cf936a25147fc2bfda4220df5697"></a><!-- doxytag: member="geos::geom::CoordinateSequence::operator==" ref="aa917cf936a25147fc2bfda4220df5697" args="(const CoordinateSequence &amp;seq1, const CoordinateSequence &amp;seq2)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;seq1, const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;seq2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a345638f5eeedfdabac4285d7e6bfed"></a><!-- doxytag: member="geos::geom::CoordinateSequence::operator!=" ref="a8a345638f5eeedfdabac4285d7e6bfed" args="(const CoordinateSequence &amp;seq1, const CoordinateSequence &amp;seq2)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;seq1, const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> &amp;seq2)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<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>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a22f1fddbe6697f8ceae08e6a3b08d63d"></a><!-- doxytag: member="geos::geom::CoordinateSequence::add" ref="a22f1fddbe6697f8ceae08e6a3b08d63d" args="(const std::vector&lt; Coordinate &gt; *vc, bool allowRepeated)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::geom::CoordinateSequence::add </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &gt; *&nbsp;</td>
          <td class="paramname"> <em>vc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>allowRepeated</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an array of coordinates. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>vc</em>&nbsp;</td><td>The coordinates </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>allowRepeated</em>&nbsp;</td><td>if set to false, repeated coordinates are collapsed </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true (as by general collection contract) </dd></dl>

<p>Referenced by <a class="el" href="classgeos_1_1operation_1_1buffer_1_1OffsetCurveVertexList.html#ae404ff6343ef51db76d0482249197a20">geos::operation::buffer::OffsetCurveVertexList::closeRing()</a>.</p>

</div>
</div>
<a class="anchor" id="a19a8e104eb3d47459c6a59e9885901ea"></a><!-- doxytag: member="geos::geom::CoordinateSequence::add" ref="a19a8e104eb3d47459c6a59e9885901ea" args="(const CoordinateSequence *cl, bool allowRepeated, bool direction)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::geom::CoordinateSequence::add </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&nbsp;</td>
          <td class="paramname"> <em>cl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>allowRepeated</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>direction</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add an array of coordinates. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>cl</em>&nbsp;</td><td>The coordinates</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>allowRepeated</em>&nbsp;</td><td>if set to false, repeated coordinates are collapsed</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>direction</em>&nbsp;</td><td>if false, the array is added in reverse order</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true (as by general collection contract) </dd></dl>

</div>
</div>
<a class="anchor" id="ae3d029f6e372293089b3c9171d7e479c"></a><!-- doxytag: member="geos::geom::CoordinateSequence::add" ref="ae3d029f6e372293089b3c9171d7e479c" args="(const Coordinate &amp;c, bool allowRepeated)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void geos::geom::CoordinateSequence::add </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>allowRepeated</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add a coordinate. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>The coordinate to add </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>allowRepeated</em>&nbsp;</td><td>if set to false, repeated coordinates are collapsed </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true (as by general collection contract) </dd></dl>

<p>Reimplemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a28dd44b0ccb53b51a681b1ec380f1686">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="a194f4989ac4e6171f83facec4ee08ec9"></a><!-- doxytag: member="geos::geom::CoordinateSequence::add" ref="a194f4989ac4e6171f83facec4ee08ec9" args="(size_t i, const Coordinate &amp;coord, bool allowRepeated)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void geos::geom::CoordinateSequence::add </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>i</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>coord</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>allowRepeated</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts the specified coordinate at the specified position in this list. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>i</em>&nbsp;</td><td>the position at which to insert </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>coord</em>&nbsp;</td><td>the coordinate to insert </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>allowRepeated</em>&nbsp;</td><td>if set to false, repeated coordinates are collapsed</td></tr>
  </table>
  </dd>
</dl>
<p>NOTE: this is a <a class="el" href="classgeos_1_1geom_1_1CoordinateList.html">CoordinateList</a> interface in JTS </p>

<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a69ebf75749814060476653d44c951d2b">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="ad8729785943a7036e466e5b81f214bed"></a><!-- doxytag: member="geos::geom::CoordinateSequence::applyCoordinateFilter" ref="ad8729785943a7036e466e5b81f214bed" args="(T &amp;f)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void geos::geom::CoordinateSequence::applyCoordinateFilter </td>
          <td>(</td>
          <td class="paramtype">T &amp;&nbsp;</td>
          <td class="paramname"> <em>f</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Apply a fiter 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>

</div>
</div>
<a class="anchor" id="ac07da62532a8b03ea7e6fbad2809b0ba"></a><!-- doxytag: member="geos::geom::CoordinateSequence::expandEnvelope" ref="ac07da62532a8b03ea7e6fbad2809b0ba" args="(Envelope &amp;env) const " -->
<div class="memitem">
<div class="memproto">
      <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;&nbsp;</td>
          <td class="paramname"> <em>env</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [virtual]</code></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>env</em>&nbsp;</td><td>the envelope to expand </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a5441e87f44f69cdada5ff3bf906484b9">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="abd13683c365c0eef322e72ecae3fffa9"></a><!-- doxytag: member="geos::geom::CoordinateSequence::getAt" ref="abd13683c365c0eef322e72ecae3fffa9" args="(size_t i) const =0" -->
<div class="memitem">
<div class="memproto">
      <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">size_t&nbsp;</td>
          <td class="paramname"> <em>i</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></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#a64bb37ea512388db8d5f94a5fd4dcf38">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="a3c49271fdab8e9b2b4b7511948939652"></a><!-- doxytag: member="geos::geom::CoordinateSequence::getDimension" ref="a3c49271fdab8e9b2b4b7511948939652" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual size_t geos::geom::CoordinateSequence::getDimension </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the dimension (number of ordinates in each coordinate) for this sequence.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the dimension of the sequence. </dd></dl>

<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#ae501df51c37e5662470eb6b92c1f849f">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="a60768ecf8861abc0d4511f3ff142ae4a"></a><!-- doxytag: member="geos::geom::CoordinateSequence::getOrdinate" ref="a60768ecf8861abc0d4511f3ff142ae4a" args="(size_t index, size_t ordinateIndex) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual double geos::geom::CoordinateSequence::getOrdinate </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ordinateIndex</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [pure virtual]</code></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>the coordinate index in the sequence </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ordinateIndex</em>&nbsp;</td><td>the ordinate index in the coordinate (in range [0, dimension-1]) </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a6c805eb8b6680afa9217c5389fb43c2f">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="a7602255f338b6ff0a550d1e5cc6a347a"></a><!-- doxytag: member="geos::geom::CoordinateSequence::getX" ref="a7602255f338b6ff0a550d1e5cc6a347a" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual double geos::geom::CoordinateSequence::getX </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>index</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns ordinate X (0) of the specified coordinate.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the value of the X ordinate in the index'th coordinate </dd></dl>

</div>
</div>
<a class="anchor" id="aa203b9c1013f6c9327e8bd0dc8414563"></a><!-- doxytag: member="geos::geom::CoordinateSequence::getY" ref="aa203b9c1013f6c9327e8bd0dc8414563" args="(size_t index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual double geos::geom::CoordinateSequence::getY </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>index</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns ordinate Y (1) of the specified coordinate.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the value of the Y ordinate in the index'th coordinate </dd></dl>

</div>
</div>
<a class="anchor" id="a8fa893acf32a068019741318ade63896"></a><!-- doxytag: member="geos::geom::CoordinateSequence::increasingDirection" ref="a8fa893acf32a068019741318ade63896" args="(const CoordinateSequence &amp;pts)" -->
<div class="memitem">
<div class="memproto">
      <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;&nbsp;</td>
          <td class="paramname"> <em>pts</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pts</em>&nbsp;</td><td>the array of Coordinates to test </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></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="adee7ba85a8b270345e8dfa5ebc4490b2"></a><!-- doxytag: member="geos::geom::CoordinateSequence::indexOf" ref="adee7ba85a8b270345e8dfa5ebc4490b2" args="(const Coordinate *coordinate, const CoordinateSequence *cl)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int geos::geom::CoordinateSequence::indexOf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>cl</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></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 size_t, using numeric_limits&lt;size_t&gt;::max as 'not found' value. </p>

</div>
</div>
<a class="anchor" id="a7589a0b6d792201f16d764094909805f"></a><!-- doxytag: member="geos::geom::CoordinateSequence::removeRepeatedPoints" ref="a7589a0b6d792201f16d764094909805f" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a>&amp; geos::geom::CoordinateSequence::removeRepeatedPoints </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Remove consecutive equal Coordinates from the sequence. </p>
<p>Equality test is 2D based. Returns a reference to self. </p>

<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#ab58fd13bed938a60bb9c1425341faa3d">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="a80862d50435c54fc013c9ba7ba2c6393"></a><!-- doxytag: member="geos::geom::CoordinateSequence::removeRepeatedPoints" ref="a80862d50435c54fc013c9ba7ba2c6393" args="(const CoordinateSequence *cl)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a>* geos::geom::CoordinateSequence::removeRepeatedPoints </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> *&nbsp;</td>
          <td class="paramname"> <em>cl</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a new <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry.">CoordinateSequence</a> being a copy of the input with any consecutive equal <a class="el" href="classgeos_1_1geom_1_1Coordinate.html" title="Coordinate is the lightweight class used to store coordinates.">Coordinate</a> removed. </p>
<p>Equality test is 2D based</p>
<p>Ownership of returned object goes to the caller. </p>

</div>
</div>
<a class="anchor" id="ac3090a9fbf6ba8758343212a318a5f89"></a><!-- doxytag: member="geos::geom::CoordinateSequence::setAt" ref="ac3090a9fbf6ba8758343212a318a5f89" args="(const Coordinate &amp;c, size_t pos)=0" -->
<div class="memitem">
<div class="memproto">
      <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;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a 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 pos. </p>
<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#a36beaed573f4d792dc18b839235b7daa">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="aeeb0dade88f226128beb31d149b14c9e"></a><!-- doxytag: member="geos::geom::CoordinateSequence::setOrdinate" ref="aeeb0dade88f226128beb31d149b14c9e" args="(size_t index, size_t ordinateIndex, double value)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void geos::geom::CoordinateSequence::setOrdinate </td>
          <td>(</td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>ordinateIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the value for a given ordinate of a coordinate in this sequence.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>the coordinate index in the sequence </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ordinateIndex</em>&nbsp;</td><td>the ordinate index in the coordinate (in range [0, dimension-1]) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the new ordinate value </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#a748c68a0c89fe95facf515d5d4f740d1">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="a209e02161c3752d04ff436b8a813cb20"></a><!-- doxytag: member="geos::geom::CoordinateSequence::toVector" ref="a209e02161c3752d04ff436b8a813cb20" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const std::vector&lt;<a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a>&gt;* geos::geom::CoordinateSequence::toVector </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a read-only vector with the Coordinates in this collection. </p>
<p>Whether or not the Coordinates returned are the actual underlying Coordinates or merely copies depends on the implementation. Note that if this implementation does not store its data as an array of Coordinates, this method will incur a performance penalty because the array needs to be built from scratch.</p>
<p>This method is a port of the toCoordinateArray() method of JTS. It is not much used as memory management requires us to know wheter we should or not delete the returned object in a consistent way. Our options are: use shared_ptr&lt;Coordinate&gt; or always keep ownerhips of an eventual newly created vector. We opted for the second, so the returned object is a const, to also ensure that returning an internal pointer doesn't make the object mutable.</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>use toVector(std::vector&lt;Coordinate&gt;&amp;) instead </dd></dl>

<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1CoordinateArraySequence.html#abe8ac05bfc05af30865e9034e7731fa9">geos::geom::CoordinateArraySequence</a>.</p>

</div>
</div>
<a class="anchor" id="aa9338282a924b596db9c923aa4eef188"></a><!-- doxytag: member="geos::geom::CoordinateSequence::toVector" ref="aa9338282a924b596db9c923aa4eef188" args="(std::vector&lt; Coordinate &gt; &amp;coords) const =0" -->
<div class="memitem">
<div class="memproto">
      <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;&nbsp;</td>
          <td class="paramname"> <em>coords</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pushes all Coordinates of this sequence onto 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_1CoordinateArraySequence.html#acda213d07c0e9cea38b2e60b0e43906f">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>
<hr class="footer"/><address class="footer"><small>Generated on Thu Jul 22 2010 for GEOS by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>