summaryrefslogtreecommitdiffstats
path: root/src/2geom/point.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2015-07-24 19:53:33 +0000
committerJabiertxof <jtx@jtx.marker.es>2015-07-24 19:53:33 +0000
commit5a37f06c70e0e4e2519812564f4dcdced7c0246a (patch)
treef959f73813cb6f968072aee1100323b24e294136 /src/2geom/point.cpp
parentupdate to trunk (diff)
parentFix a bug continuing a bezier path whith a LPE one like spiro or bspline on a... (diff)
downloadinkscape-5a37f06c70e0e4e2519812564f4dcdced7c0246a.tar.gz
inkscape-5a37f06c70e0e4e2519812564f4dcdced7c0246a.zip
update to trunk
(bzr r13879.1.17)
Diffstat (limited to 'src/2geom/point.cpp')
-rw-r--r--src/2geom/point.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/2geom/point.cpp b/src/2geom/point.cpp
index b0b00b5da..bcdbab429 100644
--- a/src/2geom/point.cpp
+++ b/src/2geom/point.cpp
@@ -35,6 +35,7 @@
#include <assert.h>
#include <math.h>
+#include <2geom/coord.h>
#include <2geom/point.h>
#include <2geom/transforms.h>
@@ -146,8 +147,8 @@ bool is_zero(Point const &p) {
/** @brief True if the point has a length near 1. The are_near() function is used.
* @relates Point */
-bool is_unit_vector(Point const &p) {
- return are_near(L2(p), 1.0);
+bool is_unit_vector(Point const &p, Coord eps) {
+ return are_near(L2(p), 1.0, eps);
}
/** @brief Return the angle between the point and the +X axis.
* @return Angle in \f$(-\pi, \pi]\f$.
@@ -161,7 +162,7 @@ Coord atan2(Point const &p) {
* @return Angle in \f$(-\pi, \pi]\f$.
* @relates Point */
Coord angle_between(Point const &a, Point const &b) {
- return std::atan2(cross(b,a), dot(b,a));
+ return std::atan2(cross(a,b), dot(a,b));
}
/** @brief Create a normalized version of a point.
@@ -230,6 +231,13 @@ Point constrain_angle(Point const &A, Point const &B, unsigned int n, Point cons
return A + dir * Rotate(k * 2.0 * M_PI / (double)n) * L2(diff);
}
+std::ostream &operator<<(std::ostream &out, const Geom::Point &p)
+{
+ out << "(" << format_coord_nice(p[X]) << ", "
+ << format_coord_nice(p[Y]) << ")";
+ return out;
+}
+
} // end namespace Geom
/*