Skip to content

FlyingEdgesPlaneCutter correctly cuts at min boundary

When cutting plane is aligned with image data min boundary, the output used to be empty.

Fixes #19225 (closed)

The Flying Edges algorithm works with half open interval to avoid duplication: the open side of the interval is processed at another iteration as the closed part of its interval. Then problem occurs with the actual boundary of the data: some intervals "open side" are not handled by any other iterations, but are actually part of the data.

In order to not rewrite the whole algorithm, we identify the boundary intersections as such by slightly moving the cut plane inside the open interval. Once identified and before doing the actual coordinates/scalars computation, plane is moved back to its actual position.

Concerning CompositeCutter test With the fix:

image

Without the fix:

image

So changing the expected number of cells is the correct update.

Edited by Nicolas Vuaille

Merge request reports