Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Assertion fail "Contained_in_simplex_d: A not affinely independent."

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Assertion fail "Contained_in_simplex_d: A not affinely independent."


Chronological Thread 
  • From: Ben Haller <>
  • To: , "Sebastien Loriot (GeometryFactory)" <>
  • Subject: Re: [cgal-discuss] Assertion fail "Contained_in_simplex_d: A not affinely independent."
  • Date: Wed, 21 Jul 2010 14:16:32 +0200

On Jul 21, 2010, at 1:45 PM, Sebastien Loriot (GeometryFactory) wrote:

> Ben Haller wrote:
>> On Jul 21, 2010, at 10:46 AM, Sebastien Loriot (GeometryFactory) wrote:
>>> Sebastien Loriot (GeometryFactory) wrote:
>>>> If no construction are required, an alternative may be
>>>> using Exact_predicates_inexact_constructions_kernel.
>>> which is not working in d-dimension...
>>>
>>> sorry, my answer is correct for 2D and 3D only.
>> But the exact number types do work in d-dimensions, right? It's just
>> this mixed kernel that doesn't?
> exactly

OK, I'm trying to switch over. I'm looking at the example code in the
Delaunay_d docs, which has:

#include <CGAL/Homogeneous_d.h>
#include <CGAL/leda_integer.h>
#include <CGAL/Delaunay_d.h>

typedef leda_integer RT;
typedef CGAL::Homogeneous_d<RT> Kernel;
typedef CGAL::Delaunay_d<Kernel> Delaunay_d;
...

I have exactly this code in my header now, and I get a compile error:
"'leda_integer' does not name a type", on the first typedef line above. The
leda_integer.h header does exist on my system, and including it seems to
produce no errors, but the type ends up not defined nevertheless. I notice
at the top of the header file there is "#ifdef CGAL_USE_LEDA"; I assume that
symbol is not defined, and so the header file is short-circuiting. So how do
I fix this example code to actually compile? Should I just add
"CGAL_USE_LEDA" to my compiler flags? I'm a bit mystified as to where all of
this sort of thing is explained in the docs. The chapters on dD geometry
kernels (IV.12) and number types (II.5) have no code examples on how to set
up a kernel of a given number type.

I suspect that leda_integer is not what I want anyway, because my input
data are not integers. Maybe I want leda_real? I think I'd be happy to use
MP_Float, actually. But I have no idea really. And do I want a Cartesian
kernel (what I have been using) or a homogeneous kernel (what the example
code above, which does not compile, uses)? The chapter on dD kernels shed no
light on this question for me.

I feel like I'm missing a manual chapter somewhere. I fully understand the
philosophy behind CGAL, why different number types and kernels are supported,
etc. But I have no idea how to choose the right kernel for my application,
and no idea, given such a choice, what code to write to make it happen.
These issues seem not to be discussed in the parts of the manual I've read so
far.

Any advice?

Ben Haller
McGill University




Archive powered by MHonArc 2.6.16.

Top of Page