QGIS API Documentation
2.9.0Master

#include <qgsgeometry.h>
Classes  
class  Error 
Public Member Functions  
QgsGeometry ()  
Constructor. More...  
QgsGeometry (const QgsGeometry &)  
copy constructor will prompt a deep copy of the object More...  
~QgsGeometry ()  
Destructor. More...  
int  addPart (const QList< QgsPoint > &points, QGis::GeometryType geomType=QGis::UnknownGeometry) 
Adds a new island polygon to a multipolygon feature. More...  
int  addPart (GEOSGeometry *newPart) 
Adds a new island polygon to a multipolygon feature. More...  
int  addPart (QgsGeometry *newPart) 
Adds a new island polygon to a multipolygon feature. More...  
int  addRing (const QList< QgsPoint > &ring) 
Adds a new ring to this geometry. More...  
void  adjacentVertices (int atVertex, int &beforeVertex, int &afterVertex) const 
Returns the indexes of the vertices before and after the given vertex index. More...  
double  area () const 
get area of geometry using GEOS More...  
QList< QgsGeometry * >  asGeometryCollection () const 
return contents of the geometry as a list of geometries More...  
const GEOSGeometry *  asGeos () const 
Returns a geos geometry. More...  
QgsMultiPoint  asMultiPoint () const 
return contents of the geometry as a multi point if wkbType is WKBMultiPoint, otherwise an empty list More...  
QgsMultiPolygon  asMultiPolygon () const 
return contents of the geometry as a multi polygon if wkbType is WKBMultiPolygon, otherwise an empty list More...  
QgsMultiPolyline  asMultiPolyline () const 
return contents of the geometry as a multi linestring if wkbType is WKBMultiLineString, otherwise an empty list More...  
QgsPoint  asPoint () const 
return contents of the geometry as a point if wkbType is WKBPoint, otherwise returns [0,0] More...  
QgsPolygon  asPolygon () const 
return contents of the geometry as a polygon if wkbType is WKBPolygon, otherwise an empty list More...  
QgsPolyline  asPolyline () const 
return contents of the geometry as a polyline if wkbType is WKBLineString, otherwise an empty list More...  
QPointF  asQPointF () const 
Return contents of the geometry as a QPointF if wkbType is WKBPoint, otherwise returns a null QPointF. More...  
QPolygonF  asQPolygonF () const 
Return contents of the geometry as a QPolygonF. More...  
const unsigned char *  asWkb () const 
Returns the buffer containing this geometry in WKB format. More...  
int  avoidIntersections (QMap< QgsVectorLayer *, QSet< QgsFeatureId > > ignoreFeatures=(QMap< QgsVectorLayer *, QSet< QgsFeatureId > >())) 
Modifies geometry to avoid intersections with the layers specified in project properties. More...  
QgsRectangle  boundingBox () const 
Returns the bounding box of this feature. More...  
QgsGeometry *  buffer (double distance, int segments) const 
Returns a buffer region around this geometry having the given width and with a specified number of segments used to approximate curves. More...  
QgsGeometry *  buffer (double distance, int segments, int endCapStyle, int joinStyle, double mitreLimit) const 
Returns a buffer region around the geometry, with additional style options. More...  
QgsGeometry *  centroid () const 
Returns the center of mass of a geometry. More...  
double  closestSegmentWithContext (const QgsPoint &point, QgsPoint &minDistPoint, int &afterVertex, double *leftOf=0, double epsilon=DEFAULT_SEGMENT_EPSILON) const 
Searches for the closest segment of geometry to the given point. More...  
QgsPoint  closestVertex (const QgsPoint &point, int &atVertex, int &beforeVertex, int &afterVertex, double &sqrDist) const 
Returns the vertex closest to the given point, the corresponding vertex index, squared distance snap point / target point and the indices of the vertices before/after. More...  
double  closestVertexWithContext (const QgsPoint &point, int &atVertex) const 
Searches for the closest vertex in this geometry to the given point. More...  
QgsGeometry *  combine (const QgsGeometry *geometry) const 
Returns a geometry representing all the points in this geometry and other (a union geometry operation). More...  
bool  contains (const QgsPoint *p) const 
Test for containment of a point (uses GEOS) More...  
bool  contains (const QgsGeometry *geometry) const 
Test for if geometry is contained in another (uses GEOS) More...  
bool  convertToMultiType () 
Converts single type geometry into multitype geometry e.g. More...  
QgsGeometry *  convertToType (QGis::GeometryType destType, bool destMultipart=false) const 
try to convert the geometry to the requested type More...  
QgsGeometry *  convexHull () const 
Returns the smallest convex polygon that contains all the points in the geometry. More...  
bool  crosses (const QgsGeometry *geometry) const 
Test for if geometry crosses another (uses GEOS) More...  
bool  deletePart (int partNum) 
delete part identified by the part number More...  
bool  deleteRing (int ringNum, int partNum=0) 
delete a ring in polygon or multipolygon. More...  
bool  deleteVertex (int atVertex) 
Deletes the vertex at the given position number and item (first number is index 0) Returns false if atVertex does not correspond to a valid vertex on this geometry (including if this geometry is a Point), or if the number of remaining verticies in the linestring would be less than two. More...  
QgsGeometry *  difference (const QgsGeometry *geometry) const 
Returns a geometry representing the points making up this geometry that do not make up other. More...  
bool  disjoint (const QgsGeometry *geometry) const 
Test for if geometry is disjoint of another (uses GEOS) More...  
double  distance (const QgsGeometry &geom) const 
bool  equals (const QgsGeometry *geometry) const 
Test for if geometry equals another (uses GEOS) More...  
QString  exportToGeoJSON (const int &precision=17) const 
Exports the geometry to GeoJSON. More...  
QString  exportToWkt (const int &precision=17) const 
Exports the geometry to WKT. More...  
void  fromGeos (GEOSGeometry *geos) 
Set the geometry, feeding in a geometry in GEOS format. More...  
void  fromWkb (unsigned char *wkb, size_t length) 
Set the geometry, feeding in the buffer containing OGC WellKnown Binary and the buffer's length. More...  
bool  insertVertex (double x, double y, int beforeVertex) 
Insert a new vertex before the given vertex index, ring and item (first number is index 0) If the requested vertex number (beforeVertex.back()) is greater than the last actual vertex on the requested ring and item, it is assumed that the vertex is to be appended instead of inserted. More...  
QgsGeometry *  interpolate (double distance) const 
Return interpolated point on line at distance. More...  
QgsGeometry *  intersection (const QgsGeometry *geometry) const 
Returns a geometry representing the points shared by this geometry and other. More...  
bool  intersects (const QgsRectangle &r) const 
Test for intersection with a rectangle (uses GEOS) More...  
bool  intersects (const QgsGeometry *geometry) const 
Test for intersection with a geometry (uses GEOS) More...  
bool  isGeosEmpty () const 
check if geometry is empty using GEOS More...  
bool  isGeosEqual (const QgsGeometry &) const 
compare geometries using GEOS More...  
bool  isGeosValid () const 
check validity using GEOS More...  
bool  isMultipart () const 
Returns true if wkb of the geometry is of WKBMulti* type. More...  
double  length () const 
get length of geometry using GEOS More...  
int  makeDifference (const QgsGeometry *other) 
Changes this geometry such that it does not intersect the other geometry. More...  
bool  moveVertex (double x, double y, int atVertex) 
Moves the vertex at the given position number and item (first number is index 0) to the given coordinates. More...  
QgsGeometry *  offsetCurve (double distance, int segments, int joinStyle, double mitreLimit) const 
Returns an offset line at a given distance and side from an input line. More...  
QgsGeometry &  operator= (QgsGeometry const &rhs) 
assignments will prompt a deep copy of the object More...  
bool  overlaps (const QgsGeometry *geometry) const 
Test for if geometry overlaps another (uses GEOS) More...  
QgsGeometry *  pointOnSurface () const 
Returns a point within a geometry. More...  
int  reshapeGeometry (const QList< QgsPoint > &reshapeWithLine) 
Replaces a part of this geometry with another line. More...  
int  rotate (double rotation, const QgsPoint ¢er) 
Rotate this geometry around the Z axis. More...  
QgsGeometry *  simplify (double tolerance) const 
Returns a simplified version of this geometry using a specified tolerance value. More...  
QgsGeometry *  smooth (const unsigned int iterations=1, const double offset=0.25) const 
Smooths a geometry by rounding off corners using the Chaikin algorithm. More...  
int  splitGeometry (const QList< QgsPoint > &splitLine, QList< QgsGeometry * > &newGeometries, bool topological, QList< QgsPoint > &topologyTestPoints) 
Splits this geometry according to a given line. More...  
double  sqrDistToVertexAt (QgsPoint &point, int atVertex) const 
Returns the squared cartesian distance between the given point to the given vertex index (vertex at the given position number, ring and item (first number is index 0)) More...  
QgsGeometry *  symDifference (const QgsGeometry *geometry) const 
Returns a Geometry representing the points making up this Geometry that do not make up other. More...  
bool  touches (const QgsGeometry *geometry) const 
Test for if geometry touch another (uses GEOS) More...  
int  transform (const QgsCoordinateTransform &ct) 
Transform this geometry as described by CoordinateTransform ct. More...  
int  transform (const QTransform &ct) 
Transform this geometry as described by QTransform ct. More...  
int  translate (double dx, double dy) 
Translate this geometry by dx, dy. More...  
QGis::GeometryType  type () const 
Returns type of the vector. More...  
void  validateGeometry (QList< Error > &errors) 
Validate geometry and produce a list of geometry errors. More...  
QgsPoint  vertexAt (int atVertex) const 
Returns coordinates of a vertex. More...  
bool  within (const QgsGeometry *geometry) const 
Test for if geometry is within another (uses GEOS) More...  
size_t  wkbSize () const 
Returns the size of the WKB in asWkb(). More...  
QGis::WkbType  wkbType () const 
Returns type of wkb (point / linestring / polygon etc.) More...  
Static Public Member Functions  
static bool  compare (const QgsPolyline &p1, const QgsPolyline &p2, double epsilon=4 *DBL_EPSILON) 
Compares two polylines for equality within a specified tolerance. More...  
static bool  compare (const QgsPolygon &p1, const QgsPolygon &p2, double epsilon=4 *DBL_EPSILON) 
Compares two polygons for equality within a specified tolerance. More...  
static bool  compare (const QgsMultiPolygon &p1, const QgsMultiPolygon &p2, double epsilon=4 *DBL_EPSILON) 
Compares two multipolygons for equality within a specified tolerance. More...  
static QgsGeometry *  fromMultiPoint (const QgsMultiPoint &multipoint) 
construct geometry from a multipoint More...  
static QgsGeometry *  fromMultiPolygon (const QgsMultiPolygon &multipoly) 
construct geometry from a multipolygon More...  
static QgsGeometry *  fromMultiPolyline (const QgsMultiPolyline &multiline) 
construct geometry from a multipolyline More...  
static QgsGeometry *  fromPoint (const QgsPoint &point) 
construct geometry from a point More...  
static QgsGeometry *  fromPolygon (const QgsPolygon &polygon) 
construct geometry from a polygon More...  
static QgsGeometry *  fromPolyline (const QgsPolyline &polyline) 
construct geometry from a polyline More...  
static QgsGeometry *  fromQPointF (const QPointF &point) 
Construct geometry from a QPointF. More...  
static QgsGeometry *  fromQPolygonF (const QPolygonF &polygon) 
Construct geometry from a QPolygonF. More...  
static QgsGeometry *  fromRect (const QgsRectangle &rect) 
construct geometry from a rectangle More...  
static QgsGeometry *  fromWkt (QString wkt) 
static method that creates geometry from Wkt More...  
static GEOSContextHandle_t  getGEOSHandler () 
return GEOS context handle More...  
static QgsGeometry *  unaryUnion (const QList< QgsGeometry * > &geometryList) 
compute the unary union on a list of geometries. More...  
Definition at line 69 of file qgsgeometry.h.
QgsGeometry::QgsGeometry  (  ) 
Constructor.
Definition at line 144 of file qgsgeometry.cpp.
QgsGeometry::QgsGeometry  (  const QgsGeometry &  rhs  ) 
copy constructor will prompt a deep copy of the object
Definition at line 153 of file qgsgeometry.cpp.
QgsGeometry::~QgsGeometry  (  ) 
Destructor.
Definition at line 174 of file qgsgeometry.cpp.
int QgsGeometry::addPart  (  const QList< QgsPoint > &  points, 
QGis::GeometryType  geomType = QGis::UnknownGeometry 

) 
Adds a new island polygon to a multipolygon feature.
Definition at line 2540 of file qgsgeometry.cpp.
int QgsGeometry::addPart  (  GEOSGeometry *  newPart  ) 
Adds a new island polygon to a multipolygon feature.
Definition at line 2647 of file qgsgeometry.cpp.
int QgsGeometry::addPart  (  QgsGeometry *  newPart  ) 
Adds a new island polygon to a multipolygon feature.
Definition at line 2638 of file qgsgeometry.cpp.
int QgsGeometry::addRing  (  const QList< QgsPoint > &  ring  ) 
Adds a new ring to this geometry.
This makes only sense for polygon and multipolygons.
Definition at line 2342 of file qgsgeometry.cpp.
void QgsGeometry::adjacentVertices  (  int  atVertex, 
int &  beforeVertex,  
int &  afterVertex  
)  const 
Returns the indexes of the vertices before and after the given vertex index.
This function takes into account the following factors:
Definition at line 960 of file qgsgeometry.cpp.
double QgsGeometry::area  (  )  const 
get area of geometry using GEOS
Definition at line 5668 of file qgsgeometry.cpp.
QList< QgsGeometry * > QgsGeometry::asGeometryCollection  (  )  const 
return contents of the geometry as a list of geometries
Definition at line 6072 of file qgsgeometry.cpp.
const GEOSGeometry * QgsGeometry::asGeos  (  )  const 
Returns a geos geometry.
QgsGeometry keeps ownership, don't delete the returned object!
Definition at line 620 of file qgsgeometry.cpp.
QgsMultiPoint QgsGeometry::asMultiPoint  (  )  const 
return contents of the geometry as a multi point if wkbType is WKBMultiPoint, otherwise an empty list
Definition at line 5604 of file qgsgeometry.cpp.
QgsMultiPolygon QgsGeometry::asMultiPolygon  (  )  const 
return contents of the geometry as a multi polygon if wkbType is WKBMultiPolygon, otherwise an empty list
Definition at line 5647 of file qgsgeometry.cpp.
QgsMultiPolyline QgsGeometry::asMultiPolyline  (  )  const 
return contents of the geometry as a multi linestring if wkbType is WKBMultiLineString, otherwise an empty list
Definition at line 5626 of file qgsgeometry.cpp.
QgsPoint QgsGeometry::asPoint  (  )  const 
return contents of the geometry as a point if wkbType is WKBPoint, otherwise returns [0,0]
Definition at line 5574 of file qgsgeometry.cpp.
QgsPolygon QgsGeometry::asPolygon  (  )  const 
return contents of the geometry as a polygon if wkbType is WKBPolygon, otherwise an empty list
Definition at line 5594 of file qgsgeometry.cpp.
QgsPolyline QgsGeometry::asPolyline  (  )  const 
return contents of the geometry as a polyline if wkbType is WKBLineString, otherwise an empty list
Definition at line 5584 of file qgsgeometry.cpp.
QPointF QgsGeometry::asQPointF  (  )  const 
Return contents of the geometry as a QPointF if wkbType is WKBPoint, otherwise returns a null QPointF.
Definition at line 6107 of file qgsgeometry.cpp.
QPolygonF QgsGeometry::asQPolygonF  (  )  const 
Return contents of the geometry as a QPolygonF.
If geometry is a linestring, then the result will be an open QPolygonF. If the geometry is a polygon, then the result will be a closed QPolygonF of the geometry's exterior ring.
Definition at line 6113 of file qgsgeometry.cpp.
const unsigned char * QgsGeometry::asWkb  (  )  const 
Returns the buffer containing this geometry in WKB format.
You may wish to use in conjunction with wkbSize().
Definition at line 604 of file qgsgeometry.cpp.
int QgsGeometry::avoidIntersections  (  QMap< QgsVectorLayer *, QSet< QgsFeatureId > >  ignoreFeatures = ( QMap<QgsVectorLayer*, QSet<QgsFeatureId> >() )  ) 
Modifies geometry to avoid intersections with the layers specified in project properties.
ignoreFeatures  possibility to give a list of features where intersections should be ignored (not available in python bindings) 
Definition at line 6280 of file qgsgeometry.cpp.
QgsRectangle QgsGeometry::boundingBox  (  )  const 
Returns the bounding box of this feature.
Definition at line 3230 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::buffer  (  double  distance, 
int  segments  
)  const 
Returns a buffer region around this geometry having the given width and with a specified number of segments used to approximate curves.
Definition at line 5729 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::buffer  (  double  distance, 
int  segments,  
int  endCapStyle,  
int  joinStyle,  
double  mitreLimit  
)  const 
Returns a buffer region around the geometry, with additional style options.
distance  buffer distance 
segments  For round joins, number of segments to approximate quartercircle 
endCapStyle  Round (1) / Flat (2) / Square (3) end cap style 
joinStyle  Round (1) / Mitre (2) / Bevel (3) join style 
mitreLimit  Limit on the mitre ratio used for very sharp corners 
Definition at line 5744 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::centroid  (  )  const 
Returns the center of mass of a geometry.
Definition at line 5909 of file qgsgeometry.cpp.
double QgsGeometry::closestSegmentWithContext  (  const QgsPoint &  point, 
QgsPoint &  minDistPoint,  
int &  afterVertex,  
double *  leftOf = 0 , 

double  epsilon = DEFAULT_SEGMENT_EPSILON 

)  const 
Searches for the closest segment of geometry to the given point.
point  Specifies the point for search 
minDistPoint  Receives the nearest point on the segment 
afterVertex  Receives index of the vertex after the closest segment. The vertex before the closest segment is always afterVertex  1 
leftOf  Out: Returns if the point lies on the left of right side of the segment ( < 0 means left, > 0 means right ) 
epsilon  epsilon for segment snapping 
Definition at line 2112 of file qgsgeometry.cpp.
QgsPoint QgsGeometry::closestVertex  (  const QgsPoint &  point, 
int &  atVertex,  
int &  beforeVertex,  
int &  afterVertex,  
double &  sqrDist  
)  const 
Returns the vertex closest to the given point, the corresponding vertex index, squared distance snap point / target point and the indices of the vertices before/after.
The vertices before/after are 1 if not present
Definition at line 711 of file qgsgeometry.cpp.
double QgsGeometry::closestVertexWithContext  (  const QgsPoint &  point, 
int &  atVertex  
)  const 
Searches for the closest vertex in this geometry to the given point.
point  Specifiest the point for search 
atVertex  Receives index of the closest vertex 
Definition at line 2062 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::combine  (  const QgsGeometry *  geometry  )  const 
Returns a geometry representing all the points in this geometry and other (a union geometry operation).
Definition at line 5996 of file qgsgeometry.cpp.

