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: Peter Hachenberger <>
  • To:
  • Subject: Re: [cgal-discuss] K-3D and Nef 3D booleans - (almost) success
  • Date: Wed, 29 Aug 2007 14:40:25 +0200

I just remebered that you use CGAL 3.2.1. Unfortunately, the class
SNC_indexed_items does not exist in there (also it does not suffice to
just send you the class---you need the Nef_S2 and Nef_3 package of
CGAL-3.3).

Peter

On Wed, 2007-08-29 at 14:00 +0200, Peter Hachenberger wrote:
> I thought you might run into trouble with your approach, but maybe we
> can still come around it. I guess you are still using your self-made
> Cartesian kernel. Problem is that your inexact coordinates collide with
> some sub-routines of Nef_3. We first compute the incidences of all
> vertices and then compute the global structure. This for instance means,
> that we know that from point x there is an outgoing edge in direction of
> point y and the other way around, and we have to pair up x and y by
> comparing the supporting lines of these two edge stubs. So, if you know
> use inexact arithmetic, the two edge stubs are not on a common line any
> more and cannot be paired up. That's were the error occurs that you
> encountered. Fortunately, I wrote a second method for pairing up edges
> and other entities, which does not use geometry but indexes. This
> methods can be activated by using the SNC_indexed_items.
>
> typedef Nef_polyhedron_3<Kernel, CGAL::SNC_indexed_items>
> Nef_polyhedron_3;
>
> Maybe that is enough to make your kernel run. I hope so, because I think
> it's an interesting approach and I'd like to see it run. Note, that most
> likely your kernel will have the downside that the representation will
> not be unique any more. Because of the inexact geometry redundant edges
> and facets cannot be identified any more. A different possibility is,
> that your kernel even simplifies items that would not be simplified by
> exact arithmetic because of rounding issues. I'm curious. Let me know
> what happens.
>
> Peter
>
>
> On Wed, 2007-08-29 at 00:16 +0200, Bart Janssens wrote:
> > Hi all,
> >
> > The CGAL booleans work nicely with K-3D now. Screenshots at
> > http://www.k-3d.org/wiki/CGAL_Boolean_Operations
> >
> > One error remains if I rotate one of two intersecting cubes a lot:
> >
> > CGAL error: assertion violation!
> > Expr: itl != it->second.end()
> > File: /usr/include/CGAL/Nef_3/SNC_constructor.h
> > Line: 1341
> >
> > It seems to happen during the boolean difference operation, but I haven't
> > dug
> > deep yet on why it happens. Pointers welcome.
> >
> > regards,
> >
> > Bart



Archive powered by MHonArc 2.6.16.

Top of Page