32 #include <QSharedPointer> 82 GisGeometry(
const double xlongitude,
const double ylatitude);
97 static Type type(
const QString >ype);
100 const GEOSGeometry *
geometry()
const;
127 bool centroid(
double &xlongitude,
double &ylatitude)
const;
130 GEOSGeometry *
makePoint(
const double x,
const double y)
const;
132 GEOSPreparedGeometry
const *
makePrepared(
const GEOSGeometry *geom)
const;
GisGeometry * convexHull() const
Computes the convex hull of the geometry.
bool isDefined() const
Determines if the current geometry is valid.
GisGeometry * clone() const
Clones the contents of this geometry to a new instance.
GisGeometry * simplify(const double &tolerance) const
Simplify complex or overdetermined geoemtry.
bool equals(const GisGeometry &target) const
Test if target and this geometry are equal.
GEOSPreparedGeometry const * m_preparedGeom
A prepared geometry from the GEOS library.
bool contains(const GisGeometry &target) const
Test if the target geometry is contained within this geometry.
const GEOSPreparedGeometry * preparedGeometry() const
Returns special GEOS prepared geometry if it exists.
GEOSGeometry * makePoint(const double x, const double y) const
Create a point geometry.
No geometry. A geometry object cannot be created with this geometry type.
GisGeometry * g_union(const GisGeometry &geom) const
Computes the union of two geometries.
The GEOS library WKB reader is used to create the geometry.
GEOS GIS. A geometry object cannot be created with this geometry type.
double intersectRatio(const GisGeometry &geom) const
Computes intersect ratio between two geometries.
bool intersects(const GisGeometry &target) const
Computes a new geometry from the intersection of the two geomtries.
GEOSGeometry * m_geom
Pointer to GEOS-C opaque structure.
static QString typeToString(const Type &type)
Returns the type of the Geometry as a QString.
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
GEOSGeometry * fromCube(Cube &cube) const
Reads Polygon from ISIS Cube and returns geometry from contents.
bool disjoint(const GisGeometry &target) const
Tests for disjoint geometries.
An ISIS Cube is used to create the geometry.
double length() const
Computes the length of a geometry.
virtual ~GisGeometry()
Destructor.
void destroy()
Destroys the GEOS elements of this geometry object
double distance(const GisGeometry &target) const
Computes the distance between two geometries.
bool isValid() const
Determines validity of the geometry contained in this object.
GisGeometry & operator=(GisGeometry const &geom)
Assignment operator for GISGeomtries.
Type
Source type of the geometry.
QSharedPointer< GisGeometry > SharedGisGeometry
Definition for a SharedGisGeometry, a shared pointer to a GisGeometry.
GisGeometry * envelope() const
Computes the envelope or bounding box of this geometry.
bool overlaps(const GisGeometry &target) const
Test for overlapping geometries.
GisGeometry * centroid() const
Computes the centroid of the geometry and returns it as a new geometry.
double area() const
Computes the area of a geometry.
int points() const
Get number of points in geometry.
GisGeometry()
Fundamental constructor of an empty object.
Type m_type
Geometry type of GIS source.
QString isValidReason() const
Returns a string describing reason for invalid geometry.
GisGeometry * intersection(const GisGeometry &geom) const
Computes the intersection of two geometries.
Type type() const
Returns the type (origin) of the geometry.
Namespace for ISIS/Bullet specific routines.
const GEOSGeometry * geometry() const
Returns the GEOSGeometry object to extend functionality.
bool isEmpty() const
Tests for a defined but empty geometry.
GEOSPreparedGeometry const * makePrepared(const GEOSGeometry *geom) const
Creates a prepared geometry of current geometry.
void setGeometry(GEOSGeometry *geom)
Set the geometry directly taking ownership.
The GEOS library WKT reader is used to create the geometry.
Encapsulation class provides support for GEOS-C API.
IO Handler for Isis Cubes.