Isis Developer Reference
|
This class is used as the base class for all PolygonSeeder objects. More...
#include <PolygonSeeder.h>
Public Member Functions | |
PolygonSeeder (Pvl &pvl) | |
Create PolygonSeeder object. More... | |
PolygonSeeder (const PolygonSeeder &other) | |
Copy constructor. More... | |
virtual | ~PolygonSeeder () |
Destroys the PolygonSeeder object. More... | |
virtual std::vector< geos::geom::Point * > | Seed (const geos::geom::MultiPolygon *mp)=0 |
Pure virtual seed method. More... | |
double | MinimumThickness () |
Return the minimum allowed thickness of the polygon. More... | |
double | MinimumArea () |
Return the minimum allowed area of the polygon. More... | |
QString | Algorithm () const |
The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constructor. More... | |
virtual PvlGroup | PluginParameters (QString grpName) |
Plugin parameters. More... | |
Pvl | InvalidInput () |
This method returns a copy of the Pvl passed in by the constructor (from a def file probably) minus what was used. More... | |
const PolygonSeeder & | operator= (const PolygonSeeder &other) |
Assignment operator. More... | |
Protected Member Functions | |
virtual void | Parse (Pvl &pvl) |
Initialize parameters in the PolygonSeeder class using a PVL specification. More... | |
QString | StandardTests (const geos::geom::MultiPolygon *multiPoly, const geos::geom::Envelope *polyBoundBox) |
Check the polygon to see if it meets standard criteria. More... | |
Protected Attributes | |
Pvl * | invalidInput |
The Pvl passed in by the constructor minus what was used. More... | |
This class is used as the base class for all PolygonSeeder objects.
The class is pure virtual.
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.
pvl | A pvl object containing a valid PolygonSeeder specification |
References invalidInput, and Parse().
Isis::PolygonSeeder::PolygonSeeder | ( | const PolygonSeeder & | other | ) |
Copy constructor.
Create PolygonSeeder object by copying the algorithm name, the minimum thickness, and the minimum area of an existing PolygonSeeder object.
other | The other PolygonSeeder object that will be copied. |
|
virtual |
Destroys the PolygonSeeder object.
References invalidInput.
QString Isis::PolygonSeeder::Algorithm | ( | ) | const |
The name of the algorithm, read from the Name Keyword in the PolygonSeeder Pvl passed into the constructor.
Referenced by Isis::GridPolygonSeeder::PluginParameters(), Isis::LimitPolygonSeeder::PluginParameters(), and Isis::StripPolygonSeeder::PluginParameters().
Pvl Isis::PolygonSeeder::InvalidInput | ( | ) |
This method returns a copy of the Pvl passed in by the constructor (from a def file probably) minus what was used.
References invalidInput.
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::GridPolygonSeeder::PluginParameters(), Isis::LimitPolygonSeeder::PluginParameters(), Isis::StripPolygonSeeder::PluginParameters(), and StandardTests().
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::GridPolygonSeeder::PluginParameters(), Isis::LimitPolygonSeeder::PluginParameters(), Isis::StripPolygonSeeder::PluginParameters(), and StandardTests().
const PolygonSeeder & Isis::PolygonSeeder::operator= | ( | const PolygonSeeder & | other | ) |
Assignment operator.
Sets this PolygonSeeder object equal to another by copying the algorithm name, the minimum thickness, and the minimum area of the other PolygonSeeder object.
other | The other PolygonSeeder object whose values will be copied. |
|
protectedvirtual |
Initialize parameters in the PolygonSeeder class using a PVL specification.
An example of the PVL required for this is:
There are many other options that can be set via the pvl and are described in other documentation (see below).
pvl | The pvl object containing the specification |
Reimplemented in Isis::StripPolygonSeeder, Isis::LimitPolygonSeeder, and Isis::GridPolygonSeeder.
References _FILEINFO_, Isis::PvlContainer::deleteKeyword(), Isis::PvlContainer::fileName(), Isis::PvlObject::findGroup(), Isis::PvlContainer::hasKeyword(), invalidInput, Isis::PvlObject::Traverse, and Isis::IException::User.
Referenced by Isis::GridPolygonSeeder::Parse(), Isis::LimitPolygonSeeder::Parse(), Isis::StripPolygonSeeder::Parse(), and PolygonSeeder().
|
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.
grpName | A string containing the PvlGroup name. |
Reimplemented in Isis::StripPolygonSeeder, Isis::LimitPolygonSeeder, and Isis::GridPolygonSeeder.
References Isis::PvlContainer::addKeyword(), and Isis::toString().
|
pure virtual |
Pure virtual seed method.
mp | The MultiPolygon object from the geos::geom library. |
Implemented in Isis::StripPolygonSeeder, Isis::LimitPolygonSeeder, and Isis::GridPolygonSeeder.
|
protected |
Check the polygon to see if it meets standard criteria.
xymp | The multipoly containing the coordinates in x/y units instead of lon/lat |
xyBoundBox | The bounding box of the multipoly |
References MinimumArea(), MinimumThickness(), and Isis::toString().
Referenced by Isis::LimitPolygonSeeder::Seed(), and Isis::StripPolygonSeeder::Seed().
|
protected |
The Pvl passed in by the constructor minus what was used.
Referenced by InvalidInput(), Isis::GridPolygonSeeder::Parse(), Isis::LimitPolygonSeeder::Parse(), Parse(), Isis::StripPolygonSeeder::Parse(), PolygonSeeder(), and ~PolygonSeeder().