geos::geomgraph::EdgeEnd Class Reference

Models the end of an edge incident on a node. More...

#include <EdgeEnd.h>

Inheritance diagram for geos::geomgraph::EdgeEnd:

geos::geomgraph::DirectedEdge geos::operation::relate::EdgeEndBundle

List of all members.

Public Member Functions

 EdgeEnd (Edge *newEdge, const geom::Coordinate &newP0, const geom::Coordinate &newP1, Label *newLabel=NULL)
Edge * getEdge ()
virtual LabelgetLabel ()
virtual geom::CoordinategetCoordinate ()
virtual geom::CoordinategetDirectedCoordinate ()
virtual int getQuadrant ()
virtual double getDx ()
virtual double getDy ()
virtual void setNode (Node *newNode)
virtual Node * getNode ()
virtual int compareTo (const EdgeEnd *e) const
virtual int compareDirection (const EdgeEnd *e) const
virtual void computeLabel ()
virtual std::string print ()

Protected Member Functions

 EdgeEnd (Edge *newEdge)
virtual void init (const geom::Coordinate &newP0, const geom::Coordinate &newP1)

Protected Attributes

Edge * edge
Labellabel

Friends

std::ostream & operator<< (std::ostream &, const EdgeEnd &)


Detailed Description

Models the end of an edge incident on a node.

EdgeEnds have a direction determined by the direction of the ray from the initial point to the next point. EdgeEnds are comparable under the ordering "a has a greater angle with the x-axis than b". This ordering is used to sort EdgeEnds around a node.


Constructor & Destructor Documentation

geos::geomgraph::EdgeEnd::EdgeEnd ( Edge *  newEdge,
const geom::Coordinate newP0,
const geom::Coordinate newP1,
Label newLabel = NULL 
)

NOTES:


Member Function Documentation

virtual int geos::geomgraph::EdgeEnd::compareDirection ( const EdgeEnd e  )  const [virtual]

Implements the total order relation:

a has a greater angle with the positive x-axis than b

Using the obvious algorithm of simply computing the angle is not robust, since the angle calculation is obviously susceptible to roundoff. A robust algorithm is:


The documentation for this class was generated from the following file:
Generated on Fri Mar 27 04:53:32 2009 for GEOS by  doxygen 1.5.4