Isis Developer Reference
Isis::GridPolygonSeeder Class Reference

Seed points using a grid. More...

#include <GridPolygonSeeder.h>

Inheritance diagram for Isis::GridPolygonSeeder:
Inheritance graph
Collaboration diagram for Isis::GridPolygonSeeder:
Collaboration graph

Public Member Functions

 GridPolygonSeeder (Pvl &pvl)
 Construct a GridPolygonSeeder algorithm.
 
virtual ~GridPolygonSeeder ()
 Destructor.
 
std::vector< geos::geom::Point * > Seed (const geos::geom::MultiPolygon *mp)
 Seed a polygon with points.
 
bool SubGrid ()
 
virtual PvlGroup PluginParameters (QString grpName)
 Plugin parameters.
 
double MinimumThickness ()
 Return the minimum allowed thickness of the polygon.
 
double MinimumArea ()
 Return the minimum allowed area of the polygon.
 
QString Algorithm () const
 The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constructor.
 
Pvl InvalidInput ()
 This method returns a copy of the Pvl passed in by the constructor (from a def file probably) minus what was used.
 

Protected Member Functions

virtual void Parse (Pvl &pvl)
 Parse the GridPolygonSeeder spicific parameters from the PVL.
 
QString StandardTests (const geos::geom::MultiPolygon *multiPoly, const geos::geom::Envelope *polyBoundBox)
 Check the polygon to see if it meets standard criteria.
 

Protected Attributes

PvlinvalidInput
 The Pvl passed in by the constructor minus what was used.
 

Detailed Description

Seed points using a grid.

This class is used to construct a grid of points inside a polygon.

Author
2006-01-20 Stuart Sides

Constructor & Destructor Documentation

◆ GridPolygonSeeder()

Isis::GridPolygonSeeder::GridPolygonSeeder ( Pvl & pvl)

Construct a GridPolygonSeeder algorithm.

Parameters
pvlA Pvl object that contains a valid polygon point seeding definition

References Parse().

◆ ~GridPolygonSeeder()

virtual Isis::GridPolygonSeeder::~GridPolygonSeeder ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ Algorithm()

QString Isis::PolygonSeeder::Algorithm ( ) const
inherited

The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constructor.

Returns
QString The value of the Name Keyword in the Pvl.

Referenced by PluginParameters(), Isis::LimitPolygonSeeder::PluginParameters(), and Isis::StripPolygonSeeder::PluginParameters().

◆ InvalidInput()

Pvl Isis::PolygonSeeder::InvalidInput ( )
inherited

This method returns a copy of the Pvl passed in by the constructor (from a def file probably) minus what was used.

Returns
Pvl A copy of this pvl minus what was used.

References Isis::PolygonSeeder::invalidInput.

◆ MinimumArea()

double Isis::PolygonSeeder::MinimumArea ( )
inherited

Return the minimum allowed area of the polygon.

This value is set from the "MinimumArea" keyword in the PVL. The seeding algorithm will not seed polygons that have an area less than this.

Returns
double The value for the minimum area allowed.

Referenced by PluginParameters(), Isis::LimitPolygonSeeder::PluginParameters(), Isis::StripPolygonSeeder::PluginParameters(), and Isis::PolygonSeeder::StandardTests().

◆ MinimumThickness()

double Isis::PolygonSeeder::MinimumThickness ( )
inherited

Return the minimum allowed thickness of the polygon.

This value is set from the "MinimumThickness" keyword in the PVL. The seeding algorithm will not seed polygons that have a thickness ratio less than this

Returns
double The value for the minimum thickness allowed.

Referenced by PluginParameters(), Isis::LimitPolygonSeeder::PluginParameters(), Isis::StripPolygonSeeder::PluginParameters(), and Isis::PolygonSeeder::StandardTests().

◆ Parse()

void Isis::GridPolygonSeeder::Parse ( Pvl & pvl)
protectedvirtual

Parse the GridPolygonSeeder spicific parameters from the PVL.

Parameters
pvlThe PVL object containing the control parameters for this polygon seeder.

Reimplemented from Isis::PolygonSeeder.

References _FILEINFO_, Isis::PvlObject::findGroup(), Isis::PolygonSeeder::invalidInput, Isis::PolygonSeeder::Parse(), Isis::PvlObject::Traverse, Isis::IString::UpCase(), and Isis::IException::User.

Referenced by GridPolygonSeeder().

◆ PluginParameters()

PvlGroup Isis::GridPolygonSeeder::PluginParameters ( QString grpName)
virtual

Plugin parameters.

This method will add the PvlKeyword values for algorithm name, minimum thickness, and minimum area of this object to a PvlGroup with the name that is passed in.

Parameters
grpNameA string containing the PvlGroup name.
Returns
PvlGroup The PvlGroup with the appropriate parameters added.

Reimplemented from Isis::PolygonSeeder.

References Isis::PolygonSeeder::Algorithm(), Isis::PolygonSeeder::MinimumArea(), Isis::PolygonSeeder::MinimumThickness(), and Isis::toString().

◆ Seed()

std::vector< geos::geom::Point * > Isis::GridPolygonSeeder::Seed ( const geos::geom::MultiPolygon * lonLatPoly)
virtual

Seed a polygon with points.

Seed the supplied polygon with points in a grid pattern. The spacing is determined by the PVL group "PolygonSeederAlgorithm"

Parameters
lonLatPolygeos::MultiPolygon The polygon to be seeded with points.
projThe Projection to seed the polygon into
Returns
std::vector<geos::Point*> A vector of points which have been seeded into the polygon. The caller assumes responsibility for deleteing these.

Implements Isis::PolygonSeeder.

◆ StandardTests()

QString Isis::PolygonSeeder::StandardTests ( const geos::geom::MultiPolygon * xymp,
const geos::geom::Envelope * xyBoundBox )
protectedinherited

Check the polygon to see if it meets standard criteria.

Parameters
xympThe multipoly containing the coordinates in x/y units instead of lon/lat
xyBoundBoxThe bounding box of the multipoly
Returns
QString A string with an appropriate message to throw if a test was unsuccessful or an empty string if all tests passed.

References Isis::PolygonSeeder::MinimumArea(), Isis::PolygonSeeder::MinimumThickness(), and Isis::toString().

Referenced by Isis::LimitPolygonSeeder::Seed(), and Isis::StripPolygonSeeder::Seed().

◆ SubGrid()

bool Isis::GridPolygonSeeder::SubGrid ( )
inline

Member Data Documentation

◆ invalidInput


The documentation for this class was generated from the following files: