summaryrefslogtreecommitdiff
path: root/src/CGALEvaluator.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-01-09 02:29:24 (GMT)
committerMarius Kintel <marius@kintel.net>2012-01-09 02:29:24 (GMT)
commit23f6b0623c86eba96dfb1296b862522cf02b0734 (patch)
tree998500ef16763f6f08f9f7cb8917c98b1643af68 /src/CGALEvaluator.cc
parent52dfffd97ba49b603b4814d843cd9be08d040364 (diff)
parent5044ea928d72da800d11b2b80f6148265c13d10f (diff)
Merge branch 'master' into threading
Conflicts: RELEASE_NOTES
Diffstat (limited to 'src/CGALEvaluator.cc')
-rw-r--r--src/CGALEvaluator.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/CGALEvaluator.cc b/src/CGALEvaluator.cc
index a6b2f06..88d1f00 100644
--- a/src/CGALEvaluator.cc
+++ b/src/CGALEvaluator.cc
@@ -32,7 +32,6 @@
#include <sstream>
#include <iostream>
#include <assert.h>
-#include <QRegExp>
#include <boost/foreach.hpp>
#include <boost/unordered_map.hpp>
@@ -86,6 +85,11 @@ void CGALEvaluator::process(CGAL_Nef_polyhedron &target, const CGAL_Nef_polyhedr
// union && difference assert triggered by testdata/scad/bugs/rotate-diff-nonmanifold-crash.scad
std::string opstr = op == CGE_UNION ? "union" : op == CGE_INTERSECTION ? "intersection" : op == CGE_DIFFERENCE ? "difference" : op == CGE_MINKOWSKI ? "minkowski" : "UNKNOWN";
PRINTF("CGAL error in CGAL_Nef_polyhedron's %s operator: %s", opstr.c_str(), e.what());
+
+ // Minkowski errors can result in corrupt polyhedrons
+ if (op == CGE_MINKOWSKI) {
+ target = src;
+ }
}
CGAL::set_error_behaviour(old_behaviour);
}
contact: Jan Huwald // Impressum