Sophie

Sophie

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

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::LinearLocation 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_1LinearLocation.html">geos::linearref::LinearLocation</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<h1>geos::linearref::LinearLocation Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::linearref::LinearLocation" -->
<p>Represents a location along a <a class="el" href="">LineString</a> or <a class="el" href="">MultiLineString</a>.  
<a href="#_details">More...</a></p>

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

<p><a href="classgeos_1_1linearref_1_1LinearLocation-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_1LinearLocation.html#a2982685aadfd7bdce29215db3a653780">LinearLocation</a> (unsigned int segmentIndex=0, double segmentFraction=0.0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a939ee9e798870ef3b4d73d5ddfdadd"></a><!-- doxytag: member="geos::linearref::LinearLocation::LinearLocation" ref="a4a939ee9e798870ef3b4d73d5ddfdadd" args="(unsigned int componentIndex, unsigned int segmentIndex, double segmentFraction)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>LinearLocation</b> (unsigned int componentIndex, unsigned int segmentIndex, double segmentFraction)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#ac1de5d7e436b7249e57c2227c566eafa">clamp</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linear)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#abe73a6c5d10b6bc8f2dbfa5bd25ddc82">snapToVertex</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linearGeom, double minDistance)</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_1LinearLocation.html#ad85594096af5010d17cfa365b90c5fc6">getSegmentLength</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linearGeom) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#a9480d64cb462dc9ae0aacb9489f2d71a">setToEnd</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linear)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#a4dd16e05c60395709cad76135d9dcc28">getComponentIndex</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#ad81d3625cbf3aac3979b6a5ef1856150">getSegmentIndex</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_1LinearLocation.html#ab2ecfec59697bdd38274173e5fb847e4">getSegmentFraction</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_1LinearLocation.html#aa8492cc339a966a44c2db8a0446110fb">isVertex</a> () const </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_1LinearLocation.html#a50df7142413e9e0f71c08a17e44fb53a">getCoordinate</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linearGeom) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::auto_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1LineSegment.html">geom::LineSegment</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#a0a4580505787da9f9e6a89eea69590cd">getSegment</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linearGeom) 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_1LinearLocation.html#a0a7f6a53225266e50cd5e9f74aacd975">isValid</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linearGeom) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#aeb879ed9f26e208b409a5911bbd181fc">compareTo</a> (const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;other) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#a863ac8110072aedd8df6acf3e2cbe3e3">compareLocationValues</a> (unsigned int componentIndex1, unsigned int segmentIndex1, double segmentFraction1) 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_1LinearLocation.html#aa2afb586307fce0af72b060354f1c78c">isOnSameSegment</a> (const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;loc) const </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_1linearref_1_1LinearLocation.html">LinearLocation</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#a017a305a4c32502bb87ab61cd569fbc7">getEndLocation</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *linear)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static <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_1LinearLocation.html#ae9137b3ee11b144d01d928a2ad85ac14">pointAlongSegmentByFraction</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;p0, const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;p1, double frac)</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_1linearref_1_1LinearLocation.html#ab07ef5d1e06013ff38ebfb6cfe8c3c78">compareLocationValues</a> (unsigned int componentIndex0, unsigned int segmentIndex0, double segmentFraction0, unsigned int componentIndex1, unsigned int segmentIndex1, double segmentFraction1)</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="a52969730714ff3945d04707c6d045179"></a><!-- doxytag: member="geos::linearref::LinearLocation::operator&lt;&lt;" ref="a52969730714ff3945d04707c6d045179" args="(std::ostream &amp;out, const LinearLocation &amp;obj)" -->
std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>operator&lt;&lt;</b> (std::ostream &amp;out, const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;obj)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Represents a location along a <a class="el" href="">LineString</a> or <a class="el" href="">MultiLineString</a>. </p>
<p>The referenced geometry is not maintained within this location, but must be provided for operations which require it. Various methods are provided to manipulate the location value and query the geometry it references. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2982685aadfd7bdce29215db3a653780"></a><!-- doxytag: member="geos::linearref::LinearLocation::LinearLocation" ref="a2982685aadfd7bdce29215db3a653780" args="(unsigned int segmentIndex=0, double segmentFraction=0.0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">geos::linearref::LinearLocation::LinearLocation </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>segmentIndex</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>segmentFraction</em> = <code>0.0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates a location referring to the start of a linear geometry </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac1de5d7e436b7249e57c2227c566eafa"></a><!-- doxytag: member="geos::linearref::LinearLocation::clamp" ref="ac1de5d7e436b7249e57c2227c566eafa" args="(const geom::Geometry *linear)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::linearref::LinearLocation::clamp </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>linear</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ensures the indexes are valid for a given linear <a class="el" href="">Geometry</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>linear</em>&nbsp;</td><td>a linear geometry </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab07ef5d1e06013ff38ebfb6cfe8c3c78"></a><!-- doxytag: member="geos::linearref::LinearLocation::compareLocationValues" ref="ab07ef5d1e06013ff38ebfb6cfe8c3c78" args="(unsigned int componentIndex0, unsigned int segmentIndex0, double segmentFraction0, unsigned int componentIndex1, unsigned int segmentIndex1, double segmentFraction1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int geos::linearref::LinearLocation::compareLocationValues </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>componentIndex0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>segmentIndex0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>segmentFraction0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>componentIndex1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>segmentIndex1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>segmentFraction1</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>Compares two sets of location values for 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>componentIndex0</em>&nbsp;</td><td>a component index </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>segmentIndex0</em>&nbsp;</td><td>a segment index </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>segmentFraction0</em>&nbsp;</td><td>a segment fraction </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>componentIndex1</em>&nbsp;</td><td>another component index </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>segmentIndex1</em>&nbsp;</td><td>another segment index </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>segmentFraction1</em>&nbsp;</td><td>another segment fraction </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a negative integer, zero, or a positive integer as the first set of location values is less than, equal to, or greater than the second set of locationValues </dd></dl>

</div>
</div>
<a class="anchor" id="a863ac8110072aedd8df6acf3e2cbe3e3"></a><!-- doxytag: member="geos::linearref::LinearLocation::compareLocationValues" ref="a863ac8110072aedd8df6acf3e2cbe3e3" args="(unsigned int componentIndex1, unsigned int segmentIndex1, double segmentFraction1) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int geos::linearref::LinearLocation::compareLocationValues </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>componentIndex1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>segmentIndex1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>segmentFraction1</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>Compares this object with the specified index values for 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>componentIndex1</em>&nbsp;</td><td>a component index </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>segmentIndex1</em>&nbsp;</td><td>a segment index </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>segmentFraction1</em>&nbsp;</td><td>a segment fraction </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a negative integer, zero, or a positive integer as this <code>LineStringLocation</code> is less than, equal to, or greater than the specified locationValues </dd></dl>

</div>
</div>
<a class="anchor" id="aeb879ed9f26e208b409a5911bbd181fc"></a><!-- doxytag: member="geos::linearref::LinearLocation::compareTo" ref="aeb879ed9f26e208b409a5911bbd181fc" args="(const LinearLocation &amp;other) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int geos::linearref::LinearLocation::compareTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>other</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Compares this object with the specified object for 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>o</em>&nbsp;</td><td>the <code>LineStringLocation</code> with which this <code>Coordinate</code> is being compared </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a negative integer, zero, or a positive integer as this <code>LineStringLocation</code> is less than, equal to, or greater than the specified <code>LineStringLocation</code> </dd></dl>

</div>
</div>
<a class="anchor" id="a4dd16e05c60395709cad76135d9dcc28"></a><!-- doxytag: member="geos::linearref::LinearLocation::getComponentIndex" ref="a4dd16e05c60395709cad76135d9dcc28" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int geos::linearref::LinearLocation::getComponentIndex </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the component index for this location.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the component index </dd></dl>

</div>
</div>
<a class="anchor" id="a50df7142413e9e0f71c08a17e44fb53a"></a><!-- doxytag: member="geos::linearref::LinearLocation::getCoordinate" ref="a50df7142413e9e0f71c08a17e44fb53a" args="(const geom::Geometry *linearGeom) 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::LinearLocation::getCoordinate </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> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the <a class="el" href="">Coordinate</a> along the given linear <a class="el" href="">Geometry</a> which is referenced by this location.</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>a linear geometry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <code>Coordinate</code> at the location </dd></dl>

</div>
</div>
<a class="anchor" id="a017a305a4c32502bb87ab61cd569fbc7"></a><!-- doxytag: member="geos::linearref::LinearLocation::getEndLocation" ref="a017a305a4c32502bb87ab61cd569fbc7" args="(const geom::Geometry *linear)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> geos::linearref::LinearLocation::getEndLocation </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>linear</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets a location which refers to the end of a linear <a class="el" href="">Geometry</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>linear</em>&nbsp;</td><td>the linear geometry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a new <code><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html" title="Represents a location along a LineString or MultiLineString.">LinearLocation</a></code> </dd></dl>

</div>
</div>
<a class="anchor" id="a0a4580505787da9f9e6a89eea69590cd"></a><!-- doxytag: member="geos::linearref::LinearLocation::getSegment" ref="a0a4580505787da9f9e6a89eea69590cd" args="(const geom::Geometry *linearGeom) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::auto_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1LineSegment.html">geom::LineSegment</a>&gt; geos::linearref::LinearLocation::getSegment </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> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets a <a class="el" href="">LineSegment</a> representing the segment of the given linear <a class="el" href="">Geometry</a> which contains this location.</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>a linear geometry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <code>LineSegment</code> containing the location </dd></dl>

</div>
</div>
<a class="anchor" id="ab2ecfec59697bdd38274173e5fb847e4"></a><!-- doxytag: member="geos::linearref::LinearLocation::getSegmentFraction" ref="ab2ecfec59697bdd38274173e5fb847e4" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double geos::linearref::LinearLocation::getSegmentFraction </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the segment fraction for this location</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the segment fraction </dd></dl>

</div>
</div>
<a class="anchor" id="ad81d3625cbf3aac3979b6a5ef1856150"></a><!-- doxytag: member="geos::linearref::LinearLocation::getSegmentIndex" ref="ad81d3625cbf3aac3979b6a5ef1856150" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int geos::linearref::LinearLocation::getSegmentIndex </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the segment index for this location</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the segment index </dd></dl>

</div>
</div>
<a class="anchor" id="ad85594096af5010d17cfa365b90c5fc6"></a><!-- doxytag: member="geos::linearref::LinearLocation::getSegmentLength" ref="ad85594096af5010d17cfa365b90c5fc6" args="(const geom::Geometry *linearGeom) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double geos::linearref::LinearLocation::getSegmentLength </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> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the length of the segment in the given Geometry containing this location.</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>a linear geometry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the length of the segment </dd></dl>

</div>
</div>
<a class="anchor" id="aa2afb586307fce0af72b060354f1c78c"></a><!-- doxytag: member="geos::linearref::LinearLocation::isOnSameSegment" ref="aa2afb586307fce0af72b060354f1c78c" args="(const LinearLocation &amp;loc) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::linearref::LinearLocation::isOnSameSegment </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>loc</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tests whether two locations are on the same segment in the parent <a class="el" href="">Geometry</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>loc</em>&nbsp;</td><td>a location on the same geometry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the locations are on the same segment of the parent geometry </dd></dl>

</div>
</div>
<a class="anchor" id="a0a7f6a53225266e50cd5e9f74aacd975"></a><!-- doxytag: member="geos::linearref::LinearLocation::isValid" ref="a0a7f6a53225266e50cd5e9f74aacd975" args="(const geom::Geometry *linearGeom) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::linearref::LinearLocation::isValid </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> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tests whether this location refers to a valid location on the given linear <a class="el" href="">Geometry</a>.</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>a linear geometry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this location is valid </dd></dl>

</div>
</div>
<a class="anchor" id="aa8492cc339a966a44c2db8a0446110fb"></a><!-- doxytag: member="geos::linearref::LinearLocation::isVertex" ref="aa8492cc339a966a44c2db8a0446110fb" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::linearref::LinearLocation::isVertex </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tests whether this location refers to a vertex</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the location is a vertex </dd></dl>

</div>
</div>
<a class="anchor" id="ae9137b3ee11b144d01d928a2ad85ac14"></a><!-- doxytag: member="geos::linearref::LinearLocation::pointAlongSegmentByFraction" ref="ae9137b3ee11b144d01d928a2ad85ac14" args="(const geom::Coordinate &amp;p0, const geom::Coordinate &amp;p1, double frac)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> geos::linearref::LinearLocation::pointAlongSegmentByFraction </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>p0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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>p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>frac</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>Computes the <a class="el" href="">Coordinate</a> of a point a given fraction along the line segment <code>(p0, p1)</code>. If the fraction is greater than 1.0 the last point of the segment is returned. If the fraction is less than or equal to 0.0 the first point of the segment is returned. The Z ordinate is interpolated from the Z-ordinates of the given points, if they are specified.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>p0</em>&nbsp;</td><td>the first point of the line segment </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>p1</em>&nbsp;</td><td>the last point of the line segment </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>frac</em>&nbsp;</td><td>the length to the desired point </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <code>Coordinate</code> of the desired point </dd></dl>

</div>
</div>
<a class="anchor" id="a9480d64cb462dc9ae0aacb9489f2d71a"></a><!-- doxytag: member="geos::linearref::LinearLocation::setToEnd" ref="a9480d64cb462dc9ae0aacb9489f2d71a" args="(const geom::Geometry *linear)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::linearref::LinearLocation::setToEnd </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>linear</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sets the value of this location to refer the end of a linear geometry</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>linear</em>&nbsp;</td><td>the linear geometry to set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abe73a6c5d10b6bc8f2dbfa5bd25ddc82"></a><!-- doxytag: member="geos::linearref::LinearLocation::snapToVertex" ref="abe73a6c5d10b6bc8f2dbfa5bd25ddc82" args="(const geom::Geometry *linearGeom, double minDistance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::linearref::LinearLocation::snapToVertex </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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>minDistance</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Snaps the value of this location to the nearest vertex on the given linear <a class="el" href="">Geometry</a>, if the vertex is closer than <code>minDistance</code>.</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>a linear geometry </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>minDistance</em>&nbsp;</td><td>the minimum allowable distance to a vertex </td></tr>
  </table>
  </dd>
</dl>

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