Isis Developer Reference
LimitPolygonSeeder.h
Go to the documentation of this file.
1 #ifndef LimitPolygonSeeder_h
2 #define LimitPolygonSeeder_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include <geos/geom/Point.h>
11 #include <geos/geom/MultiPolygon.h>
12 #include <geos/geom/CoordinateArraySequence.h>
13 #include <geos/geom/Polygon.h>
14 
15 #include "PolygonSeeder.h"
16 
17 namespace Isis {
18  class Pvl;
19 
48  public:
49  LimitPolygonSeeder(Pvl &pvl);
50 
52  virtual ~LimitPolygonSeeder() {};
53 
54  std::vector<geos::geom::Point *> Seed(const geos::geom::MultiPolygon *mp);
55 
56  virtual PvlGroup PluginParameters(QString grpName);
57 
58  protected:
59  virtual void Parse(Pvl &pvl);
60 
61  private:
62  geos::geom::Geometry *GetMultiPolygon(double dMinX, double dMinY,
63  double dMaxX, double dMaxY,
64  const geos::geom::MultiPolygon &orig);
65  int p_majorAxisPts;
66  int p_minorAxisPts;
67  };
68 };
69 
70 #endif
Isis::LimitPolygonSeeder
Seed points using a grid.
Definition: LimitPolygonSeeder.h:47
Isis::PvlObject::findGroup
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition: PvlObject.h:129
Isis::LimitPolygonSeeder::Parse
virtual void Parse(Pvl &pvl)
Parse the LimitPolygonSeeder spicific parameters from the PVL.
Definition: LimitPolygonSeeder.cpp:144
Isis::PvlKeyword
A single keyword-value pair.
Definition: PvlKeyword.h:82
PolygonSeeder.h
Isis::PvlContainer::addKeyword
void addKeyword(const PvlKeyword &keyword, const InsertMode mode=Append)
Add a keyword to the container.
Definition: PvlContainer.cpp:202
PvlGroup.h
Isis::PvlContainer::hasKeyword
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
Definition: PvlContainer.cpp:159
Isis::Pvl
Container for cube-like labels.
Definition: Pvl.h:119
Isis::globalFactory
static geos::geom::GeometryFactory::Ptr globalFactory
Definition: PolygonTools.h:51
Isis::PolygonSeeder::MinimumArea
double MinimumArea()
Return the minimum allowed area of the polygon.
Definition: PolygonSeeder.cpp:195
Isis::LimitPolygonSeeder::~LimitPolygonSeeder
virtual ~LimitPolygonSeeder()
Destructor.
Definition: LimitPolygonSeeder.h:52
LimitPolygonSeeder.h
Isis::LimitPolygonSeeder::PluginParameters
virtual PvlGroup PluginParameters(QString grpName)
Plugin parameters.
Definition: LimitPolygonSeeder.cpp:198
Isis::toString
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Isis::PvlObject::Traverse
@ Traverse
Search child objects.
Definition: PvlObject.h:158
Isis::PolygonSeeder::MinimumThickness
double MinimumThickness()
Return the minimum allowed thickness of the polygon.
Definition: PolygonSeeder.cpp:183
Isis::PvlGroup
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
Pvl.h
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::PolygonSeeder::invalidInput
Pvl * invalidInput
The Pvl passed in by the constructor minus what was used.
Definition: PolygonSeeder.h:78
LimitPolygonSeederPlugin
Isis::PolygonSeeder * LimitPolygonSeederPlugin(Isis::Pvl &pvl)
Create a LimitPolygonSeeder object.
Definition: LimitPolygonSeeder.cpp:230
Isis::PvlContainer::fileName
QString fileName() const
Returns the filename used to initialise the Pvl object.
Definition: PvlContainer.h:232
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::PolygonSeeder::Parse
virtual void Parse(Pvl &pvl)
Initialize parameters in the PolygonSeeder class using a PVL specification.
Definition: PolygonSeeder.cpp:85
Isis::LimitPolygonSeeder::Seed
std::vector< geos::geom::Point * > Seed(const geos::geom::MultiPolygon *mp)
Seed a polygon with points.
Definition: LimitPolygonSeeder.cpp:47
Isis::PvlContainer::deleteKeyword
void deleteKeyword(const QString &name)
Remove a specified keyword.
Definition: PvlContainer.cpp:97
IException.h
Isis::PolygonSeeder::Algorithm
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
Isis::PolygonSeeder::StandardTests
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
Isis::IString
Adds specific functionality to C++ strings.
Definition: IString.h:165
PolygonTools.h
Isis::LimitPolygonSeeder::LimitPolygonSeeder
LimitPolygonSeeder(Pvl &pvl)
Construct a LimitPolygonSeeder algorithm.
Definition: LimitPolygonSeeder.cpp:30
Isis::PolygonSeeder
This class is used as the base class for all PolygonSeeder objects.
Definition: PolygonSeeder.h:47
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::IException::User
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126