Code

bca4e2447b2d0a2d5b1d6fb3fed1123a2eaf1eaf
[inkscape.git] / src / live_effects / lpe-sketch.h
1 #ifndef INKSCAPE_LPE_SKETCH_H
2 #define INKSCAPE_LPE_SKETCH_H
4 /** \file
5  * LPE <sketch> implementation, see lpe-sketch.cpp.
6  */
8 /*
9  * Authors:
10  *   JFB, but derived from Johan Engelen!
11 *
12 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
13  *
14  * Released under GNU GPL, read the file 'COPYING' for more information
15  */
17 #include "live_effects/effect.h"
18 #include "live_effects/parameter/parameter.h"
19 #include "live_effects/parameter/random.h"
20 #include "live_effects/parameter/point.h"
22 namespace Inkscape {
23 namespace LivePathEffect {
25 class LPESketch : public Effect {
26 public:
27     LPESketch(LivePathEffectObject *lpeobject);
28     virtual ~LPESketch();
30     virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
32     virtual void doBeforeEffect (SPLPEItem *lpeitem);
34 private:
35     // add the parameters for your effect here:
36     //PointParam testpointA;
37     ScalarParam nbiter_approxstrokes;
38     ScalarParam strokelength;
39     RandomParam strokelength_rdm;
40     ScalarParam strokeoverlap;
41     RandomParam strokeoverlap_rdm;
42     RandomParam ends_tolerance;
43     RandomParam parallel_offset;
44     RandomParam tremble_size;
45     ScalarParam tremble_frequency;
46     ScalarParam nbtangents;
47     ScalarParam tgtscale;
48     ScalarParam tgtlength;
49     RandomParam tgtlength_rdm;
51     LPESketch(const LPESketch&);
52     LPESketch& operator=(const LPESketch&);
54     Geom::Piecewise<Geom::D2<Geom::SBasis> > computePerturbation (double s0, double s1);
56 };
58 } //namespace LivePathEffect
59 } //namespace Inkscape
61 #endif