From 7fcfe6bb8d31dbbfcb564d52dfef5de807c4e0dd Mon Sep 17 00:00:00 2001 From: Torsten Paul Date: Wed, 9 Apr 2014 21:51:07 +0200 Subject: [PATCH] Prevent crash in OFF/AMF export caused by non-manifold models (fixes #748). --- src/export.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/export.cc b/src/export.cc index d069d17a..095bfd11 100644 --- a/src/export.cc +++ b/src/export.cc @@ -247,7 +247,8 @@ void export_off(const class PolySet &ps, std::ostream &output) void export_off(const CGAL_Nef_polyhedron *root_N, std::ostream &output) { if (!root_N->p3->is_simple()) { - PRINT("Object isn't a valid 2-manifold! Modify your design.\n"); + PRINT("Object isn't a valid 2-manifold! Modify your design."); + return; } CGAL::Failure_behaviour old_behaviour = CGAL::set_error_behaviour(CGAL::THROW_EXCEPTION); try { @@ -275,6 +276,10 @@ void export_amf(const class PolySet &ps, std::ostream &output) */ void export_amf(const CGAL_Nef_polyhedron *root_N, std::ostream &output) { + if (!root_N->p3->is_simple()) { + PRINT("Object isn't a valid 2-manifold! Modify your design."); + return; + } CGAL::Failure_behaviour old_behaviour = CGAL::set_error_behaviour(CGAL::THROW_EXCEPTION); try { CGAL_Polyhedron P;