Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] How to remove edges from Bezier arrangement?

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] How to remove edges from Bezier arrangement?


Chronological Thread 
  • From: Stzpz <>
  • To:
  • Subject: Re: [cgal-discuss] How to remove edges from Bezier arrangement?
  • Date: Wed, 23 Mar 2011 23:10:18 +0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=G/9m6OWTVyDsH7tHYeK88Ha6Sh7KgZOL9pqRlwN3e7VjSDfqRQYZH9M2ZfSvsN9HJj goS2mIGu7h6Pzzw+e6arikvILKoxqOLl43S5TjmNiCX7vje99Z+XLO/SqQEqQ7qhXU+r dp5OqvxDsJcoMlu69ALfxC+EVXha2AtdAJIUI=

Does anyone know how to solve this problem?

Thanks!

Stzpz



2011/3/14 Stzpz <>
Thanks! 

With this new code, the first call of remove_edges() works. But a precondition violation will appear when it is called for the second time. Is there something I missed?

Here is the information provided by CGAL. The attachment is the code.
CGAL error: precondition violation!
_expression_ : (_are_equal (he2->vertex(), cv, ARR_MIN_END) && _are_equal (he3->ve
rtex(), cv, ARR_MAX_END)) || (_are_equal (he3->vertex(), cv, ARR_MIN_END) && _ar
e_equal (he2->vertex(), cv, ARR_MAX_END))
File       : D:\CGAL-3.7\include\CGAL/Arrangement_2/Arrangement_on_surface_2_imp
l.h
Line       : 1788
Explanation: The endpoints of the merged curve must match the end vertices.

Thanks again!

Stzpz



2011/3/14 Sebastien Loriot (GeometryFactory) <sloriot.ml@gmail.com>

stzpz wrote:
I am trying to remove some edges from the Bezier arrangement using the
attached code ( http://cgal-discuss.949826.n4.nabble.com/file/n3353253/test1.rar test1.rar ), but it won't compile. Could anyone tell me how to solve it?

Thanks so much!

Stzpz



--
View this message in context: http://cgal-discuss.949826.n4.nabble.com/How-to-remove-edges-from-Bezier-arrangement-tp3353253p3353253.html
Sent from the cgal-discuss mailing list archive at Nabble.com.

try with this:

Arrangement_2::Edge_iterator tmp_it=iter;
++iter;
remove_edge(arr, tmp_it);

I know this is not compact but Edge_iterator inherits from a type I_Filtered_iterator where operator++(int) is defined.
Thus iter++ is not an Edge_iterator but its base class.

We will try to correct this directly in CGAL.


S.


--
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