Sophie

Sophie

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

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::linearref::LengthIndexedLine 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><b>linearref</b>      </li>
      <li><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html">geos::linearref::LengthIndexedLine</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<h1>geos::linearref::LengthIndexedLine Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::linearref::LengthIndexedLine" -->
<p>Supports linear referencing along a linear <a class="el" href="">Geometry</a> using the length along the line as the index. Negative length values are taken as measured in the reverse direction from the end of the geometry. Out-of-range index values are handled by clamping them to the valid range of values. Non-simple lines (i.e. which loop back to cross or touch themselves) are supported.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="LengthIndexedLine_8h_source.html">LengthIndexedLine.h</a>&gt;</code></p>

<p><a href="classgeos_1_1linearref_1_1LengthIndexedLine-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a7f1fd2d3467a3bae6e28e2da893506f9">LengthIndexedLine</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linearGeom)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs an object which allows a linear <a class="el" href="">Geometry</a> to be linearly referenced using length as an index.  <a href="#a7f1fd2d3467a3bae6e28e2da893506f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a6b80c5460decdea8001a10f6a87539e7">extractPoint</a> (double index) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Computes the <a class="el" href="">Coordinate</a> for the point on the line at the given index. If the index is out of range the first or last point on the line will be returned. The Z-ordinate of the computed point will be interpolated from the Z-ordinates of the line segment containing it, if they exist.  <a href="#a6b80c5460decdea8001a10f6a87539e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a4da9d042a9af211a365c7528a0f4f911">extractPoint</a> (double index, double offsetDistance) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a20e3c3e6faa7183e23e3f9a312893aca">extractLine</a> (double startIndex, double endIndex) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a40f40d83b12ccdc464d04ab869a97c81">indexOf</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;pt) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a5aa1c0436999e2bd799f5a2905079c73">indexOfAfter</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;pt, double minIndex) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#ab6f4d0d45a6e657f7baa0fe361555aaf">indicesOf</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *subLine) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a3da3ec0f862333ba52847414f1ed239e">project</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;pt) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a98ea7745c049335ca69ab733dc252a5e">getStartIndex</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#aaf238c5e4be1f3f7d68a18e20af8310c">getEndIndex</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a0f315b0ccf0a0a07b9188cb0e4584c16">isValidIndex</a> (double index) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#ada441865fae4714a7d1ba3d9820b04c9">clampIndex</a> (double index) const </td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Supports linear referencing along a linear <a class="el" href="">Geometry</a> using the length along the line as the index. Negative length values are taken as measured in the reverse direction from the end of the geometry. Out-of-range index values are handled by clamping them to the valid range of values. Non-simple lines (i.e. which loop back to cross or touch themselves) are supported. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a7f1fd2d3467a3bae6e28e2da893506f9"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::LengthIndexedLine" ref="a7f1fd2d3467a3bae6e28e2da893506f9" args="(const geom::Geometry *linearGeom)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">geos::linearref::LengthIndexedLine::LengthIndexedLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&nbsp;</td>
          <td class="paramname"> <em>linearGeom</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs an object which allows a linear <a class="el" href="">Geometry</a> to be linearly referenced using length as an index. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>linearGeom</em>&nbsp;</td><td>the linear geometry to reference along </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ada441865fae4714a7d1ba3d9820b04c9"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::clampIndex" ref="ada441865fae4714a7d1ba3d9820b04c9" args="(double index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double geos::linearref::LengthIndexedLine::clampIndex </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>index</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes a valid index for this line by clamping the given index to the valid range of index values</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>a valid index value </dd></dl>

</div>
</div>
<a class="anchor" id="a20e3c3e6faa7183e23e3f9a312893aca"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::extractLine" ref="a20e3c3e6faa7183e23e3f9a312893aca" args="(double startIndex, double endIndex) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>* geos::linearref::LengthIndexedLine::extractLine </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>startIndex</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>endIndex</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes the <a class="el" href="">LineString</a> for the interval on the line between the given indices. If the endIndex lies before the startIndex, the computed geometry is reversed.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>startIndex</em>&nbsp;</td><td>the index of the start of the interval </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>endIndex</em>&nbsp;</td><td>the index of the end of the interval </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the linear interval between the indices </dd></dl>

</div>
</div>
<a class="anchor" id="a4da9d042a9af211a365c7528a0f4f911"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::extractPoint" ref="a4da9d042a9af211a365c7528a0f4f911" args="(double index, double offsetDistance) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> geos::linearref::LengthIndexedLine::extractPoint </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>offsetDistance</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes the <a class="el" href="">Coordinate</a> for the point on the line at the given index, offset by the given distance. If the index is out of range the first or last point on the line will be returned. The computed point is offset to the left of the line if the offset distance is positive, to the right if negative.</p>
<p>The Z-ordinate of the computed point will be interpolated from the Z-ordinates of the line segment containing it, if they exist.</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 index of the desired point </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offsetDistance</em>&nbsp;</td><td>the distance the point is offset from the segment (positive is to the left, negative is to the right) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Coordinate at the given index </dd></dl>

