Sophie

Sophie

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

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::noding::SegmentIntersectionDetector Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath">
    <ul>
      <li><a class="el" href="namespacegeos.html">geos</a>      </li>
      <li><a class="el" href="namespacegeos_1_1noding.html">noding</a>      </li>
      <li><a class="el" href="classgeos_1_1noding_1_1SegmentIntersectionDetector.html">geos::noding::SegmentIntersectionDetector</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::noding::SegmentIntersectionDetector Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::noding::SegmentIntersectionDetector" --><!-- doxytag: inherits="geos::noding::SegmentIntersector" -->
<p>Detects and records an intersection between two <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a>s, if one exists.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="SegmentIntersectionDetector_8h_source.html">SegmentIntersectionDetector.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::noding::SegmentIntersectionDetector:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classgeos_1_1noding_1_1SegmentIntersectionDetector.png" usemap="#geos::noding::SegmentIntersectionDetector_map" alt=""/>
  <map id="geos::noding::SegmentIntersectionDetector_map" name="geos::noding::SegmentIntersectionDetector_map">
<area href="classgeos_1_1noding_1_1SegmentIntersector.html" alt="geos::noding::SegmentIntersector" shape="rect" coords="0,0,250,24"/>
</map>
</div>

<p><a href="classgeos_1_1noding_1_1SegmentIntersectionDetector-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"><a class="anchor" id="a8d364430f25d50c1637346477d4fdd51"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::SegmentIntersectionDetector" ref="a8d364430f25d50c1637346477d4fdd51" args="(LineIntersector *li)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>SegmentIntersectionDetector</b> (<a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">LineIntersector</a> *li)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5faf27cd487e3dcd4c75a8bdaa2fa738"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::setFindProper" ref="a5faf27cd487e3dcd4c75a8bdaa2fa738" args="(bool findProper)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setFindProper</b> (bool findProper)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6305e9fa742ddc531aec0b52e44b9b30"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::setFindAllIntersectionTypes" ref="a6305e9fa742ddc531aec0b52e44b9b30" args="(bool findAllTypes)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setFindAllIntersectionTypes</b> (bool findAllTypes)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1SegmentIntersectionDetector.html#adb04288ed28b12593d58f0d767ec9064">hasIntersection</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_1noding_1_1SegmentIntersectionDetector.html#a506450066c5a2897ca109c269c47fd89">hasProperIntersection</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_1noding_1_1SegmentIntersectionDetector.html#aa7542ef3ed118313eabce3a8ddf766ed">hasNonProperIntersection</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> *const&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1SegmentIntersectionDetector.html#aa13289ab24e47df9c67a503ce2880945">getIntersection</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1SegmentIntersectionDetector.html#a378dc2d15f6a4f759daf5d9b32e5f259">getIntersectionSegments</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_1noding_1_1SegmentIntersectionDetector.html#a7696b62e218cd0c5dd221d8737f275e9">isDone</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reports whether the client of this class needs to continue testing all intersections in an arrangement.  <a href="#a7696b62e218cd0c5dd221d8737f275e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1SegmentIntersectionDetector.html#a7c88328bf88e1939f739a9c724c7dd46">processIntersections</a> (<a class="el" href="classgeos_1_1noding_1_1SegmentString.html">noding::SegmentString</a> *e0, int segIndex0, <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">noding::SegmentString</a> *e1, int segIndex1)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Detects and records an intersection between two <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a>s, if one exists. </p>
<p>This strategy can be configured to search for proper intersections. In this case, the presence of any intersection will still be recorded, but searching will continue until either a proper intersection has been found or no intersections are detected.</p>
<p>Only a single intersection is recorded.</p>
<dl class="version"><dt><b>Version:</b></dt><dd>1.7 </dd></dl>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa13289ab24e47df9c67a503ce2880945"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::getIntersection" ref="aa13289ab24e47df9c67a503ce2880945" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>* const geos::noding::SegmentIntersectionDetector::getIntersection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the computed location of the intersection. Due to round-off, the location may not be exact.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the coordinate for the intersection location </dd></dl>

</div>
</div>
<a class="anchor" id="a378dc2d15f6a4f759daf5d9b32e5f259"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::getIntersectionSegments" ref="a378dc2d15f6a4f759daf5d9b32e5f259" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">geom::CoordinateSequence</a>* geos::noding::SegmentIntersectionDetector::getIntersectionSegments </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Gets the endpoints of the intersecting segments.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>an array of the segment endpoints (p00, p01, p10, p11) </dd></dl>

</div>
</div>
<a class="anchor" id="adb04288ed28b12593d58f0d767ec9064"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::hasIntersection" ref="adb04288ed28b12593d58f0d767ec9064" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::noding::SegmentIntersectionDetector::hasIntersection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tests whether an intersection was found.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if an intersection was found </dd></dl>

</div>
</div>
<a class="anchor" id="aa7542ef3ed118313eabce3a8ddf766ed"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::hasNonProperIntersection" ref="aa7542ef3ed118313eabce3a8ddf766ed" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::noding::SegmentIntersectionDetector::hasNonProperIntersection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tests whether a non-proper intersection was found.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if a non-proper intersection was found </dd></dl>

</div>
</div>
<a class="anchor" id="a506450066c5a2897ca109c269c47fd89"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::hasProperIntersection" ref="a506450066c5a2897ca109c269c47fd89" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::noding::SegmentIntersectionDetector::hasProperIntersection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Tests whether a proper intersection was found.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if a proper intersection was found </dd></dl>

</div>
</div>
<a class="anchor" id="a7696b62e218cd0c5dd221d8737f275e9"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::isDone" ref="a7696b62e218cd0c5dd221d8737f275e9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::noding::SegmentIntersectionDetector::isDone </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reports whether the client of this class needs to continue testing all intersections in an arrangement. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if there is not need to continue testing segments</dd></dl>
<p>The default implementation always return false (process all intersections). </p>

<p>Reimplemented from <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html#a2402e2ce3a39edad9f5d283be73b5d1d">geos::noding::SegmentIntersector</a>.</p>

</div>
</div>
<a class="anchor" id="a7c88328bf88e1939f739a9c724c7dd46"></a><!-- doxytag: member="geos::noding::SegmentIntersectionDetector::processIntersections" ref="a7c88328bf88e1939f739a9c724c7dd46" args="(noding::SegmentString *e0, int segIndex0, noding::SegmentString *e1, int segIndex1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::noding::SegmentIntersectionDetector::processIntersections </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgeos_1_1noding_1_1SegmentString.html">noding::SegmentString</a> *&nbsp;</td>
          <td class="paramname"> <em>e0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>segIndex0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgeos_1_1noding_1_1SegmentString.html">noding::SegmentString</a> *&nbsp;</td>
          <td class="paramname"> <em>e1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>segIndex1</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This method is called by clients of the <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html">SegmentIntersector</a> class to process intersections for two segments of the <a class="el" href="">SegmentStrings</a> being intersected. Note that some clients (such as <a class="el" href="">MonotoneChain</a>s) may optimize away this call for segment pairs which they have determined do not intersect (e.g. by an disjoint envelope test). </p>

<p>Implements <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html#a23998a6202706d84baf9aac78f9d2ee5">geos::noding::SegmentIntersector</a>.</p>

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