Rename QgsMultiPolygon to QgsMultiPolygonXY

This commit is contained in:
Matthias Kuhn 2017-10-29 11:43:10 +01:00
parent b7908744e3
commit 9a57bae6f4
No known key found for this signature in database
GPG Key ID: A0E766808764D73F
20 changed files with 65 additions and 65 deletions

View File

@ -25,7 +25,7 @@ typedef QVector<QgsPointXY> QgsMultiPointXY;
typedef QVector<QVector<QgsPointXY>> QgsMultiPolylineXY;
typedef QVector<QVector<QVector<QgsPointXY>>> QgsMultiPolygon;
typedef QVector<QVector<QVector<QgsPointXY>>> QgsMultiPolygonXY;
@ -194,7 +194,7 @@ Creates a new geometry from a QgsMultiPolylineXY object
Creates a new geometry from a QgsPolygon
:rtype: QgsGeometry
%End
static QgsGeometry fromMultiPolygon( const QgsMultiPolygon &multipoly );
static QgsGeometry fromMultiPolygon( const QgsMultiPolygonXY &multipoly );
%Docstring
Creates a new geometry from a QgsMultiPolygon
:rtype: QgsGeometry
@ -1165,11 +1165,11 @@ Returns an extruded version of this geometry.
:rtype: QgsMultiPolylineXY
%End
QgsMultiPolygon asMultiPolygon() const;
QgsMultiPolygonXY asMultiPolygon() const;
%Docstring
Returns contents of the geometry as a multi polygon
if wkbType is WKBMultiPolygon, otherwise an empty list
:rtype: QgsMultiPolygon
:rtype: QgsMultiPolygonXY
%End
QList<QgsGeometry> asGeometryCollection() const;
@ -1534,10 +1534,10 @@ Returns an extruded version of this geometry.
sipCanConvertToType( a0, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, SIP_NOT_NONE ) &&
sipCanConvertToType( a1, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, SIP_NOT_NONE ) )
{
QgsMultiPolygon *p0;
QgsMultiPolygon *p1;
p0 = reinterpret_cast<QgsMultiPolygon *>( sipConvertToType( a0, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, 0, SIP_NOT_NONE, &state0, &sipIsErr ) );
p1 = reinterpret_cast<QgsMultiPolygon *>( sipConvertToType( a1, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, 0, SIP_NOT_NONE, &state1, &sipIsErr ) );
QgsMultiPolygonXY *p0;
QgsMultiPolygonXY *p1;
p0 = reinterpret_cast<QgsMultiPolygonXY *>( sipConvertToType( a0, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, 0, SIP_NOT_NONE, &state0, &sipIsErr ) );
p1 = reinterpret_cast<QgsMultiPolygonXY *>( sipConvertToType( a1, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, 0, SIP_NOT_NONE, &state1, &sipIsErr ) );
if ( sipIsErr )
{
sipReleaseType( p0, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, state0 );

View File

@ -175,7 +175,7 @@ QgsGeometry QgsMapToolDeletePart::partUnderPoint( QPoint point, QgsFeatureId &fi
fid = f.id();
return geomPart;
}
QgsMultiPolygon mpolygon = g.asMultiPolygon();
QgsMultiPolygonXY mpolygon = g.asMultiPolygon();
for ( int part = 0; part < mpolygon.count(); part++ ) // go through the polygons
{
const QgsPolygonXY &polygon = mpolygon[part];

View File

@ -126,7 +126,7 @@ QgsGeometry QgsMapToolDeleteRing::ringUnderPoint( const QgsPointXY &p, QgsFeatur
QgsFeature f;
QgsGeometry g;
QgsGeometry ringGeom;
QgsMultiPolygon pol;
QgsMultiPolygonXY pol;
QgsPolygonXYtempPol;
QgsGeometry tempGeom;
double area = std::numeric_limits<double>::max();
@ -137,7 +137,7 @@ QgsGeometry QgsMapToolDeleteRing::ringUnderPoint( const QgsPointXY &p, QgsFeatur
continue;
if ( g.wkbType() == QgsWkbTypes::Polygon || g.wkbType() == QgsWkbTypes::Polygon25D )
{
pol = QgsMultiPolygon() << g.asPolygon();
pol = QgsMultiPolygonXY() << g.asPolygon();
}
else
{
@ -215,7 +215,7 @@ int QgsMapToolDeleteRing::ringNumInPolygon( const QgsGeometry &g, int vertexNr )
int QgsMapToolDeleteRing::ringNumInMultiPolygon( const QgsGeometry &g, int vertexNr, int &partNum )
{
QgsMultiPolygon mpolygon = g.asMultiPolygon();
QgsMultiPolygonXY mpolygon = g.asMultiPolygon();
for ( int part = 0; part < mpolygon.count(); part++ )
{
const QgsPolygonXY &polygon = mpolygon[part];

View File

@ -199,10 +199,10 @@ QgsGeometry QgsMapToolFillRing::ringUnderPoint( const QgsPointXY &p, QgsFeatureI
if ( g.isNull() )
continue;
QgsMultiPolygon pol;
QgsMultiPolygonXY pol;
if ( g.wkbType() == QgsWkbTypes::Polygon || g.wkbType() == QgsWkbTypes::Polygon25D )
{
pol = QgsMultiPolygon() << g.asPolygon();
pol = QgsMultiPolygonXY() << g.asPolygon();
}
else
{

View File

@ -408,7 +408,7 @@ QgsGeometry QgsMapToolOffsetCurve::linestringFromPolygon( const QgsGeometry &fea
QgsWkbTypes::Type geomType = featureGeom.wkbType();
int currentVertex = 0;
QgsMultiPolygon multiPoly;
QgsMultiPolygonXY multiPoly;
if ( geomType == QgsWkbTypes::Polygon || geomType == QgsWkbTypes::Polygon25D )
{
@ -425,7 +425,7 @@ QgsGeometry QgsMapToolOffsetCurve::linestringFromPolygon( const QgsGeometry &fea
return QgsGeometry();
}
QgsMultiPolygon::const_iterator multiPolyIt = multiPoly.constBegin();
QgsMultiPolygonXY::const_iterator multiPolyIt = multiPoly.constBegin();
for ( ; multiPolyIt != multiPoly.constEnd(); ++multiPolyIt )
{
QgsPolygonXY::const_iterator polyIt = multiPolyIt->constBegin();

View File

@ -211,7 +211,7 @@ QgsGeometry QgsGeometry::fromMultiPolyline( const QgsMultiPolylineXY &multiline
return QgsGeometry();
}
QgsGeometry QgsGeometry::fromMultiPolygon( const QgsMultiPolygon &multipoly )
QgsGeometry QgsGeometry::fromMultiPolygon( const QgsMultiPolygonXY &multipoly )
{
std::unique_ptr< QgsMultiPolygonV2 > geom = QgsGeometryFactory::fromMultiPolygon( multipoly );
if ( geom )
@ -1438,26 +1438,26 @@ QgsMultiPolylineXY QgsGeometry::asMultiPolyline() const
return mpl;
}
QgsMultiPolygon QgsGeometry::asMultiPolygon() const
QgsMultiPolygonXY QgsGeometry::asMultiPolygon() const
{
if ( !d->geometry )
{
return QgsMultiPolygon();
return QgsMultiPolygonXY();
}
QgsGeometryCollection *geomCollection = qgsgeometry_cast<QgsGeometryCollection *>( d->geometry.get() );
if ( !geomCollection )
{
return QgsMultiPolygon();
return QgsMultiPolygonXY();
}
int nPolygons = geomCollection->numGeometries();
if ( nPolygons < 1 )
{
return QgsMultiPolygon();
return QgsMultiPolygonXY();
}
QgsMultiPolygon mp;
QgsMultiPolygonXY mp;
for ( int i = 0; i < nPolygons; ++i )
{
const QgsPolygonV2 *polygon = qgsgeometry_cast<const QgsPolygonV2 *>( geomCollection->geometryN( i ) );
@ -2601,7 +2601,7 @@ bool QgsGeometry::compare( const QgsPolygonXY &p1, const QgsPolygonXY &p2, doubl
}
bool QgsGeometry::compare( const QgsMultiPolygon &p1, const QgsMultiPolygon &p2, double epsilon )
bool QgsGeometry::compare( const QgsMultiPolygonXY &p1, const QgsMultiPolygonXY &p2, double epsilon )
{
if ( p1.count() != p2.count() )
return false;
@ -2854,7 +2854,7 @@ QgsGeometry QgsGeometry::convertToPoint( bool destMultipart ) const
// input geometry is multipart: make a multipoint from multipolygon
if ( isMultipart() )
{
const QgsMultiPolygon multiPolygon = asMultiPolygon();
const QgsMultiPolygonXY multiPolygon = asMultiPolygon();
QgsMultiPointXY multiPoint;
for ( const QgsPolygonXY &poly : multiPolygon )
for ( const QgsPolylineXY &line : poly )
@ -2930,7 +2930,7 @@ QgsGeometry QgsGeometry::convertToLine( bool destMultipart ) const
// input geometry is multipolygon
if ( isMultipart() )
{
const QgsMultiPolygon multiPolygon = asMultiPolygon();
const QgsMultiPolygonXY multiPolygon = asMultiPolygon();
QgsMultiPolylineXY multiLine;
for ( const QgsPolygonXY &poly : multiPolygon )
for ( const QgsPolylineXY &line : poly )
@ -3004,7 +3004,7 @@ QgsGeometry QgsGeometry::convertToPolygon( bool destMultipart ) const
QgsPolygonXY polygon = QgsPolygonXY() << multiPoint;
if ( destMultipart )
return fromMultiPolygon( QgsMultiPolygon() << polygon );
return fromMultiPolygon( QgsMultiPolygonXY() << polygon );
else
return fromPolygon( polygon );
}
@ -3015,7 +3015,7 @@ QgsGeometry QgsGeometry::convertToPolygon( bool destMultipart ) const
if ( isMultipart() )
{
QgsMultiPolylineXY multiLine = asMultiPolyline();
QgsMultiPolygon multiPolygon;
QgsMultiPolygonXY multiPolygon;
for ( QgsMultiPolylineXY::iterator multiLineIt = multiLine.begin(); multiLineIt != multiLine.end(); ++multiLineIt )
{
// do not create polygon for a 1 segment line
@ -3061,7 +3061,7 @@ QgsGeometry QgsGeometry::convertToPolygon( bool destMultipart ) const
// destination is multipart
if ( destMultipart )
{
return fromMultiPolygon( QgsMultiPolygon() << ( QgsPolygonXY() << line ) );
return fromMultiPolygon( QgsMultiPolygonXY() << ( QgsPolygonXY() << line ) );
}
else
{
@ -3086,11 +3086,11 @@ QgsGeometry QgsGeometry::convertToPolygon( bool destMultipart ) const
// destination is multipart => makes a multipoint with a single polygon
QgsPolygonXY polygon = asPolygon();
if ( !polygon.isEmpty() )
return fromMultiPolygon( QgsMultiPolygon() << polygon );
return fromMultiPolygon( QgsMultiPolygonXY() << polygon );
}
else
{
QgsMultiPolygon multiPolygon = asMultiPolygon();
QgsMultiPolygonXY multiPolygon = asMultiPolygon();
if ( multiPolygon.count() == 1 )
{
// destination is singlepart => make a single part if possible

View File

@ -87,9 +87,9 @@ typedef QVector<QVector<QgsPointXY>> QgsMultiPolylineXY;
//! A collection of QgsPolygons that share a common collection of attributes
#ifndef SIP_RUN
typedef QVector<QgsPolygonXY> QgsMultiPolygon;
typedef QVector<QgsPolygonXY> QgsMultiPolygonXY;
#else
typedef QVector<QVector<QVector<QgsPointXY>>> QgsMultiPolygon;
typedef QVector<QVector<QVector<QgsPointXY>>> QgsMultiPolygonXY;
#endif
class QgsRectangle;
@ -246,7 +246,7 @@ class CORE_EXPORT QgsGeometry
//! Creates a new geometry from a QgsPolygon
static QgsGeometry fromPolygon( const QgsPolygonXY &polygon );
//! Creates a new geometry from a QgsMultiPolygon
static QgsGeometry fromMultiPolygon( const QgsMultiPolygon &multipoly );
static QgsGeometry fromMultiPolygon( const QgsMultiPolygonXY &multipoly );
//! Creates a new geometry from a QgsRectangle
static QgsGeometry fromRect( const QgsRectangle &rect );
//! Creates a new multipart geometry from a list of QgsGeometry objects
@ -1170,7 +1170,7 @@ class CORE_EXPORT QgsGeometry
* Returns contents of the geometry as a multi polygon
* if wkbType is WKBMultiPolygon, otherwise an empty list
*/
QgsMultiPolygon asMultiPolygon() const;
QgsMultiPolygonXY asMultiPolygon() const;
/**
* Return contents of the geometry as a list of geometries
@ -1463,7 +1463,7 @@ class CORE_EXPORT QgsGeometry
* tolerance
* \since QGIS 2.9
*/
static bool compare( const QgsMultiPolygon &p1, const QgsMultiPolygon &p2,
static bool compare( const QgsMultiPolygonXY &p1, const QgsMultiPolygonXY &p2,
double epsilon = 4 * std::numeric_limits<double>::epsilon() );
#else
@ -1560,10 +1560,10 @@ class CORE_EXPORT QgsGeometry
sipCanConvertToType( a0, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, SIP_NOT_NONE ) &&
sipCanConvertToType( a1, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, SIP_NOT_NONE ) )
{
QgsMultiPolygon *p0;
QgsMultiPolygon *p1;
p0 = reinterpret_cast<QgsMultiPolygon *>( sipConvertToType( a0, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, 0, SIP_NOT_NONE, &state0, &sipIsErr ) );
p1 = reinterpret_cast<QgsMultiPolygon *>( sipConvertToType( a1, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, 0, SIP_NOT_NONE, &state1, &sipIsErr ) );
QgsMultiPolygonXY *p0;
QgsMultiPolygonXY *p1;
p0 = reinterpret_cast<QgsMultiPolygonXY *>( sipConvertToType( a0, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, 0, SIP_NOT_NONE, &state0, &sipIsErr ) );
p1 = reinterpret_cast<QgsMultiPolygonXY *>( sipConvertToType( a1, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, 0, SIP_NOT_NONE, &state1, &sipIsErr ) );
if ( sipIsErr )
{
sipReleaseType( p0, sipType_QVector_0600QVector_0600QVector_0100QgsPointXY, state0 );

View File

@ -187,7 +187,7 @@ std::unique_ptr<QgsPolygonV2> QgsGeometryFactory::fromPolygon( const QgsPolygonX
return poly;
}
std::unique_ptr< QgsMultiPolygonV2 > QgsGeometryFactory::fromMultiPolygon( const QgsMultiPolygon &multipoly )
std::unique_ptr< QgsMultiPolygonV2 > QgsGeometryFactory::fromMultiPolygon( const QgsMultiPolygonXY &multipoly )
{
std::unique_ptr< QgsMultiPolygonV2 > mp = qgis::make_unique< QgsMultiPolygonV2 >();
for ( int i = 0; i < multipoly.size(); ++i )

View File

@ -40,7 +40,7 @@ typedef QVector<QgsPointXY> QgsPolylineXY;
typedef QVector<QgsPolylineXY> QgsPolygonXY;
typedef QVector<QgsPointXY> QgsMultiPointXY;
typedef QVector<QgsPolylineXY> QgsMultiPolylineXY;
typedef QVector<QgsPolygonXY> QgsMultiPolygon;
typedef QVector<QgsPolygonXY> QgsMultiPolygonXY;
/**
* \ingroup core
@ -75,7 +75,7 @@ class CORE_EXPORT QgsGeometryFactory
//! Construct geometry from a polygon
static std::unique_ptr<QgsPolygonV2> fromPolygon( const QgsPolygonXY &polygon );
//! Construct geometry from a multipolygon
static std::unique_ptr<QgsMultiPolygonV2> fromMultiPolygon( const QgsMultiPolygon &multipoly );
static std::unique_ptr<QgsMultiPolygonV2> fromMultiPolygon( const QgsMultiPolygonXY &multipoly );
//! Return empty geometry from wkb type
static std::unique_ptr< QgsAbstractGeometry > geomFromWkbType( QgsWkbTypes::Type t );

View File

@ -282,7 +282,7 @@ void QgsGeometryValidator::run()
}
else if ( flatType == QgsWkbTypes::MultiPolygon )
{
QgsMultiPolygon mp = mGeometry.asMultiPolygon();
QgsMultiPolygonXY mp = mGeometry.asMultiPolygon();
for ( int i = 0; !mStop && i < mp.size(); i++ )
{
validatePolygon( i, mp[i] );

View File

@ -633,7 +633,7 @@ QgsGeometry QgsOgcUtils::geometryFromGMLMultiLineString( const QDomElement &geom
QgsGeometry QgsOgcUtils::geometryFromGMLMultiPolygon( const QDomElement &geometryElement )
{
//first list: different polygons, second list: different rings, third list: different points
QgsMultiPolygon multiPolygonPoints;
QgsMultiPolygonXY multiPolygonPoints;
QDomElement currentPolygonMemberElement;
QDomNodeList polygonList;
QDomElement currentPolygonElement;
@ -777,7 +777,7 @@ QgsGeometry QgsOgcUtils::geometryFromGMLMultiPolygon( const QDomElement &geometr
int size = 1 + 2 * sizeof( int );
//calculate the wkb size
for ( QgsMultiPolygon::const_iterator it = multiPolygonPoints.constBegin(); it != multiPolygonPoints.constEnd(); ++it )
for ( QgsMultiPolygonXY::const_iterator it = multiPolygonPoints.constBegin(); it != multiPolygonPoints.constEnd(); ++it )
{
size += 1 + 2 * sizeof( int );
for ( QgsPolygonXY::const_iterator iter = it->begin(); iter != it->end(); ++iter )
@ -805,7 +805,7 @@ QgsGeometry QgsOgcUtils::geometryFromGMLMultiPolygon( const QDomElement &geometr
type = QgsWkbTypes::Polygon;
for ( QgsMultiPolygon::const_iterator it = multiPolygonPoints.constBegin(); it != multiPolygonPoints.constEnd(); ++it )
for ( QgsMultiPolygonXY::const_iterator it = multiPolygonPoints.constBegin(); it != multiPolygonPoints.constEnd(); ++it )
{
memcpy( &( wkb )[wkbPosition], &e, 1 );
wkbPosition += 1;

View File

@ -578,7 +578,7 @@ int QgsVectorLayerEditUtils::addTopologicalPoints( const QgsGeometry &geom )
case QgsWkbTypes::MultiPolygon25D:
case QgsWkbTypes::MultiPolygon:
{
QgsMultiPolygon multiPolygon = geom.asMultiPolygon();
QgsMultiPolygonXY multiPolygon = geom.asMultiPolygon();
QgsPolygonXY currentPolygon;
QgsPolylineXY currentRing;

View File

@ -252,7 +252,7 @@ void QgsInvertedPolygonRenderer::stopRender( QgsRenderContext &context )
return;
}
QgsMultiPolygon finalMulti; //avoid expensive allocation for list for every feature
QgsMultiPolygonXY finalMulti; //avoid expensive allocation for list for every feature
QgsPolygonXY newPoly;
Q_FOREACH ( const CombinedFeature &cit, mFeaturesCategories )
@ -284,7 +284,7 @@ void QgsInvertedPolygonRenderer::stopRender( QgsRenderContext &context )
finalMulti.append( mExtentPolygon );
Q_FOREACH ( const QgsGeometry &geom, cit.geometries )
{
QgsMultiPolygon multi;
QgsMultiPolygonXY multi;
QgsWkbTypes::Type type = QgsWkbTypes::flatType( geom.constGet()->wkbType() );
if ( ( type == QgsWkbTypes::Polygon ) || ( type == QgsWkbTypes::CurvePolygon ) )

View File

@ -803,7 +803,7 @@ QList<QPolygonF> offsetLine( QPolygonF polyline, double dist, QgsWkbTypes::Geome
}
else if ( QgsWkbTypes::flatType( tempGeometry.wkbType() ) == QgsWkbTypes::MultiPolygon )
{
QgsMultiPolygon tempMPolygon = tempGeometry.asMultiPolygon();
QgsMultiPolygonXY tempMPolygon = tempGeometry.asMultiPolygon();
resultLine.reserve( tempMPolygon.count() );
for ( int part = 0; part < tempMPolygon.count(); ++part )
{

View File

@ -311,7 +311,7 @@ void QgsHighlight::paint( QPainter *p )
}
else
{
QgsMultiPolygon m = mGeometry->asMultiPolygon();
QgsMultiPolygonXY m = mGeometry->asMultiPolygon();
for ( int i = 0; i < m.size(); i++ )
{
paintPolygon( p, m[i] );

View File

@ -334,7 +334,7 @@ void QgsRubberBand::addGeometry( const QgsGeometry &geometry, const QgsCoordinat
case QgsWkbTypes::MultiPolygon25D:
{
const QgsMultiPolygon multipoly = geom.asMultiPolygon();
const QgsMultiPolygonXY multipoly = geom.asMultiPolygon();
for ( const QgsPolygonXY &poly : multipoly )
{
if ( poly.empty() )

View File

@ -633,7 +633,7 @@ ErrorList topolTest::checkGaps( double tolerance, QgsVectorLayer *layer1, QgsVec
if ( g1.isMultipart() )
{
QgsMultiPolygon polys = g1.asMultiPolygon();
QgsMultiPolygonXY polys = g1.asMultiPolygon();
for ( int m = 0; m < polys.count(); m++ )
{
QgsPolygonXYpolygon = polys[m];
@ -982,7 +982,7 @@ ErrorList topolTest::checkSegmentLength( double tolerance, QgsVectorLayer *layer
QgsPolygonXYpol;
QgsMultiPolygon mpol;
QgsMultiPolygonXY mpol;
QgsPolylineXY segm;
QgsPolylineXY ls;
QgsMultiPolylineXY mls;

View File

@ -287,7 +287,7 @@ int main( int argc, char **argv )
}
else if ( geometryType == QgsWkbTypes::MultiPolygon )
{
QgsMultiPolygon multiPolygon = geometry.asMultiPolygon();
QgsMultiPolygonXY multiPolygon = geometry.asMultiPolygon();
Q_FOREACH ( const QgsPolygonXY &polygon, multiPolygon )
{
Q_FOREACH ( const QgsPolylineXY &polyline, polygon )

View File

@ -154,7 +154,7 @@ class TestQgsGeometry : public QObject
//! A helper method to do a render check to see if the geometry op is as expected
bool renderCheck( const QString &testName, const QString &comment = QString(), int mismatchCount = 0 );
//! A helper method to dump to qdebug the geometry of a multipolygon
void dumpMultiPolygon( QgsMultiPolygon &multiPolygon );
void dumpMultiPolygon( QgsMultiPolygonXY &multiPolygon );
//! A helper method to dump to qdebug the geometry of a polygon
void dumpPolygon( QgsPolygonXY &polygon );
//! A helper method to dump to qdebug the geometry of a polyline
@ -14944,7 +14944,7 @@ void TestQgsGeometry::unionCheck1()
QgsGeometry mypUnionGeometry = mpPolygonGeometryA.combine( mpPolygonGeometryC );
qDebug() << "Geometry Type: " << QgsWkbTypes::displayString( mypUnionGeometry.wkbType() );
QVERIFY( mypUnionGeometry.wkbType() == QgsWkbTypes::MultiPolygon );
QgsMultiPolygon myMultiPolygon = mypUnionGeometry.asMultiPolygon();
QgsMultiPolygonXY myMultiPolygon = mypUnionGeometry.asMultiPolygon();
QVERIFY( myMultiPolygon.size() > 0 ); //check that the union did not fail
dumpMultiPolygon( myMultiPolygon );
QVERIFY( renderCheck( "geometry_unionCheck1", "Checking A union C produces 2 polys" ) );
@ -15094,8 +15094,8 @@ void TestQgsGeometry::smoothCheck()
wkt = QStringLiteral( "MultiPolygon (((0 0, 10 0, 10 10, 0 10, 0 0 )),((2 2, 4 2, 4 4, 2 4, 2 2)))" );
geom = QgsGeometry::fromWkt( wkt );
result = geom.smooth( 1, 0.1 );
QgsMultiPolygon multipoly = result.asMultiPolygon();
QgsMultiPolygon expectedMultiPoly;
QgsMultiPolygonXY multipoly = result.asMultiPolygon();
QgsMultiPolygonXY expectedMultiPoly;
expectedMultiPoly
<< ( QgsPolygonXY() << ( QgsPolylineXY() << QgsPointXY( 1.0, 0 ) << QgsPointXY( 9, 0 ) << QgsPointXY( 10.0, 1 )
<< QgsPointXY( 10.0, 9 ) << QgsPointXY( 9, 10.0 ) << QgsPointXY( 1, 10.0 ) << QgsPointXY( 0, 9 )
@ -15215,7 +15215,7 @@ bool TestQgsGeometry::renderCheck( const QString &testName, const QString &comme
return myResultFlag;
}
void TestQgsGeometry::dumpMultiPolygon( QgsMultiPolygon &multiPolygon )
void TestQgsGeometry::dumpMultiPolygon( QgsMultiPolygonXY &multiPolygon )
{
qDebug( "Multipolygon Geometry Dump" );
for ( int i = 0; i < multiPolygon.size(); i++ )

View File

@ -376,7 +376,7 @@ void TestQgsGML::testMultiPolygonGML2()
QCOMPARE( features.size(), 1 );
QVERIFY( features[0].first->hasGeometry() );
QCOMPARE( features[0].first->geometry().wkbType(), QgsWkbTypes::MultiPolygon );
QgsMultiPolygon multi = features[0].first->geometry().asMultiPolygon();
QgsMultiPolygonXY multi = features[0].first->geometry().asMultiPolygon();
QCOMPARE( multi.size(), 1 );
QCOMPARE( multi[0].size(), 1 );
QCOMPARE( multi[0][0].size(), 5 );
@ -728,7 +728,7 @@ void TestQgsGML::testMultiPolygonGML3()
QCOMPARE( features.size(), 1 );
QVERIFY( features[0].first->hasGeometry() );
QCOMPARE( features[0].first->geometry().wkbType(), QgsWkbTypes::MultiPolygon );
QgsMultiPolygon multi = features[0].first->geometry().asMultiPolygon();
QgsMultiPolygonXY multi = features[0].first->geometry().asMultiPolygon();
QCOMPARE( multi.size(), 2 );
QCOMPARE( multi[0].size(), 1 );
QCOMPARE( multi[0][0].size(), 5 );
@ -1060,7 +1060,7 @@ void TestQgsGML::testThroughOGRGeometry()
QCOMPARE( features.size(), 1 );
QVERIFY( features[0].first->hasGeometry() );
QCOMPARE( features[0].first->geometry().wkbType(), QgsWkbTypes::MultiPolygon );
QgsMultiPolygon multi = features[0].first->geometry().asMultiPolygon();
QgsMultiPolygonXY multi = features[0].first->geometry().asMultiPolygon();
QCOMPARE( multi.size(), 1 );
QCOMPARE( multi[0].size(), 1 );
QCOMPARE( multi[0][0].size(), 5 );
@ -1096,7 +1096,7 @@ void TestQgsGML::testThroughOGRGeometry_urn_EPSG_4326()
QCOMPARE( features.size(), 1 );
QVERIFY( features[0].first->hasGeometry() );
QCOMPARE( features[0].first->geometry().wkbType(), QgsWkbTypes::MultiPolygon );
QgsMultiPolygon multi = features[0].first->geometry().asMultiPolygon();
QgsMultiPolygonXY multi = features[0].first->geometry().asMultiPolygon();
QCOMPARE( multi.size(), 1 );
QCOMPARE( multi[0].size(), 1 );
QCOMPARE( multi[0][0].size(), 4 );
@ -1146,7 +1146,7 @@ void TestQgsGML::testAccents()
QCOMPARE( features.size(), 1 );
QVERIFY( features[0].first->hasGeometry() );
QCOMPARE( features[0].first->geometry().wkbType(), QgsWkbTypes::MultiPolygon );
QgsMultiPolygon multi = features[0].first->geometry().asMultiPolygon();
QgsMultiPolygonXY multi = features[0].first->geometry().asMultiPolygon();
QCOMPARE( multi.size(), 2 );
QCOMPARE( multi[0].size(), 1 );
QCOMPARE( multi[0][0].size(), 5 );