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