Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Uncatchable exception converting from Nef polyhedron to Polyhedron_3

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Uncatchable exception converting from Nef polyhedron to Polyhedron_3


Chronological Thread 
  • From: Marius Kintel <>
  • To:
  • Subject: Re: [cgal-discuss] Uncatchable exception converting from Nef polyhedron to Polyhedron_3
  • Date: Fri, 20 Feb 2015 14:48:06 -0500

Hi,

The rollback code is never reached in cases where scd.visit_shell_objects()
throws an exception.
e.g. violated intersection constraint in Constrained_triangulation_2.

We temporarily worked around this by explicitly catching those exceptions in
our forked version of the Build_polyhedron class.
I haven’t tested Giles’ variant, but that looks a lot cleaner that our
attempt.

-Marius

On Feb 19, 2015, at 05:35 AM, Sebastien Loriot (GeometryFactory)
<>
wrote:

>
> Please check whether the following patch solves your problem:
> --- a/Nef_3/include/CGAL/Nef_polyhedron_3.h
> +++ b/Nef_3/include/CGAL/Nef_polyhedron_3.h
> @@ -824,6 +824,7 @@ protected:
> if(skip_volumes-- <= 0)
> scd.visit_shell_objects(SFace_const_handle(c->shells_begin()),V);
> B.end_surface();
> + if ( B.error() ) B.rollback();
> }
>
> };
> @@ -977,6 +978,7 @@ protected:
> Visitor V(B,omit_vertex, scd,VI);
> scd.visit_shell_objects(sf, V);
> B.end_surface();
> + if ( B.error() ) B.rollback();
> }
>
> };




Archive powered by MHonArc 2.6.18.

Top of Page