geos_390_docs/classgeos_1_1linearref_1_1L...

741 lines
43 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GEOS: geos::linearref::LocationIndexedLine Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">GEOS
&#160;<span id="projectnumber">3.9.1dev</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegeos.html">geos</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1linearref.html">linearref</a></li><li class="navelem"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html">LocationIndexedLine</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgeos_1_1linearref_1_1LocationIndexedLine-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::linearref::LocationIndexedLine Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Supports linear referencing along a linear <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> using <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocations</a> as the index.
<a href="classgeos_1_1linearref_1_1LocationIndexedLine.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for geos::linearref::LocationIndexedLine:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine__coll__graph.svg" width="100%" height="431"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aafb7b2747c28e27780f7e89aa71fe528"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#aafb7b2747c28e27780f7e89aa71fe528">LocationIndexedLine</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *p_linearGeom)</td></tr>
<tr class="memdesc:aafb7b2747c28e27780f7e89aa71fe528"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs an object which allows linear referencing along a given linear <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>. <a href="#aafb7b2747c28e27780f7e89aa71fe528">More...</a><br /></td></tr>
<tr class="separator:aafb7b2747c28e27780f7e89aa71fe528"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a697807a0d1851ca60707991fdf343499"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a697807a0d1851ca60707991fdf343499">extractPoint</a> (const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;index) const </td></tr>
<tr class="memdesc:a697807a0d1851ca60707991fdf343499"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> for the point on the line at the given index. <a href="#a697807a0d1851ca60707991fdf343499">More...</a><br /></td></tr>
<tr class="separator:a697807a0d1851ca60707991fdf343499"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbb5af4008a39c36cde036accf71bb2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#abbb5af4008a39c36cde036accf71bb2d">extractPoint</a> (const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;index, double offsetDistance) const </td></tr>
<tr class="memdesc:abbb5af4008a39c36cde036accf71bb2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> for the point on the line at the given index, offset by the given distance. <a href="#abbb5af4008a39c36cde036accf71bb2d">More...</a><br /></td></tr>
<tr class="separator:abbb5af4008a39c36cde036accf71bb2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d5406c9af8e126396052603af1eed30"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a1d5406c9af8e126396052603af1eed30">extractLine</a> (const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;startIndex, const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;endIndex) const </td></tr>
<tr class="memdesc:a1d5406c9af8e126396052603af1eed30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> for the interval on the line between the given indices. <a href="#a1d5406c9af8e126396052603af1eed30">More...</a><br /></td></tr>
<tr class="separator:a1d5406c9af8e126396052603af1eed30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af36058eb4bf3b9a9dd17df4165666f7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#af36058eb4bf3b9a9dd17df4165666f7e">indexOf</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;pt) const </td></tr>
<tr class="memdesc:af36058eb4bf3b9a9dd17df4165666f7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the index for a given point on the line. <a href="#af36058eb4bf3b9a9dd17df4165666f7e">More...</a><br /></td></tr>
<tr class="separator:af36058eb4bf3b9a9dd17df4165666f7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99e001504849e601400a5bac60697fe5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a99e001504849e601400a5bac60697fe5">indexOfAfter</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;pt, const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;minIndex) const </td></tr>
<tr class="memdesc:a99e001504849e601400a5bac60697fe5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the index for a point on the line which is greater than the given index. <a href="#a99e001504849e601400a5bac60697fe5">More...</a><br /></td></tr>
<tr class="separator:a99e001504849e601400a5bac60697fe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90296472f4dc4a9b6f0d8178b7cb4632"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a90296472f4dc4a9b6f0d8178b7cb4632">indicesOf</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *subLine) const </td></tr>
<tr class="memdesc:a90296472f4dc4a9b6f0d8178b7cb4632"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the indices for a subline of the line. <a href="#a90296472f4dc4a9b6f0d8178b7cb4632">More...</a><br /></td></tr>
<tr class="separator:a90296472f4dc4a9b6f0d8178b7cb4632"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8250d38dfdcdd4d2d1c9864e8971ffb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a8250d38dfdcdd4d2d1c9864e8971ffb5">project</a> (const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;pt) const </td></tr>
<tr class="memdesc:a8250d38dfdcdd4d2d1c9864e8971ffb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the index for the closest point on the line to the given point. <a href="#a8250d38dfdcdd4d2d1c9864e8971ffb5">More...</a><br /></td></tr>
<tr class="separator:a8250d38dfdcdd4d2d1c9864e8971ffb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af358d7a08139a04628707228ca3c3765"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#af358d7a08139a04628707228ca3c3765">getStartIndex</a> () const </td></tr>
<tr class="memdesc:af358d7a08139a04628707228ca3c3765"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the start of the line. <a href="#af358d7a08139a04628707228ca3c3765">More...</a><br /></td></tr>
<tr class="separator:af358d7a08139a04628707228ca3c3765"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab84bfb78f1dcec952c2feb44032b8819"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#ab84bfb78f1dcec952c2feb44032b8819">getEndIndex</a> () const </td></tr>
<tr class="memdesc:ab84bfb78f1dcec952c2feb44032b8819"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the end of the line. <a href="#ab84bfb78f1dcec952c2feb44032b8819">More...</a><br /></td></tr>
<tr class="separator:ab84bfb78f1dcec952c2feb44032b8819"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5daedcb95e0f28750959b63995919896"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a5daedcb95e0f28750959b63995919896">isValidIndex</a> (const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;index) const </td></tr>
<tr class="memdesc:a5daedcb95e0f28750959b63995919896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests whether an index is in the valid index range for the line. <a href="#a5daedcb95e0f28750959b63995919896">More...</a><br /></td></tr>
<tr class="separator:a5daedcb95e0f28750959b63995919896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5766846f815b9af53875048ee95b65a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a5766846f815b9af53875048ee95b65a2">clampIndex</a> (const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;index) const </td></tr>
<tr class="memdesc:a5766846f815b9af53875048ee95b65a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes a valid index for this line by clamping the given index to the valid range of index values. <a href="#a5766846f815b9af53875048ee95b65a2">More...</a><br /></td></tr>
<tr class="separator:a5766846f815b9af53875048ee95b65a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ad73c0acee7fe10fc70edc8f500b4f474"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#ad73c0acee7fe10fc70edc8f500b4f474">checkGeometryType</a> ()</td></tr>
<tr class="separator:ad73c0acee7fe10fc70edc8f500b4f474"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:ae2469af7617ee8ce2cb57fd8156a830c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#ae2469af7617ee8ce2cb57fd8156a830c">linearGeom</a></td></tr>
<tr class="separator:ae2469af7617ee8ce2cb57fd8156a830c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Supports linear referencing along a linear <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> using <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocations</a> as the index. </p>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00039">39</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aafb7b2747c28e27780f7e89aa71fe528"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::linearref::LocationIndexedLine::LocationIndexedLine </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>p_linearGeom</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructs an object which allows linear referencing along a given linear <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">p_linearGeom</td><td>the linear geometry to reference along </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00060">60</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ad73c0acee7fe10fc70edc8f500b4f474"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::linearref::LocationIndexedLine::checkGeometryType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00044">44</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="Geometry_8h_source.html#l00356">geos::geom::Geometry::isLineal()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_ad73c0acee7fe10fc70edc8f500b4f474_cgraph.svg" width="467" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a5766846f815b9af53875048ee95b65a2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> geos::linearref::LocationIndexedLine::clampIndex </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </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="section return"><dt>Returns</dt><dd>a valid index value </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00268">268</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#ac1de5d7e436b7249e57c2227c566eafa">geos::linearref::LinearLocation::clamp()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_a5766846f815b9af53875048ee95b65a2_cgraph.svg" width="455" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a1d5406c9af8e126396052603af1eed30"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::linearref::LocationIndexedLine::extractLine </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&#160;</td>
<td class="paramname"><em>startIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&#160;</td>
<td class="paramname"><em>endIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineString</a> for the interval on the line between the given indices. </p>
<p>If the endIndex lies before the startIndex, the computed geometry is reversed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">startIndex</td><td>the index of the start of the interval </td></tr>
<tr><td class="paramname">endIndex</td><td>the index of the end of the interval </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the linear interval between the indices </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00128">128</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1ExtractLineByLocation.html#a3b7be088b267db30899dbdf4696407ca">geos::linearref::ExtractLineByLocation::extract()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_a1d5406c9af8e126396052603af1eed30_cgraph.svg" width="408" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a697807a0d1851ca60707991fdf343499"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> geos::linearref::LocationIndexedLine::extractPoint </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> for the point on the line at the given index. </p>
<p>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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>the index of the desired point </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Coordinate at the given index </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00080">80</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#a50df7142413e9e0f71c08a17e44fb53a">geos::linearref::LinearLocation::getCoordinate()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_a697807a0d1851ca60707991fdf343499_cgraph.svg" width="458" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="abbb5af4008a39c36cde036accf71bb2d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> geos::linearref::LocationIndexedLine::extractPoint </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>offsetDistance</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> for the point on the line at the given index, offset by the given distance. </p>
<p>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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>the index of the desired point </td></tr>
<tr><td class="paramname">offsetDistance</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="section return"><dt>Returns</dt><dd>the Coordinate at the given index </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00105">105</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#af3303b29a06005f9aec33f98f13ba06a">geos::linearref::LinearLocation::getSegment()</a>, and <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#ab2ecfec59697bdd38274173e5fb847e4">geos::linearref::LinearLocation::getSegmentFraction()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_abbb5af4008a39c36cde036accf71bb2d_cgraph.svg" width="458" height="123"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="ab84bfb78f1dcec952c2feb44032b8819"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> geos::linearref::LocationIndexedLine::getEndIndex </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the end of the line. </p>
<dl class="section return"><dt>Returns</dt><dd>the end index </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00241">241</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#a017a305a4c32502bb87ab61cd569fbc7">geos::linearref::LinearLocation::getEndLocation()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_ab84bfb78f1dcec952c2feb44032b8819_cgraph.svg" width="463" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="af358d7a08139a04628707228ca3c3765"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> geos::linearref::LocationIndexedLine::getStartIndex </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the index of the start of the line. </p>
<dl class="section return"><dt>Returns</dt><dd>the start index </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00229">229</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
</div>
</div>
<a class="anchor" id="af36058eb4bf3b9a9dd17df4165666f7e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> geos::linearref::LocationIndexedLine::indexOf </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>pt</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the index for a given point 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_1LocationIndexedLine.html#a8250d38dfdcdd4d2d1c9864e8971ffb5">project</a> to compute a guaranteed result for points which may be far from the line.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pt</td><td>a point on the line </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the index of the point</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a8250d38dfdcdd4d2d1c9864e8971ffb5" title="Computes the index for the closest point on the line to the given point. ">project</a> </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00151">151</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LocationIndexOfPoint.html#a02a74fcef91895e29a08ba509950e95f">geos::linearref::LocationIndexOfPoint::indexOf()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_af36058eb4bf3b9a9dd17df4165666f7e_cgraph.svg" width="408" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a99e001504849e601400a5bac60697fe5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> geos::linearref::LocationIndexedLine::indexOfAfter </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>pt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&#160;</td>
<td class="paramname"><em>minIndex</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Finds the index for a point on the line which is greater than the given index. </p>
<p>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_1LocationIndexedLine.html#a8250d38dfdcdd4d2d1c9864e8971ffb5">project</a> to compute a guaranteed result for points which may be far from the line.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pt</td><td>a point on the line </td></tr>
<tr><td class="paramname">minIndex</td><td>the value the returned index must be greater than </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the index of the point greater than the given minimum index</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgeos_1_1linearref_1_1LocationIndexedLine.html#a8250d38dfdcdd4d2d1c9864e8971ffb5" title="Computes the index for the closest point on the line to the given point. ">project</a> </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00181">181</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LocationIndexOfPoint.html#ad6a5f8fbb298ead569b3befa6d99c159">geos::linearref::LocationIndexOfPoint::indexOfAfter()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_a99e001504849e601400a5bac60697fe5_cgraph.svg" width="440" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a90296472f4dc4a9b6f0d8178b7cb4632"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a>* geos::linearref::LocationIndexedLine::indicesOf </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *&#160;</td>
<td class="paramname"><em>subLine</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the indices for a subline of the line. </p>
<p>(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 occur in the same order).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">subLine</td><td>a subLine of the line </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pair of indices for the start and end of the subline. </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00199">199</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LocationIndexOfLine.html#a38bd354832f0cc07c37e805526b11384">geos::linearref::LocationIndexOfLine::indicesOf()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_a90296472f4dc4a9b6f0d8178b7cb4632_cgraph.svg" width="408" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a5daedcb95e0f28750959b63995919896"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::linearref::LocationIndexedLine::isValidIndex </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> &amp;&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests whether an index is in the valid index range for the line. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>the index to test </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if the index is in the valid range </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00254">254</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html#a0a7f6a53225266e50cd5e9f74aacd975">geos::linearref::LinearLocation::isValid()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_a5daedcb95e0f28750959b63995919896_cgraph.svg" width="459" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a8250d38dfdcdd4d2d1c9864e8971ffb5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1linearref_1_1LinearLocation.html">LinearLocation</a> geos::linearref::LocationIndexedLine::project </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&#160;</td>
<td class="paramname"><em>pt</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the index for the closest point on the line to the given point. </p>
<p>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 class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pt</td><td>a point on the line </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the index of the point </dd></dl>
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00217">217</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
<p>References <a class="el" href="classgeos_1_1linearref_1_1LocationIndexOfPoint.html#a02a74fcef91895e29a08ba509950e95f">geos::linearref::LocationIndexOfPoint::indexOf()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1linearref_1_1LocationIndexedLine_a8250d38dfdcdd4d2d1c9864e8971ffb5_cgraph.svg" width="408" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="ae2469af7617ee8ce2cb57fd8156a830c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>* geos::linearref::LocationIndexedLine::linearGeom</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="LocationIndexedLine_8h_source.html#l00041">41</a> of file <a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="LocationIndexedLine_8h_source.html">LocationIndexedLine.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>