USGS

Isis 3.0 Developer's Reference (API)

Home

GridPolygonSeeder.h

Go to the documentation of this file.
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