Sophie

Sophie

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

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::planargraph::DirectedEdge 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_1planargraph.html">planargraph</a>      </li>
      <li><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">geos::planargraph::DirectedEdge</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<h1>geos::planargraph::DirectedEdge Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="geos::planargraph::DirectedEdge" --><!-- doxytag: inherits="geos::planargraph::GraphComponent" -->
<p>Represents a directed edge in a <a class="el" href="classgeos_1_1planargraph_1_1PlanarGraph.html" title="Represents a directed graph which is embeddable in a planar surface.">PlanarGraph</a>.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="planargraph_2DirectedEdge_8h_source.html">DirectedEdge.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for geos::planargraph::DirectedEdge:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classgeos_1_1planargraph_1_1DirectedEdge.png" usemap="#geos::planargraph::DirectedEdge_map" alt=""/>
  <map id="geos::planargraph::DirectedEdge_map" name="geos::planargraph::DirectedEdge_map">
<area href="classgeos_1_1planargraph_1_1GraphComponent.html" alt="geos::planargraph::GraphComponent" shape="rect" coords="160,0,470,24"/>
<area href="classgeos_1_1operation_1_1linemerge_1_1LineMergeDirectedEdge.html" alt="geos::operation::linemerge::LineMergeDirectedEdge" shape="rect" coords="0,112,310,136"/>
<area href="classgeos_1_1operation_1_1polygonize_1_1PolygonizeDirectedEdge.html" alt="geos::operation::polygonize::PolygonizeDirectedEdge" shape="rect" coords="320,112,630,136"/>
</map>
</div>

