From 644fe7bcb3d5a3ebb1c689449badcea9e5b31f70 Mon Sep 17 00:00:00 2001 From: Petros Koutsolampros Date: Fri, 10 Aug 2018 14:25:27 +0300 Subject: [PATCH] Increase all tolerances to 1e-9 --- genlib/p2dpoly.h | 20 ++++++++++---------- salalib/shapemap.h | 4 ++-- salalib/spacepix.h | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/genlib/p2dpoly.h b/genlib/p2dpoly.h index 56728f9d..73917323 100644 --- a/genlib/p2dpoly.h +++ b/genlib/p2dpoly.h @@ -36,17 +36,17 @@ enum { }; class Point2f; -bool approxeq(const Point2f& p1, const Point2f& p2, double tolerance = 0.0); +bool approxeq(const Point2f& p1, const Point2f& p2, double tolerance = 1e-9); class QtRegion; -bool intersect_region(const QtRegion& a, const QtRegion& b, double tolerance = 0.0); -bool overlap_x(const QtRegion& a, const QtRegion& b, double tolerance = 0.0); -bool overlap_y(const QtRegion& a, const QtRegion& b, double tolerance = 0.0); +bool intersect_region(const QtRegion& a, const QtRegion& b, double tolerance = 1e-9); +bool overlap_x(const QtRegion& a, const QtRegion& b, double tolerance = 1e-9); +bool overlap_y(const QtRegion& a, const QtRegion& b, double tolerance = 1e-9); class Line; -bool intersect_line(const Line& a, const Line& b, double tolerance = 0.0); -bool intersect_line_no_touch(const Line& a, const Line& b, double tolerance = 0.0); -int intersect_line_distinguish(const Line& a, const Line& b, double tolerance = 0.0); -int intersect_line_b(const Line& a, const Line& b, double tolerance = 0.0); -Point2f intersection_point(const Line& a, const Line& b, double tolerance = 0.0); +bool intersect_line(const Line& a, const Line& b, double tolerance = 1e-9); +bool intersect_line_no_touch(const Line& a, const Line& b, double tolerance = 1e-9); +int intersect_line_distinguish(const Line& a, const Line& b, double tolerance = 1e-9); +int intersect_line_b(const Line& a, const Line& b, double tolerance = 1e-9); +Point2f intersection_point(const Line& a, const Line& b, double tolerance = 1e-9); // NaN on Intel: // Quick mod - TV @@ -100,7 +100,7 @@ class Point2f friend Point2f pointfromangle(double angle); // a couple of useful tests bool intriangle(const Point2f& p1, const Point2f& p2, const Point2f& p3); - bool insegment(const Point2f& key, const Point2f& p2, const Point2f& p3, double tolerance = 0.0); + bool insegment(const Point2f& key, const Point2f& p2, const Point2f& p3, double tolerance = 1e-9); // for OS transformation (note: accurate only to 5 metres according to OS) Point2f longlat2os(const Point2f& p); public: diff --git a/salalib/shapemap.h b/salalib/shapemap.h index 7bcbf34a..80465b90 100644 --- a/salalib/shapemap.h +++ b/salalib/shapemap.h @@ -334,8 +334,8 @@ class ShapeMap : public PixelBase bool pointInPoly(const Point2f& p, int shaperef) const; // retrieve lists of polys point intersects: void pointInPolyList(const Point2f& p, pvecint& shapeindexlist) const; - void lineInPolyList(const Line& li, pvecint& shapeindexlist, int lineref = -1, double tolerance = 0.0) const; - void polyInPolyList(int polyref, pvecint& shapeindexlist, double tolerance = 0.0) const; + void lineInPolyList(const Line& li, pvecint& shapeindexlist, int lineref = -1, double tolerance = 1e-9) const; + void polyInPolyList(int polyref, pvecint& shapeindexlist, double tolerance = 1e-9) const; void shapeInPolyList(const SalaShape& shape, pvecint& shapeindexlist); // helper to make actual test of point in shape: int testPointInPoly(const Point2f& p, const ShapeRef& shape) const; diff --git a/salalib/spacepix.h b/salalib/spacepix.h index 6ed53e2b..8dd6b907 100644 --- a/salalib/spacepix.h +++ b/salalib/spacepix.h @@ -153,8 +153,8 @@ class SpacePixel : public PixelBase virtual bool findNextLine(bool&) const; virtual const Line& getNextLine() const; // - bool intersect(const Line& l, double tolerance = 0.0); - bool intersect_exclude(const Line& l, double tolerance = 0.0); + bool intersect(const Line& l, double tolerance = 1e-9); + bool intersect_exclude(const Line& l, double tolerance = 1e-9); // // Point2f getFirstCrossingPoint(const Line& l, int fromend, pvecint& ignorelist = pvecint()); void cutLine(Line& l, short dir);