Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Arrangement_2 accept mixed type of curves

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Arrangement_2 accept mixed type of curves


Chronological Thread 
  • From: Efi Fogel <>
  • To:
  • Subject: Re: [cgal-discuss] Arrangement_2 accept mixed type of curves
  • Date: Sat, 23 Dec 2017 11:26:40 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:tn2UuBTpZMUwmXPC7eCuFMH1Sdpsv+yvbD5Q0YIujvd0So/mwa69bReN2/xhgRfzUJnB7Loc0qyK6/mmATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfa5+IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlSgHLSY0/2PZisJwgqxVow+vqQJjzIPPeo6ZKOBzc7nBcd8GR2dMWNtaWSxbAoO7aosCF+UPPehZr4Lgp1UOqhS+CheoBOjyzTJHmHH23aw00+QmHgHJwgggEskBsHTRttr1NaMSXfqpw6nPyDXOdvVb0irz5ojPdxAuu/CMXbRofMrX00YgDBjKjlGOpoD/IzyV0eENv3Ca7+pmT+KvinQopxt/oji1wMonl4rHhpoNx1za6Sl0xJw5KN64RUJhfNKpEYdcuzuVOodrRM4pXntmtzwgyrIcvJ62ZCgKx4ojxx7Yc/GHdpKH4hPnVOqIOTd4gG5pdKuxhxu97ESs0OL8Vs6z0FZFqipKjMPAuWwK1xzW8sSHS/198Vm92TuXyQzf9uVJLVo3mKfbMZIt3789moYJvUnMAyP6gED2g7WXdkUg9Oio8ePnYrD+q5CCOY90iw/+MqMhmsOhBeQ1KQcOX22B9uS90L3v51H2QLJPjvEuiKnWrIjaJdgHpq6+GwJazokj5Ay7Dzu/zdsYnGIHI05YeBKclIjkIErOIfD9DfenmVugijZrx/bcPr3gGJrBNHbDkK2yNYt78FNWnQov0chEtdUTEaAEOPu1W0nrtdWeAAV+KB2x2++gCdNz0cQVVmuLR6OYK6jPqkTb2uV6KOaFYMoZuS32NuM+z//ol34w31EHLoez2p5CRX65VtphLEidKS7hjNYPFmgHuiIxSeXrjBuJVjsFNCX6ZL41+jxuUNHuNozEXI342LE=

You need to use a traits class that supports all your curve types.
The most general one is Arr_algebraic_segment_traits_2.h.
Naturally, using this traits is less efficient than using, e.g,. the Arr_segment_traits_2 for handling segments only.
Any traits that supports linear curves is more efficient than any traits that supports algebraic curves of some degree higher than 1, so you may want to consider Arr_polyline_curve_2 and approximate each of your curves by a polyline.
As last resort, you can implement your own traits class. It's not trivial, but doable.

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



On 23 December 2017 at 04:43, EvanPi <> wrote:
I'm trying to use cgal to store various types of 2d curves on plane, e.g.
line segments, conic curves, algebraic curves etc.
I've looked into the documentation and find out that arrangement_2 might be
what I'm looking for but the problem is that all the examples initialize
arrangement_2<> with a specific trait, e.g. linear_traits, conic_traits.
And it seems that these traits are independent and are not inherenting from
a parent trait class. So I am wondering how I can use a general type and put
all types of curve into 1 arrangement_2 instance.

I know I can have multiple arrangement_2 instances and put each type of
curve into it but that's very inefficient and would be my last option.
Any help or suggestion are greatly appreciated!



--
Sent from: http://cgal-discuss.949826.n4.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






Archive powered by MHonArc 2.6.18.

Top of Page