diff options
| author | Maximilian Albert <maximilian.albert@gmail.com> | 2008-06-02 09:13:23 +0000 |
|---|---|---|
| committer | cilix42 <cilix42@users.sourceforge.net> | 2008-06-02 09:13:23 +0000 |
| commit | 616d67c2c67d117ce27cb16d742470ad163e5ad1 (patch) | |
| tree | 8816f10c237c60d82b83e697b212e2cbe4336104 /src/live_effects/lpe-constructgrid.cpp | |
| parent | basic support for <title> and <desc> (diff) | |
| download | inkscape-616d67c2c67d117ce27cb16d742470ad163e5ad1.tar.gz inkscape-616d67c2c67d117ce27cb16d742470ad163e5ad1.zip | |
set eol-style:native for recently added files
(bzr r5782)
Diffstat (limited to 'src/live_effects/lpe-constructgrid.cpp')
| -rw-r--r-- | src/live_effects/lpe-constructgrid.cpp | 206 |
1 files changed, 103 insertions, 103 deletions
diff --git a/src/live_effects/lpe-constructgrid.cpp b/src/live_effects/lpe-constructgrid.cpp index 1273e8b7c..144f4720d 100644 --- a/src/live_effects/lpe-constructgrid.cpp +++ b/src/live_effects/lpe-constructgrid.cpp @@ -1,103 +1,103 @@ -#define INKSCAPE_LPE_CONSTRUCTGRID_CPP
-/** \file
- * LPE Construct Grid implementation
- */
-/*
- * Authors:
- * Johan Engelen
-*
-* Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl>
- *
- * Released under GNU GPL, read the file 'COPYING' for more information
- */
-
-#include "live_effects/lpe-constructgrid.h"
-
-#include <2geom/path.h>
-#include <2geom/transforms.h>
-
-#include "nodepath.h"
-
-namespace Inkscape {
-namespace LivePathEffect {
-
-using namespace Geom;
-
-LPEConstructGrid::LPEConstructGrid(LivePathEffectObject *lpeobject) :
- Effect(lpeobject),
- nr_x(_("Size X"), _("The size of the grid in X direction."), "nr_x", &wr, this, 5),
- nr_y(_("Size Y"), _("The size of the grid in Y direction."), "nr_y", &wr, this, 5)
-{
- registerParameter( dynamic_cast<Parameter *>(&nr_x) );
- registerParameter( dynamic_cast<Parameter *>(&nr_y) );
-
- nr_x.param_make_integer();
- nr_y.param_make_integer();
- nr_x.param_set_range(1, NR_HUGE);
- nr_y.param_set_range(1, NR_HUGE);
-}
-
-LPEConstructGrid::~LPEConstructGrid()
-{
-
-}
-
-std::vector<Geom::Path>
-LPEConstructGrid::doEffect_path (std::vector<Geom::Path> const & path_in)
-{
- // Check that the path has at least 3 nodes (i.e. 2 segments), more nodes are ignored
- if (path_in[0].size() >= 2) {
- // read the first 3 nodes:
- Geom::Path::const_iterator it ( path_in[0].begin() );
- Geom::Point first_p = (*it++).initialPoint();
- Geom::Point origin = (*it++).initialPoint();
- Geom::Point second_p = (*it++).initialPoint();
- // make first_p and second_p be the construction *vectors* of the grid:
- first_p -= origin;
- second_p -= origin;
- Geom::Translate first_translation( first_p );
- Geom::Translate second_translation( second_p );
-
- // create the gridpaths of the two directions
- Geom::Path first_path( origin );
- first_path.appendNew<LineSegment>( origin + first_p*nr_y );
- Geom::Path second_path( origin );
- second_path.appendNew<LineSegment>( origin + second_p*nr_x );
-
- // use the gridpaths and set them in the correct grid
- std::vector<Geom::Path> path_out;
- path_out.push_back(first_path);
- for (int ix = 0; ix < nr_x; ix++) {
- path_out.push_back(path_out.back() * second_translation );
- }
- path_out.push_back(second_path);
- for (int iy = 0; iy < nr_y; iy++) {
- path_out.push_back(path_out.back() * first_translation );
- }
-
- return path_out;
- } else {
- return path_in;
- }
-}
-
-void
-LPEConstructGrid::setup_nodepath(Inkscape::NodePath::Path *np)
-{
- Effect::setup_nodepath(np);
- sp_nodepath_make_straight_path(np);
-}
-
-} //namespace LivePathEffect
-} /* namespace Inkscape */
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :
+#define INKSCAPE_LPE_CONSTRUCTGRID_CPP +/** \file + * LPE Construct Grid implementation + */ +/* + * Authors: + * Johan Engelen +* +* Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl> + * + * Released under GNU GPL, read the file 'COPYING' for more information + */ + +#include "live_effects/lpe-constructgrid.h" + +#include <2geom/path.h> +#include <2geom/transforms.h> + +#include "nodepath.h" + +namespace Inkscape { +namespace LivePathEffect { + +using namespace Geom; + +LPEConstructGrid::LPEConstructGrid(LivePathEffectObject *lpeobject) : + Effect(lpeobject), + nr_x(_("Size X"), _("The size of the grid in X direction."), "nr_x", &wr, this, 5), + nr_y(_("Size Y"), _("The size of the grid in Y direction."), "nr_y", &wr, this, 5) +{ + registerParameter( dynamic_cast<Parameter *>(&nr_x) ); + registerParameter( dynamic_cast<Parameter *>(&nr_y) ); + + nr_x.param_make_integer(); + nr_y.param_make_integer(); + nr_x.param_set_range(1, NR_HUGE); + nr_y.param_set_range(1, NR_HUGE); +} + +LPEConstructGrid::~LPEConstructGrid() +{ + +} + +std::vector<Geom::Path> +LPEConstructGrid::doEffect_path (std::vector<Geom::Path> const & path_in) +{ + // Check that the path has at least 3 nodes (i.e. 2 segments), more nodes are ignored + if (path_in[0].size() >= 2) { + // read the first 3 nodes: + Geom::Path::const_iterator it ( path_in[0].begin() ); + Geom::Point first_p = (*it++).initialPoint(); + Geom::Point origin = (*it++).initialPoint(); + Geom::Point second_p = (*it++).initialPoint(); + // make first_p and second_p be the construction *vectors* of the grid: + first_p -= origin; + second_p -= origin; + Geom::Translate first_translation( first_p ); + Geom::Translate second_translation( second_p ); + + // create the gridpaths of the two directions + Geom::Path first_path( origin ); + first_path.appendNew<LineSegment>( origin + first_p*nr_y ); + Geom::Path second_path( origin ); + second_path.appendNew<LineSegment>( origin + second_p*nr_x ); + + // use the gridpaths and set them in the correct grid + std::vector<Geom::Path> path_out; + path_out.push_back(first_path); + for (int ix = 0; ix < nr_x; ix++) { + path_out.push_back(path_out.back() * second_translation ); + } + path_out.push_back(second_path); + for (int iy = 0; iy < nr_y; iy++) { + path_out.push_back(path_out.back() * first_translation ); + } + + return path_out; + } else { + return path_in; + } +} + +void +LPEConstructGrid::setup_nodepath(Inkscape::NodePath::Path *np) +{ + Effect::setup_nodepath(np); + sp_nodepath_make_straight_path(np); +} + +} //namespace LivePathEffect +} /* namespace Inkscape */ + +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 : |