<p><a href="classgeos_1_1planargraph_1_1DirectedEdge-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a30915d0a706de2f7cc1a96e9a6320a33"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::NonConstList" ref="a30915d0a706de2f7cc1a96e9a6320a33" args="" -->
typedef std::list&lt; <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>NonConstList</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a423754cf323534628f9ba2a55595fbbb"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::ConstList" ref="a423754cf323534628f9ba2a55595fbbb" args="" -->
typedef std::list&lt; const <br class="typebreak"/>
<a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>ConstList</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2faa8b1c07fc36700ea363202812461"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::NonConstVect" ref="af2faa8b1c07fc36700ea363202812461" args="" -->
typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>NonConstVect</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2510acccc60ecf79751197f0e7c13310"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::ConstVect" ref="a2510acccc60ecf79751197f0e7c13310" args="" -->
typedef std::vector&lt; const <br class="typebreak"/>
<a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>ConstVect</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56834e7a3f0c36c9a060229e5dff81fe"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::Vect" ref="a56834e7a3f0c36c9a060229e5dff81fe" args="" -->
typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>Vect</b></td></tr>
<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_1planargraph_1_1DirectedEdge.html#a8015ce89d89818622b67083aaac3e991">DirectedEdge</a> (<a class="el" href="classgeos_1_1planargraph_1_1Node.html">Node</a> *newFrom, <a class="el" href="classgeos_1_1planargraph_1_1Node.html">Node</a> *newTo, const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;directionPt, bool newEdgeDirection)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructs a <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> connecting the <code>from</code> node to the <code>to</code> node.  <a href="#a8015ce89d89818622b67083aaac3e991"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae97aac7de475b1f2ba1537f0b9b0b158"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getEdge" ref="ae97aac7de475b1f2ba1537f0b9b0b158" args="() const " -->
<a class="el" href="classgeos_1_1planargraph_1_1Edge.html">Edge</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#ae97aac7de475b1f2ba1537f0b9b0b158">getEdge</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns this DirectedEdge's parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a>, or null if it has none. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a91cf4889a6a9a9327e6490145b487cea"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::setEdge" ref="a91cf4889a6a9a9327e6490145b487cea" args="(Edge *newParentEdge)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a91cf4889a6a9a9327e6490145b487cea">setEdge</a> (<a class="el" href="classgeos_1_1planargraph_1_1Edge.html">Edge</a> *newParentEdge)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Associates this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> with an <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> (possibly null, indicating no associated <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a>). <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa16cd0652fdc9b2a9b28ce026b370c80"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getQuadrant" ref="aa16cd0652fdc9b2a9b28ce026b370c80" args="() const " -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#aa16cd0652fdc9b2a9b28ce026b370c80">getQuadrant</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 0, 1, 2, or 3, indicating the quadrant in which this DirectedEdge's orientation lies. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e0c0849e0a227dcde385ca89025616f"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getDirectionPt" ref="a4e0c0849e0a227dcde385ca89025616f" args="() const " -->
const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a4e0c0849e0a227dcde385ca89025616f">getDirectionPt</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a point to which an imaginary line is drawn from the from-node to specify this DirectedEdge's orientation. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c9e66fd0983ca84b08e17bcf4d32627"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getEdgeDirection" ref="a1c9e66fd0983ca84b08e17bcf4d32627" args="() const " -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a1c9e66fd0983ca84b08e17bcf4d32627">getEdgeDirection</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether the direction of the parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> (if any) is the same as that of this Directed <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a873318bc45a79451147f5a78f67b5f7d"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getFromNode" ref="a873318bc45a79451147f5a78f67b5f7d" args="() const " -->
<a class="el" href="classgeos_1_1planargraph_1_1Node.html">Node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a873318bc45a79451147f5a78f67b5f7d">getFromNode</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the node from which this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> leaves. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7321ceeee5c2b43fe542fbda859872a"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getToNode" ref="ac7321ceeee5c2b43fe542fbda859872a" args="() const " -->
<a class="el" href="classgeos_1_1planargraph_1_1Node.html">Node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#ac7321ceeee5c2b43fe542fbda859872a">getToNode</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the node to which this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> goes. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a9a29933d812867cb4c80d7db53b0e0"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getCoordinate" ref="a7a9a29933d812867cb4c80d7db53b0e0" args="() const " -->
<a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a7a9a29933d812867cb4c80d7db53b0e0">getCoordinate</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the coordinate of the from-node. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a269cc9ef546a2c0a10f1b8b3b63b6913"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getAngle" ref="a269cc9ef546a2c0a10f1b8b3b63b6913" args="() const " -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a269cc9ef546a2c0a10f1b8b3b63b6913">getAngle</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the angle that the start of this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> makes with the positive x-axis, in radians. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b89360ac1474e217c25d61e5bea1709"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::getSym" ref="a2b89360ac1474e217c25d61e5bea1709" args="() const " -->
<a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a2b89360ac1474e217c25d61e5bea1709">getSym</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the symmetric <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> -- the other <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> associated with this DirectedEdge's parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb0c3a1b224df6e7dd9e45734ee29c7a"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::setSym" ref="abb0c3a1b224df6e7dd9e45734ee29c7a" args="(DirectedEdge *newSym)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#abb0c3a1b224df6e7dd9e45734ee29c7a">setSym</a> (<a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> *newSym)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets this DirectedEdge's symmetric <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a>, which runs in the opposite direction. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a68d1b58b380ab31c1db0264d3e85f951">compareTo</a> (const <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> *obj) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 1 if this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> has a greater angle with the positive x-axis than b", 0 if the DirectedEdges are collinear, and -1 otherwise.  <a href="#a68d1b58b380ab31c1db0264d3e85f951"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#aa1194f0f76dc037c509fb60cd38b0416">compareDirection</a> (const <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> *e) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns 1 if this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> has a greater angle with the positive x-axis than b", 0 if the DirectedEdges are collinear, and -1 otherwise.  <a href="#aa1194f0f76dc037c509fb60cd38b0416"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90329ed454a3018f77d813a7bc1246cf"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::print" ref="a90329ed454a3018f77d813a7bc1246cf" args="() const " -->
std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a90329ed454a3018f77d813a7bc1246cf">print</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints a detailed string representation of this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> to the given PrintStream. <br/></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 std::vector&lt; <a class="el" href="classgeos_1_1planargraph_1_1Edge.html">Edge</a> * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#a19fb63416d2e988ecbd310faf5aee546">toEdges</a> (std::vector&lt; <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt; &amp;dirEdges)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a List containing the parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> (possibly null) for each of the given DirectedEdges.  <a href="#a19fb63416d2e988ecbd310faf5aee546"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html#ae3d5d9c5f999041fe3dd0e7760a365b2">toEdges</a> (std::vector&lt; <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt; &amp;dirEdges, std::vector&lt; <a class="el" href="classgeos_1_1planargraph_1_1Edge.html">Edge</a> * &gt; &amp;parentEdges)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> (possibly null) of each of the given DirectedEdges to the given parentEdges vector.  <a href="#ae3d5d9c5f999041fe3dd0e7760a365b2"></a><br/></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"><a class="anchor" id="a6dc43b9b2eedd6e99b5e5f278efecf56"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::parentEdge" ref="a6dc43b9b2eedd6e99b5e5f278efecf56" args="" -->
<a class="el" href="classgeos_1_1planargraph_1_1Edge.html">Edge</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>parentEdge</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcf71b8519027a548d4f051cec28f49c"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::from" ref="abcf71b8519027a548d4f051cec28f49c" args="" -->
<a class="el" href="classgeos_1_1planargraph_1_1Node.html">Node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>from</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b2c4ad7117677eda246e7a285cb0cf1"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::to" ref="a7b2c4ad7117677eda246e7a285cb0cf1" args="" -->
<a class="el" href="classgeos_1_1planargraph_1_1Node.html">Node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>to</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a377854c4ba8980437b60ade85806089b"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::p0" ref="a377854c4ba8980437b60ade85806089b" args="" -->
<a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>p0</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00fc0bb0d82e9bf1cc55ffd4c1aee48f"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::p1" ref="a00fc0bb0d82e9bf1cc55ffd4c1aee48f" args="" -->
<a class="el" href="classgeos_1_1geom_1_1Coordinate.html">geom::Coordinate</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>p1</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2303c0f12397421241dabed7c977572"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::sym" ref="aa2303c0f12397421241dabed7c977572" args="" -->
<a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>sym</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acb3fd912bb8fc0d67dfef8ebc5f8b8cf"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::edgeDirection" ref="acb3fd912bb8fc0d67dfef8ebc5f8b8cf" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>edgeDirection</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0a73b6dfc7537bbc99a0cb44934c1e67"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::quadrant" ref="a0a73b6dfc7537bbc99a0cb44934c1e67" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>quadrant</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa16b5763f3dca04212e3ff16521893e0"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::angle" ref="aa16b5763f3dca04212e3ff16521893e0" args="" -->
double&nbsp;</td><td class="memItemRight" valign="bottom"><b>angle</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Represents a directed edge in a <a class="el" href="classgeos_1_1planargraph_1_1PlanarGraph.html" title="Represents a directed graph which is embeddable in a planar surface.">PlanarGraph</a>. </p>
<p>A <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> may or may not have a reference to a parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> (some applications of planar graphs may not require explicit <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> objects to be created). Usually a client using a <a class="el" href="classgeos_1_1planargraph_1_1PlanarGraph.html" title="Represents a directed graph which is embeddable in a planar surface.">PlanarGraph</a> will subclass <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> to add its own application-specific data and methods. </p>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8015ce89d89818622b67083aaac3e991"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::DirectedEdge" ref="a8015ce89d89818622b67083aaac3e991" args="(Node *newFrom, Node *newTo, const geom::Coordinate &amp;directionPt, bool newEdgeDirection)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">geos::planargraph::DirectedEdge::DirectedEdge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgeos_1_1planargraph_1_1Node.html">Node</a> *&nbsp;</td>
          <td class="paramname"> <em>newFrom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classgeos_1_1planargraph_1_1Node.html">Node</a> *&nbsp;</td>
          <td class="paramname"> <em>newTo</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>directionPt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>newEdgeDirection</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructs a <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> connecting the <code>from</code> node to the <code>to</code> node. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>directionPt</em>&nbsp;</td><td>specifies this DirectedEdge's direction (given by an imaginary line from the <code>from</code> node to <code>directionPt</code>) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>edgeDirection</em>&nbsp;</td><td>whether this DirectedEdge's direction is the same as or opposite to that of the parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> (if any) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa1194f0f76dc037c509fb60cd38b0416"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::compareDirection" ref="aa1194f0f76dc037c509fb60cd38b0416" args="(const DirectedEdge *e) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int geos::planargraph::DirectedEdge::compareDirection </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> *&nbsp;</td>
          <td class="paramname"> <em>e</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns 1 if this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> has a greater angle with the positive x-axis than b", 0 if the DirectedEdges are collinear, and -1 otherwise. </p>
