Skip to content

Commit 1d01d4b

Browse files
committedOct 25, 2017
Remove use of QSharedPointer/QScopedPointer
1 parent 7036106 commit 1d01d4b

10 files changed

+25
-25
lines changed
 

‎src/analysis/vector/geometry_checker/qgsgeometryareacheck.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ bool QgsGeometryAreaCheck::mergeWithNeighbor( const QString &layerId, QgsFeature
179179
// Merge geometries
180180
QgsGeometry mergeFeatureGeom = mergeFeature.geometry();
181181
const QgsAbstractGeometry *mergeGeom = mergeFeatureGeom.constGet();
182-
QSharedPointer<QgsGeometryEngine> geomEngine = QgsGeometryCheckerUtils::createGeomEngine( QgsGeometryCheckerUtils::getGeomPart( mergeGeom, mergePartIdx ), mContext->reducedTolerance );
182+
std::unique_ptr<QgsGeometryEngine> geomEngine( QgsGeometryCheckerUtils::createGeomEngine( QgsGeometryCheckerUtils::getGeomPart( mergeGeom, mergePartIdx ), mContext->reducedTolerance ) );
183183
QgsAbstractGeometry *combinedGeom = geomEngine->combine( QgsGeometryCheckerUtils::getGeomPart( geom, partIdx ), &errMsg );
184184
if ( !combinedGeom || combinedGeom->isEmpty() || !QgsWkbTypes::isSingleType( combinedGeom->wkbType() ) )
185185
{

‎src/analysis/vector/geometry_checker/qgsgeometrycheckerutils.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@ namespace QgsGeometryCheckerUtils
174174

175175
/////////////////////////////////////////////////////////////////////////////
176176

177-
QSharedPointer<QgsGeometryEngine> createGeomEngine( const QgsAbstractGeometry *geometry, double tolerance )
177+
std::unique_ptr<QgsGeometryEngine> createGeomEngine( const QgsAbstractGeometry *geometry, double tolerance )
178178
{
179-
return QSharedPointer<QgsGeometryEngine>( new QgsGeos( geometry, tolerance ) );
179+
return std::move( qgis::make_unique<QgsGeos>( geometry, tolerance ) );
180180
}
181181

182182
QgsAbstractGeometry *getGeomPart( QgsAbstractGeometry *geom, int partIdx )

‎src/analysis/vector/geometry_checker/qgsgeometrycheckerutils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ namespace QgsGeometryCheckerUtils
9595
bool mUseMapCrs;
9696
};
9797

98-
QSharedPointer<QgsGeometryEngine> createGeomEngine( const QgsAbstractGeometry *geometry, double tolerance );
98+
std::unique_ptr<QgsGeometryEngine> createGeomEngine( const QgsAbstractGeometry *geometry, double tolerance );
9999

100100
QgsAbstractGeometry *getGeomPart( QgsAbstractGeometry *geom, int partIdx );
101101
const QgsAbstractGeometry *getGeomPart( const QgsAbstractGeometry *geom, int partIdx );

‎src/analysis/vector/geometry_checker/qgsgeometrycontainedcheck.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ void QgsGeometryContainedCheck::collectErrors( QList<QgsGeometryCheckError *> &e
2525
for ( const QgsGeometryCheckerUtils::LayerFeature &layerFeatureA : layerFeaturesA )
2626
{
2727
QgsRectangle bboxA = layerFeatureA.geometry()->boundingBox();
28-
QSharedPointer<QgsGeometryEngine> geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
28+
std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
2929
if ( !geomEngineA->isValid() )
3030
{
3131
messages.append( tr( "Contained check failed for (%1): the geometry is invalid" ).arg( layerFeatureA.id() ) );
@@ -38,7 +38,7 @@ void QgsGeometryContainedCheck::collectErrors( QList<QgsGeometryCheckError *> &e
3838
{
3939
continue;
4040
}
41-
QSharedPointer<QgsGeometryEngine> geomEngineB = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureB.geometry(), mContext->tolerance );
41+
std::unique_ptr< QgsGeometryEngine > geomEngineB = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureB.geometry(), mContext->tolerance );
4242
if ( !geomEngineB->isValid() )
4343
{
4444
messages.append( tr( "Contained check failed for (%1): the geometry is invalid" ).arg( layerFeatureB.id() ) );
@@ -77,8 +77,8 @@ void QgsGeometryContainedCheck::fixError( QgsGeometryCheckError *error, int meth
7777
QgsGeometryCheckerUtils::LayerFeature layerFeatureA( featurePoolA, featureA, true );
7878
QgsGeometryCheckerUtils::LayerFeature layerFeatureB( featurePoolB, featureB, true );
7979

80-
QSharedPointer<QgsGeometryEngine> geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
81-
QSharedPointer<QgsGeometryEngine> geomEngineB = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureB.geometry(), mContext->tolerance );
80+
std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
81+
std::unique_ptr< QgsGeometryEngine > geomEngineB = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureB.geometry(), mContext->tolerance );
8282

8383
if ( !( geomEngineB->contains( layerFeatureA.geometry() ) && !geomEngineA->contains( layerFeatureB.geometry() ) ) )
8484
{

‎src/analysis/vector/geometry_checker/qgsgeometryduplicatecheck.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ void QgsGeometryDuplicateCheck::collectErrors( QList<QgsGeometryCheckError *> &e
4747
layerIds.removeOne( layerFeatureA.layer().id() );
4848

4949
QgsRectangle bboxA = layerFeatureA.geometry()->boundingBox();
50-
QSharedPointer<QgsGeometryEngine> geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
50+
std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
5151
if ( !geomEngineA->isValid() )
5252
{
5353
messages.append( tr( "Duplicate check failed for (%1): the geometry is invalid" ).arg( layerFeatureA.id() ) );
@@ -100,7 +100,7 @@ void QgsGeometryDuplicateCheck::fixError( QgsGeometryCheckError *error, int meth
100100
else if ( method == RemoveDuplicates )
101101
{
102102
QgsGeometryCheckerUtils::LayerFeature layerFeatureA( featurePoolA, featureA, true );
103-
QSharedPointer<QgsGeometryEngine> geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
103+
std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
104104

105105
QgsGeometryDuplicateCheckError *duplicateError = static_cast<QgsGeometryDuplicateCheckError *>( error );
106106
for ( const QString &layerIdB : duplicateError->duplicates().keys() )

‎src/analysis/vector/geometry_checker/qgsgeometryfollowboundariescheck.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ void QgsGeometryFollowBoundariesCheck::collectErrors( QList<QgsGeometryCheckErro
5050

5151
// The geometry to crs of the check layer
5252
QgsCoordinateTransform crst = QgsCoordinateTransformCache::instance()->transform( layerFeature.layer().crs().authid(), mCheckLayer->crs().authid() );
53-
QScopedPointer<QgsAbstractGeometry> geomt( geom->clone() );
54-
geomt->transform( crst );
53+
QgsGeometry geomt( geom->clone() );
54+
geomt.transform( crst );
5555

56-
QSharedPointer<QgsGeometryEngine> geomEngine = QgsGeometryCheckerUtils::createGeomEngine( geomt.data(), mContext->tolerance );
56+
std::unique_ptr< QgsGeometryEngine > geomEngine = QgsGeometryCheckerUtils::createGeomEngine( geomt.constGet(), mContext->tolerance );
5757

5858
// Get potential reference features
59-
QgsRectangle searchBounds = geomt->boundingBox();
59+
QgsRectangle searchBounds = geomt.constGet()->boundingBox();
6060
searchBounds.grow( mContext->tolerance );
6161
QgsFeatureIds refFeatureIds = mIndex->intersects( searchBounds ).toSet();
6262

@@ -75,9 +75,9 @@ void QgsGeometryFollowBoundariesCheck::collectErrors( QList<QgsGeometryCheckErro
7575
while ( refFeatureIt.nextFeature( refFeature ) )
7676
{
7777
const QgsAbstractGeometry *refGeom = refFeature.geometry().constGet();
78-
QSharedPointer<QgsGeometryEngine> refgeomEngine = QgsGeometryCheckerUtils::createGeomEngine( refGeom, mContext->tolerance );
79-
QScopedPointer<QgsAbstractGeometry> reducedRefGeom( refgeomEngine->buffer( -mContext->tolerance, 0 ) );
80-
if ( !( geomEngine->contains( reducedRefGeom.data() ) || geomEngine->disjoint( reducedRefGeom.data() ) ) )
78+
std::unique_ptr<QgsGeometryEngine> refgeomEngine( QgsGeometryCheckerUtils::createGeomEngine( refGeom, mContext->tolerance ) );
79+
QgsGeometry reducedRefGeom( refgeomEngine->buffer( -mContext->tolerance, 0 ) );
80+
if ( !( geomEngine->contains( reducedRefGeom.constGet() ) || geomEngine->disjoint( reducedRefGeom.constGet() ) ) )
8181
{
8282
errors.append( new QgsGeometryCheckError( this, layerFeature, QgsPointXY( geom->centroid() ) ) );
8383
break;

‎src/analysis/vector/geometry_checker/qgsgeometrygapcheck.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void QgsGeometryGapCheck::collectErrors( QList<QgsGeometryCheckError *> &errors,
3636
return;
3737
}
3838

39-
QSharedPointer<QgsGeometryEngine> geomEngine = QgsGeometryCheckerUtils::createGeomEngine( nullptr, mContext->tolerance );
39+
std::unique_ptr< QgsGeometryEngine > geomEngine = QgsGeometryCheckerUtils::createGeomEngine( nullptr, mContext->tolerance );
4040

4141
// Create union of geometry
4242
QString errMsg;
@@ -195,7 +195,7 @@ bool QgsGeometryGapCheck::mergeWithNeighbor( QgsGeometryGapCheckError *err, Chan
195195
errLayerGeom->transform( featurePool->getLayerToMapTransform(), QgsCoordinateTransform::ReverseTransform );
196196
QgsGeometry mergeFeatureGeom = mergeFeature.geometry();
197197
const QgsAbstractGeometry *mergeGeom = mergeFeatureGeom.constGet();
198-
QSharedPointer<QgsGeometryEngine> geomEngine = QgsGeometryCheckerUtils::createGeomEngine( errLayerGeom, mContext->reducedTolerance );
198+
std::unique_ptr< QgsGeometryEngine > geomEngine = QgsGeometryCheckerUtils::createGeomEngine( errLayerGeom, mContext->reducedTolerance );
199199
QgsAbstractGeometry *combinedGeom = geomEngine->combine( QgsGeometryCheckerUtils::getGeomPart( mergeGeom, mergePartIdx ), &errMsg );
200200
delete errLayerGeom;
201201
if ( !combinedGeom || combinedGeom->isEmpty() || !QgsWkbTypes::isSingleType( combinedGeom->wkbType() ) )

‎src/analysis/vector/geometry_checker/qgsgeometryoverlapcheck.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ void QgsGeometryOverlapCheck::collectErrors( QList<QgsGeometryCheckError *> &err
3030
layerIds.removeOne( layerFeatureA.layer().id() );
3131

3232
QgsRectangle bboxA = layerFeatureA.geometry()->boundingBox();
33-
QSharedPointer<QgsGeometryEngine> geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
33+
std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->tolerance );
3434
if ( !geomEngineA->isValid() )
3535
{
3636
messages.append( tr( "Overlap check failed for (%1): the geometry is invalid" ).arg( layerFeatureA.id() ) );
@@ -91,7 +91,7 @@ void QgsGeometryOverlapCheck::fixError( QgsGeometryCheckError *error, int method
9191
// Check if error still applies
9292
QgsGeometryCheckerUtils::LayerFeature layerFeatureA( featurePoolA, featureA, true );
9393
QgsGeometryCheckerUtils::LayerFeature layerFeatureB( featurePoolB, featureB, true );
94-
QSharedPointer<QgsGeometryEngine> geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->reducedTolerance );
94+
std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureA.geometry(), mContext->reducedTolerance );
9595

9696
if ( !geomEngineA->overlaps( layerFeatureB.geometry() ) )
9797
{
@@ -141,7 +141,7 @@ void QgsGeometryOverlapCheck::fixError( QgsGeometryCheckError *error, int method
141141
{
142142
QgsGeometryCheckerUtils::filter1DTypes( diff1 );
143143
}
144-
QSharedPointer<QgsGeometryEngine> geomEngineB = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureB.geometry(), mContext->reducedTolerance );
144+
std::unique_ptr< QgsGeometryEngine > geomEngineB = QgsGeometryCheckerUtils::createGeomEngine( layerFeatureB.geometry(), mContext->reducedTolerance );
145145
QgsAbstractGeometry *diff2 = geomEngineB->difference( interPart, &errMsg );
146146
if ( !diff2 || diff2->isEmpty() )
147147
{

‎src/analysis/vector/geometry_checker/qgsgeometrypointinpolygoncheck.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void QgsGeometryPointInPolygonCheck::collectErrors( QList<QgsGeometryCheckError
4343
{
4444
++nTested;
4545
const QgsAbstractGeometry *testGeom = checkFeature.geometry();
46-
QSharedPointer<QgsGeometryEngine> testGeomEngine = QgsGeometryCheckerUtils::createGeomEngine( testGeom, mContext->reducedTolerance );
46+
std::unique_ptr< QgsGeometryEngine > testGeomEngine = QgsGeometryCheckerUtils::createGeomEngine( testGeom, mContext->reducedTolerance );
4747
if ( !testGeomEngine->isValid() )
4848
{
4949
messages.append( tr( "Point in polygon check failed for (%1): the geometry is invalid" ).arg( checkFeature.id() ) );

‎src/analysis/vector/geometry_checker/qgsgeometryselfintersectioncheck.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,8 @@ void QgsGeometrySelfIntersectionCheck::fixError( QgsGeometryCheckError *error, i
201201
poly2->setExteriorRing( ringGeom2 );
202202

203203
// Reassing interiors as necessary
204-
QSharedPointer<QgsGeometryEngine> geomEnginePoly1 = QgsGeometryCheckerUtils::createGeomEngine( poly, mContext->tolerance );
205-
QSharedPointer<QgsGeometryEngine> geomEnginePoly2 = QgsGeometryCheckerUtils::createGeomEngine( poly2, mContext->tolerance );
204+
std::unique_ptr< QgsGeometryEngine > geomEnginePoly1 = QgsGeometryCheckerUtils::createGeomEngine( poly, mContext->tolerance );
205+
std::unique_ptr< QgsGeometryEngine > geomEnginePoly2 = QgsGeometryCheckerUtils::createGeomEngine( poly2, mContext->tolerance );
206206
for ( int n = poly->numInteriorRings(), i = n - 1; i >= 0; --i )
207207
{
208208
if ( !geomEnginePoly1->contains( poly->interiorRing( i ) ) )

0 commit comments

Comments
 (0)
Please sign in to comment.