Skip to content

Commit 83aa68f

Browse files
nyalldawsonPeterPetrik
authored andcommittedNov 19, 2020
Update tests
1 parent 4d3978b commit 83aa68f

File tree

2 files changed

+54
-5
lines changed

2 files changed

+54
-5
lines changed
 

‎tests/src/python/test_qgspointcloudrgbrenderer.py

Lines changed: 54 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
QgsMultiRenderChecker,
2424
QgsMapSettings,
2525
QgsRectangle,
26-
QgsContrastEnhancement
26+
QgsContrastEnhancement,
27+
QgsUnitTypes,
28+
QgsMapUnitScale
2729
)
2830

2931
from qgis.PyQt.QtCore import QDir, QSize
@@ -83,7 +85,20 @@ def testBasic(self):
8385
bluece.setContrastEnhancementAlgorithm(QgsContrastEnhancement.ClipToMinimumMaximum)
8486
renderer.setBlueContrastEnhancement(bluece)
8587

88+
renderer.setMaximumScreenError(18)
89+
renderer.setMaximumScreenErrorUnit(QgsUnitTypes.RenderInches)
90+
renderer.setPointSize(13)
91+
renderer.setPointSizeUnit(QgsUnitTypes.RenderPoints)
92+
renderer.setPointSizeMapUnitScale(QgsMapUnitScale(1000, 2000))
93+
8694
rr = renderer.clone()
95+
self.assertEqual(rr.maximumScreenError(), 18)
96+
self.assertEqual(rr.maximumScreenErrorUnit(), QgsUnitTypes.RenderInches)
97+
self.assertEqual(rr.pointSize(), 13)
98+
self.assertEqual(rr.pointSizeUnit(), QgsUnitTypes.RenderPoints)
99+
self.assertEqual(rr.pointSizeMapUnitScale().minScale, 1000)
100+
self.assertEqual(rr.pointSizeMapUnitScale().maxScale, 2000)
101+
87102
self.assertEqual(rr.blueAttribute(), 'b')
88103
self.assertEqual(rr.greenAttribute(), 'g')
89104
self.assertEqual(rr.redAttribute(), 'r')
@@ -101,6 +116,13 @@ def testBasic(self):
101116
elem = renderer.save(doc, QgsReadWriteContext())
102117

103118
r2 = QgsPointCloudRgbRenderer.create(elem, QgsReadWriteContext())
119+
self.assertEqual(r2.maximumScreenError(), 18)
120+
self.assertEqual(r2.maximumScreenErrorUnit(), QgsUnitTypes.RenderInches)
121+
self.assertEqual(r2.pointSize(), 13)
122+
self.assertEqual(r2.pointSizeUnit(), QgsUnitTypes.RenderPoints)
123+
self.assertEqual(r2.pointSizeMapUnitScale().minScale, 1000)
124+
self.assertEqual(r2.pointSizeMapUnitScale().maxScale, 2000)
125+
104126
self.assertEqual(r2.blueAttribute(), 'b')
105127
self.assertEqual(r2.greenAttribute(), 'g')
106128
self.assertEqual(r2.redAttribute(), 'r')
@@ -130,7 +152,8 @@ def testRender(self):
130152
layer = QgsPointCloudLayer(unitTestDataPath() + '/point_clouds/ept/rgb/ept.json', 'test', 'ept')
131153
self.assertTrue(layer.isValid())
132154

133-
layer.renderer().setPenWidth(2)
155+
layer.renderer().setPointSize(2)
156+
layer.renderer().setPointSizeUnit(QgsUnitTypes.RenderMillimeters)
134157

135158
mapsettings = QgsMapSettings()
136159
mapsettings.setOutputSize(QSize(400, 400))
@@ -152,7 +175,8 @@ def testRenderWithContrast(self):
152175
layer = QgsPointCloudLayer(unitTestDataPath() + '/point_clouds/ept/rgb/ept.json', 'test', 'ept')
153176
self.assertTrue(layer.isValid())
154177

155-
layer.renderer().setPenWidth(2)
178+
layer.renderer().setPointSize(2)
179+
layer.renderer().setPointSizeUnit(QgsUnitTypes.RenderMillimeters)
156180

157181
redce = QgsContrastEnhancement()
158182
redce.setMinimumValue(100)
@@ -192,7 +216,8 @@ def testRenderOpacity(self):
192216
layer = QgsPointCloudLayer(unitTestDataPath() + '/point_clouds/ept/rgb/ept.json', 'test', 'ept')
193217
self.assertTrue(layer.isValid())
194218

195-
layer.renderer().setPenWidth(2)
219+
layer.renderer().setPointSize(2)
220+
layer.renderer().setPointSizeUnit(QgsUnitTypes.RenderMillimeters)
196221

197222
layer.setOpacity(0.5)
198223

@@ -216,7 +241,8 @@ def testRenderBlendMode(self):
216241
layer = QgsPointCloudLayer(unitTestDataPath() + '/point_clouds/ept/rgb/ept.json', 'test', 'ept')
217242
self.assertTrue(layer.isValid())
218243

219-
layer.renderer().setPenWidth(2)
244+
layer.renderer().setPointSize(2)
245+
layer.renderer().setPointSizeUnit(QgsUnitTypes.RenderMillimeters)
220246

221247
layer.setBlendMode(QPainter.CompositionMode_ColorBurn)
222248

@@ -235,6 +261,29 @@ def testRenderBlendMode(self):
235261
TestQgsPointCloudRgbRenderer.report += renderchecker.report()
236262
self.assertTrue(result)
237263

264+
@unittest.skipIf('ept' not in QgsProviderRegistry.instance().providerList(), 'EPT provider not available')
265+
def testRenderPointSize(self):
266+
layer = QgsPointCloudLayer(unitTestDataPath() + '/point_clouds/ept/rgb/ept.json', 'test', 'ept')
267+
self.assertTrue(layer.isValid())
268+
269+
layer.renderer().setPointSize(0.05)
270+
layer.renderer().setPointSizeUnit(QgsUnitTypes.RenderMapUnits)
271+
272+
mapsettings = QgsMapSettings()
273+
mapsettings.setOutputSize(QSize(400, 400))
274+
mapsettings.setOutputDpi(96)
275+
mapsettings.setDestinationCrs(layer.crs())
276+
mapsettings.setExtent(QgsRectangle(497753.5, 7050887.5, 497754.6, 7050888.6))
277+
mapsettings.setLayers([layer])
278+
279+
renderchecker = QgsMultiRenderChecker()
280+
renderchecker.setMapSettings(mapsettings)
281+
renderchecker.setControlPathPrefix('pointcloudrenderer')
282+
renderchecker.setControlName('expected_pointsize')
283+
result = renderchecker.runTest('expected_pointsize')
284+
TestQgsPointCloudRgbRenderer.report += renderchecker.report()
285+
self.assertTrue(result)
286+
238287

239288
if __name__ == '__main__':
240289
unittest.main()
Loading

0 commit comments

Comments
 (0)
Please sign in to comment.