diff --git a/tests/src/core/testqgslabelingengine.cpp b/tests/src/core/testqgslabelingengine.cpp index 6d050e9cd0b..1ae317efe4b 100644 --- a/tests/src/core/testqgslabelingengine.cpp +++ b/tests/src/core/testqgslabelingengine.cpp @@ -205,7 +205,7 @@ void TestQgsLabelingEngine::setDefaultLabelParams( QgsPalLayerSettings &settings QgsLabelingEngineSettings TestQgsLabelingEngine::createLabelEngineSettings() { QgsLabelingEngineSettings settings; - settings.setPlacementVersion( QgsLabelingEngineSettings::PlacementEngineVersion1 ); + settings.setPlacementVersion( QgsLabelingEngineSettings::PlacementEngineVersion2 ); return settings; } diff --git a/tests/src/python/test_qgspallabeling_base.py b/tests/src/python/test_qgspallabeling_base.py index a15d238c792..6c6a9a71984 100644 --- a/tests/src/python/test_qgspallabeling_base.py +++ b/tests/src/python/test_qgspallabeling_base.py @@ -127,7 +127,9 @@ class TestQgsPalLabeling(unittest.TestCase): @classmethod def setDefaultEngineSettings(cls): """Restore default settings for pal labeling""" - cls._MapSettings.setLabelingEngineSettings(QgsLabelingEngineSettings()) + settings = QgsLabelingEngineSettings() + settings.setPlacementVersion(QgsLabelingEngineSettings.PlacementEngineVersion2) + cls._MapSettings.setLabelingEngineSettings(settings) @classmethod def removeAllLayers(cls): diff --git a/tests/src/python/test_qgspallabeling_placement.py b/tests/src/python/test_qgspallabeling_placement.py index b992b308061..1ad09592c5d 100644 --- a/tests/src/python/test_qgspallabeling_placement.py +++ b/tests/src/python/test_qgspallabeling_placement.py @@ -59,6 +59,7 @@ class TestPlacementBase(TestQgsPalLabeling): # render only rectangles of the placed labels engine_settings = QgsLabelingEngineSettings() + engine_settings.setPlacementVersion(QgsLabelingEngineSettings.PlacementEngineVersion2) engine_settings.setFlag(QgsLabelingEngineSettings.DrawLabelRectOnly) self._MapSettings.setLabelingEngineSettings(engine_settings) @@ -205,20 +206,22 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_point_point_obstacle_obstacle_factor_greater_equal(self): - # Test point label but obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test point label but obstacle exists with a greater than obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('point') obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('point_ordered_obstacle1') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) + self.assertEqual(self._MapSettings.labelingEngineSettings().placementVersion(), QgsLabelingEngineSettings.PlacementEngineVersion2) self._TestMapSettings = self.cloneMapSettings(self._MapSettings) + self.assertEqual(self._TestMapSettings.labelingEngineSettings().placementVersion(), QgsLabelingEngineSettings.PlacementEngineVersion2) self.lyr.placement = QgsPalLayerSettings.OverPoint self.lyr.quadOffset = QgsPalLayerSettings.QuadrantAboveRight self.lyr.priority = label_priority @@ -227,18 +230,17 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_point_point_obstacle_obstacle_factor_less(self): - # Test point label but obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test point label but obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('point') obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('point_ordered_obstacle1') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -252,16 +254,16 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_point_line_obstacle_obstacle_factor_greater_equal(self): - # Test point label but line obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test point label but line obstacle exists with a greater obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('point') obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('line') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -274,18 +276,17 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_point_line_obstacle_obstacle_factor_less(self): - # Test point label but line obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test point label but line obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('point') obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('line') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -299,16 +300,16 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_point_polygon_obstacle_obstacle_factor_greater_equal(self): - # Test point label but polygon obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test point label but polygon obstacle exists with a greater obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('point') obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('narrow_polygon') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -321,18 +322,17 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_point_polygon_obstacle_obstacle_factor_less(self): - # Test point label but polygon obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test point label but polygon obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('point') obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('narrow_polygon') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -346,17 +346,17 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_line_point_obstacle_obstacle_factor_greater_equal(self): - # Test line label but obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test line label but obstacle exists with a greater obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('line_short') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('point') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -368,19 +368,18 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_line_point_obstacle_obstacle_factor_less(self): - # Test line label but obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test line label but obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('line_short') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('point') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -393,17 +392,17 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_line_line_obstacle_obstacle_factor_greater_equal(self): - # Test line label but obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test line label but obstacle exists with a greater obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('line_short') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('line') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -415,19 +414,18 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_line_line_obstacle_obstacle_factor_less(self): - # Test line label but obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test line label but obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('line_short') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('line') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -440,17 +438,17 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_line_polygon_obstacle_obstacle_factor_greater_equal(self): - # Test line label but obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test line label but obstacle exists with a greater obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('line_short') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('polygon_center') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -462,19 +460,18 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_line_polygon_obstacle_obstacle_factor_less(self): - # Test line label but obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test line label but obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('line_short') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('polygon_center') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -487,17 +484,17 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_polygon_point_obstacle_obstacle_factor_greater_equal(self): - # Test polygon label but obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test polygon label but obstacle exists with a greater obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('polygon_center') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('point') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -509,19 +506,18 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_polygon_point_obstacle_obstacle_factor_less(self): - # Test line label but obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test line label but obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('polygon_center') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('point') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -534,17 +530,17 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_polygon_line_obstacle_obstacle_factor_greater_equal(self): - # Test polygon label but obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test polygon label but obstacle exists with a greater obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('polygon_center') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('line_placement_4') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -556,19 +552,18 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_polygon_line_obstacle_obstacle_factor_less(self): - # Test line label but obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test line label but obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('polygon_center') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('line_placement_4') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -581,17 +576,17 @@ class TestPointPlacement(TestPlacementBase): self.layer = None def test_polygon_polygon_obstacle_obstacle_factor_greater_equal(self): - # Test polygon label but obstacle exists with a greater than or equal to obstacle factor vs label priority => NO LABEL + # Test polygon label but obstacle exists with a greater obstacle factor vs label priority => NO LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('polygon_center') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('polygon_small') - for label_priority in range(0, 10): - for obstacle_weight in range(label_priority, 11): + for label_priority in range(0, 11): + for obstacle_weight in range(label_priority + 1, 11): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) @@ -603,19 +598,18 @@ class TestPointPlacement(TestPlacementBase): self.removeMapLayer(self.layer) self.layer = None - @unittest.skip('Needs engine change') def test_polygon_polygon_obstacle_obstacle_factor_less(self): - # Test line label but obstacle exists with a lower obstacle factor vs label priority => LABEL + # Test line label but obstacle exists with an equal or lower obstacle factor vs label priority => LABEL self.layer = TestQgsPalLabeling.loadFeatureLayer('polygon_center') self.layer.setLabelsEnabled(True) obstacleLayer = TestQgsPalLabeling.loadFeatureLayer('polygon_small') for label_priority in range(0, 11): - for obstacle_weight in range(0, label_priority): + for obstacle_weight in range(0, label_priority + 1): obstacle_label_settings = QgsPalLayerSettings() obstacle_label_settings.obstacle = True obstacle_label_settings.drawLabels = False - obstacle_label_settings.obstacleFactor = obstacle_weight + obstacle_label_settings.obstacleFactor = obstacle_weight * 0.2 obstacleLayer.setLabeling(QgsVectorLayerSimpleLabeling(obstacle_label_settings)) obstacleLayer.setLabelsEnabled(True) diff --git a/tests/testdata/control_images/expected_pal_placement/sp_line_line_obstacle_obstacle_factor_greater_equal/sp_line_line_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_line_line_obstacle_obstacle_factor_greater_equal/sp_line_line_obstacle_obstacle_factor_greater_equal.png index 5d9021ada83..a459baeda1f 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_line_line_obstacle_obstacle_factor_greater_equal/sp_line_line_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_line_line_obstacle_obstacle_factor_greater_equal/sp_line_line_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_line_line_obstacle_obstacle_factor_less/sp_line_line_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_line_line_obstacle_obstacle_factor_less/sp_line_line_obstacle_obstacle_factor_less.png index c4e48c6a70f..5d9021ada83 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_line_line_obstacle_obstacle_factor_less/sp_line_line_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_line_line_obstacle_obstacle_factor_less/sp_line_line_obstacle_obstacle_factor_less.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_line_point_obstacle_obstacle_factor_greater_equal/sp_line_point_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_line_point_obstacle_obstacle_factor_greater_equal/sp_line_point_obstacle_obstacle_factor_greater_equal.png index 0516f3b4d6c..a310ccb6090 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_line_point_obstacle_obstacle_factor_greater_equal/sp_line_point_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_line_point_obstacle_obstacle_factor_greater_equal/sp_line_point_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_line_point_obstacle_obstacle_factor_less/sp_line_point_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_line_point_obstacle_obstacle_factor_less/sp_line_point_obstacle_obstacle_factor_less.png index cd3110a86c7..0516f3b4d6c 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_line_point_obstacle_obstacle_factor_less/sp_line_point_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_line_point_obstacle_obstacle_factor_less/sp_line_point_obstacle_obstacle_factor_less.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_line_polygon_obstacle_obstacle_factor_greater_equal/sp_line_polygon_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_line_polygon_obstacle_obstacle_factor_greater_equal/sp_line_polygon_obstacle_obstacle_factor_greater_equal.png index 508b4e561b3..7ac5f90111d 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_line_polygon_obstacle_obstacle_factor_greater_equal/sp_line_polygon_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_line_polygon_obstacle_obstacle_factor_greater_equal/sp_line_polygon_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_line_polygon_obstacle_obstacle_factor_less/sp_line_polygon_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_line_polygon_obstacle_obstacle_factor_less/sp_line_polygon_obstacle_obstacle_factor_less.png index 33986d6ff5d..508b4e561b3 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_line_polygon_obstacle_obstacle_factor_less/sp_line_polygon_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_line_polygon_obstacle_obstacle_factor_less/sp_line_polygon_obstacle_obstacle_factor_less.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_point_line_obstacle_obstacle_factor_greater_equal/sp_point_line_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_point_line_obstacle_obstacle_factor_greater_equal/sp_point_line_obstacle_obstacle_factor_greater_equal.png index 60bcc2ae24b..61bc0d0f022 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_point_line_obstacle_obstacle_factor_greater_equal/sp_point_line_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_point_line_obstacle_obstacle_factor_greater_equal/sp_point_line_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_point_line_obstacle_obstacle_factor_less/sp_point_line_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_point_line_obstacle_obstacle_factor_less/sp_point_line_obstacle_obstacle_factor_less.png index f3c2310cce3..60bcc2ae24b 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_point_line_obstacle_obstacle_factor_less/sp_point_line_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_point_line_obstacle_obstacle_factor_less/sp_point_line_obstacle_obstacle_factor_less.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_point_point_obstacle_obstacle_factor_greater_equal/sp_point_point_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_point_point_obstacle_obstacle_factor_greater_equal/sp_point_point_obstacle_obstacle_factor_greater_equal.png index 0898e71e8c8..770b55a6579 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_point_point_obstacle_obstacle_factor_greater_equal/sp_point_point_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_point_point_obstacle_obstacle_factor_greater_equal/sp_point_point_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_point_point_obstacle_obstacle_factor_less/sp_point_point_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_point_point_obstacle_obstacle_factor_less/sp_point_point_obstacle_obstacle_factor_less.png index 49664c8d75a..0898e71e8c8 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_point_point_obstacle_obstacle_factor_less/sp_point_point_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_point_point_obstacle_obstacle_factor_less/sp_point_point_obstacle_obstacle_factor_less.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_point_polygon_obstacle_obstacle_factor_greater_equal/sp_point_polygon_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_point_polygon_obstacle_obstacle_factor_greater_equal/sp_point_polygon_obstacle_obstacle_factor_greater_equal.png index 3332f1dc70e..a2f8f04ec0b 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_point_polygon_obstacle_obstacle_factor_greater_equal/sp_point_polygon_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_point_polygon_obstacle_obstacle_factor_greater_equal/sp_point_polygon_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_point_polygon_obstacle_obstacle_factor_less/sp_point_polygon_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_point_polygon_obstacle_obstacle_factor_less/sp_point_polygon_obstacle_obstacle_factor_less.png index 215fd917691..3332f1dc70e 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_point_polygon_obstacle_obstacle_factor_less/sp_point_polygon_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_point_polygon_obstacle_obstacle_factor_less/sp_point_polygon_obstacle_obstacle_factor_less.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_polygon_line_obstacle_obstacle_factor_greater_equal/sp_polygon_line_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_polygon_line_obstacle_obstacle_factor_greater_equal/sp_polygon_line_obstacle_obstacle_factor_greater_equal.png index 25e0d79c3fc..b997ba917b1 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_polygon_line_obstacle_obstacle_factor_greater_equal/sp_polygon_line_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_polygon_line_obstacle_obstacle_factor_greater_equal/sp_polygon_line_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_polygon_line_obstacle_obstacle_factor_less/sp_polygon_line_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_polygon_line_obstacle_obstacle_factor_less/sp_polygon_line_obstacle_obstacle_factor_less.png index aeaff7a7d73..25e0d79c3fc 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_polygon_line_obstacle_obstacle_factor_less/sp_polygon_line_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_polygon_line_obstacle_obstacle_factor_less/sp_polygon_line_obstacle_obstacle_factor_less.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_polygon_point_obstacle_obstacle_factor_greater_equal/sp_polygon_point_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_polygon_point_obstacle_obstacle_factor_greater_equal/sp_polygon_point_obstacle_obstacle_factor_greater_equal.png index 297d012a5f1..ec38f5aa943 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_polygon_point_obstacle_obstacle_factor_greater_equal/sp_polygon_point_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_polygon_point_obstacle_obstacle_factor_greater_equal/sp_polygon_point_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_polygon_point_obstacle_obstacle_factor_less/sp_polygon_point_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_polygon_point_obstacle_obstacle_factor_less/sp_polygon_point_obstacle_obstacle_factor_less.png index 422616367c5..297d012a5f1 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_polygon_point_obstacle_obstacle_factor_less/sp_polygon_point_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_polygon_point_obstacle_obstacle_factor_less/sp_polygon_point_obstacle_obstacle_factor_less.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_polygon_polygon_obstacle_obstacle_factor_greater_equal/sp_polygon_polygon_obstacle_obstacle_factor_greater_equal.png b/tests/testdata/control_images/expected_pal_placement/sp_polygon_polygon_obstacle_obstacle_factor_greater_equal/sp_polygon_polygon_obstacle_obstacle_factor_greater_equal.png index adf95d42df6..7ac5f90111d 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_polygon_polygon_obstacle_obstacle_factor_greater_equal/sp_polygon_polygon_obstacle_obstacle_factor_greater_equal.png and b/tests/testdata/control_images/expected_pal_placement/sp_polygon_polygon_obstacle_obstacle_factor_greater_equal/sp_polygon_polygon_obstacle_obstacle_factor_greater_equal.png differ diff --git a/tests/testdata/control_images/expected_pal_placement/sp_polygon_polygon_obstacle_obstacle_factor_less/sp_polygon_polygon_obstacle_obstacle_factor_less.png b/tests/testdata/control_images/expected_pal_placement/sp_polygon_polygon_obstacle_obstacle_factor_less/sp_polygon_polygon_obstacle_obstacle_factor_less.png index a661efa0e93..adf95d42df6 100644 Binary files a/tests/testdata/control_images/expected_pal_placement/sp_polygon_polygon_obstacle_obstacle_factor_less/sp_polygon_polygon_obstacle_obstacle_factor_less.png and b/tests/testdata/control_images/expected_pal_placement/sp_polygon_polygon_obstacle_obstacle_factor_less/sp_polygon_polygon_obstacle_obstacle_factor_less.png differ