1 /** \file
2 * @brief LPE sketch effect implementation, see lpe-sketch.cpp.
3 */
4 /* Authors:
5 * Jean-Francois Barraud <jf.barraud@gmail.com>
6 * Johan Engelen <j.b.c.engelen@utwente.nl>
7 *
8 * Copyright (C) 2007 Authors
9 *
10 * Released under GNU GPL, read the file 'COPYING' for more information
11 */
13 #ifndef INKSCAPE_LPE_SKETCH_H
14 #define INKSCAPE_LPE_SKETCH_H
16 #include "live_effects/effect.h"
17 #include "live_effects/parameter/parameter.h"
18 #include "live_effects/parameter/random.h"
19 #include "live_effects/parameter/point.h"
21 namespace Inkscape {
22 namespace LivePathEffect {
24 class LPESketch : public Effect {
25 public:
26 LPESketch(LivePathEffectObject *lpeobject);
27 virtual ~LPESketch();
29 virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
31 virtual void doBeforeEffect (SPLPEItem *lpeitem);
33 private:
34 // add the parameters for your effect here:
35 //PointParam testpointA;
36 ScalarParam nbiter_approxstrokes;
37 ScalarParam strokelength;
38 RandomParam strokelength_rdm;
39 ScalarParam strokeoverlap;
40 RandomParam strokeoverlap_rdm;
41 RandomParam ends_tolerance;
42 RandomParam parallel_offset;
43 RandomParam tremble_size;
44 ScalarParam tremble_frequency;
45 ScalarParam nbtangents;
46 ScalarParam tgtscale;
47 ScalarParam tgtlength;
48 RandomParam tgtlength_rdm;
50 LPESketch(const LPESketch&);
51 LPESketch& operator=(const LPESketch&);
53 Geom::Piecewise<Geom::D2<Geom::SBasis> > computePerturbation (double s0, double s1);
55 };
57 } //namespace LivePathEffect
58 } //namespace Inkscape
60 #endif
62 /*
63 Local Variables:
64 mode:c++
65 c-file-style:"stroustrup"
66 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
67 indent-tabs-mode:nil
68 fill-column:99
69 End:
70 */
71 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :