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.