Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] .nef3 file format

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] .nef3 file format


Chronological Thread 
  • From: Bart Janssens <>
  • To:
  • Subject: Re: [cgal-discuss] .nef3 file format
  • Date: Sun, 16 Dec 2007 20:59:50 +0100
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:references:in-reply-to:mime-version:content-type:message-id:sender; b=DZFIC17kdFt45jwFUdw3e6ppvExASUy2irv0nA4HykhHK6IVL8kGtdyzlMLFAUvaIaBq/D6A2bGHHRa16qpq5uQB65mYtjr1ld6Z2QfNdiqRXVIFnRQlFakZ4plMbp5YFlK2npta76nF1LNQB4VHkJ2QmFFMw3MTmQABYSfA0bg=

On Sunday 16 December 2007 09:28:09 Peter Hachenberger wrote:
> Hi Bart,
>
> sorry, I still did not really give your threshold numbers a try. But I
> can give you a general remark on which assertions you want to take out
> and which you should better let in. Because of your handling of
> geometry, some geometry assertions fail. That should be OK. So, you
> should kick out assertions that compare planes, circles and points. Did
> you kick out other assertions? If yes, we should look at these,
> closely.

The assertions I removed are in the attached patch. They are all circle
comparisons.

> What is the of your conversion operations between K3-D mesh and Nef
> polyhedra. Does it run?

The current instructions are at
http://www.k-3d.org/wiki/CGAL_Boolean_Operations

If the patch is applied, everything seems to run very smoothly. I was
wondering if there is a chance of getting those assertions removed in future
versions of CGAL, so people who want to use booleans in K-3D don't have to
build from source?

Cheers,

Bart
diff -Naur include/CGAL/Nef_3/ID_support_handler.h /usr/local/include/CGAL/Nef_3/ID_support_handler.h
--- include/CGAL/Nef_3/ID_support_handler.h	2007-08-25 21:01:33.000000000 +0200
+++ /usr/local/include/CGAL/Nef_3/ID_support_handler.h	2007-09-08 13:37:11.000000000 +0200
@@ -260,8 +260,6 @@
 		      SHalfedge_const_handle se1) {
     if(!equal_not_opposite(se->circle(), se1->circle()))
        se1 = se1->twin();
-    CGAL_assertion(normalized(se->circle()) == 
-		   normalized(se1->circle()));
     se->set_index(se1->get_index());
     se->twin()->set_index(se1->twin()->get_index());
     CGAL_NEF_TRACEN("se " << se->source()->point()
diff -Naur include/CGAL/Nef_3/SNC_external_structure.h /usr/local/include/CGAL/Nef_3/SNC_external_structure.h
--- include/CGAL/Nef_3/SNC_external_structure.h	2007-08-25 21:01:33.000000000 +0200
+++ /usr/local/include/CGAL/Nef_3/SNC_external_structure.h	2007-09-08 13:43:27.000000000 +0200
@@ -1161,14 +1161,12 @@
       CGAL_NEF_TRACEN("");
 
       CGAL_assertion( cet->get_index() == ce->twin()->get_index());
-      CGAL_assertion( cet->twin()->get_index() == ce->get_index());
-      CGAL_assertion( normalized(cet->circle()) == normalized(ce->circle().opposite()) ); 
+      CGAL_assertion( cet->twin()->get_index() == ce->get_index()); 
       CGAL_assertion( cet->source()->twin() == ce->source()); 
       CGAL_For_all(ce,cee) { 
 	CGAL_NEF_TRACEN("circles " << cet->circle() << "   " << ce->circle() << 
 			" sources " << cet->target()->point() << 
-			"   " << ce->target()->point());
-	CGAL_assertion( normalized(cet->circle()) == normalized(ce->circle().opposite())); 
+			"   " << ce->target()->point()); 
 	CGAL_assertion( cet->source()->twin() == ce->source()); 
 	CGAL_assertion(ce->mark()==cet->mark());
 	link_as_prev_next_pair(cet->twin(),ce);



Archive powered by MHonArc 2.6.16.

Top of Page