@@ -25,8 +25,8 @@ void QgsGeometryContainedCheck::collectErrors( QList<QgsGeometryCheckError *> &e
25
25
QgsGeometryCheckerUtils::LayerFeatures layerFeaturesA ( mContext ->featurePools , featureIds, mCompatibleGeometryTypes , progressCounter, mContext );
26
26
for ( const QgsGeometryCheckerUtils::LayerFeature &layerFeatureA : layerFeaturesA )
27
27
{
28
- QgsRectangle bboxA = layerFeatureA.geometry ()-> boundingBox ();
29
- std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine ( layerFeatureA.geometry (), mContext ->tolerance );
28
+ QgsRectangle bboxA = layerFeatureA.geometry (). boundingBox ();
29
+ std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine ( layerFeatureA.geometry (). constGet () , mContext ->tolerance );
30
30
if ( !geomEngineA->isValid () )
31
31
{
32
32
messages.append ( tr ( " Contained check failed for (%1): the geometry is invalid" ).arg ( layerFeatureA.id () ) );
@@ -39,17 +39,17 @@ void QgsGeometryContainedCheck::collectErrors( QList<QgsGeometryCheckError *> &e
39
39
{
40
40
continue ;
41
41
}
42
- std::unique_ptr< QgsGeometryEngine > geomEngineB = QgsGeometryCheckerUtils::createGeomEngine ( layerFeatureB.geometry (), mContext ->tolerance );
42
+ std::unique_ptr< QgsGeometryEngine > geomEngineB = QgsGeometryCheckerUtils::createGeomEngine ( layerFeatureB.geometry (). constGet () , mContext ->tolerance );
43
43
if ( !geomEngineB->isValid () )
44
44
{
45
45
messages.append ( tr ( " Contained check failed for (%1): the geometry is invalid" ).arg ( layerFeatureB.id () ) );
46
46
continue ;
47
47
}
48
48
QString errMsg;
49
49
// If A contains B and B contains A, it would mean that the geometries are identical, which is covered by the duplicate check
50
- if ( geomEngineA->contains ( layerFeatureB.geometry (), &errMsg ) && !geomEngineB->contains ( layerFeatureA.geometry (), &errMsg ) && errMsg.isEmpty () )
50
+ if ( geomEngineA->contains ( layerFeatureB.geometry (). constGet () , &errMsg ) && !geomEngineB->contains ( layerFeatureA.geometry (). constGet (), &errMsg ) && errMsg.isEmpty () )
51
51
{
52
- errors.append ( new QgsGeometryContainedCheckError ( this , layerFeatureB, layerFeatureB.geometry ()->centroid (), layerFeatureA ) );
52
+ errors.append ( new QgsGeometryContainedCheckError ( this , layerFeatureB, layerFeatureB.geometry (). constGet () ->centroid (), layerFeatureA ) );
53
53
}
54
54
else if ( !errMsg.isEmpty () )
55
55
{
@@ -78,10 +78,10 @@ void QgsGeometryContainedCheck::fixError( QgsGeometryCheckError *error, int meth
78
78
QgsGeometryCheckerUtils::LayerFeature layerFeatureA ( featurePoolA, featureA, mContext , true );
79
79
QgsGeometryCheckerUtils::LayerFeature layerFeatureB ( featurePoolB, featureB, mContext , true );
80
80
81
- std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine ( layerFeatureA.geometry (), mContext ->tolerance );
82
- std::unique_ptr< QgsGeometryEngine > geomEngineB = QgsGeometryCheckerUtils::createGeomEngine ( layerFeatureB.geometry (), mContext ->tolerance );
81
+ std::unique_ptr< QgsGeometryEngine > geomEngineA = QgsGeometryCheckerUtils::createGeomEngine ( layerFeatureA.geometry (). constGet () , mContext ->tolerance );
82
+ std::unique_ptr< QgsGeometryEngine > geomEngineB = QgsGeometryCheckerUtils::createGeomEngine ( layerFeatureB.geometry (). constGet () , mContext ->tolerance );
83
83
84
- if ( !( geomEngineB->contains ( layerFeatureA.geometry () ) && !geomEngineA->contains ( layerFeatureB.geometry () ) ) )
84
+ if ( !( geomEngineB->contains ( layerFeatureA.geometry (). constGet () ) && !geomEngineA->contains ( layerFeatureB.geometry (). constGet () ) ) )
85
85
{
86
86
error->setObsolete ();
87
87
return ;
0 commit comments