Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] precorditions failure on joining 3 polygon_2s with 4 vertices each

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] precorditions failure on joining 3 polygon_2s with 4 vertices each


Chronological Thread 
  • From: Edgar Simo-Serra <>
  • To:
  • Subject: Re: [cgal-discuss] precorditions failure on joining 3 polygon_2s with 4 vertices each
  • Date: Mon, 24 Sep 2012 15:53:23 +0200

Hello,


Ah thank you. It works great. I had erroneously thought that I could use
inexact_constructions in order to go a bit faster, but it seems like I
was wrong.

Thanks,


Edgar

On 2012年09月23日 15:49, Efi Fogel wrote:
> You are doing something wrong.
>
> First of all, you are joining polygons, which means that new
> intersection points might be constructed. Therefore, you must use
> Exact_predicates_exact_constructions_kernel kernel (instead of the
> Exact_predicates_inexact_constructions_kernel kernel currently used in
> your example).
>
> Even if you had known that no new intersection points are expected to be
> constructed you would have still needed to use the
> Exact_predicates_exact_constructions_kernel kernel, as explained next.
> The code that you write implicitly uses the Arr_segment_traits_2. This
> traits maintains a segment by its 2 endpoints and the underlying line.
> The constructor of the segments accepts the 2 endpoints as input
> arguments and CONSTRUCTS the underlying line. Therefore, you must use
> the Exact_predicates_exact_constructions_kernel kernel.
>
> I've tried it and it works.
>
> On Thu, Sep 20, 2012 at 12:40 PM, bobbens
> <
> <mailto:>>
> wrote:
>
> Hello,
>
>
> I'm not sure if I'm doing something wrong, but I am getting precondition
> failures on attempting to join 4 different simple polygons with 4
> vertices
> each. I'm attaching the code to reproduce (must compile in debug
> mode) and a
> visual representation of the four polygons. They are being joined as
> part of
> a polygon set.
>
> With CGAL 3.9 (Ubuntu 12.04) I get:
>
> terminate called after throwing an instance of
> 'CGAL::Precondition_exception'
> what(): CGAL ERROR: precondition violation!
> Expr: cv.is_in_x_range (p)
> File: /usr/include/CGAL/Arr_segment_traits_2.h
> Line: 487
>
> With CGAL 4.0 (Arch linux) I get:
>
> terminate called after throwing an instance of
> 'CGAL::Precondition_exception'
> what(): CGAL ERROR: precondition violation!
> Expr: comp_f(object, parentP->object) != SMALLER
> File: /usr/include/CGAL/Multiset.h
> Line: 2128
>
> So my main question is, am I doing something wrong? I was under the
> impression that the join should work. This is part of a larger framework
> that works on many other cases but seems to fail in this particular
> one. The
> code for the minimal reproduction case is very simple as can be seen.
>
> Thanks,
>
>
> Edgar
>
> poly_precond.cpp
>
> <http://cgal-discuss.949826.n4.nabble.com/file/n4655881/poly_precond.cpp>
> polygons.png
> <http://cgal-discuss.949826.n4.nabble.com/file/n4655881/polygons.png>
>
>
>
>
> --
> View this message in context:
>
> http://cgal-discuss.949826.n4.nabble.com/precorditions-failure-on-joining-3-polygon-2s-with-4-vertices-each-tp4655881.html
> Sent from the cgal-discuss mailing list archive at Nabble.com.
>
> --
> You are currently subscribed to cgal-discuss.
> To unsubscribe or access the archives, go to
> https://sympa.inria.fr/sympa/info/cgal-discuss
>
>
>
>
>
> --
> ____ _ ____ _
> /_____/_) o /__________ __ //
> (____ ( ( ( (_/ (_/-(-'_(/
> _/
>
>
>

Attachment: signature.asc
Description: OpenPGP digital signature




Archive powered by MHonArc 2.6.18.

Top of Page