Isis 3 Programmer Reference
PolygonSeeder.h
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:
94 };
95};
96
97#endif
This class is used as the base class for all PolygonSeeder objects.
Pvl InvalidInput()
This method returns a copy of the Pvl passed in by the constructor (from a def file probably) minus w...
virtual void Parse(Pvl &pvl)
Initialize parameters in the PolygonSeeder class using a PVL specification.
Pvl * invalidInput
The Pvl passed in by the constructor minus what was used.
QString StandardTests(const geos::geom::MultiPolygon *multiPoly, const geos::geom::Envelope *polyBoundBox)
Check the polygon to see if it meets standard criteria.
virtual std::vector< geos::geom::Point * > Seed(const geos::geom::MultiPolygon *mp)=0
Pure virtual seed method.
virtual PvlGroup PluginParameters(QString grpName)
Plugin parameters.
virtual ~PolygonSeeder()
Destroys the PolygonSeeder object.
double p_minimumThickness
The value for the 'MinimumThickness' Keyword in the PolygonSeederAlgorithm group of the Pvl that is p...
QString p_algorithmName
The value for the 'Name' Keyword in the PolygonSeederAlgorithm group of the Pvl that is passed into t...
PolygonSeeder(Pvl &pvl)
Create PolygonSeeder object.
double MinimumArea()
Return the minimum allowed area of the polygon.
double MinimumThickness()
Return the minimum allowed thickness of the polygon.
QString Algorithm() const
The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constr...
double p_minimumArea
The value for the 'MinimumArea' Keyword in the PolygonSeederAlgorithm group of the Pvl that is passed...
const PolygonSeeder & operator=(const PolygonSeeder &other)
Assignment operator.
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