15#include <QSharedPointer>
70 GisGeometry(
const double xlongitude,
const double ylatitude);
72 GisGeometry(
const QString &gisSource,
const Type t);
85 static Type
type(
const QString >ype);
88 const GEOSGeometry *
geometry()
const;
116 bool centroid(
double &xlongitude,
double &ylatitude)
const;
119 GEOSGeometry *makePoint(
const double x,
const double y)
const;
120 GEOSGeometry *fromCube(
Cube &cube)
const;
121 GEOSPreparedGeometry
const *makePrepared(
const GEOSGeometry *geom)
const;
125 GEOSGeometry *m_geom;
126 GEOSPreparedGeometry
const *m_preparedGeom;
Q_DECLARE_METATYPE(Isis::SharedGisGeometry)
IO Handler for Isis Cubes.
Definition Cube.h:168
Encapsulation class provides support for GEOS-C API.
Definition GisGeometry.h:55
static QString typeToString(const Type &type)
Returns the type of the Geometry as a QString.
Definition GisGeometry.cpp:287
virtual ~GisGeometry()
Destructor.
Definition GisGeometry.cpp:151
double intersectRatio(const GisGeometry &geom) const
Computes intersect ratio between two geometries.
Definition GisGeometry.cpp:592
bool overlaps(const GisGeometry &target) const
Test for overlapping geometries.
Definition GisGeometry.cpp:541
GisGeometry * centroid() const
Computes the centroid of the geometry and returns it as a new geometry.
Definition GisGeometry.cpp:782
bool contains(const GisGeometry &target) const
Test if the target geometry is contained within this geometry.
Definition GisGeometry.cpp:488
double area() const
Computes the area of a geometry.
Definition GisGeometry.cpp:369
Type type() const
Returns the type (origin) of the geometry.
Definition GisGeometry.cpp:254
bool equals(const GisGeometry &target) const
Test if target and this geometry are equal.
Definition GisGeometry.cpp:567
bool disjoint(const GisGeometry &target) const
Tests for disjoint geometries.
Definition GisGeometry.cpp:514
bool intersects(const GisGeometry &target) const
Computes a new geometry from the intersection of the two geomtries.
Definition GisGeometry.cpp:461
GisGeometry * convexHull() const
Computes the convex hull of the geometry.
Definition GisGeometry.cpp:672
GisGeometry * g_union(const GisGeometry &geom) const
Computes the union of two geometries.
Definition GisGeometry.cpp:737
Type
Source type of the geometry.
Definition GisGeometry.h:61
@ IsisCube
An ISIS Cube is used to create the geometry.
Definition GisGeometry.h:65
@ GeosGis
GEOS GIS. A geometry object cannot be created with this geometry type.
Definition GisGeometry.h:66
@ None
No geometry. A geometry object cannot be created with this geometry type.
Definition GisGeometry.h:62
@ WKB
The GEOS library WKB reader is used to create the geometry.
Definition GisGeometry.h:64
@ WKT
The GEOS library WKT reader is used to create the geometry.
Definition GisGeometry.h:63
GisGeometry * clone() const
Clones the contents of this geometry to a new instance.
Definition GisGeometry.cpp:328
const GEOSGeometry * geometry() const
Returns the GEOSGeometry object to extend functionality.
Definition GisGeometry.cpp:301
GisGeometry & operator=(GisGeometry const &geom)
Assignment operator for GISGeomtries.
Definition GisGeometry.cpp:164
double distance(const GisGeometry &target) const
Computes the distance between two geometries.
Definition GisGeometry.cpp:416
double length() const
Computes the length of a geometry.
Definition GisGeometry.cpp:392
bool isValid() const
Determines validity of the geometry contained in this object.
Definition GisGeometry.cpp:217
const GEOSPreparedGeometry * preparedGeometry() const
Returns special GEOS prepared geometry if it exists.
Definition GisGeometry.cpp:315
void setGeometry(GEOSGeometry *geom)
Set the geometry directly taking ownership.
Definition GisGeometry.cpp:187
GisGeometry * envelope() const
Computes the envelope or bounding box of this geometry.
Definition GisGeometry.cpp:655
GisGeometry * buffer(const double width=0.0, const int quadsegs=16) const
Compute a buffer around an existing geometry.
Definition GisGeometry.cpp:631
int points() const
Get number of points in geometry.
Definition GisGeometry.cpp:439
GisGeometry * simplify(const double &tolerance) const
Simplify complex or overdetermined geoemtry.
Definition GisGeometry.cpp:695
bool isDefined() const
Determines if the current geometry is valid.
Definition GisGeometry.cpp:200
bool isEmpty() const
Tests for a defined but empty geometry.
Definition GisGeometry.cpp:348
GisGeometry * intersection(const GisGeometry &geom) const
Computes the intersection of two geometries.
Definition GisGeometry.cpp:717
QString isValidReason() const
Returns a string describing reason for invalid geometry.
Definition GisGeometry.cpp:237
GisGeometry()
Fundamental constructor of an empty object.
Definition GisGeometry.cpp:33
Definition JigsawWorkOrder.h:28
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
QSharedPointer< GisGeometry > SharedGisGeometry
Definition for a SharedGisGeometry, a shared pointer to a GisGeometry.
Definition GisGeometry.h:131