00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef GEOS_ALGORITHM_HCOORDINATE_H
00022 #define GEOS_ALGORITHM_HCOORDINATE_H
00023
00024 #include <geos/export.h>
00025 #include <iosfwd>
00026
00027
00028 namespace geos {
00029 namespace geom {
00030 class Coordinate;
00031 }
00032 }
00033
00034 namespace geos {
00035 namespace algorithm {
00036
00037
00044 class GEOS_DLL HCoordinate {
00045
00046 public:
00047
00048 friend std::ostream& operator<< (std::ostream& o, const HCoordinate& c);
00049
00060 static void intersection(const geom::Coordinate &p1,
00061 const geom::Coordinate &p2,
00062 const geom::Coordinate &q1,
00063 const geom::Coordinate &q2,
00064 geom::Coordinate &ret);
00065
00066 long double x,y,w;
00067
00068 HCoordinate();
00069
00070 HCoordinate(long double _x, long double _y, long double _w);
00071
00072 HCoordinate(const geom::Coordinate& p);
00073
00082 HCoordinate(const geom::Coordinate& p1, const geom::Coordinate& p2);
00083
00084 HCoordinate(const geom::Coordinate& p1, const geom::Coordinate& p2,
00085 const geom::Coordinate& q1, const geom::Coordinate& q2);
00086
00087 HCoordinate(const HCoordinate &p1, const HCoordinate &p2);
00088
00089 long double getX() const;
00090
00091 long double getY() const;
00092
00093 void getCoordinate(geom::Coordinate &ret) const;
00094
00095 };
00096
00097 std::ostream& operator<< (std::ostream& o, const HCoordinate& c);
00098
00099 }
00100 }
00101
00102 #endif // GEOS_ALGORITHM_HCOORDINATE_H
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119