16 #ifndef QGSVECTORTOPOLOGY_H
17 #define QGSVECTORTOPOLOGY_H
39 virtual void geometryChanged() = 0;
40 virtual void prepareGeometry() = 0;
48 virtual QgsAbstractGeometryV2* buffer(
double distance,
int segments,
int endCapStyle,
int joinStyle,
double mitreLimit )
const = 0;
51 virtual bool centroid(
QgsPointV2& pt )
const = 0;
52 virtual bool pointOnSurface(
QgsPointV2& pt )
const = 0;
62 virtual double area()
const = 0;
63 virtual double length()
const = 0;
64 virtual bool isValid()
const = 0;
66 virtual bool isEmpty()
const = 0;
73 Q_UNUSED( splitLine );
74 Q_UNUSED( newGeometries );
75 Q_UNUSED( topological );
76 Q_UNUSED( topologyTestPoints );
80 virtual QgsAbstractGeometryV2* offsetCurve(
double distance,
int segments,
int joinStyle,
double mitreLimit )
const = 0;
88 #endif // QGSVECTORTOPOLOGY_H
QgsGeometryEngine(const QgsAbstractGeometryV2 *geometry)
Abstract base class for all geometries.
virtual ~QgsGeometryEngine()
virtual int splitGeometry(const QgsLineStringV2 &splitLine, QList< QgsAbstractGeometryV2 * > &newGeometries, bool topological, QList< QgsPointV2 > &topologyTestPoints) const
Line string geometry type.
const QgsAbstractGeometryV2 * mGeometry
Contains geometry relation and modification algorithms.
int convexHull(int *id, const double *const x, const double *const y, int n)