Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Virtual point clouds overview in 3D #60106

Merged
merged 7 commits into from
Jan 17, 2025
Merged

Conversation

Withalion
Copy link
Contributor

Description

This PR builds on top of work done in #59854 and extends this functionality to 3D view.
We switch from rendering extents when zoomed out to rendering overview when it's present. This change adds seamless transition between overview into specific point clouds. Furthermore the user is able to switch between just extents, just overview and extents rendered over overview, by using combo box in layer styling side panel under 3D symbol settings.

Screencast_20250110_114513.mp4

Also there was some work done to fix bugs which crashed/froze QGIS, when working with partial VPCs.

Funded by: Klimadatastyrelsen

@github-actions github-actions bot added this to the 3.42.0 milestone Jan 10, 2025
@Withalion
Copy link
Contributor Author

Unit tests are on their way ✌️

Copy link

github-actions bot commented Jan 10, 2025

🪟 Windows builds

Download Windows builds of this PR for testing.
Debug symbols for this build are available here.
(Built from commit 9f68016)

🪟 Windows Qt6 builds

Download Windows Qt6 builds of this PR for testing.
(Built from commit 9f68016)

This commit contains some changes created during rebasing onto current master, however they are insifignant and should be ignored, as they will match the changes already in master.
This bug occurs when some of the referenced point cloud files are missing.
Bug occurs when the vpc data is not complete and 3D renderer gets
recreated
@Withalion Withalion force-pushed the vpc-overview-3D branch 2 times, most recently from cac4d3b to 61b1406 Compare January 16, 2025 22:23
Copy link

Tests failed for Qt 5

One or more tests failed using the build from commit 61b1406

classified_render_overview

classified_render_overview

Test failed at testOverviewRender at tests/src/python/test_qgspointcloudclassifiedrenderer.py:497

Rendered image did not match tests/testdata/control_images/pointcloudrenderer/expected_classified_render_overview/expected_classified_render_overview.png (found 4548 pixels different)

The full test report (included comparison of rendered vs expected images) can be found here.

Further documentation on the QGIS test infrastructure can be found in the Developer's Guide.

Copy link

Tests failed for Qt 6

One or more tests failed using the build from commit 61b1406

virtual_pointcloud_3d_extents (testPointCloud3DExtents)

virtual_pointcloud_3d_extents

Test failed at testPointCloud3DExtents at tests/src/3d/testqgspointcloud3drendering.cpp:562

classified_render_overview

classified_render_overview

Test failed at testOverviewRender at tests/src/python/test_qgspointcloudclassifiedrenderer.py:497

Rendered image did not match tests/testdata/control_images/pointcloudrenderer/expected_classified_render_overview/expected_classified_render_overview.png (found 4548 pixels different)

The full test report (included comparison of rendered vs expected images) can be found here.

Further documentation on the QGIS test infrastructure can be found in the Developer's Guide.

src/3d/qgspointcloudlayer3drenderer.cpp Outdated Show resolved Hide resolved
src/app/layers/qgsapplayerhandling.cpp Outdated Show resolved Hide resolved
src/3d/qgsvirtualpointcloudentity_p.cpp Outdated Show resolved Hide resolved
src/3d/qgsvirtualpointcloudentity_p.cpp Outdated Show resolved Hide resolved
@wonder-sk wonder-sk merged commit 66ee737 into qgis:master Jan 17, 2025
30 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants