16 #ifndef QGSGEOMETRYENGINE_H 17 #define QGSGEOMETRYENGINE_H 38 virtual void geometryChanged() = 0;
39 virtual void prepareGeometry() = 0;
47 virtual QgsAbstractGeometryV2* buffer(
double distance,
int segments,
int endCapStyle,
int joinStyle,
double mitreLimit,
QString* errorMsg =
nullptr )
const = 0;
52 virtual bool pointOnSurface(
QgsPointV2& pt,
QString* errorMsg =
nullptr )
const = 0;
82 virtual double area(
QString* errorMsg =
nullptr )
const = 0;
83 virtual double length(
QString* errorMsg =
nullptr )
const = 0;
84 virtual bool isValid(
QString* errorMsg =
nullptr )
const = 0;
86 virtual bool isEmpty(
QString* errorMsg )
const = 0;
93 Q_UNUSED( splitLine );
94 Q_UNUSED( newGeometries );
95 Q_UNUSED( topological );
96 Q_UNUSED( topologyTestPoints );
101 virtual QgsAbstractGeometryV2* offsetCurve(
double distance,
int segments,
int joinStyle,
double mitreLimit,
QString* errorMsg =
nullptr )
const = 0;
109 #endif // QGSGEOMETRYENGINE_H QgsGeometryEngine(const QgsAbstractGeometryV2 *geometry)
virtual int splitGeometry(const QgsLineStringV2 &splitLine, QList< QgsAbstractGeometryV2 *> &newGeometries, bool topological, QgsPointSequenceV2 &topologyTestPoints, QString *errorMsg=nullptr) const
Abstract base class for all geometries.
virtual ~QgsGeometryEngine()
Line string geometry type, with support for z-dimension and m-values.
Point geometry type, with support for z-dimension and m-values.
const QgsAbstractGeometryV2 * mGeometry
Contains geometry relation and modification algorithms.