Subject: CGAL users discussion list
List archive
- 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 /__________ __ //
(____ ( ( ( (_/ (_/-(-'_(/
_/
/_____/_) 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
- [cgal-discuss] Unexpected assertion with arrangement insert_at_vertices, Ch'Gans, 03/03/2017
- Re: [cgal-discuss] Unexpected assertion with arrangement insert_at_vertices, Efi Fogel, 03/03/2017
- Re: [cgal-discuss] Unexpected assertion with arrangement insert_at_vertices, Ch'Gans, 03/03/2017
- Re: [cgal-discuss] Unexpected assertion with arrangement insert_at_vertices, Efi Fogel, 03/03/2017
Archive powered by MHonArc 2.6.18.