LPE stacking

From Inkscape Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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!