On 12/03/2014 03:59 PM, Alexander Brock wrote:
I implemented most of the parts, you can find the code here:
Path->All Objects to Path
This recursively convertes strokes to paths. If the object has a fill
and a stroke it is duplicated for one copy the stroke is converted to a
path, for the other the stroke ist set to none. Therefore the visual
appearance doesn't (shouldn't) change.
This would be an awesome feature. Maybe a name like "Fill and Stroke to
Paths" might work? I assume that the resulting "fill" object doesn't
include the 50% of the fill that is under the stroke?
This recursively replaces clipped paths by the path intersected with the
IMHO, This might make more sense to make Path > Intersect work on
multiple objects. i.e. the top object is duplicated and intersected with
each object individually underneath. The reason i suggest this is that
clipping also works on bitmaps, so having an option to intersect a clip
path might be a bit odd when it doesn't work. Also, this same working on
multiples behavior would work for Path > Difference too -- so you can
"punch a hole" in multiple objects, and Path > Division, where you can
cut multiple paths up with a single action.
This doesn't work and I don't understand why.
It's implemented in splivarot.cpp, line 1740
The basic idea is very simple:
1. Get all selected shapes, even indirectly selected ones in groups etc.
2. Sort them so the topmost shape is the first in the list
3. Get a copy of the topmost shape, total_union = copy(topmost_object)
4. Get the next object in the list "current_object", make a copy
5. Make a copy of total_union, name it total_union_duplicate
6. Subtract "total_union_duplicate " from "current_object" using
"sp_selected_path_boolop", with operation "bool_op_diff"
This doesn't work for me, the method never does anything (line 1816)
7. Add "duplicate_object" to "total_union" using
"sp_selected_path_boolop" with operation "bool_op_union"
This also doesn't work, I expect to get exactly 1 object, instead I get
2 (line 1834)
8. If list not empty goto 4
I'm out of ideas why the boolean operation doesn't work for my objects,
it always works perfectly for me when I do it by hand.
Any ideas / comments?
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
Inkscape-devel mailing list