00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef GEOS_ALGORITHM_CENTROIDPOINT_H
00018 #define GEOS_ALGORITHM_CENTROIDPOINT_H
00019
00020 #include <geos/geom/Coordinate.h>
00021
00022
00023 namespace geos {
00024 namespace geom {
00025 class Geometry;
00026 }
00027 }
00028
00029
00030 namespace geos {
00031 namespace algorithm {
00032
00033 class CentroidPoint {
00034
00035 private:
00036
00037 int ptCount;
00038
00039 geom::Coordinate centSum;
00040
00041 public:
00042
00043 CentroidPoint()
00044 :
00045 ptCount(0),
00046 centSum(0.0, 0.0)
00047 {}
00048
00049 ~CentroidPoint()
00050 {}
00051
00058 void add(const geom::Geometry *geom);
00059
00060 void add(const geom::Coordinate *pt);
00061
00062 geom::Coordinate* getCentroid() const;
00063
00065 bool getCentroid(geom::Coordinate& ret) const;
00066 };
00067
00068 }
00069 }
00070
00071 #endif // GEOS_ALGORITHM_CENTROIDPOINT_H
00072
00073
00074
00075
00076
00077
00078
00079