Isis 3.0 Programmer Reference
Back | Home
PolygonSeeder.h
Go to the documentation of this file.
1 #ifndef PolygonSeeder_h
2 #define PolygonSeeder_h
3 
26 #include <string>
27 #include <vector>
28 
29 #include "geos/geom/Point.h"
30 #include "geos/geom/MultiPolygon.h"
31 
32 #include "Projection.h"
33 
34 namespace Isis {
35  class Pvl;
36  class PvlGroup;
37  class PolygonTools;
38 
62  class PolygonSeeder {
63  public:
64  PolygonSeeder(Pvl &pvl);
65  PolygonSeeder(const PolygonSeeder &other);
66  virtual ~PolygonSeeder();
67 
75  virtual std::vector<geos::geom::Point *>
76  Seed(const geos::geom::MultiPolygon *mp) = 0;
77 
78  double MinimumThickness();
79  double MinimumArea();
80  QString Algorithm() const;
81 
82  virtual PvlGroup PluginParameters(QString grpName);
83  Pvl InvalidInput();
84 
85  const PolygonSeeder &operator=(const PolygonSeeder &other);
86 
87  protected:
88  virtual void Parse(Pvl &pvl);
89  QString StandardTests(const geos::geom::MultiPolygon *multiPoly,
90  const geos::geom::Envelope *polyBoundBox);
91 
92  protected:
96  private:
97  QString p_algorithmName;
104  double p_minimumArea;
109  };
110 };
111 
112 #endif
virtual ~PolygonSeeder()
Destroys the PolygonSeeder object.
Pvl InvalidInput()
This method returns a copy of the Pvl passed in by the constructor (from a def file probably) minus w...
PolygonSeeder(Pvl &pvl)
Create PolygonSeeder object.
Pvl * invalidInput
The Pvl passed in by the constructor minus what was used.
Definition: PolygonSeeder.h:93
This class is used as the base class for all PolygonSeeder objects.
Definition: PolygonSeeder.h:62
double p_minimumThickness
The value for the &#39;MinimumThickness&#39; Keyword in the PolygonSeederAlgorithm group of the Pvl that is p...
Contains multiple PvlContainers.
Definition: PvlGroup.h:57
QString Algorithm() const
The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constr...
virtual std::vector< geos::geom::Point * > Seed(const geos::geom::MultiPolygon *mp)=0
Pure virtual seed method.
virtual void Parse(Pvl &pvl)
Initialize parameters in the PolygonSeeder class using a PVL specification.
Container for cube-like labels.
Definition: Pvl.h:135
QString StandardTests(const geos::geom::MultiPolygon *multiPoly, const geos::geom::Envelope *polyBoundBox)
Check the polygon to see if it meets standard criteria.
double MinimumThickness()
Return the minimum allowed thickness of the polygon.
double MinimumArea()
Return the minimum allowed area of the polygon.
virtual PvlGroup PluginParameters(QString grpName)
Plugin parameters.
const PolygonSeeder & operator=(const PolygonSeeder &other)
Assignment operator.
double p_minimumArea
The value for the &#39;MinimumArea&#39; Keyword in the PolygonSeederAlgorithm group of the Pvl that is passed...
QString p_algorithmName
The value for the &#39;Name&#39; Keyword in the PolygonSeederAlgorithm group of the Pvl that is passed into t...
Definition: PolygonSeeder.h:97

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:25:54