- missing vertical walls since a recent tessellator crash fix (fixes#17604)
- choice of the culling mode - no culling / back face / front face (fixes#17619)
- more unit tests for tessellator
Usage:
- QgsGui::instance()->enableAutoGeometryRestore( this ); just
after setupUi in your widgets to enable.
- Remove any calls to saveGeometry() and restoreGeometry() in your
widgets.
Removes duplicate nodes from the geometry, wherever removing the
nodes does not result in a degenerate geometry.
By default, z values are not considered when detecting duplicate
nodes. E.g. two nodes with the same x and y coordinate but
different z values will still be considered duplicate and one
will be removed. If useZValues is true, then the z values are
also tested and nodes with the same x and y but different z
will be maintained.
Note that duplicate nodes are not tested between different
parts of a multipart geometry. E.g. a multipoint geometry
with overlapping points will not be changed by this method.
The function will return true if nodes were removed, or false
if no duplicate nodes were found.
Includes unit tests and a processing algorithm which exposes
this functionality.
when snapping line layers
Because the default behavior of the snapper is to insert extra
vertices into the snapped geometry in order to make it 'follow'
the reference geometries exactly, this can result in unwanted
results for line layers where the resultant snapped layer
has overlapping line segments.
Since we can't always know what the desired result is that the
user wants (maybe they do want overlapping lines), instead
give them control over the result by exposing extra enum
options which never insert extra vertices.
The fact that the map units are in degrees instead of meters means that various bits of the code
(e.g. tolerances) are not behaving correctly due to changes in coordinate values being several
orders of magnitude lower. So for the time being it is safer to disable 3D view for unprojected
CRS and just let the user choose a projected CRS for the project.