diff options
| -rw-r--r-- | src/PolySetCGALEvaluator.cc | 8 | 
1 files changed, 7 insertions, 1 deletions
| 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); | 
