Skip to content

Commit e4de3a8

Browse files
committedOct 23, 2017
[Geometry checker] Update for QgsGeometryEngine API changes
1 parent c71d421 commit e4de3a8

File tree

6 files changed

+15
-15
lines changed

6 files changed

+15
-15
lines changed
 

‎src/plugins/geometry_checker/checks/qgsgeometryareacheck.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ bool QgsGeometryAreaCheck::mergeWithNeighbor( const QString &layerId, QgsFeature
180180
QgsGeometry mergeFeatureGeom = mergeFeature.geometry();
181181
QgsAbstractGeometry *mergeGeom = mergeFeatureGeom.geometry();
182182
QSharedPointer<QgsGeometryEngine> geomEngine = QgsGeometryCheckerUtils::createGeomEngine( QgsGeometryCheckerUtils::getGeomPart( mergeGeom, mergePartIdx ), mContext->tolerance );
183-
QgsAbstractGeometry *combinedGeom = geomEngine->combine( *QgsGeometryCheckerUtils::getGeomPart( geom, partIdx ), &errMsg );
183+
QgsAbstractGeometry *combinedGeom = geomEngine->combine( QgsGeometryCheckerUtils::getGeomPart( geom, partIdx ), &errMsg );
184184
if ( !combinedGeom || combinedGeom->isEmpty() )
185185
{
186186
return false;

‎src/plugins/geometry_checker/checks/qgsgeometrycontainedcheck.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ void QgsGeometryContainedCheck::collectErrors( QList<QgsGeometryCheckError *> &e
4646
continue;
4747
}
4848
QString errMsg;
49-
if ( geomEngineA->within( *layerFeatureB.geometry(), &errMsg ) )
49+
if ( geomEngineA->within( layerFeatureB.geometry(), &errMsg ) )
5050
{
5151
errors.append( new QgsGeometryContainedCheckError( this, layerFeatureA, layerFeatureA.geometry()->centroid(), layerFeatureB ) );
5252
}
@@ -79,7 +79,7 @@ void QgsGeometryContainedCheck::fixError( QgsGeometryCheckError *error, int meth
7979

8080
QSharedPointer<QgsGeometryEngine> geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
8181

82-
if ( !geomEngineA->within( *layerFeatureB.geometry() ) )
82+
if ( !geomEngineA->within( layerFeatureB.geometry() ) )
8383
{
8484
error->setObsolete();
8585
return;

‎src/plugins/geometry_checker/checks/qgsgeometryduplicatecheck.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ void QgsGeometryDuplicateCheck::collectErrors( QList<QgsGeometryCheckError *> &e
8888
else if ( geomType == QgsWkbTypes::PolygonGeometry )
8989
{
9090
QString errMsg;
91-
QgsAbstractGeometry *diffGeom = geomEngineA->symDifference( *layerFeatureB.geometry(), &errMsg );
91+
QgsAbstractGeometry *diffGeom = geomEngineA->symDifference( layerFeatureB.geometry(), &errMsg );
9292
if ( diffGeom && diffGeom->area() < mContext->tolerance )
9393
{
9494
duplicates[layerFeatureB.layer().id()].append( layerFeatureB.feature().id() );
@@ -152,7 +152,7 @@ void QgsGeometryDuplicateCheck::fixError( QgsGeometryCheckError *error, int meth
152152
}
153153
else if ( geomType == QgsWkbTypes::PolygonGeometry )
154154
{
155-
QgsAbstractGeometry *diffGeom = geomEngineA->symDifference( *layerFeatureB.geometry() );
155+
QgsAbstractGeometry *diffGeom = geomEngineA->symDifference( layerFeatureB.geometry() );
156156
if ( diffGeom && diffGeom->area() < mContext->tolerance )
157157
{
158158
featurePoolB->deleteFeature( featureB );

‎src/plugins/geometry_checker/checks/qgsgeometrygapcheck.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,13 @@ void QgsGeometryGapCheck::collectErrors( QList<QgsGeometryCheckError *> &errors,
8484

8585
// Buffer envelope
8686
geomEngine = QgsGeometryCheckerUtils::createGeomEngine( envelope, mContext->tolerance );
87-
QgsAbstractGeometry *bufEnvelope = geomEngine->buffer( 2, 0, GEOSBUF_CAP_SQUARE, GEOSBUF_JOIN_MITRE, 4. );
87+
QgsAbstractGeometry *bufEnvelope = geomEngine->buffer( 2, 0, GEOSBUF_CAP_SQUARE, GEOSBUF_JOIN_MITRE, 4. ); //#spellok //#spellok
8888
delete envelope;
8989
envelope = bufEnvelope;
9090

9191
// Compute difference between envelope and union to obtain gap polygons
9292
geomEngine = QgsGeometryCheckerUtils::createGeomEngine( envelope, mContext->tolerance );
93-
QgsAbstractGeometry *diffGeom = geomEngine->difference( *unionGeom, &errMsg );
93+
QgsAbstractGeometry *diffGeom = geomEngine->difference( unionGeom, &errMsg );
9494
if ( !diffGeom )
9595
{
9696
messages.append( tr( "Gap check: %1" ).arg( errMsg ) );
@@ -220,7 +220,7 @@ bool QgsGeometryGapCheck::mergeWithNeighbor( QgsGeometryGapCheckError *err, Chan
220220
QgsGeometry mergeFeatureGeom = mergeFeature.geometry();
221221
QgsAbstractGeometry *mergeGeom = mergeFeatureGeom.geometry();
222222
QSharedPointer<QgsGeometryEngine> geomEngine = QgsGeometryCheckerUtils::createGeomEngine( errLayerGeom, mContext->tolerance );
223-
QgsAbstractGeometry *combinedGeom = geomEngine->combine( *QgsGeometryCheckerUtils::getGeomPart( mergeGeom, mergePartIdx ), &errMsg );
223+
QgsAbstractGeometry *combinedGeom = geomEngine->combine( QgsGeometryCheckerUtils::getGeomPart( mergeGeom, mergePartIdx ), &errMsg );
224224
delete errLayerGeom;
225225
if ( !combinedGeom || combinedGeom->isEmpty() )
226226
{

‎src/plugins/geometry_checker/checks/qgsgeometryoverlapcheck.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ void QgsGeometryOverlapCheck::collectErrors( QList<QgsGeometryCheckError *> &err
5353
continue;
5454
}
5555
QString errMsg;
56-
if ( geomEngineA->overlaps( *layerFeatureB.geometry(), &errMsg ) )
56+
if ( geomEngineA->overlaps( layerFeatureB.geometry(), &errMsg ) )
5757
{
58-
QgsAbstractGeometry *interGeom = geomEngineA->intersection( *layerFeatureB.geometry() );
58+
QgsAbstractGeometry *interGeom = geomEngineA->intersection( layerFeatureB.geometry() );
5959
if ( interGeom && !interGeom->isEmpty() )
6060
{
6161
QgsGeometryCheckerUtils::filter1DTypes( interGeom );
@@ -99,12 +99,12 @@ void QgsGeometryOverlapCheck::fixError( QgsGeometryCheckError *error, int method
9999
QgsGeometryCheckerUtils::LayerFeature layerFeatureB( featurePoolB, featureB, true );
100100
QSharedPointer<QgsGeometryEngine> geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->reducedTolerance );
101101

102-
if ( !geomEngineA->overlaps( *layerFeatureB.geometry() ) )
102+
if ( !geomEngineA->overlaps( layerFeatureB.geometry() ) )
103103
{
104104
error->setObsolete();
105105
return;
106106
}
107-
QgsAbstractGeometry *interGeom = geomEngineA->intersection( *layerFeatureB.geometry(), &errMsg );
107+
QgsAbstractGeometry *interGeom = geomEngineA->intersection( layerFeatureB.geometry(), &errMsg );
108108
if ( !interGeom )
109109
{
110110
error->setFixFailed( tr( "Failed to compute intersection between overlapping features: %1" ).arg( errMsg ) );
@@ -137,7 +137,7 @@ void QgsGeometryOverlapCheck::fixError( QgsGeometryCheckError *error, int method
137137
}
138138
else if ( method == Subtract )
139139
{
140-
QgsAbstractGeometry *diff1 = geomEngineA->difference( *interPart, &errMsg );
140+
QgsAbstractGeometry *diff1 = geomEngineA->difference( interPart, &errMsg );
141141
if ( !diff1 || diff1->isEmpty() )
142142
{
143143
delete diff1;
@@ -148,7 +148,7 @@ void QgsGeometryOverlapCheck::fixError( QgsGeometryCheckError *error, int method
148148
QgsGeometryCheckerUtils::filter1DTypes( diff1 );
149149
}
150150
QSharedPointer<QgsGeometryEngine> geomEngineB = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureB.geometry(), mContext->reducedTolerance );
151-
QgsAbstractGeometry *diff2 = geomEngineB->difference( *interPart, &errMsg );
151+
QgsAbstractGeometry *diff2 = geomEngineB->difference( interPart, &errMsg );
152152
if ( !diff2 || diff2->isEmpty() )
153153
{
154154
delete diff2;

‎src/plugins/geometry_checker/checks/qgsgeometrypointinpolygoncheck.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ void QgsGeometryPointInPolygonCheck::collectErrors( QList<QgsGeometryCheckError
4949
continue;
5050
}
5151
QSharedPointer<QgsGeometryEngine> testGeomEngine = QgsGeometryCheckerUtils::createGeomEngine( testPoly, mContext->tolerance );
52-
if ( testGeomEngine->contains( *point ) )
52+
if ( testGeomEngine->contains( point ) )
5353
{
5454
// Check whether point does not lie on a ring boundary
5555
bool touchesBoundary = false;

0 commit comments

Comments
 (0)
Please sign in to comment.