overlapping two-node straigh line paths disappear on union

Bug #166009 reported by Buliabyak-users
2
Affects Status Importance Assigned to Milestone
Inkscape
Invalid
Low
Cth103

Bug Description

- draw a straight line path (just two clicks and Enter
in the bezier tool)

- ctrl+d

- select both paths and do Path > Union: they disappear.

Of note:

- this happens even if the paths coincide by only one
endnode, i.e. if after ctrl+d you move one of the nodes
of one of the paths with node tool, they will still
disappear

- this does not happen with curvilinear paths or with
paths consisting of two or more straight line segments
- they behave as expected (two paths turn into one)

- this happened in 0.39 too

- this is a minor but real problem because I have a
program which exports complex curves as sequences of
small straight <line>s; I want to turn them into a
single path and then simplify, but I cannot because
these lines coincide in their endnodes and thus
disappear on union.

Tags: boolops
Revision history for this message
Buliabyak-users (buliabyak-users) wrote :
Revision history for this message
Aaron C Spike (acspike) wrote : byebyebool.svg

Other attachments

Revision history for this message
Aaron C Spike (acspike) wrote : byebyebool2.svg

Other attachments

Revision history for this message
Peter Moulder (pjrm) wrote :

Union does a union of the areas, not necessarily a union of
the strokes, and not necessarily preserving direction,
thickness etc. of the strokes. It is not in general
possible for a single shape to embody the union of both the
areas and strokes of the input shapes (even ignoring
direction, stroke properties etc.). This distinction also
manifests itself with "self-overlapping" shapes (having a
region whose winding number is 2): the stroke around the
double-covered area is allowed to disappear.

A straight line segment has no internal area. As such,
doing a union of areas is allowed to discard that line
segment: whether the line segment is present or absent, the
shape has the same internal filled area.

One could envisage a slightly different operation where one
considered points on the edge to be part of the area. That
would be a feature request rather than a bug report; feel
free to re-open as such. (This wouldn't be enough to
prevent self-overlapping shapes from losing some of their
stroke.)

Use the Combine operation to do a union of strokes. This
seems to be what the submitter wants to do.

I suggest that the menu item should be called Area Union
instead (and similarly Difference, Intersection and Exclusion).

su_v (suv-lp)
tags: added: boolops
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.