<p>Using the obvious algorithm of simply computing the angle is not robust, since the angle calculation is susceptible to roundoff. A robust algorithm is:</p>
<ul>
<li>first compare the quadrants. If the quadrants are different, it it trivial to determine which std::vector is "greater".</li>
<li>if the vectors lie in the same quadrant, the robust RobustCGAlgorithms::computeOrientation(Coordinate, Coordinate, Coordinate) function can be used to decide the relative orientation of the vectors. </li>
</ul>

</div>
</div>
<a class="anchor" id="a68d1b58b380ab31c1db0264d3e85f951"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::compareTo" ref="a68d1b58b380ab31c1db0264d3e85f951" args="(const DirectedEdge *obj) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int geos::planargraph::DirectedEdge::compareTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> *&nbsp;</td>
          <td class="paramname"> <em>obj</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns 1 if this <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html" title="Represents a directed edge in a PlanarGraph.">DirectedEdge</a> has a greater angle with the positive x-axis than b", 0 if the DirectedEdges are collinear, and -1 otherwise. </p>
<p>Using the obvious algorithm of simply computing the angle is not robust, since the angle calculation is susceptible to roundoff. A robust algorithm is:</p>
<ul>
<li>first compare the quadrants. If the quadrants are different, it it trivial to determine which std::vector is "greater".</li>
<li>if the vectors lie in the same quadrant, the robust RobustCGAlgorithms::computeOrientation(Coordinate, Coordinate, Coordinate) function can be used to decide the relative orientation of the vectors. </li>
</ul>

