Hi Michael:
On Sun, 2017-06-11 at 16:47 +0200, Michael Soegtrop via Inkscape-devel wrote:
Dear Inkscape Team,
with my recent pull request, the bool op LPE should work properly.
merged
A few notes / questions:
1.) The operand (other) path is not made invisible. I typically have my operand paths in an invisible layer. Is this ok, or should the bool op LPE make the operand path invisible? If so, I wonder how this could be done. The main problem is that I have no idea how I could re-enable the operand path when the bool op LPE is disabled (with the eye button in the bool op list). As far as I can tell, the bool-op code doesn't run at all when the bool-op is disabled, only when it is enabled.
I could help you about this there is a LPE function called doOnVisibilityToggled can be addded to any LPE. Uou also can acces to the "Other" SPObject from the path parameter variable and the function pathparam.getObject(). and you can cast to a SPItem to set visible or not. I think you realy need the LPE work itselff as most of posible fully whithout hacks to explain line hide a leyer to view the effect, but this is my opinion.
Or should I change the bool op so that it works on groups of paths (as created with Ctrl+K)? This would obviously solve the problem, but then I would need a grouping LPE, because one of my operand paths is typically a result of an LPE stack, while the other isn't
Is a cool adition the LPE work in shapes and groups, anyway the "operator" could be a path or a item if you change the pathparameter to a item parameter like in clone LPE. Anyway I think in paths, with subpaths if posibol is enought
2.) The cut boolops only make sense if one path is an open path and one path is a closed path. Should I disable the cut options, if this is not the case? How can I detect this?
pathvector.isClosed() or similar. One cuestion how handle selfintersections?
3.) The LPE only works on paths, not on objects. Is this ok? I guess this is the case for all LPE.
LPE works in paths, shapes and groups but not all. Maybe in the future we can add text and bitmaps
4.) The LPE has options for the fill type (odd-even, non-zero, positive). For the operand path (the other path) I can find out the inherent fill type of the path. The problem is somehow that the fill type is stored in SPItem objects, but the LPEs operator on SPCurve. The closest point upstream in the call stack is SPLPEItem::performPathEffect, but the SpItem is not passed down the the specific LPE code. Any ideas?
Btw.: fill type negative would be nice to have.
You can use "SPItem * item = sp_lpe_item;" for the whole LPE item in most parts of LPE code. Also if your plan is working with groups you have: SPShape * shape = sp_shape; that change in the effect cycle to current effected shaped.
Best regards,
Ping me if you need anything more. Is great work with you.
Cheers, Jabier.
Michael
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel