Isis 3.0 Developer's Reference (API) |
Home |
00001 #ifndef GridPolygonSeeder_h 00002 #define GridPolygonSeeder_h 00003 00026 #include "geos/geom/Point.h" 00027 #include "geos/geom/MultiPolygon.h" 00028 00029 #include "PolygonSeeder.h" 00030 00031 namespace Isis { 00032 class Pvl; 00033 00064 class GridPolygonSeeder : public PolygonSeeder { 00065 public: 00066 GridPolygonSeeder(Pvl &pvl); 00067 00069 virtual ~GridPolygonSeeder() {}; 00070 00071 std::vector<geos::geom::Point *> Seed(const geos::geom::MultiPolygon *mp); 00072 00073 const bool SubGrid() { 00074 return p_subGrid; 00075 } 00076 virtual PvlGroup PluginParameters(std::string grpName); 00077 00078 protected: 00079 virtual void Parse(Pvl &pvl); 00080 00081 private: 00082 std::vector<geos::geom::Point *> SeedGrid(const geos::geom::MultiPolygon *mp); 00083 00084 std::vector<geos::geom::Point *> SeedSubGrid(const geos::geom::MultiPolygon *mp); 00085 00086 00087 geos::geom::Point *CheckSubGrid(const geos::geom::MultiPolygon &, const double &, 00088 const double &, const int &); 00089 00090 double p_Xspacing; 00091 double p_Yspacing; 00092 bool p_subGrid; 00093 }; 00094 }; 00095 00096 #endif