Isis 3 Programmer Reference
GridPolygonSeeder.h
1 #ifndef GridPolygonSeeder_h
2 #define GridPolygonSeeder_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include "geos/geom/Point.h"
11 #include "geos/geom/MultiPolygon.h"
12 
13 #include "PolygonSeeder.h"
14 
15 namespace Isis {
16  class Pvl;
17 
49  public:
50  GridPolygonSeeder(Pvl &pvl);
51 
53  virtual ~GridPolygonSeeder() {};
54 
55  std::vector<geos::geom::Point *> Seed(const geos::geom::MultiPolygon *mp);
56 
57  bool SubGrid() {
58  return p_subGrid;
59  }
60  virtual PvlGroup PluginParameters(QString grpName);
61 
62  protected:
63  virtual void Parse(Pvl &pvl);
64 
65  private:
66  std::vector<geos::geom::Point *> SeedGrid(const geos::geom::MultiPolygon *mp);
67 
68  std::vector<geos::geom::Point *> SeedSubGrid(const geos::geom::MultiPolygon *mp);
69 
70 
71  geos::geom::Point *CheckSubGrid(const geos::geom::MultiPolygon &, const double &,
72  const double &, const int &);
73 
74  double p_Xspacing;
75  double p_Yspacing;
76  bool p_subGrid;
77  };
78 };
79 
80 #endif
Isis::GridPolygonSeeder::Seed
std::vector< geos::geom::Point * > Seed(const geos::geom::MultiPolygon *mp)
Seed a polygon with points.
Definition: GridPolygonSeeder.cpp:52
Isis::GridPolygonSeeder::PluginParameters
virtual PvlGroup PluginParameters(QString grpName)
Plugin parameters.
Definition: GridPolygonSeeder.cpp:442
Isis::Pvl
Container for cube-like labels.
Definition: Pvl.h:119
Isis::GridPolygonSeeder
Seed points using a grid.
Definition: GridPolygonSeeder.h:48
Isis::GridPolygonSeeder::~GridPolygonSeeder
virtual ~GridPolygonSeeder()
Destructor.
Definition: GridPolygonSeeder.h:53
Isis::GridPolygonSeeder::GridPolygonSeeder
GridPolygonSeeder(Pvl &pvl)
Construct a GridPolygonSeeder algorithm.
Definition: GridPolygonSeeder.cpp:29
Isis::GridPolygonSeeder::CheckSubGrid
geos::geom::Point * CheckSubGrid(const geos::geom::MultiPolygon &, const double &, const double &, const int &)
This method is used to search for a valid point, on the polygon, within the square whose center is de...
Definition: GridPolygonSeeder.cpp:292
Isis::PolygonSeeder
This class is used as the base class for all PolygonSeeder objects.
Definition: PolygonSeeder.h:47
Isis::GridPolygonSeeder::SeedSubGrid
std::vector< geos::geom::Point * > SeedSubGrid(const geos::geom::MultiPolygon *mp)
This method works a lot like SeedGrid, except around the edges of known polygons.
Definition: GridPolygonSeeder.cpp:124
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::GridPolygonSeeder::Parse
virtual void Parse(Pvl &pvl)
Parse the GridPolygonSeeder spicific parameters from the PVL.
Definition: GridPolygonSeeder.cpp:381