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);
44 private:
45 PointParam grid_point0;
46 PointParam grid_point1;
47 PointParam grid_point2;
48 PointParam grid_point3;
49 PointParam grid_point4;
50 PointParam grid_point5;
51 PointParam grid_point6;
52 PointParam grid_point7;
53 PointParam grid_point8;
54 PointParam grid_point9;
55 PointParam grid_point10;
56 PointParam grid_point11;
57 PointParam grid_point12;
58 PointParam grid_point13;
59 PointParam grid_point14;
60 PointParam grid_point15;
62 LPELattice(const LPELattice&);
63 LPELattice& operator=(const LPELattice&);
64 };
66 } //namespace LivePathEffect
67 } //namespace Inkscape
69 #endif