Skip to Content.
Sympa Menu

cgal-discuss - Re: Re: Re: RE: Re: Re: [cgal-discuss][Nef_polyhedron]A morecomplexbutstillsimplequestion

Subject: CGAL users discussion list

List archive

Re: Re: Re: RE: Re: Re: [cgal-discuss][Nef_polyhedron]A morecomplexbutstillsimplequestion


Chronological Thread 
  • From: Peter Hachenberger <>
  • To:
  • Subject: Re: Re: Re: RE: Re: Re: [cgal-discuss][Nef_polyhedron]A morecomplexbutstillsimplequestion
  • Date: Thu, 07 Feb 2008 11:07:46 +0100

Hi Max,

as far as I can see, this time it is not my fault. I sent you a version
of Combined_with_halfspace.h that does not have the dependency to
Binary_operation.h. You must have taken the file that I sent Stephen. He
got a different version later.

Surely I will put an explicit before the constructor with the next
version---I had the same problem than you. But the problem will vanish
as soon as the intersection function can be compiled correctly.

Peter

On Thu, 2008-02-07 at 15:56 +0800, Max wrote:
> I've found the cause by debugging,
>
> 1) I found there's an implicit conversion from a Plane_3 to
> a Nef_3 because there's no 'explicit' before:
>
> Nef_polyhedron_3(const Plane_3& p, Boundary b = INCLUDED);
>
> in Nef_polyhedron_3.h.
>
> That means the undocumented function mentioned by Peter has actually
> not been called.
>
> No matter wheather it's the intention of the authors, I recommend an
> 'explicit' be added for this ctor to disable such implicit conversion.
>
> 2) after this modification,
> a) I uncommented the contents related to intersection(const Plane_3&
> plane);
> b) I copied the file Combine_with_halfspace.h that Peter gave Stephen
> to
> Nef_3 folder.
> and re-compile.
>
> but I was told by the compiler that I still need file
> CGAL/Nef_3/Binary_operation.h
> (or even more).
>
> I would appreciate if the authors of Nef_3 could give me the latest
> runnable files
> related to this issue, including the new version of Nef_polyhedron_3.h.
>
> Thanks in advance.
> Max
>
> >>>Hello Stephen,
> >>>
> >>>Thanks for your information.
> >>>I'll test with this kernel and checkout the related archive.
> >>
> >>I've digged into the archive and found the answer Peter Gave you:
> >>
> >>Just use the undocumented function:
> >>
> >>N = N.intersection(Plane_3(a,b,c,d));
> >>
> >>If I understand correctly, it's senmatically equivalent to
> >>
> >>N = N * Nef_3(Plane_3(a,b,c,d), Nef_3::INCLUDED);
> >>
> >>except the fact that with it it's not mandatory to use an extended kernel.
> >
> >I've tested with the following typedef's:
> >
> >typedef CGAL::Gmpq NT;
> >typedef CGAL::Cartesian<NT> Kernel;
> >typedef CGAL::Nef_polyhedron_3<Kernel, CGAL::SNC_indexed_items>
> >Nef_polyhedron_3;
> >
> >But I was still given an "Constructor not available for this Kernel"
> >warning
> >when the N.intersection(Plane_3(a,b,c,d)) function was called.
> >
> >For the case that I use the default items type, instead of the indexed
> >items type,
> >in typedef'ing Nef_3, i.e.:
> >
> >typedef CGAL::Nef_polyhedron_3<Kernel> Nef_polyhedron_3;
> >
> >the result was identical.
> >
> >B/Rgds
> >Max
> >>
> >>>>Hi guys,
> >>>>
> >>>>Please find the conversation Peter and I have on the archives, the
> >>>>half-spaces question has been answered previously there! Peter, you
> >>>>have sent these to me!
> >>>>
> >>>>Max, I also use double coordinates with half-plane operations. I have
> >>>>used Cartesian<Gmpq> (exact constructions, exact predicates).
> >>
> >>One more question:
> >>Do you use the indexed items type, i.e. SNC_indexed_items, or just the
> >>default one?
> >>
> >>Thanks
> >>Max
> >>>>
> >>>>Stephen
> >>>
> >>>
> >>--
> >>You are currently subscribed to cgal-discuss.
> >>To unsubscribe or access the archives, go to
> >>https://lists-sop.inria.fr/wws/info/cgal-discuss
> >>
> >--
> >You are currently subscribed to cgal-discuss.
> >To unsubscribe or access the archives, go to
> >https://lists-sop.inria.fr/wws/info/cgal-discuss
> >



Archive powered by MHonArc 2.6.16.

Top of Page