~inkscape.dev/inkscape/lpeUpdDefaultParams

« back to all changes in this revision

Viewing changes to src/live_effects/lpe-copy_rotate.h

  • Committer: jabiertxof
  • Date: 2017-04-26 09:16:33 UTC
  • mfrom: (15620.1.25 inkscape)
  • Revision ID: info@marker.es-20170426091633-woqwltm0wwbup0if
Update to trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
 */
16
16
 
17
17
#include "live_effects/effect.h"
 
18
#include "live_effects/parameter/enum.h"
18
19
#include "live_effects/parameter/parameter.h"
19
20
#include "live_effects/parameter/text.h"
20
21
#include "live_effects/parameter/point.h"
23
24
namespace Inkscape {
24
25
namespace LivePathEffect {
25
26
 
 
27
enum RotateMethod {
 
28
    RM_NORMAL,
 
29
    RM_KALEIDOSCOPE,
 
30
    RM_FUSE,
 
31
    RM_END
 
32
};
 
33
 
26
34
class LPECopyRotate : public Effect, GroupBBoxEffect {
27
35
public:
28
36
    LPECopyRotate(LivePathEffectObject *lpeobject);
29
37
    virtual ~LPECopyRotate();
30
38
    virtual void doOnApply (SPLPEItem const* lpeitem);
31
39
    virtual Geom::PathVector doEffect_path (Geom::PathVector const & path_in);
32
 
    virtual Geom::Piecewise<Geom::D2<Geom::SBasis> > doEffect_pwd2 (Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
 
40
    Geom::PathVector doEffect_path_post (Geom::PathVector const & path_in);
33
41
    virtual void doBeforeEffect (SPLPEItem const* lpeitem);
34
42
    virtual void doAfterEffect (SPLPEItem const* lpeitem);
35
43
    virtual void setFusion(Geom::PathVector &path_in, Geom::Path divider, double sizeDivider);
51
59
    ScalarParam starting_angle;
52
60
    ScalarParam rotation_angle;
53
61
    ScalarParam num_copies;
54
 
    ScalarParam split_gap;
 
62
    ScalarParam gap;
55
63
    BoolParam copies_to_360;
56
 
    BoolParam fuse_paths;
57
 
    BoolParam join_paths;
 
64
    EnumParam<RotateMethod> method;
 
65
    BoolParam mirror_copies;
58
66
    BoolParam split_items;
59
67
    Geom::Point A;
60
68
    Geom::Point B;
61
69
    Geom::Point dir;
 
70
    Geom::Point half_dir;
62
71
    Geom::Point start_pos;
63
72
    Geom::Point rot_pos;
64
73
    Geom::Point previous_start_point;
65
74
    double dist_angle_handle;
 
75
    double size_divider;
 
76
    Geom::Path divider;
66
77
    double previous_num_copies;
67
78
    bool reset;
68
79
    SPObject * container;