</div>
</div>
<a class="anchor" id="a6b80c5460decdea8001a10f6a87539e7"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::extractPoint" ref="a6b80c5460decdea8001a10f6a87539e7" args="(double index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> geos::linearref::LengthIndexedLine::extractPoint </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>index</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Computes the <a class="el" href="">Coordinate</a> for the point on the line at the given index. If the index is out of range the first or last point on the line will be returned. The Z-ordinate of the computed point will be interpolated from the Z-ordinates of the line segment containing it, if they exist. </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 index of the desired point </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Coordinate at the given index </dd></dl>

</div>
</div>
<a class="anchor" id="aaf238c5e4be1f3f7d68a18e20af8310c"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::getEndIndex" ref="aaf238c5e4be1f3f7d68a18e20af8310c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double geos::linearref::LengthIndexedLine::getEndIndex </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the index of the end of the line </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the end index </dd></dl>

</div>
</div>
<a class="anchor" id="a98ea7745c049335ca69ab733dc252a5e"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::getStartIndex" ref="a98ea7745c049335ca69ab733dc252a5e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double geos::linearref::LengthIndexedLine::getStartIndex </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the index of the start of the line </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the start index </dd></dl>

</div>
</div>
<a class="anchor" id="a40f40d83b12ccdc464d04ab869a97c81"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::indexOf" ref="a40f40d83b12ccdc464d04ab869a97c81" args="(const geom::Coordinate &amp;pt) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double geos::linearref::LengthIndexedLine::indexOf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pt</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes the minimum index for a point on the line. If the line is not simple (i.e. loops back on itself) a single point may have more than one possible index. In this case, the smallest index is returned.</p>
<p>The supplied point does not <em>necessarily</em> have to lie precisely on the line, but if it is far from the line the accuracy and performance of this function is not guaranteed. Use <a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a3da3ec0f862333ba52847414f1ed239e">project</a> to compute a guaranteed result for points which may be far from the line.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pt</em>&nbsp;</td><td>a point on the line </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the minimum index of the point</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a3da3ec0f862333ba52847414f1ed239e">project</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a5aa1c0436999e2bd799f5a2905079c73"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::indexOfAfter" ref="a5aa1c0436999e2bd799f5a2905079c73" args="(const geom::Coordinate &amp;pt, double minIndex) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double geos::linearref::LengthIndexedLine::indexOfAfter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>minIndex</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Finds the index for a point on the line which is greater than the given index. If no such index exists, returns <code>minIndex</code>. This method can be used to determine all indexes for a point which occurs more than once on a non-simple line. It can also be used to disambiguate cases where the given point lies slightly off the line and is equidistant from two different points on the line.</p>
<p>The supplied point does not <em>necessarily</em> have to lie precisely on the line, but if it is far from the line the accuracy and performance of this function is not guaranteed. Use <a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a3da3ec0f862333ba52847414f1ed239e">project</a> to compute a guaranteed result for points which may be far from the line.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pt</em>&nbsp;</td><td>a point on the line </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>minIndex</em>&nbsp;</td><td>the value the returned index must be greater than </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the index of the point greater than the given minimum index</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classgeos_1_1linearref_1_1LengthIndexedLine.html#a3da3ec0f862333ba52847414f1ed239e">project</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab6f4d0d45a6e657f7baa0fe361555aaf"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::indicesOf" ref="ab6f4d0d45a6e657f7baa0fe361555aaf" args="(const geom::Geometry *subLine) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double* geos::linearref::LengthIndexedLine::indicesOf </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&nbsp;</td>
          <td class="paramname"> <em>subLine</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes the indices for a subline of the line. (The subline must <b>conform</b> to the line; that is, all vertices in the subline (except possibly the first and last) must be vertices of the line and occcur in the same order).</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>subLine</em>&nbsp;</td><td>a subLine of the line </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pair of indices for the start and end of the subline. </dd></dl>

</div>
</div>
<a class="anchor" id="a0f315b0ccf0a0a07b9188cb0e4584c16"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::isValidIndex" ref="a0f315b0ccf0a0a07b9188cb0e4584c16" args="(double index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::linearref::LengthIndexedLine::isValidIndex </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>index</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tests whether an index is in the valid index range for the line.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>the index to test </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if the index is in the valid range </dd></dl>

</div>
</div>
<a class="anchor" id="a3da3ec0f862333ba52847414f1ed239e"></a><!-- doxytag: member="geos::linearref::LengthIndexedLine::project" ref="a3da3ec0f862333ba52847414f1ed239e" args="(const geom::Coordinate &amp;pt) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double geos::linearref::LengthIndexedLine::project </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pt</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes the index for the closest point on the line to the given point. If more than one point has the closest distance the first one along the line is returned. (The point does not necessarily have to lie precisely on the line.)</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pt</em>&nbsp;</td><td>a point on the line </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the index of the point </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="LengthIndexedLine_8h_source.html">LengthIndexedLine.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>