Sophie

Sophie

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

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::geom::prep::AbstractPreparedPolygonContains 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_1geom.html">geom</a>      </li>
      <li><b>prep</b>      </li>
      <li><a class="el" href="classgeos_1_1geom_1_1prep_1_1AbstractPreparedPolygonContains.html">geos::geom::prep::AbstractPreparedPolygonContains</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<h1>geos::geom::prep::AbstractPreparedPolygonContains Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::geom::prep::AbstractPreparedPolygonContains" --><!-- doxytag: inherits="geos::geom::prep::PreparedPolygonPredicate" -->
<p>A base class containing the logic for computes the <code>contains</code> and <code>covers</code> spatial relationship predicates for a <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html">PreparedPolygon</a> relative to all other <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> classes.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AbstractPreparedPolygonContains_8h_source.html">AbstractPreparedPolygonContains.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::geom::prep::AbstractPreparedPolygonContains:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classgeos_1_1geom_1_1prep_1_1AbstractPreparedPolygonContains.png" usemap="#geos::geom::prep::AbstractPreparedPolygonContains_map" alt=""/>
  <map id="geos::geom::prep::AbstractPreparedPolygonContains_map" name="geos::geom::prep::AbstractPreparedPolygonContains_map">
<area href="classgeos_1_1geom_1_1prep_1_1PreparedPolygonPredicate.html" alt="geos::geom::prep::PreparedPolygonPredicate" shape="rect" coords="159,0,467,24"/>
<area href="classgeos_1_1geom_1_1prep_1_1PreparedPolygonContains.html" alt="geos::geom::prep::PreparedPolygonContains" shape="rect" coords="0,112,308,136"/>
<area href="classgeos_1_1geom_1_1prep_1_1PreparedPolygonCovers.html" alt="geos::geom::prep::PreparedPolygonCovers" shape="rect" coords="318,112,626,136"/>
</map>
</div>

<p><a href="classgeos_1_1geom_1_1prep_1_1AbstractPreparedPolygonContains-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="aa83bbdb478b20dbc516fad07119c941b"></a><!-- doxytag: member="geos::geom::prep::AbstractPreparedPolygonContains::AbstractPreparedPolygonContains" ref="aa83bbdb478b20dbc516fad07119c941b" args="(const PreparedPolygon *const prepPoly)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>AbstractPreparedPolygonContains</b> (const <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html">PreparedPolygon</a> *const prepPoly)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ebe0a5c9c9ea26b91274c1a8e10c9d0"></a><!-- doxytag: member="geos::geom::prep::AbstractPreparedPolygonContains::AbstractPreparedPolygonContains" ref="a8ebe0a5c9c9ea26b91274c1a8e10c9d0" args="(const PreparedPolygon *const prepPoly, bool requireSomePointInInterior)" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>AbstractPreparedPolygonContains</b> (const <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html">PreparedPolygon</a> *const prepPoly, bool <a class="el" href="classgeos_1_1geom_1_1prep_1_1AbstractPreparedPolygonContains.html#ae45e6b71a8d85892d13e34f7622cdd31">requireSomePointInInterior</a>)</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1AbstractPreparedPolygonContains.html#a40a340530e4d7ebf07a731258497a357">eval</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom)</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_1geom_1_1prep_1_1AbstractPreparedPolygonContains.html#ae0fba49106f225fd7399605437560823">fullTopologicalPredicate</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> *geom)=0</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1prep_1_1AbstractPreparedPolygonContains.html#ae45e6b71a8d85892d13e34f7622cdd31">requireSomePointInInterior</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>A base class containing the logic for computes the <code>contains</code> and <code>covers</code> spatial relationship predicates for a <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygon.html">PreparedPolygon</a> relative to all other <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> classes. </p>
<p>Uses short-circuit tests and indexing to improve performance.</p>
<p>Contains and covers are very similar, and differ only in how certain cases along the boundary are handled. These cases require full topological evaluation to handle, so all the code in this class is common to both predicates.</p>
<p>It is not possible to short-circuit in all cases, in particular in the case where line segments of the test geometry touches the polygon linework. In this case full topology must be computed. (However, if the test geometry consists of only points, this <em>can</em> be evaluated in an optimized fashion.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Martin Davis </dd></dl>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a40a340530e4d7ebf07a731258497a357"></a><!-- doxytag: member="geos::geom::prep::AbstractPreparedPolygonContains::eval" ref="a40a340530e4d7ebf07a731258497a357" args="(const geom::Geometry *geom)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool geos::geom::prep::AbstractPreparedPolygonContains::eval </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>geom</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Evaluate the <code>contains</code> or <code>covers</code> relationship for the given 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>geom</em>&nbsp;</td><td>the test geometry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if the test geometry is contained </dd></dl>

<p>Referenced by <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygonContains.html#a517a41317f9c2994a60aef07ba32af2a">geos::geom::prep::PreparedPolygonContains::contains()</a>, and <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygonCovers.html#a77005a8073696363374c1284f18b219f">geos::geom::prep::PreparedPolygonCovers::covers()</a>.</p>

</div>
</div>
<a class="anchor" id="ae0fba49106f225fd7399605437560823"></a><!-- doxytag: member="geos::geom::prep::AbstractPreparedPolygonContains::fullTopologicalPredicate" ref="ae0fba49106f225fd7399605437560823" args="(const geom::Geometry *geom)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool geos::geom::prep::AbstractPreparedPolygonContains::fullTopologicalPredicate </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>geom</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Computes the full topological predicate. Used when short-circuit tests are not conclusive.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>geom</em>&nbsp;</td><td>the test geometry </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if this prepared polygon has the relationship with the test geometry </dd></dl>

<p>Implemented in <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygonContains.html#a9ba1d345023ac1b0489e44884586e100">geos::geom::prep::PreparedPolygonContains</a>, and <a class="el" href="classgeos_1_1geom_1_1prep_1_1PreparedPolygonCovers.html#a8754efdeab8ef963a865ae535a9df0f3">geos::geom::prep::PreparedPolygonCovers</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ae45e6b71a8d85892d13e34f7622cdd31"></a><!-- doxytag: member="geos::geom::prep::AbstractPreparedPolygonContains::requireSomePointInInterior" ref="ae45e6b71a8d85892d13e34f7622cdd31" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classgeos_1_1geom_1_1prep_1_1AbstractPreparedPolygonContains.html#ae45e6b71a8d85892d13e34f7622cdd31">geos::geom::prep::AbstractPreparedPolygonContains::requireSomePointInInterior</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This flag controls a difference between contains and covers.</p>
<p>For contains the value is true. For covers the value is false. </p>

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