Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] K-3D and Nef 3D booleans - (almost) success

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] K-3D and Nef 3D booleans - (almost) success


Chronological Thread 
  • From: "Bart Janssens" <>
  • To:
  • Subject: Re: [cgal-discuss] K-3D and Nef 3D booleans - (almost) success
  • Date: Mon, 3 Sep 2007 22:53:33 +0200
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=s/0ZjxXwze09hScm8GlfDEfRAdJqc/mWKbhQpocwLf7acFnlhcILioI8iw8XPbOcUOLnxrGPfJ/Fix7JilwFbMSFlan52LWj/o/zRNzoIY8ywqYTIL+KRQKBkkHMhnfeXzJdyygE+UXfgZWlHCIqwtxKgq9TrNPKcy09t3JX/Ig=

On 9/3/07, Peter Hachenberger
<>
wrote:
> Hi Bart,
>
> that will be no problem. The code was written for exact geometry and
> there are a few assertion, which test for the exact geometry. I see a
> good chance that you will succeed with your approach, but we need to
> throw out a few assertion. Note, that the same assertions would come up
> when you don't use the SNC_indexed_item, but then removing them won't
> help you. So, just remove this assertion and also remove others that
> come into your way in the class SNC_external_structure.h, but send me a
> list of the removed assertions and ask me if you get assertions in other
> classes.

OK, I removed all the assertions that check the normalised circles,
and it works better. On bigger tests, I get a crash with the trace
below. As attempted solution, I added this check on line 1918 of
SM_overlayer.h:

if(e_below != SHalfedge_handle() && &(*e_below->incident_sface()))

This resulted in a new assertion failing, but no crash:

CGAL assertion: li->circle() == e->circle() at
/usr/local/include/CGAL/Nef_S2/SM_overlayer.h:2008

Thread [1] (Suspended: Signal 'SIGSEGV' received. Description:
Segmentation fault.)
49 std::_List_node_base::hook() 0xb736da89
48 std::list<CGAL::Object_handle, std::allocator<CGAL::Object_handle>
>::_M_insert() at /usr/include/c++/4.1.2/bits/stl_list.h:1140
0xacd91e35
47 std::list<CGAL::Object_handle, std::allocator<CGAL::Object_handle>
>::push_back() at /usr/include/c++/4.1.2/bits/stl_list.h:761
0xacd920ce
46
CGAL::SM_decorator<CGAL::SNC_sphere_map<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool>
>::store_sm_boundary_object<CGAL::CGALi::In_place_list_iterator<CGAL::SNC_in_place_list_svertex<CGAL::SNC_indexed_items::SVertex<CGAL::SNC_structure<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> > >,
std::allocator<CGAL::SNC_in_place_list_svertex<CGAL::SNC_indexed_items::SVertex<CGAL::SNC_structure<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> > > > > >() at
/usr/local/include/CGAL/Nef_S2/SM_decorator.h:312 0xacdb9be3
45
CGAL::SM_decorator<CGAL::SNC_sphere_map<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> >::link_as_isolated_vertex() at
/usr/local/include/CGAL/Nef_S2/SM_decorator.h:341 0xacdb9c8d
44
CGAL::SM_overlayer<CGAL::SM_decorator<CGAL::SNC_sphere_map<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> >
>::create_face_objects<CGAL::SMO_from_sm<CGAL::SM_overlayer<CGAL::SM_decorator<CGAL::SNC_sphere_map<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> > >,
std::_List_iterator<CGAL::Sphere_segment<CGAL::Cartesian<CGAL::threshold_number>
> >,
> >CGAL::SM_overlayer<CGAL::SM_decorator<CGAL::SNC_sphere_map<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> > >::Seg_info>,
CGAL::Negative_halfsphere_geometry<CGAL::Cartesian<CGAL::threshold_number>
> >() at /usr/local/include/CGAL/Nef_S2/SM_overlayer.h:1919 0xacdf1c7b
43
CGAL::SM_overlayer<CGAL::SM_decorator<CGAL::SNC_sphere_map<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> >
>::subdivide<CGAL::ID_support_handler<CGAL::SNC_indexed_items,
CGAL::SNC_decorator<CGAL::SNC_structure<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> > > >() at
/usr/local/include/CGAL/Nef_S2/SM_overlayer.h:1574 0xace16514
42
CGAL::SNC_decorator<CGAL::SNC_structure<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool>
>::binop_local_views<CGAL::Nef_polyhedron_3<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool>::AND,
CGAL::ID_support_handler<CGAL::SNC_indexed_items,
CGAL::SNC_decorator<CGAL::SNC_structure<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool> > > >() at
/usr/local/include/CGAL/Nef_3/SNC_decorator.h:706 0xace176dc
41
CGAL::SNC_decorator<CGAL::SNC_structure<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool>
>::binary_operation<CGAL::Nef_polyhedron_3<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool>::AND>() at
/usr/local/include/CGAL/Nef_3/SNC_decorator.h:1027 0xace1f8de
40 CGAL::Nef_polyhedron_3<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool>::intersection() at
/usr/local/include/CGAL/Nef_polyhedron_3.h:912 0xace20e6c
39 CGAL::Nef_polyhedron_3<CGAL::Cartesian<CGAL::threshold_number>,
CGAL::SNC_indexed_items, bool>::operator*() at
/usr/local/include/CGAL/Nef_polyhedron_3.h:964 0xace20f08
38 libk3dbooleans::cgal_boolean::on_create_mesh_topology() at
/home/bartj/d/workspace/k3d/modules/booleans/cgal_boolean_nodes.cpp:101
0xace28e05

regards,

--
Bart



Archive powered by MHonArc 2.6.16.

Top of Page