geos::algorithm::HCoordinate Class Reference

Represents a homogeneous coordinate in a 2-D coordinate space. More...

#include <HCoordinate.h>

List of all members.

Public Member Functions

 HCoordinate (long double _x, long double _y, long double _w)
 HCoordinate (const geom::Coordinate &p)
 HCoordinate (const HCoordinate &p1, const HCoordinate &p2)
long double getX () const
long double getY () const
void getCoordinate (geom::Coordinate &ret) const

Static Public Member Functions

static void intersection (const geom::Coordinate &p1, const geom::Coordinate &p2, const geom::Coordinate &q1, const geom::Coordinate &q2, geom::Coordinate &ret)
 Computes the (approximate) intersection point between two line segments using homogeneous coordinates.

Public Attributes

long double x
long double y
long double w

Friends

std::ostream & operator<< (std::ostream &o, const HCoordinate &c)


Detailed Description

Represents a homogeneous coordinate in a 2-D coordinate space.

HCoordinate are used as a clean way of computing intersections between line segments.


Member Function Documentation

static void geos::algorithm::HCoordinate::intersection ( const geom::Coordinate p1,
const geom::Coordinate p2,
const geom::Coordinate q1,
const geom::Coordinate q2,
geom::Coordinate ret 
) [static]

Computes the (approximate) intersection point between two line segments using homogeneous coordinates.

Note that this algorithm is not numerically stable; i.e. it can produce intersection points which lie outside the envelope of the line segments themselves. In order to increase the precision of the calculation input points should be normalized before passing them to this routine.


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