Skip to content

Commit 55d3faf

Browse files
committed
Use switch instead of else if
1 parent 29db8db commit 55d3faf

File tree

1 file changed

+29
-15
lines changed

1 file changed

+29
-15
lines changed

src/analysis/vector/geometry_checker/qgsgeometrymissingvertexcheck.cpp

+29-15
Original file line numberDiff line numberDiff line change
@@ -72,28 +72,42 @@ void QgsGeometryMissingVertexCheck::fixError( const QMap<QString, QgsFeaturePool
7272
{
7373
Q_UNUSED( featurePools )
7474
Q_UNUSED( changes )
75-
if ( method == NoChange )
75+
76+
QMetaEnum metaEnum = QMetaEnum::fromType<QgsGeometryMissingVertexCheck::ResolutionMethod>();
77+
if ( !metaEnum.isValid() || !metaEnum.valueToKey( method ) )
7678
{
77-
error->setFixed( method );
79+
error->setFixFailed( tr( "Unknown method" ) );
7880
}
79-
if ( method == AddMissingVertex )
81+
else
8082
{
81-
QgsFeaturePool *featurePool = featurePools[ error->layerId() ];
83+
ResolutionMethod methodValue = static_cast<ResolutionMethod>( method );
84+
switch ( methodValue )
85+
{
86+
case NoChange:
87+
error->setFixed( method );
88+
break;
89+
90+
case AddMissingVertex:
91+
{
92+
QgsFeaturePool *featurePool = featurePools[ error->layerId() ];
8293

83-
QgsFeature feature;
84-
featurePool->getFeature( error->featureId(), feature );
94+
QgsFeature feature;
95+
featurePool->getFeature( error->featureId(), feature );
8596

86-
QgsPointXY pointOnSegment; // Should be equal to location
87-
int vertexIndex;
88-
QgsGeometry geometry = feature.geometry();
89-
geometry.closestSegmentWithContext( error->location(), pointOnSegment, vertexIndex );
90-
geometry.insertVertex( QgsPoint( error->location() ), vertexIndex );
91-
feature.setGeometry( geometry );
97+
QgsPointXY pointOnSegment; // Should be equal to location
98+
int vertexIndex;
99+
QgsGeometry geometry = feature.geometry();
100+
geometry.closestSegmentWithContext( error->location(), pointOnSegment, vertexIndex );
101+
geometry.insertVertex( QgsPoint( error->location() ), vertexIndex );
102+
feature.setGeometry( geometry );
92103

93-
featurePool->updateFeature( feature );
94-
// TODO update "changes" structure
104+
featurePool->updateFeature( feature );
105+
// TODO update "changes" structure
95106

96-
error->setFixed( method );
107+
error->setFixed( method );
108+
}
109+
break;
110+
}
97111
}
98112
}
99113

0 commit comments

Comments
 (0)