Skip to content

Commit 4d989f8

Browse files
committed
Fix clearing multisurface should reset dimensionality
1 parent 31730f4 commit 4d989f8

File tree

6 files changed

+18
-0
lines changed

6 files changed

+18
-0
lines changed

python/core/geometry/qgsmultipolygon.sip

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ class QgsMultiPolygonV2: QgsMultiSurface
2222
QgsMultiPolygonV2();
2323
virtual QString geometryType() const;
2424

25+
virtual void clear();
26+
2527
virtual QgsMultiPolygonV2 *clone() const /Factory/;
2628

2729

python/core/geometry/qgsmultisurface.sip

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ class QgsMultiSurface: QgsGeometryCollection
2222
QgsMultiSurface();
2323
virtual QString geometryType() const;
2424

25+
virtual void clear();
26+
2527
virtual QgsMultiSurface *clone() const /Factory/;
2628

2729
virtual QgsMultiSurface *toCurveType() const /Factory/;

src/core/geometry/qgsmultipolygon.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ QString QgsMultiPolygonV2::geometryType() const
3333
return QStringLiteral( "MultiPolygon" );
3434
}
3535

36+
void QgsMultiPolygonV2::clear()
37+
{
38+
QgsMultiSurface::clear();
39+
mWkbType = QgsWkbTypes::MultiPolygon;
40+
}
41+
3642
QgsMultiPolygonV2 *QgsMultiPolygonV2::clone() const
3743
{
3844
return new QgsMultiPolygonV2( *this );

src/core/geometry/qgsmultipolygon.h

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class CORE_EXPORT QgsMultiPolygonV2: public QgsMultiSurface
3030
public:
3131
QgsMultiPolygonV2();
3232
QString geometryType() const override;
33+
void clear() override;
3334
QgsMultiPolygonV2 *clone() const override SIP_FACTORY;
3435

3536
bool fromWkt( const QString &wkt ) override;

src/core/geometry/qgsmultisurface.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ QString QgsMultiSurface::geometryType() const
3434
return QStringLiteral( "MultiSurface" );
3535
}
3636

37+
void QgsMultiSurface::clear()
38+
{
39+
QgsGeometryCollection::clear();
40+
mWkbType = QgsWkbTypes::MultiSurface;
41+
}
42+
3743
QgsMultiSurface *QgsMultiSurface::clone() const
3844
{
3945
return new QgsMultiSurface( *this );

src/core/geometry/qgsmultisurface.h

+1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class CORE_EXPORT QgsMultiSurface: public QgsGeometryCollection
3030
public:
3131
QgsMultiSurface();
3232
QString geometryType() const override;
33+
void clear() override;
3334
QgsMultiSurface *clone() const override SIP_FACTORY;
3435
QgsMultiSurface *toCurveType() const override SIP_FACTORY;
3536
bool fromWkt( const QString &wkt ) override;

0 commit comments

Comments
 (0)