Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Unexpected assertion with arrangement insert_at_vertices

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Unexpected assertion with arrangement insert_at_vertices


Chronological Thread 
  • From: Efi Fogel <>
  • To:
  • Subject: Re: [cgal-discuss] Unexpected assertion with arrangement insert_at_vertices
  • Date: Fri, 3 Mar 2017 13:28:49 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:ox8FMB/guioVTf9uRHKM819IXTAuvvDOBiVQ1KB90ekcTK2v8tzYMVDF4r011RmSDNidsK4P0bWe8/i5HzdfsdDZ6DFKWacPfiFGoP1epxYnDs+BBB+zB9/RRAt+Iv5/UkR49WqwK0lfFZW2TVTTpnqv8WxaQU2nZkImbtnzAZPY2sSry/ipqdqUeBRNnDP7YLVoLRzwox+WrdgTmYIlK6A/zVzCrXJMPuhX3mh1PknAoxGp7ci5+Ntv8j9bpuk6389GS6TzOaoiHpJCCzFzHm40rOPsuhTHBV+C6HoSVWobljJHBgHE6FfxWZKn4XiyjfZ0xCTPZZ6+drszQzn3t6o=

Could you please attach a small program that reproduces the problem.

   ____  _        ____             _
  /_____/_) o    /__________  __  //
 (____ (   (    (    (_/ (_/-(-'_(/
                         _/



On 3 March 2017 at 04:53, Ch'Gans <> wrote:
Hi there,

I am trying to insert segment whose end points correspond to existing vertices.
Here is the use case that trigger an assertion:
- insert 4 segment to form a 4 sided face 'F'
- insert a segment S1 to form the first diagonal of 'F' (causing F to
be split in 2)
- insert a segment S2 to form the second diagonal of 'F' (visually speaking)

The 2 diagonals are inserted using
"insert_at_vertices(Segment(v1->point(), v2->point()), v1, v2)"

When inserting the second diagonal i get an assertion:
------------------------------
terminate called after throwing an instance of 'CGAL::Precondition_exception'
what(): CGAL ERROR: precondition violation!
Expr: f == f2
File: /usr/local/include/CGAL/Arrangement_2/Arrangement_on_surface_2_impl.h
Line: 2667
Explanation: The two halfedges must share the same incident face
------------------------------

I get the same results, using CGAL-4.8.1-1build1 and CGAL from git.

Looking at the documentation i cannot see this precondition listed,
here is the list of preconditions:
1. The interior of c is disjoint from all existing arrangement
vertices and edges.
2. c must not be an unbounded curve.
3. v1 and v2 are associated with c's endpoints.
4. If v1 and v2 are already connected by an edge, this edge represents
an x-monotone curve that is interior-disjoint from c).

I'm clearly not violating 2, 3 and 4. Am I violating 1? If so, could
someone shed some light on the meaning of it and what it implies?
If not, then shouldn't the documentation be updated? I'm happy to make
the change and do a pull request for it.

Thanks,
Chris

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss






Archive powered by MHonArc 2.6.18.

Top of Page