Isis 3 Developer 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;
101  double p_minimumThickness;
105  double p_minimumArea;
110  };
111 };
112 
113 #endif
virtual ~PolygonSeeder()
Destroys the PolygonSeeder object.
Definition: PolygonSeeder.cpp:53
Pvl InvalidInput()
This method returns a copy of the Pvl passed in by the constructor (from a def file probably) minus w...
Definition: PolygonSeeder.cpp:225
PolygonSeeder(Pvl &pvl)
Create PolygonSeeder object.
Definition: PolygonSeeder.cpp:24
QString Algorithm() const
The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constr...
Definition: PolygonSeeder.cpp:166
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
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.
Definition: PolygonSeeder.cpp:79
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.
Definition: PolygonSeeder.cpp:140
double MinimumThickness()
Return the minimum allowed thickness of the polygon.
Definition: PolygonSeeder.cpp:177
double MinimumArea()
Return the minimum allowed area of the polygon.
Definition: PolygonSeeder.cpp:189
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
virtual PvlGroup PluginParameters(QString grpName)
Plugin parameters.
Definition: PolygonSeeder.cpp:204
const PolygonSeeder & operator=(const PolygonSeeder &other)
Assignment operator.
Definition: PolygonSeeder.cpp:240