From 6ef77fea5caeb05f74a142a427f5709cdf4ecdbe Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Thu, 19 Jul 2018 23:41:18 -0500 Subject: [PATCH] Added an equality operator for floating point types config options that returns for close to slic3r::epsilon --- xs/src/libslic3r/ConfigBase.hpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/xs/src/libslic3r/ConfigBase.hpp b/xs/src/libslic3r/ConfigBase.hpp index d2375db73..b86f9de87 100644 --- a/xs/src/libslic3r/ConfigBase.hpp +++ b/xs/src/libslic3r/ConfigBase.hpp @@ -13,6 +13,7 @@ #include "libslic3r.h" #include "utils.hpp" #include "Point.hpp" +#include "Geometry.hpp" namespace Slic3r { @@ -119,6 +120,10 @@ class ConfigOptionFloat : public ConfigOptionSingle iss >> this->value; return !iss.fail(); }; + + /// Floating point values we conpare within some small value for equality. + template + bool operator==(const Y& other) { return std::abs(value - other) < Slic3r::Geometry::epsilon; } }; /// Vector form of template specialization for floating point numbers.