static 
Compares two polylines for equality within a specified tolerance.
p1  first polyline 
p2  second polyline 
epsilon  maximum difference for coordinates between the polylines 
Definition at line 6745 of file qgsgeometry.cpp.

static 
Compares two polygons for equality within a specified tolerance.
p1  first polygon 
p2  second polygon 
epsilon  maximum difference for coordinates between the polygons 
Definition at line 6758 of file qgsgeometry.cpp.

static 
Compares two multipolygons for equality within a specified tolerance.
p1  first multipolygon 
p2  second multipolygon 
epsilon  maximum difference for coordinates between the multipolygons 
Definition at line 6772 of file qgsgeometry.cpp.
bool QgsGeometry::contains  (  const QgsPoint *  p  )  const 
Test for containment of a point (uses GEOS)
Definition at line 3498 of file qgsgeometry.cpp.
bool QgsGeometry::contains  (  const QgsGeometry *  geometry  )  const 
Test for if geometry is contained in another (uses GEOS)
Definition at line 3559 of file qgsgeometry.cpp.
bool QgsGeometry::convertToMultiType  (  ) 
Converts single type geometry into multitype geometry e.g.
a polygon into a multipolygon geometry with one polygon
Definition at line 4608 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::convertToType  (  QGis::GeometryType  destType, 
bool  destMultipart = false 

)  const 
try to convert the geometry to the requested type
destType  the geometry type to be converted to 
destMultipart  determines if the output geometry will be multipart or not 
Definition at line 4590 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::convexHull  (  )  const 
Returns the smallest convex polygon that contains all the points in the geometry.
Definition at line 5939 of file qgsgeometry.cpp.
bool QgsGeometry::crosses  (  const QgsGeometry *  geometry  )  const 
Test for if geometry crosses another (uses GEOS)
Definition at line 3589 of file qgsgeometry.cpp.
bool QgsGeometry::deletePart  (  int  partNum  ) 
delete part identified by the part number
Definition at line 6191 of file qgsgeometry.cpp.
bool QgsGeometry::deleteRing  (  int  ringNum, 
int  partNum = 0 

) 
delete a ring in polygon or multipolygon.
Ring 0 is outer ring and can't be deleted.
Definition at line 6142 of file qgsgeometry.cpp.
bool QgsGeometry::deleteVertex  (  int  atVertex  ) 
Deletes the vertex at the given position number and item (first number is index 0) Returns false if atVertex does not correspond to a valid vertex on this geometry (including if this geometry is a Point), or if the number of remaining verticies in the linestring would be less than two.
It is up to the caller to distinguish between these error conditions. (Or maybe we add another method to this object to help make the distinction?)
Definition at line 1480 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::difference  (  const QgsGeometry *  geometry  )  const 
Returns a geometry representing the points making up this geometry that do not make up other.
Definition at line 6030 of file qgsgeometry.cpp.
bool QgsGeometry::disjoint  (  const QgsGeometry *  geometry  )  const 
Test for if geometry is disjoint of another (uses GEOS)
Definition at line 3564 of file qgsgeometry.cpp.
double QgsGeometry::distance  (  const QgsGeometry &  geom  )  const 
Definition at line 5707 of file qgsgeometry.cpp.
bool QgsGeometry::equals  (  const QgsGeometry *  geometry  )  const 
Test for if geometry equals another (uses GEOS)
Definition at line 3569 of file qgsgeometry.cpp.
QString QgsGeometry::exportToGeoJSON  (  const int &  precision = 17  )  const 
Exports the geometry to GeoJSON.
Definition at line 3808 of file qgsgeometry.cpp.
QString QgsGeometry::exportToWkt  (  const int &  precision = 17  )  const 
Exports the geometry to WKT.
Definition at line 3594 of file qgsgeometry.cpp.
void QgsGeometry::fromGeos  (  GEOSGeometry *  geos  ) 
Set the geometry, feeding in a geometry in GEOS format.
This class will take ownership of the buffer.
Definition at line 689 of file qgsgeometry.cpp.

