00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef GEOS_OP_OVERLAY_ELEVATIONMATRIXCELL_H
00021 #define GEOS_OP_OVERLAY_ELEVATIONMATRIXCELL_H
00022
00023 #include <geos/export.h>
00024
00025 #include <set>
00026
00027 #ifdef _MSC_VER
00028 #pragma warning(push)
00029 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
00030 #endif
00031
00032
00033 namespace geos {
00034 namespace geom {
00035 class Coordinate;
00036 }
00037 }
00038
00039 namespace geos {
00040 namespace operation {
00041 namespace overlay {
00042
00043
00044 class GEOS_DLL ElevationMatrixCell {
00045 public:
00046 ElevationMatrixCell();
00047 ~ElevationMatrixCell();
00048 void add(const geom::Coordinate &c);
00049 void add(double z);
00050 double getAvg(void) const;
00051 double getTotal(void) const;
00052 std::string print() const;
00053 private:
00054 std::set<double>zvals;
00055 double ztot;
00056 };
00057
00058 }
00059 }
00060 }
00061
00062 #ifdef _MSC_VER
00063 #pragma warning(pop)
00064 #endif
00065
00066 #endif // ndef GEOS_OP_OVERLAY_ELEVATIONMATRIXCELL_H
00067
00068
00069
00070
00071
00072
00073
00074