-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Add digitizing support for TIN and PolyhedralSurface geometries #64354
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
base: master
Are you sure you want to change the base?
Conversation
🪟 Windows Qt6 buildsDownload Windows Qt6 builds of this PR for testing. 🍎 MacOS Qt6 buildsDownload MacOS Qt6 builds of this PR for testing. |
c05a0c8 to
f49cb5c
Compare
f49cb5c to
f474be6
Compare
| newGeom = QgsGeometry( std::move( polySurface ) ); | ||
| } | ||
|
|
||
| // PolyhedralSurface/TIN to (Multi)Polygon |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add this conversion in the documentation of the function please.
| newGeom = QgsGeometry( std::move( polySurface ) ); | ||
| } | ||
|
|
||
| //(Multi)Polygon/Triangle to TIN |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same here.
| QProgressDialog progress( tr( "Collecting patches…" ), tr( "Abort" ), 0, featureList.size(), this ); | ||
| progress.setWindowModality( Qt::WindowModal ); | ||
|
|
||
| QApplication::setOverrideCursor( Qt::WaitCursor ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use QgsTemporaryCursorOverride instead
|
|
||
| QApplication::setOverrideCursor( Qt::WaitCursor ); | ||
|
|
||
| auto resultTin = std::make_unique<QgsTriangulatedSurface>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this logic be moved out of the mammoth QgisApp class? (Eg maybe to QgsAppMapTools?)
Description
This PR adds initial digitizing support for TIN (Triangulated Irregular Network) and PolyhedralSurface geometry types.
These geometry types can now be edited using existing digitizing tools:
Notes
This is a first step toward full digitizing support for these geometry types. The current implementation adapts existing digitizing tools to respect the constraints of TIN and PolyhedralSurface geometries (but not "surface" since it's not yet well supported)
(e.g., TIN patches must be triangles, surfaces can hold multiple patches without requiring a "Multi" type).
Further digitizing improvements may be added in future versions.
Sponsored by Stadt Frankfurt am Main / Oslandia