Quantum GIS API Documentation
1.7.4
|
#include <limits>
#include <cstdarg>
#include <cstdio>
#include <cmath>
#include "qgis.h"
#include "qgsgeometry.h"
#include "qgsapplication.h"
#include "qgslogger.h"
#include "qgspoint.h"
#include "qgsrectangle.h"
#include "qgsmaplayerregistry.h"
#include "qgsvectorlayer.h"
#include "qgsproject.h"
Go to the source code of this file.
Classes | |
class | GEOSException |
class | GEOSInit |
Defines | |
#define | DEFAULT_QUADRANT_SEGMENTS 8 |
#define | CATCH_GEOS(r) |
Functions | |
static void | throwGEOSException (const char *fmt,...) |
static void | printGEOSNotice (const char *fmt,...) |
static unsigned int | getNumGeosPoints (const GEOSGeometry *geom) |
static GEOSGeometry * | createGeosPoint (const QgsPoint &point) |
static GEOSCoordSequence * | createGeosCoordSequence (const QgsPolyline &points) |
static GEOSGeometry * | createGeosCollection (int typeId, QVector< GEOSGeometry * > geoms) |
static GEOSGeometry * | createGeosLineString (const QgsPolyline &polyline) |
static GEOSGeometry * | createGeosLinearRing (const QgsPolyline &polyline) |
static GEOSGeometry * | createGeosPolygon (const QVector< GEOSGeometry * > &rings) |
static GEOSGeometry * | createGeosPolygon (GEOSGeometry *shell) |
static GEOSGeometry * | createGeosPolygon (const QgsPolygon &polygon) |
static QgsGeometry * | fromGeosGeom (GEOSGeometry *geom) |
static double | distLine2Point (QgsPoint p, QgsVector v, QgsPoint q) |
static bool | intersectLines (QgsPoint p, QgsVector v, QgsPoint q, QgsVector w, QgsPoint &s) |
bool | pointInRing (const QgsPolyline &ring, const QgsPoint &p) |
static bool | ringInRing (const QgsPolyline &inside, const QgsPolyline &outside) |
Variables | |
static GEOSInit | geosinit |
#define CATCH_GEOS | ( | r | ) |
catch (GEOSException &e) \ { \ Q_UNUSED(e); \ QgsDebugMsg("GEOS: " + QString( e.what() ) ); \ return r; \ }
Definition at line 35 of file qgsgeometry.cpp.
Referenced by QgsGeometry::area(), QgsGeometry::buffer(), QgsGeometry::centroid(), QgsGeometry::combine(), QgsGeometry::convexHull(), QgsGeometry::difference(), QgsGeometry::distance(), QgsGeometry::exportWkbToGeos(), QgsGeometry::geosRelOp(), QgsGeometry::intersection(), QgsGeometry::intersects(), QgsGeometry::length(), QgsGeometry::makeDifference(), QgsGeometry::simplify(), QgsGeometry::splitGeometry(), and QgsGeometry::symDifference().
#define DEFAULT_QUADRANT_SEGMENTS 8 |
Definition at line 33 of file qgsgeometry.cpp.
Referenced by QgsGeometry::lineContainedInLine().
static GEOSGeometry* createGeosCollection | ( | int | typeId, |
QVector< GEOSGeometry * > | geoms | ||
) | [static] |
Definition at line 268 of file qgsgeometry.cpp.
Referenced by QgsGeometry::addIsland(), QgsGeometry::addRing(), QgsGeometry::exportWkbToGeos(), QgsGeometry::fromMultiPoint(), QgsGeometry::fromMultiPolygon(), QgsGeometry::fromMultiPolyline(), and QgsGeometry::mergeGeometriesMultiTypeSplit().
static GEOSCoordSequence* createGeosCoordSequence | ( | const QgsPolyline & | points | ) | [static] |
Definition at line 244 of file qgsgeometry.cpp.
Referenced by createGeosLinearRing(), and createGeosLineString().
static GEOSGeometry* createGeosLinearRing | ( | const QgsPolyline & | polyline | ) | [static] |
Definition at line 312 of file qgsgeometry.cpp.
References createGeosCoordSequence().
Referenced by QgsGeometry::addIsland(), QgsGeometry::addRing(), createGeosPolygon(), and QgsGeometry::exportWkbToGeos().
static GEOSGeometry* createGeosLineString | ( | const QgsPolyline & | polyline | ) | [static] |
Definition at line 293 of file qgsgeometry.cpp.
References createGeosCoordSequence().
Referenced by QgsGeometry::exportWkbToGeos(), QgsGeometry::fromMultiPolyline(), QgsGeometry::fromPolyline(), QgsGeometry::reshapeGeometry(), and QgsGeometry::splitGeometry().
static GEOSGeometry* createGeosPoint | ( | const QgsPoint & | point | ) | [static] |
Definition at line 236 of file qgsgeometry.cpp.
References QgsPoint::x(), and QgsPoint::y().
Referenced by QgsGeometry::contains(), QgsGeometry::exportWkbToGeos(), QgsGeometry::fromMultiPoint(), QgsGeometry::fromPoint(), and QgsGeometry::reshapeLine().
static GEOSGeometry* createGeosPolygon | ( | const QVector< GEOSGeometry * > & | rings | ) | [static] |
Definition at line 345 of file qgsgeometry.cpp.
Referenced by QgsGeometry::addIsland(), QgsGeometry::addRing(), createGeosPolygon(), QgsGeometry::exportWkbToGeos(), QgsGeometry::fromMultiPolygon(), and QgsGeometry::fromPolygon().
static GEOSGeometry* createGeosPolygon | ( | GEOSGeometry * | shell | ) | [static] |
Definition at line 368 of file qgsgeometry.cpp.
References createGeosPolygon().
static GEOSGeometry* createGeosPolygon | ( | const QgsPolygon & | polygon | ) | [static] |
Definition at line 373 of file qgsgeometry.cpp.
References createGeosLinearRing(), and createGeosPolygon().
static double distLine2Point | ( | QgsPoint | p, |
QgsVector | v, | ||
QgsPoint | q | ||
) | [static] |
Definition at line 6343 of file qgsgeometry.cpp.
References QgsVector::length(), QgsVector::x(), QgsPoint::x(), QgsVector::y(), and QgsPoint::y().
Referenced by QgsGeometry::checkRingIntersections(), and QgsGeometry::validatePolyline().
static QgsGeometry* fromGeosGeom | ( | GEOSGeometry * | geom | ) | [static] |
Definition at line 396 of file qgsgeometry.cpp.
References QgsGeometry::fromGeos().
Referenced by QgsGeometry::asGeometryCollection(), QgsGeometry::buffer(), QgsGeometry::centroid(), QgsGeometry::combine(), QgsGeometry::convexHull(), QgsGeometry::difference(), QgsGeometry::fromMultiPoint(), QgsGeometry::fromMultiPolygon(), QgsGeometry::fromMultiPolyline(), QgsGeometry::fromPoint(), QgsGeometry::fromPolygon(), QgsGeometry::fromPolyline(), QgsGeometry::fromWkt(), QgsGeometry::intersection(), QgsGeometry::simplify(), QgsGeometry::splitLinearGeometry(), QgsGeometry::splitPolygonGeometry(), and QgsGeometry::symDifference().
static unsigned int getNumGeosPoints | ( | const GEOSGeometry * | geom | ) | [static] |
Definition at line 228 of file qgsgeometry.cpp.
Referenced by QgsGeometry::exportGeosToWkb().
static bool intersectLines | ( | QgsPoint | p, |
QgsVector | v, | ||
QgsPoint | q, | ||
QgsVector | w, | ||
QgsPoint & | s | ||
) | [static] |
Definition at line 6353 of file qgsgeometry.cpp.
References QgsVector::x(), QgsPoint::x(), QgsVector::y(), and QgsPoint::y().
Referenced by QgsGeometry::checkRingIntersections(), and QgsGeometry::validatePolyline().
bool pointInRing | ( | const QgsPolyline & | ring, |
const QgsPoint & | p | ||
) |
Definition at line 6369 of file qgsgeometry.cpp.
References QgsPoint::x(), and QgsPoint::y().
Referenced by ringInRing().
static void printGEOSNotice | ( | const char * | fmt, |
... | |||
) | [static] |
Definition at line 97 of file qgsgeometry.cpp.
References QgsDebugMsg.
Referenced by GEOSInit::GEOSInit().
static bool ringInRing | ( | const QgsPolyline & | inside, |
const QgsPolyline & | outside | ||
) | [static] |
Definition at line 6392 of file qgsgeometry.cpp.
References pointInRing().
Referenced by QgsGeometry::validateGeometry(), and QgsGeometry::validatePolygon().
static void throwGEOSException | ( | const char * | fmt, |
... | |||
) | [static] |
Definition at line 83 of file qgsgeometry.cpp.
References QgsDebugMsg.
Referenced by QgsGeometry::addRing(), and GEOSInit::GEOSInit().
Definition at line 125 of file qgsgeometry.cpp.