GEOS 3.3.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

HCoordinate.h
1 /**********************************************************************
2 * $Id: HCoordinate.h 3338 2011-05-10 09:50:44Z strk $
3 *
4 * GEOS - Geometry Engine Open Source
5 * http://geos.refractions.net
6 *
7 * Copyright (C) 2011 Sandro Santilli <strk@keybit.net>
8 * Copyright (C) 2005-2006 Refractions Research Inc.
9 * Copyright (C) 2001-2002 Vivid Solutions Inc.
10 *
11 * This is free software; you can redistribute and/or modify it under
12 * the terms of the GNU Lesser General Public Licence as published
13 * by the Free Software Foundation.
14 * See the COPYING file for more information.
15 *
16 **********************************************************************
17 *
18 * Last port: algorithm/HCoordinate.java r386 (JTS-1.12+)
19 *
20 **********************************************************************/
21
22 #ifndef GEOS_ALGORITHM_HCOORDINATE_H
23 #define GEOS_ALGORITHM_HCOORDINATE_H
24
25 #include <geos/export.h>
26 #include <iosfwd>
27
28 // Forward declarations
29 namespace geos {
30 namespace geom {
31 class Coordinate;
32 }
33 }
34
35 namespace geos {
36 namespace algorithm { // geos::algorithm
37
38
45 class GEOS_DLL HCoordinate {
46
47 public:
48
49 friend std::ostream& operator<< (std::ostream& o, const HCoordinate& c);
50
61 static void intersection(const geom::Coordinate &p1,
62 const geom::Coordinate &p2,
63 const geom::Coordinate &q1,
64 const geom::Coordinate &q2,
65 geom::Coordinate &ret);
66
67 double x,y,w;
68
69 HCoordinate();
70
71 HCoordinate(double _x, double _y, double _w);
72
73 HCoordinate(const geom::Coordinate& p);
74
83 HCoordinate(const geom::Coordinate& p1, const geom::Coordinate& p2);
84
85 HCoordinate(const geom::Coordinate& p1, const geom::Coordinate& p2,
86 const geom::Coordinate& q1, const geom::Coordinate& q2);
87
88 HCoordinate(const HCoordinate &p1, const HCoordinate &p2);
89
90 double getX() const;
91
92 double getY() const;
93
94 void getCoordinate(geom::Coordinate &ret) const;
95
96 };
97
98 std::ostream& operator<< (std::ostream& o, const HCoordinate& c);
99
100 } // namespace geos::algorithm
101 } // namespace geos
102
103 #endif // GEOS_ALGORITHM_HCOORDINATE_H
104