diff --git a/python/core/geometry/qgsmultipolygon.sip b/python/core/geometry/qgsmultipolygon.sip index c53ab77f1b2..65839bd29ab 100644 --- a/python/core/geometry/qgsmultipolygon.sip +++ b/python/core/geometry/qgsmultipolygon.sip @@ -22,6 +22,8 @@ class QgsMultiPolygonV2: QgsMultiSurface QgsMultiPolygonV2(); virtual QString geometryType() const; + virtual void clear(); + virtual QgsMultiPolygonV2 *clone() const /Factory/; diff --git a/python/core/geometry/qgsmultisurface.sip b/python/core/geometry/qgsmultisurface.sip index dc62300f0f7..5b2a3106bcd 100644 --- a/python/core/geometry/qgsmultisurface.sip +++ b/python/core/geometry/qgsmultisurface.sip @@ -22,6 +22,8 @@ class QgsMultiSurface: QgsGeometryCollection QgsMultiSurface(); virtual QString geometryType() const; + virtual void clear(); + virtual QgsMultiSurface *clone() const /Factory/; virtual QgsMultiSurface *toCurveType() const /Factory/; diff --git a/src/core/geometry/qgsmultipolygon.cpp b/src/core/geometry/qgsmultipolygon.cpp index f5e9fcefc9e..8c9dc717b2e 100644 --- a/src/core/geometry/qgsmultipolygon.cpp +++ b/src/core/geometry/qgsmultipolygon.cpp @@ -33,6 +33,12 @@ QString QgsMultiPolygonV2::geometryType() const return QStringLiteral( "MultiPolygon" ); } +void QgsMultiPolygonV2::clear() +{ + QgsMultiSurface::clear(); + mWkbType = QgsWkbTypes::MultiPolygon; +} + QgsMultiPolygonV2 *QgsMultiPolygonV2::clone() const { return new QgsMultiPolygonV2( *this ); diff --git a/src/core/geometry/qgsmultipolygon.h b/src/core/geometry/qgsmultipolygon.h index 105118fa558..7f2edee42a3 100644 --- a/src/core/geometry/qgsmultipolygon.h +++ b/src/core/geometry/qgsmultipolygon.h @@ -30,6 +30,7 @@ class CORE_EXPORT QgsMultiPolygonV2: public QgsMultiSurface public: QgsMultiPolygonV2(); QString geometryType() const override; + void clear() override; QgsMultiPolygonV2 *clone() const override SIP_FACTORY; bool fromWkt( const QString &wkt ) override; diff --git a/src/core/geometry/qgsmultisurface.cpp b/src/core/geometry/qgsmultisurface.cpp index 50c4f942363..677855f6c6a 100644 --- a/src/core/geometry/qgsmultisurface.cpp +++ b/src/core/geometry/qgsmultisurface.cpp @@ -34,6 +34,12 @@ QString QgsMultiSurface::geometryType() const return QStringLiteral( "MultiSurface" ); } +void QgsMultiSurface::clear() +{ + QgsGeometryCollection::clear(); + mWkbType = QgsWkbTypes::MultiSurface; +} + QgsMultiSurface *QgsMultiSurface::clone() const { return new QgsMultiSurface( *this ); diff --git a/src/core/geometry/qgsmultisurface.h b/src/core/geometry/qgsmultisurface.h index acb5670ace6..47d5bf3179c 100644 --- a/src/core/geometry/qgsmultisurface.h +++ b/src/core/geometry/qgsmultisurface.h @@ -30,6 +30,7 @@ class CORE_EXPORT QgsMultiSurface: public QgsGeometryCollection public: QgsMultiSurface(); QString geometryType() const override; + void clear() override; QgsMultiSurface *clone() const override SIP_FACTORY; QgsMultiSurface *toCurveType() const override SIP_FACTORY; bool fromWkt( const QString &wkt ) override;