1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /** @file
3  * @brief LPE effect for extruding paths (making them "3D").
4  */
5 /* Authors:
6  *   Johan Engelen <j.b.c.engelen@utwente.nl>
7  *
8  * Copyright (C) 2009 Authors
9  *
10  * Released under GNU GPL v2+, read the file 'COPYING' for more information.
11  */
12 
13 #ifndef INKSCAPE_LPE_EXTRUDE_H
14 #define INKSCAPE_LPE_EXTRUDE_H
15 
16 #include "live_effects/effect.h"
17 #include "live_effects/parameter/parameter.h"
18 #include "live_effects/parameter/vector.h"
19 
20 namespace Inkscape {
21 namespace LivePathEffect {
22 
23 class LPEExtrude : public Effect {
24 public:
25     LPEExtrude(LivePathEffectObject *lpeobject);
26     ~LPEExtrude() override;
27 
28     Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in) override;
29 
30     void resetDefaults(SPItem const* item) override;
31 
32 private:
33     VectorParam extrude_vector;
34 
35     LPEExtrude(const LPEExtrude&) = delete;
36     LPEExtrude& operator=(const LPEExtrude&) = delete;
37 };
38 
39 } //namespace LivePathEffect
40 } //namespace Inkscape
41 
42 #endif
43 
44 /*
45   Local Variables:
46   mode:c++
47   c-file-style:"stroustrup"
48   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
49   indent-tabs-mode:nil
50   fill-column:99
51   End:
52 */
53 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
54