Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] Convert points and circles from 2D linear kernel to 2D circular kernel?

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] Convert points and circles from 2D linear kernel to 2D circular kernel?


Chronological Thread 
  • From: Efi Fogel <>
  • To:
  • Subject: Re: [cgal-discuss] Convert points and circles from 2D linear kernel to 2D circular kernel?
  • Date: Sat, 17 Feb 2018 23:00:33 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:m1xXshzCvW5CykvXCy+O+j09IxM/srCxBDY+r6Qd1OITIJqq85mqBkHD//Il1AaPAd2Araocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze+/94HdbglSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDwULs6Wymt771zRRDqhicJNzA3/mLKhMJukK1WuwiuqwBlzoPOfI2ZKPhzc6XAdt0aX2pBWcNRWjRODIOybosEEuoPPeFXr4bjo1sFsByzCheiBOPuxD9IgXD20rM+0+k6HgHG2RYvH9MKsHjOsNr1M6ISXPmzwaLVwzvDaPZW1i386IjOah0hoPeMXahxccXL00UvGRnFgk2MpozqJTyV0v4Bs2+B7+pvU++klm0pqxlprzWtycogkJTFipwVx1ze9ih0zpw5KNK7RUN9fNWqCoFftzuAOItzWs4iQ39nuCI9yrAevJ60ZikKyJA+yx7HZPyLb5GE4hzsWeuSOzt4i3VleLWwhxa270es0PHzVs6x0FpSrypFlMfDtmwV2hHR5cWLUOZx8lmh1DqV1A3e5PtILE83mKbDLp4u2L8wlp4dsUTZGS/2nV37g7GYdkUl9Oio7OvnbavippKHOI90jxvxMqUqmsClHes4NQ0OU3CB+eugzL3j4VH5QLJSg/IqnanWqpTaKd0Gqa64GA9azpsj6w2kDzq9y9QZnXwHLEpfdx6djojpPUvOIPHiAvuljVSsimQj+vbdI7e0AonRNmOR1/D6bLNl4ghdzhAyxJZR/dVPG7QZKbXyXEH289fXBxt8Pw2vyPv8E4ZB0dYVVmuLR6OYK6jPqkSg5+Q1IuDKapVGliz6Lq0I6f+mo3g2lFtVKaSn3JUQZ328NvtjKkSdJ3Hrh4FSQi8xogMiQbmy2xW5WjlJaiPqBvNu1nQAEIujSLz7aMWoib2F0j28G8QPNG9DA1GIV3zvctfdAqteWGepOsZk1wc8e/25UYZ4jEOhsQb7z/xsKe+GonRF56Km78B84qjorT939TFwCJ7AgWSETmUxhmxQAjFqjOZwpktyzlrF2q990aRV

1. The  CGAL::Exact_predicates_exact_constructions_kernel is defined as Lazy_kernel<Simple_cartesian<Epeck_ft> > (see Exact_predicates_exact_constructions_kernel.h).
You can try to replace both occurrences of CGAL::Cartesian<SOMETHING> with Lazy_kernel<Simple_cartesian<SMETHING> >, but I haven't tried it with this particular traits.

2. Usually, a traits that supports a limited type of curves would be more efficient then a traits that supports a broader type.
For example, the Arr_segment_traits_2 is more efficient then the Arr_algebraic_segment_traits_2 for handling segments.
However, the Arr_conic_traits_2.h is a bit old and the Arr_algebraic_segment_traits_2 might beat it for handling conics in certain cases.

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



On 17 February 2018 at 21:01, Stuart Hungerford <> wrote:
On Sun, Feb 18, 2018 at 1:46 AM, Efi Fogel <> wrote:

> 1. I guess it does, but why not using one of the predefined kernel (see
> below)?
>
> #include <CGAL/Exact_predicates_exact_constructions_kernel.h>
>
> typedef CGAL::Exact_predicates_exact_constructions_kernel   Linear_kernel;
>
> 2. The points and curve types defined by the circular kernel and the points
> and curves defined by the Arr_circle_segment_traits_2 traits are the same.
> They use coordinates represented by a type called CGAL: :Sqrt_extension. You
> can read more about it in the manual.)

Thanks for the pointers Efi -- much appreciated.

Does that approach of using a predefined kernel also hold for conic curves?

Following the example in
https://doc.cgal.org/latest/Arrangement_on_surface_2/Arrangement_on_surface_2_2conics_8cpp-example.html,
the example uses explicit choices of number type etc.

I'm asking so I can create ellipses and elliptic arcs using CGAL.
(Even if I have to create the bounding box and affine transformation
methods myself).

Thanks,

Stu

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