Isis 3 Programmer Reference
GridPolygonSeeder.h
1#ifndef GridPolygonSeeder_h
2#define GridPolygonSeeder_h
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
15namespace Isis {
16 class Pvl;
17
49 public:
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
Seed points using a grid.
std::vector< geos::geom::Point * > Seed(const geos::geom::MultiPolygon *mp)
Seed a polygon with points.
virtual void Parse(Pvl &pvl)
Parse the GridPolygonSeeder spicific parameters from the PVL.
virtual PvlGroup PluginParameters(QString grpName)
Plugin parameters.
virtual ~GridPolygonSeeder()
Destructor.
GridPolygonSeeder(Pvl &pvl)
Construct a GridPolygonSeeder algorithm.
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.
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...
This class is used as the base class for all PolygonSeeder objects.
Container for cube-like labels.
Definition Pvl.h:119
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16