Isis 3 Programmer Reference
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 #include <cmath>
29 
30 #include "geos/geom/Point.h"
31 #include "geos/geom/MultiPolygon.h"
32 
33 #include "Projection.h"
34 
35 namespace Isis {
36  class Pvl;
37  class PvlGroup;
38  class PolygonTools;
39 
63  class PolygonSeeder {
64  public:
65  PolygonSeeder(Pvl &pvl);
66  PolygonSeeder(const PolygonSeeder &other);
67  virtual ~PolygonSeeder();
68 
76  virtual std::vector<geos::geom::Point *>
77  Seed(const geos::geom::MultiPolygon *mp) = 0;
78 
79  double MinimumThickness();
80  double MinimumArea();
81  QString Algorithm() const;
82 
83  virtual PvlGroup PluginParameters(QString grpName);
84  Pvl InvalidInput();
85 
86  const PolygonSeeder &operator=(const PolygonSeeder &other);
87 
88  protected:
89  virtual void Parse(Pvl &pvl);
90  QString StandardTests(const geos::geom::MultiPolygon *multiPoly,
91  const geos::geom::Envelope *polyBoundBox);
92 
93  protected:
97  private:
98  QString p_algorithmName;
105  double p_minimumArea;
110  };
111 };
112 
113 #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.
QString Algorithm() const
The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constr...
Pvl * invalidInput
The Pvl passed in by the constructor minus what was used.
Definition: PolygonSeeder.h:94
This class is used as the base class for all PolygonSeeder objects.
Definition: PolygonSeeder.h:63
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
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.
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
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:98