00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GEOS_ALGORITHM_INTERIORPOINTPOINT_H
00018 #define GEOS_ALGORITHM_INTERIORPOINTPOINT_H
00019
00020 #include <geos/geom/Coordinate.h>
00021
00022
00023 namespace geos {
00024 namespace geom {
00025 class Geometry;
00026 }
00027 }
00028
00029 namespace geos {
00030 namespace algorithm {
00031
00041 class InteriorPointPoint {
00042 private:
00043
00044 bool hasInterior;
00045
00046 geom::Coordinate centroid;
00047
00048 double minDistance;
00049
00050 geom::Coordinate interiorPoint;
00051
00057 void add(const geom::Geometry *geom);
00058
00059 void add(const geom::Coordinate *point);
00060
00061 public:
00062
00063 InteriorPointPoint(const geom::Geometry *g);
00064
00065 ~InteriorPointPoint() {}
00066
00067 bool getInteriorPoint(geom::Coordinate& ret) const;
00068
00069 };
00070
00071 }
00072 }
00073
00074
00075 #endif // GEOS_ALGORITHM_INTERIORPOINTPOINT_H
00076
00077
00078
00079
00080
00081
00082
00083