</div>
</div>
<a class="anchor" id="a19fb63416d2e988ecbd310faf5aee546"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::toEdges" ref="a19fb63416d2e988ecbd310faf5aee546" args="(std::vector&lt; DirectedEdge * &gt; &amp;dirEdges)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static std::vector&lt;<a class="el" href="classgeos_1_1planargraph_1_1Edge.html">Edge</a>*&gt;* geos::planargraph::DirectedEdge::toEdges </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>dirEdges</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a List containing the parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> (possibly null) for each of the given DirectedEdges. </p>
<p>NOTE: ownership of the returned vector is left to the caller, see the equivalent function taking a vector reference to avoid this. </p>

</div>
</div>
<a class="anchor" id="ae3d5d9c5f999041fe3dd0e7760a365b2"></a><!-- doxytag: member="geos::planargraph::DirectedEdge::toEdges" ref="ae3d5d9c5f999041fe3dd0e7760a365b2" args="(std::vector&lt; DirectedEdge * &gt; &amp;dirEdges, std::vector&lt; Edge * &gt; &amp;parentEdges)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void geos::planargraph::DirectedEdge::toEdges </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1planargraph_1_1DirectedEdge.html">DirectedEdge</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>dirEdges</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="classgeos_1_1planargraph_1_1Edge.html">Edge</a> * &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>parentEdges</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>Add parent <a class="el" href="classgeos_1_1planargraph_1_1Edge.html" title="Represents an undirected edge of a PlanarGraph.">Edge</a> (possibly null) of each of the given DirectedEdges to the given parentEdges vector. </p>
<p>NOTE: parents are pushed to the parentEdges vector, make sure it is empty if index-based corrispondence is important. </p>

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