Sophie

Sophie

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

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::IntersectionAdder 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_1IntersectionAdder.html">geos::noding::IntersectionAdder</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="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<h1>geos::noding::IntersectionAdder Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::noding::IntersectionAdder" --><!-- doxytag: inherits="geos::noding::SegmentIntersector" -->
<p><code>#include &lt;<a class="el" href="IntersectionAdder_8h_source.html">IntersectionAdder.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::noding::IntersectionAdder:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classgeos_1_1noding_1_1IntersectionAdder.png" usemap="#geos::noding::IntersectionAdder_map" alt=""/>
  <map id="geos::noding::IntersectionAdder_map" name="geos::noding::IntersectionAdder_map">
<area href="classgeos_1_1noding_1_1SegmentIntersector.html" alt="geos::noding::SegmentIntersector" shape="rect" coords="0,0,197,24"/>
</map>
</div>

<p><a href="classgeos_1_1noding_1_1IntersectionAdder-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="a2261aabc8f21db65c3c6dda7e245c955"></a><!-- doxytag: member="geos::noding::IntersectionAdder::IntersectionAdder" ref="a2261aabc8f21db65c3c6dda7e245c955" args="(algorithm::LineIntersector &amp;newLi)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>IntersectionAdder</b> (<a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a> &amp;newLi)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f9b105d999b63621d1856e425f98655"></a><!-- doxytag: member="geos::noding::IntersectionAdder::getLineIntersector" ref="a4f9b105d999b63621d1856e425f98655" args="()" -->
<a class="el" href="classgeos_1_1algorithm_1_1LineIntersector.html">algorithm::LineIntersector</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>getLineIntersector</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <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_1noding_1_1IntersectionAdder.html#a8343f416e551d07204b681a47bd5a2dc">getProperIntersectionPoint</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa24647fa6f90433ae81c8109beddc829"></a><!-- doxytag: member="geos::noding::IntersectionAdder::hasIntersection" ref="aa24647fa6f90433ae81c8109beddc829" args="()" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>hasIntersection</b> ()</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_1IntersectionAdder.html#a97e082438a0ca42ab804b7d061a752d3">hasProperIntersection</a> ()</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_1IntersectionAdder.html#a7226f13f231d0a496f0286a42d9e1ea4">hasProperInteriorIntersection</a> ()</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_1IntersectionAdder.html#a1b2affb36276fc054692f90196204377">hasInteriorIntersection</a> ()</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_1IntersectionAdder.html#a6bb3124a2ec395b39762eedcd5758de7">processIntersections</a> (<a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *e0, int segIndex0, <a class="el" href="classgeos_1_1noding_1_1SegmentString.html">SegmentString</a> *e1, int segIndex1)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1noding_1_1IntersectionAdder.html#aa904563a2e9b0784cdd5b484d4704ac7">isDone</a> () 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"><a class="anchor" id="abc74e735907cdda6d390714678174a38"></a><!-- doxytag: member="geos::noding::IntersectionAdder::isAdjacentSegments" ref="abc74e735907cdda6d390714678174a38" args="(int i1, int i2)" -->
static bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>isAdjacentSegments</b> (int i1, int i2)</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a496dabe962092df690ac70afbe69c9fe"></a><!-- doxytag: member="geos::noding::IntersectionAdder::numIntersections" ref="a496dabe962092df690ac70afbe69c9fe" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>numIntersections</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab075115ac08a8665d94ddabb73008640"></a><!-- doxytag: member="geos::noding::IntersectionAdder::numInteriorIntersections" ref="ab075115ac08a8665d94ddabb73008640" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>numInteriorIntersections</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3da93f0736166f59a1a14bd8e20240fb"></a><!-- doxytag: member="geos::noding::IntersectionAdder::numProperIntersections" ref="a3da93f0736166f59a1a14bd8e20240fb" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>numProperIntersections</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ca6ef03f448f707e9fb8cdbb652a8bc"></a><!-- doxytag: member="geos::noding::IntersectionAdder::numTests" ref="a3ca6ef03f448f707e9fb8cdbb652a8bc" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>numTests</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Computes the intersections between two line segments in <a class="el" href="classgeos_1_1noding_1_1SegmentString.html" title="An interface for classes which represent a sequence of contiguous line segments.">SegmentString</a> and adds them to each string. The <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html">SegmentIntersector</a> is passed to a <a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a>. The <a class="el" href="">addIntersections</a> method is called whenever the <a class="el" href="classgeos_1_1noding_1_1Noder.html">Noder</a> detects that two SegmentStrings <em>might</em> intersect. This class is an example of the <em>Strategy</em> pattern. </p>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a8343f416e551d07204b681a47bd5a2dc"></a><!-- doxytag: member="geos::noding::IntersectionAdder::getProperIntersectionPoint" ref="a8343f416e551d07204b681a47bd5a2dc" args="()" -->
<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>* geos::noding::IntersectionAdder::getProperIntersectionPoint </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="return"><dt><b>Returns:</b></dt><dd>the proper intersection point, or <code>NULL</code> if none was found </dd></dl>

</div>
</div>
<a class="anchor" id="a1b2affb36276fc054692f90196204377"></a><!-- doxytag: member="geos::noding::IntersectionAdder::hasInteriorIntersection" ref="a1b2affb36276fc054692f90196204377" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::noding::IntersectionAdder::hasInteriorIntersection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>An interior intersection is an intersection which is in the interior of some segment. </p>

</div>
</div>
<a class="anchor" id="a7226f13f231d0a496f0286a42d9e1ea4"></a><!-- doxytag: member="geos::noding::IntersectionAdder::hasProperInteriorIntersection" ref="a7226f13f231d0a496f0286a42d9e1ea4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::noding::IntersectionAdder::hasProperInteriorIntersection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A proper interior intersection is a proper intersection which is <b>not</b> contained in the set of boundary nodes set for this <a class="el" href="classgeos_1_1noding_1_1SegmentIntersector.html" title="Processes possible intersections detected by a Noder.">SegmentIntersector</a>. </p>

</div>
</div>
<a class="anchor" id="a97e082438a0ca42ab804b7d061a752d3"></a><!-- doxytag: member="geos::noding::IntersectionAdder::hasProperIntersection" ref="a97e082438a0ca42ab804b7d061a752d3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::noding::IntersectionAdder::hasProperIntersection </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>A proper intersection is an intersection which is interior to at least two line segments. Note that a proper intersection is not necessarily in the interior of the entire Geometry, since another edge may have an endpoint equal to the intersection, which according to SFS semantics can result in the point being on the Boundary of the Geometry. </p>

</div>
</div>
<a class="anchor" id="aa904563a2e9b0784cdd5b484d4704ac7"></a><!-- doxytag: member="geos::noding::IntersectionAdder::isDone" ref="aa904563a2e9b0784cdd5b484d4704ac7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool geos::noding::IntersectionAdder::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>Always process all intersections</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>false always </dd></dl>

<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="a6bb3124a2ec395b39762eedcd5758de7"></a><!-- doxytag: member="geos::noding::IntersectionAdder::processIntersections" ref="a6bb3124a2ec395b39762eedcd5758de7" args="(SegmentString *e0, int segIndex0, SegmentString *e1, int segIndex1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void geos::noding::IntersectionAdder::processIntersections </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgeos_1_1noding_1_1SegmentString.html">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">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 SegmentStrings being intersected. Note that some clients (such as MonotoneChains) 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="IntersectionAdder_8h_source.html">IntersectionAdder.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>