You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to request the addition of a Strict Union overlay rule. The goal of this feature is to allow for unions where shapes that merely share an edge or vertex are not combined into a single shape. Currently, it appears that shapes sharing an edge are unioned, but for certain use cases, I would like to enforce that only shapes with overlapping areas are unioned.
Use Case:
In applications where maintaining distinct shapes is important, shared boundaries between shapes should not result in a union of those shapes. This feature would be useful for scenarios such as:
Geometrical simulations where touching polygons represent different objects.
CAD systems where overlapping volumes should only be merged when they truly overlap, not when they just share edges.
Proposed Solution:
Introduce an OverlayRule::UnionStrict that when passed to extract_shapes, for all Overlay variants (such as F64Overlay):
Shapes that share edges or vertices should remain distinct and not be unioned.
Union operations should only combine polygons with overlapping regions.
It is easy to distinguish whether a union was performed (perhaps an Option or Result)
The text was updated successfully, but these errors were encountered:
Thanks for the detailed description! Implementing this as an extension might be a more flexible approach. The current FillRule doesn’t modify the OverlayGraph, which allows multiple shapes to be extracted using different rules sequentially.
However, as we discussed before, achieving Strict Union would require additional steps to convert the original graph into a StringGraph. Because of these extra manipulations, it would be better to implement this feature as a separate API, allowing it to function independently while keeping the core graph structure unmodified.
About 3.
All we need to do is check is any link (yellow), as shown in the picture, present in the overlay graph.
This link must be at once a part of A and B from one side.
I would like to request the addition of a Strict Union overlay rule. The goal of this feature is to allow for unions where shapes that merely share an edge or vertex are not combined into a single shape. Currently, it appears that shapes sharing an edge are unioned, but for certain use cases, I would like to enforce that only shapes with overlapping areas are unioned.
Use Case:
In applications where maintaining distinct shapes is important, shared boundaries between shapes should not result in a union of those shapes. This feature would be useful for scenarios such as:
Proposed Solution:
Introduce an
OverlayRule::UnionStrict
that when passed toextract_shapes
, for allOverlay
variants (such asF64Overlay
):Option
orResult
)The text was updated successfully, but these errors were encountered: