diff options
| author | Diederik van Lierop <mailat-signdiedenrezidotnl> | 2010-07-12 05:51:13 +0000 |
|---|---|---|
| committer | Diederik van Lierop <mailat-signdiedenrezidotnl> | 2010-07-12 05:51:13 +0000 |
| commit | 35300c9822f9f84c8a011913235fd4e5dc2c5ac8 (patch) | |
| tree | 87c2a9ead85042f584c7b6411adfb7118496333d /src/2geom | |
| parent | Stop setting of stops from getting url() reference colors. (diff) | |
| download | inkscape-35300c9822f9f84c8a011913235fd4e5dc2c5ac8.tar.gz inkscape-35300c9822f9f84c8a011913235fd4e5dc2c5ac8.zip | |
- Snap while rotating an object using the selector tool
- Rename the ConstraintLine class to SnapConstraint
- Move some duplicated code to 2geom
(bzr r9607)
Diffstat (limited to 'src/2geom')
| -rw-r--r-- | src/2geom/circle.cpp | 17 | ||||
| -rw-r--r-- | src/2geom/circle.h | 10 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/2geom/circle.cpp b/src/2geom/circle.cpp index c3cea0ae7..00b91de12 100644 --- a/src/2geom/circle.cpp +++ b/src/2geom/circle.cpp @@ -97,6 +97,23 @@ Circle::arc(Point const& initial, Point const& inner, Point const& final, return e.arc(initial, inner, final, _svg_compliant); } +void +Circle::getPath(std::vector<Path> &path_out) { + Path pb; + + D2<SBasis> B; + Linear bo = Linear(0, 2 * M_PI); + + B[0] = cos(bo,4); + B[1] = sin(bo,4); + + B = B * m_ray + m_centre; + + pb.append(SBasisCurve(B)); + + path_out.push_back(pb); +} + } // end namespace Geom diff --git a/src/2geom/circle.h b/src/2geom/circle.h index 27d4fcc3f..c346b8c8f 100644 --- a/src/2geom/circle.h +++ b/src/2geom/circle.h @@ -38,7 +38,7 @@ #include <2geom/point.h> #include <2geom/exception.h> - +#include <2geom/path.h> namespace Geom { @@ -56,6 +56,11 @@ class Circle { } + Circle(Point center, double r) + : m_centre(center), m_ray(r) + { + } + Circle(double A, double B, double C, double D) { set(A, B, C, D); @@ -86,6 +91,9 @@ class Circle arc(Point const& initial, Point const& inner, Point const& final, bool _svg_compliant = true); + void + getPath(std::vector<Path> &path_out); + Point center() const { return m_centre; |
