Isis Developer Reference
PolygonSeeder.h
Go to the documentation of this file.
1#ifndef PolygonSeeder_h
2#define PolygonSeeder_h
8/* SPDX-License-Identifier: CC0-1.0 */
9
10#include <string>
11#include <vector>
12#include <cmath>
13
14#include "geos/geom/Point.h"
15#include "geos/geom/MultiPolygon.h"
16
17#include "Projection.h"
18
19namespace Isis {
20 class Pvl;
21 class PvlGroup;
22 class PolygonTools;
23
48 public:
49 PolygonSeeder(Pvl &pvl);
50 PolygonSeeder(const PolygonSeeder &other);
51 virtual ~PolygonSeeder();
52
60 virtual std::vector<geos::geom::Point *>
61 Seed(const geos::geom::MultiPolygon *mp) = 0;
62
63 double MinimumThickness();
64 double MinimumArea();
65 QString Algorithm() const;
66
67 virtual PvlGroup PluginParameters(QString grpName);
69
70 const PolygonSeeder &operator=(const PolygonSeeder &other);
71
72 protected:
73 virtual void Parse(Pvl &pvl);
74 QString StandardTests(const geos::geom::MultiPolygon *multiPoly,
75 const geos::geom::Envelope *polyBoundBox);
76
77 protected:
81 private:
82 QString p_algorithmName;
85 double p_minimumThickness;
89 double p_minimumArea;
94 };
95};
96
97#endif
This class is used as the base class for all PolygonSeeder objects.
Definition PolygonSeeder.h:47
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:231
virtual void Parse(Pvl &pvl)
Initialize parameters in the PolygonSeeder class using a PVL specification.
Definition PolygonSeeder.cpp:85
Pvl * invalidInput
The Pvl passed in by the constructor minus what was used.
Definition PolygonSeeder.h:78
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:146
virtual std::vector< geos::geom::Point * > Seed(const geos::geom::MultiPolygon *mp)=0
Pure virtual seed method.
virtual PvlGroup PluginParameters(QString grpName)
Plugin parameters.
Definition PolygonSeeder.cpp:210
virtual ~PolygonSeeder()
Destroys the PolygonSeeder object.
Definition PolygonSeeder.cpp:59
PolygonSeeder(Pvl &pvl)
Create PolygonSeeder object.
Definition PolygonSeeder.cpp:30
double MinimumArea()
Return the minimum allowed area of the polygon.
Definition PolygonSeeder.cpp:195
double MinimumThickness()
Return the minimum allowed thickness of the polygon.
Definition PolygonSeeder.cpp:183
QString Algorithm() const
The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constr...
Definition PolygonSeeder.cpp:172
const PolygonSeeder & operator=(const PolygonSeeder &other)
Assignment operator.
Definition PolygonSeeder.cpp:246
Contains multiple PvlContainers.
Definition PvlGroup.h:41
Container for cube-like labels.
Definition Pvl.h:119
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16