USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::PolygonSeeder Class Reference
[Pattern Matching]

This class is used as the base class for all PolygonSeeder objects. More...

#include <PolygonSeeder.h>

Inherited by Isis::GridPolygonSeeder, Isis::LimitPolygonSeeder, and Isis::StripPolygonSeeder.

List of all members.

Public Member Functions

 PolygonSeeder (Pvl &pvl)
 Create PolygonSeeder object.
 PolygonSeeder (const PolygonSeeder &other)
 Copy constructor.
virtual ~PolygonSeeder ()
 Destroy PolygonSeeder object.
virtual std::vector
< geos::geom::Point * > 
Seed (const geos::geom::MultiPolygon *mp)=0
std::string Name ()
double MinimumThickness ()
 Return the minimum allowed thickness of the polygon.
double MinimumArea ()
 Return the minimum allowed area of the polygon.
std::string Algorithm () const
virtual PvlGroup PluginParameters (std::string grpName)
Pvl InvalidInput ()
 The constructor was passed a pvl (from a def file probably) Returns a copy of this pvl minus what was used.
const PolygonSeederoperator= (const PolygonSeeder &other)
 Assignment operator.

Protected Member Functions

virtual void Parse (Pvl &pvl)
 Initialize parameters in the PolygonSeeder class using a PVL specification.
std::string StandardTests (const geos::geom::MultiPolygon *multiPoly, const geos::geom::Envelope *polyBoundBox)
 Check the polygon to see if it meets standard criteria.

Protected Attributes

PvlinvalidInput

Detailed Description

This class is used as the base class for all PolygonSeeder objects.

The class is pure virtual.

Author:
2006-01-20 Stuart Sides

Constructor & Destructor Documentation

Isis::PolygonSeeder::PolygonSeeder ( Pvl pvl  ) 

Create PolygonSeeder object.

Because this is a pure virtual class you can not create an PolygonSeeder class directly. Instead, see the PolygonSeederFactory class.

Parameters:
pvl A pvl object containing a valid PolygonSeeder specification
Isis::PolygonSeeder::PolygonSeeder ( const PolygonSeeder other  ) 

Copy constructor.

Isis::PolygonSeeder::~PolygonSeeder (  )  [virtual]

Destroy PolygonSeeder object.

References invalidInput.


Member Function Documentation

std::string Isis::PolygonSeeder::Algorithm (  )  const [inline]
Pvl Isis::PolygonSeeder::InvalidInput (  ) 

The constructor was passed a pvl (from a def file probably) Returns a copy of this pvl minus what was used.

double Isis::PolygonSeeder::MinimumArea (  ) 

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.

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

double Isis::PolygonSeeder::MinimumThickness (  ) 

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

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

std::string Isis::PolygonSeeder::Name (  ) 
const PolygonSeeder & Isis::PolygonSeeder::operator= ( const PolygonSeeder other  ) 

Assignment operator.

void Isis::PolygonSeeder::Parse ( Pvl pvl  )  [protected, virtual]

Initialize parameters in the PolygonSeeder class using a PVL specification.

An example of the PVL required for this is:

 Object = AutoSeed
   Group = Algorithm
     Name      = Grid
     Tolerance = 0.7
   EndGroup
 EndObject

There are many other options that can be set via the pvl and are described in other documentation (see below).

Parameters:
pvl The pvl object containing the specification

Reimplemented in Isis::GridPolygonSeeder, Isis::LimitPolygonSeeder, and Isis::StripPolygonSeeder.

PvlGroup Isis::PolygonSeeder::PluginParameters ( std::string  grpName  )  [virtual]
virtual std::vector<geos::geom::Point *> Isis::PolygonSeeder::Seed ( const geos::geom::MultiPolygon *  mp  )  [pure virtual]
std::string Isis::PolygonSeeder::StandardTests ( const geos::geom::MultiPolygon *  xymp,
const geos::geom::Envelope *  xyBoundBox 
) [protected]

Check the polygon to see if it meets standard criteria.

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

Member Data Documentation

Referenced by ~PolygonSeeder().


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