LPE stacking
LPE stacking
This Project is part of a student project from Ecole Centrale de Lyon. (SVN : http://svn.eclair.ec-lyon.fr/ )
The idea is to allow LPE chaining.
Most of the work is on the UI, there is not a lot of work on the code.
Here is a mockup for the ui, it is almost coded : http://steren.giannini.googlepages.com/Stack_mockup.png
Here is a sample of a possible svg implementation :
<defs> <inkscape:path-effect effect="gears" id="path-effect2416" teeth="10" /> <inkscape:path-effect effect="bend_path" id="path-effect2391" bendpath="M 62.8571,376.648 C 227.61907,256.19958 392.38103,260.92537 557.143,376.648" prop_scale="1" bendpath-nodetypes="cc" /> </defs>
And for the path : a list of LPE for "inkscape:path-effect"
<path style="opacity:0.93699993;fill:#00ffff;fill-opacity:0.99685531;fill-rule:nonzero;stroke:#000000;stroke-width:8.60000038;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" d="M -7.11922,280.927 C 37.9458,247.569 89.2988,218.713 146.607,197.876 C 198.322,179.282 253.844,169.323 310.85,169.515 C 310.85,169.515 310.85,169.515 310.85,169.515 C 367.851,170.198 422.845,180.778 473.748,199.332 C 529.85,219.891 580.42,247.738 625.293,279.618 L 488.993,473.678 C 457.274,451.763 425.352,433.602 393.395,422.447 C 365.1,412.479 336.324,406.573 309.15,406.652 C 282.11,406.242 253.702,411.611 226.251,421.245 C 194.956,432 163.706,450.213 132.833,472.369" id="rect2388" inkscape:path-effect="#path-effect2391;#path-effect2416" inkscape:original-d="M 62.857143,258.07648 L 557.14285,258.07648 L 557.14285,495.21933 L 62.857143,495.21933 L 62.857143,258.07648 z" />
comment by johan 12 feb 2008
enabling/disabling of effects in stack
What I think is important is that it should be possible to turn effects off in the stack (by using checkboxes next to the effects in the list):
enabled effect x curve stitch gears (disabled) x bend path
having intermediate result as output
Also, it should be possible to get the result in the middle of the stack:
enabled output effect x curve stitch x * gears (the output of this effect is shown, so bend path is skipped) x bend path
svg representation
I've been thinking about making some sort of "stack effect" that has effects as parameters:
<inkscape:path-effect effect="stack" id="path-effect2391" effect1="#path-effect2" effect2=" ..." </defs>
But I think your solution is simpler and good enough. (complicated structures like is possible with filters is too much I think) Implementing the enabling/disabling of the effects and selecting the output step could be done like this:
gear-lpe disabled: inkscape:path-effect="#curve-lpe2391;!#gear-lpe416;#bendpath-lpe34"
gear-lpe selected for output: inkscape:path-effect="#curve-lpe2391;@#gear-lpe416;#bendpath-lpe34"
Note that this requires more complicated parsing!