static 
construct geometry from a multipoint
Definition at line 432 of file qgsgeometry.cpp.

static 
construct geometry from a multipolygon
Definition at line 476 of file qgsgeometry.cpp.

static 
construct geometry from a multipolyline
Definition at line 454 of file qgsgeometry.cpp.

static 
construct geometry from a point
Definition at line 417 of file qgsgeometry.cpp.

static 
construct geometry from a polygon
Definition at line 427 of file qgsgeometry.cpp.

static 
construct geometry from a polyline
Definition at line 422 of file qgsgeometry.cpp.

static 
Construct geometry from a QPointF.
point  source QPointF 
Definition at line 516 of file qgsgeometry.cpp.

static 
Construct geometry from a QPolygonF.
If the polygon is closed than the resultant geometry will be a polygon, if it is open than the geometry will be a polyline.
polygon  source QPolygonF 
Definition at line 521 of file qgsgeometry.cpp.

static 
construct geometry from a rectangle
Definition at line 501 of file qgsgeometry.cpp.
void QgsGeometry::fromWkb  (  unsigned char *  wkb, 
size_t  length  
) 
Set the geometry, feeding in the buffer containing OGC WellKnown Binary and the buffer's length.
This class will take ownership of the buffer.
Definition at line 582 of file qgsgeometry.cpp.

static 
static method that creates geometry from Wkt
Definition at line 401 of file qgsgeometry.cpp.

static 
return GEOS context handle
Definition at line 139 of file qgsgeometry.cpp.
bool QgsGeometry::insertVertex  (  double  x, 
double  y,  
int  beforeVertex  
) 
Insert a new vertex before the given vertex index, ring and item (first number is index 0) If the requested vertex number (beforeVertex.back()) is greater than the last actual vertex on the requested ring and item, it is assumed that the vertex is to be appended instead of inserted.
Returns false if atVertex does not correspond to a valid vertex on this geometry (including if this geometry is a Point). It is up to the caller to distinguish between these error conditions. (Or maybe we add another method to this object to help make the distinction?)
Definition at line 1723 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::interpolate  (  double  distance  )  const 
Return interpolated point on line at distance.
Definition at line 5954 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::intersection  (  const QgsGeometry *  geometry  )  const 
Returns a geometry representing the points shared by this geometry and other.
Definition at line 5975 of file qgsgeometry.cpp.
bool QgsGeometry::intersects  (  const QgsRectangle &  r  )  const 
Test for intersection with a rectangle (uses GEOS)
Definition at line 3468 of file qgsgeometry.cpp.
bool QgsGeometry::intersects  (  const QgsGeometry *  geometry  )  const 
Test for intersection with a geometry (uses GEOS)
Definition at line 3476 of file qgsgeometry.cpp.
bool QgsGeometry::isGeosEmpty  (  )  const 
check if geometry is empty using GEOS
Definition at line 6388 of file qgsgeometry.cpp.
bool QgsGeometry::isGeosEqual  (  const QgsGeometry &  g  )  const 
compare geometries using GEOS
Definition at line 6383 of file qgsgeometry.cpp.
bool QgsGeometry::isGeosValid  (  )  const 
check validity using GEOS
Definition at line 6365 of file qgsgeometry.cpp.
bool QgsGeometry::isMultipart  (  )  const 
Returns true if wkb of the geometry is of WKBMulti* type.
Definition at line 681 of file qgsgeometry.cpp.
double QgsGeometry::length  (  )  const 
get length of geometry using GEOS
Definition at line 5688 of file qgsgeometry.cpp.
int QgsGeometry::makeDifference  (  const QgsGeometry *  other  ) 
Changes this geometry such that it does not intersect the other geometry.
other  geometry that should not be intersect 
Definition at line 3172 of file qgsgeometry.cpp.
bool QgsGeometry::moveVertex  (  double  x, 
double  y,  
int  atVertex  
) 
Moves the vertex at the given position number and item (first number is index 0) to the given coordinates.
Returns false if atVertex does not correspond to a valid vertex on this geometry
Definition at line 1243 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::offsetCurve  (  double  distance, 
int  segments,  
int  joinStyle,  
double  mitreLimit  
)  const 
Returns an offset line at a given distance and side from an input line.
See buffer() method for details on parameters.
Definition at line 5764 of file qgsgeometry.cpp.
QgsGeometry & QgsGeometry::operator=  (  QgsGeometry const &  rhs  ) 
assignments will prompt a deep copy of the object
Definition at line 551 of file qgsgeometry.cpp.
bool QgsGeometry::overlaps  (  const QgsGeometry *  geometry  )  const 
Test for if geometry overlaps another (uses GEOS)
Definition at line 3579 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::pointOnSurface  (  )  const 
Returns a point within a geometry.
Definition at line 5924 of file qgsgeometry.cpp.
int QgsGeometry::reshapeGeometry  (  const QList< QgsPoint > &  reshapeWithLine  ) 
Replaces a part of this geometry with another line.
Definition at line 3065 of file qgsgeometry.cpp.
int QgsGeometry::rotate  (  double  rotation, 
const QgsPoint &  center  
) 
Rotate this geometry around the Z axis.
rotation  clockwise rotation in degrees 
center  rotation center 
Definition at line 2857 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::simplify  (  double  tolerance  )  const 
Returns a simplified version of this geometry using a specified tolerance value.
Definition at line 5784 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::smooth  (  const unsigned int  iterations = 1 , 
const double  offset = 0.25 

)  const 
Smooths a geometry by rounding off corners using the Chaikin algorithm.
This operation roughly doubles the number of vertices in a geometry.
iterations  number of smoothing iterations to run. More iterations results in a smoother geometry 
offset  fraction of line to create new vertices along, between 0 and 1.0 eg the default value of 0.25 will create new vertices 25% and 75% along each line segment of the geometry for each iteration. Smaller values result in "tighter" smoothing. 
Definition at line 5799 of file qgsgeometry.cpp.
int QgsGeometry::splitGeometry  (  const QList< QgsPoint > &  splitLine, 
QList< QgsGeometry * > &  newGeometries,  
bool  topological,  
QList< QgsPoint > &  topologyTestPoints  
) 
Splits this geometry according to a given line.
Note that the geometry is only split once. If there are several intersections between geometry and splitLine, only the first one is considered.
splitLine  the line that splits the geometry  
[out]  newGeometries  list of new geometries that have been created with the split 
topological  true if topological editing is enabled  
[out]  topologyTestPoints  points that need to be tested for topological completeness in the dataset 
Definition at line 2985 of file qgsgeometry.cpp.
double QgsGeometry::sqrDistToVertexAt  (  QgsPoint &  point, 
int  atVertex  
)  const 
Returns the squared cartesian distance between the given point to the given vertex index (vertex at the given position number, ring and item (first number is index 0))
Definition at line 2046 of file qgsgeometry.cpp.
QgsGeometry * QgsGeometry::symDifference  (  const QgsGeometry *  geometry  )  const 
Returns a Geometry representing the points making up this Geometry that do not make up other.
Definition at line 6051 of file qgsgeometry.cpp.
bool QgsGeometry::touches  (  const QgsGeometry *  geometry  )  const 
Test for if geometry touch another (uses GEOS)
Definition at line 3574 of file qgsgeometry.cpp.
int QgsGeometry::transform  (  const QgsCoordinateTransform &  ct  ) 
Transform this geometry as described by CoordinateTransform ct.
Definition at line 2865 of file qgsgeometry.cpp.
int QgsGeometry::transform  (  const QTransform &  ct  ) 
Transform this geometry as described by QTransform ct.
Definition at line 2732 of file qgsgeometry.cpp.
int QgsGeometry::translate  (  double  dx, 
double  dy  
) 
Translate this geometry by dx, dy.
Definition at line 2852 of file qgsgeometry.cpp.
QGis::GeometryType QgsGeometry::type  (  )  const 
Returns type of the vector.
Definition at line 651 of file qgsgeometry.cpp.

static 
compute the unary union on a list of geometries.
May be faster than an iterative union on a set of geometries.
geometryList  a list of QgsGeometry* as input 
Definition at line 6732 of file qgsgeometry.cpp.
void QgsGeometry::validateGeometry  (  QList< Error > &  errors  ) 
Validate geometry and produce a list of geometry errors.
Definition at line 6360 of file qgsgeometry.cpp.
QgsPoint QgsGeometry::vertexAt  (  int  atVertex  )  const 
Returns coordinates of a vertex.
atVertex  index of the vertex 
Definition at line 1868 of file qgsgeometry.cpp.
bool QgsGeometry::within  (  const QgsGeometry *  geometry  )  const 
Test for if geometry is within another (uses GEOS)
Definition at line 3584 of file qgsgeometry.cpp.
size_t QgsGeometry::wkbSize  (  )  const 
Returns the size of the WKB in asWkb().
Definition at line 612 of file qgsgeometry.cpp.
QGis::WkbType QgsGeometry::wkbType  (  )  const 
Returns type of wkb (point / linestring / polygon etc.)
Definition at line 634 of file qgsgeometry.cpp.