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/export.h>
00021 #include <geos/geom/Coordinate.h>
00022
00023
00024 namespace geos {
00025 namespace geom {
00026 class Geometry;
00027 }
00028 }
00029
00030 namespace geos {
00031 namespace algorithm {
00032
00042 class GEOS_DLL InteriorPointPoint {
00043 private:
00044
00045 bool hasInterior;
00046
00047 geom::Coordinate centroid;
00048
00049 double minDistance;
00050
00051 geom::Coordinate interiorPoint;
00052
00058 void add(const geom::Geometry *geom);
00059
00060 void add(const geom::Coordinate *point);
00061
00062 public:
00063
00064 InteriorPointPoint(const geom::Geometry *g);
00065
00066 ~InteriorPointPoint() {}
00067
00068 bool getInteriorPoint(geom::Coordinate& ret) const;
00069
00070 };
00071
00072 }
00073 }
00074
00075
00076 #endif // GEOS_ALGORITHM_INTERIORPOINTPOINT_H
00077
00078
00079
00080
00081
00082
00083
00084