1 #ifndef INKSCAPE_LPE_LATTICE_H
2 #define INKSCAPE_LPE_LATTICE_H
4 /** \file
5 * LPE <lattice> implementation, see lpe-lattice.cpp.
6 */
8 /*
9 * Authors:
10 * Johan Engelen
11 * Steren Giannini
12 * NoƩ Falzon
13 * Victor Navez
14 *
15 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
16 *
17 * Released under GNU GPL, read the file 'COPYING' for more information
18 */
20 #include "live_effects/effect.h"
21 #include "live_effects/parameter/point.h"
22 #include "live_effects/parameter/enum.h"
23 #include "live_effects/parameter/bool.h"
25 #include "live_effects/lpegroupbbox.h"
27 namespace Inkscape {
28 namespace LivePathEffect {
30 class LPELattice : public Effect, GroupBBoxEffect {
31 public:
33 LPELattice(LivePathEffectObject *lpeobject);
34 virtual ~LPELattice();
36 virtual void doBeforeEffect (SPLPEItem *lpeitem);
38 virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
40 virtual void resetDefaults(SPItem * item);
42 protected:
43 virtual void addHelperPathsImpl(SPLPEItem *lpeitem, SPDesktop *desktop);
46 private:
47 PointParam grid_point0;
48 PointParam grid_point1;
49 PointParam grid_point2;
50 PointParam grid_point3;
51 PointParam grid_point4;
52 PointParam grid_point5;
53 PointParam grid_point6;
54 PointParam grid_point7;
55 PointParam grid_point8;
56 PointParam grid_point9;
57 PointParam grid_point10;
58 PointParam grid_point11;
59 PointParam grid_point12;
60 PointParam grid_point13;
61 PointParam grid_point14;
62 PointParam grid_point15;
64 LPELattice(const LPELattice&);
65 LPELattice& operator=(const LPELattice&);
66 };
68 } //namespace LivePathEffect
69 } //namespace Inkscape
71 #endif