From e3317ecc64659ae8be2a7b02d4df17dad6d875db Mon Sep 17 00:00:00 2001 From: "David Eccles (gringer)" Date: Fri, 6 Dec 2013 13:14:09 +1300 Subject: Fail if any polygon points for rotate_extrude are less than 0 diff --git a/src/PolySetCGALEvaluator.cc b/src/PolySetCGALEvaluator.cc index bc9206f..e5eba2b 100644 --- a/src/PolySetCGALEvaluator.cc +++ b/src/PolySetCGALEvaluator.cc @@ -457,7 +457,13 @@ PolySet *PolySetCGALEvaluator::rotateDxfData(const RotateExtrudeNode &node, DxfD { double max_x = 0; for (size_t j = 0; j < dxf.paths[i].indices.size(); j++) { - max_x = fmax(max_x, dxf.points[dxf.paths[i].indices[j]][0]); + double point_x = dxf.points[dxf.paths[i].indices[j]][0]; + if(point_x < 0){ + PRINT("ERROR: all points for rotate_extrude() must have non-negative X coordinates"); + PRINT((boost::format("[Point %d on path %d has X coordinate %f]") % j % i % point_x).str()); + return NULL; + } + max_x = fmax(max_x, point_x); } int fragments = get_fragments_from_r(max_x, node.fn, node.fs, node.fa); -- cgit v0.10.1