Skip to Content.
Sympa Menu

cgal-discuss - Re: [cgal-discuss] How to convert Arrangement_with_history_2 to Arrangement_2?

Subject: CGAL users discussion list

List archive

Re: [cgal-discuss] How to convert Arrangement_with_history_2 to Arrangement_2?


Chronological Thread 
  • From: Efi Fogel <>
  • To:
  • Subject: Re: [cgal-discuss] How to convert Arrangement_with_history_2 to Arrangement_2?
  • Date: Sun, 26 Aug 2018 14:52:38 +0300
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:LZEiqhZmaHnbxU6JUcqHv7X/LSx+4OfEezUN459isYplN5qZocW4bnLW6fgltlLVR4KTs6sC17KJ9fi4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCa/bL9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD0fOjE2/mHYiMx+gqxYrhy8uRJw35XZb5uJOPdkZK7RYc8WSGhHU81MVyJBGIS8b44XAuQOM+ZYrpT2qVsJrRuxGwasAP7kxzhWiX/43K063eMhEQ7Y0wwkBN8Ov3HUo8/0NKcWS+y60K7IzTDaYv5QxDzz65DIfwg/rf2QWb98a8ncxEk1Gw/bk1mdppbpMy6U2+kJtWWQ8vBuWvi1i2E9rgF8ujivydkoionOno8Vz0rL9SR9wIosPd24TFN3bceqEJdNtiyXM5F6QswlQ2FvtyY6zqMJtYSncygNzZQr3x/fa/qZfIiU+h/vSvqdLDNiiH9meL+znQi+/VWvx+HmS8W50VJHojJAktbWt3AN0xLT6tKASvt45kquxziP1wHd6uFDLkA7i67bJoUuwr41jJUTsEDDEjXql0Xxia+abl8k9fSw6+T7frXmoYeROJN7ig7kNqQig9GwAeUjMgcSQmib4v+82ab4/Uz5RbVKluc5nrPYsJDcP8Qbp7S2DxVb0oY5uF6DCGKt390c2HUGN1lYYwmvjo7zOliILuqrI+24hgGBnjYj6ffJM7mpVpjDL3bEn7rlVbl44k9YjgE0yIYMtNpvFrgdLaerCQfKv9vCA0phal3m86PcENx4k7gmdyeKC66dPrnVtAbRtO0qKuiIIoQSvWSkcqR317vVlXY83GQlU+yxx5JOMSK3G/1nJwOSZn++2o5cQ1dPhRI3SanRsHPHUTNXYCzsDac15zV+EIb/SImaGNHrj7uG0yO2WJZRYzIeBw==

Please attach a small program that reproduces the compilation error.
I was, by the way, able to compile the lines of code you have posted after adding the appropriate include statements.
   ____  _        ____             _
  /_____/_) o    /__________  __  //
 (____ (   (    (    (_/ (_/-(-'_(/
                         _/




On Sun, 26 Aug 2018 at 14:37, Morteza Manavi <> wrote:
I looked, the header file was included.

On Sun, Aug 26, 2018 at 3:57 PM Efi Fogel <> wrote:
Is it possible that you simply forgot to include the header that contains the definition of CGAL::Dual, namely, <CGAL/graph_traits_Dual_Arrangement_2.h> ?
   ____  _        ____             _
  /_____/_) o    /__________  __  //
 (____ (   (    (    (_/ (_/-(-'_(/
                         _/




On Sun, 26 Aug 2018 at 14:19, Morteza Manavi <> wrote:
Exactly, compiler give error:
C2079: 'dual' uses undefined class 'CGAL::Dual<Arr_with_hist_2>'
C2440: 'initializing': cannot convert from 'Arr_with_hist_2' to 'int'
in line :
Dual_arrangement  dual(arr);
of my code.
(Notice that the error is not occur at runtime)


On Sun, Aug 26, 2018 at 2:47 PM Efi Fogel <> wrote:
What makes you think that the Dual class does not accept Arrangement_with_history_2?
   ____  _        ____             _
  /_____/_) o    /__________  __  //
 (____ (   (    (    (_/ (_/-(-'_(/
                         _/




On Sun, 26 Aug 2018 at 12:15, Morteza Manavi <> wrote:
Thank you Efi,
But I don't want to delete CGAL::Dual because I need to construct a dual graph representation of the arrangement, and on the other hand I need to have curve handler that it's possible with use of Arrangement_with_history_2 class.
Apparently the Dual class does not accept Arrangement_with_history_2 as input and according to your answer I can't directly convert Arrangement_with_history_2 to Arrangement_2. I think, I must write my own dual graph class that accept Arrangement_with_history_2 as input.

Morteza.

On Sun, Aug 26, 2018 at 1:50 AM Efi Fogel <> wrote:
Hi Morteza,

If you really need to convert Arrangement_with_history_2 to Arrangement_2, then you would need to reconstruct Arrangement_2, but conceptually, everything you can do with Arrangement_2 you can also do with Arrangement_with_history_2.

Is it possible that you simply forgot to include the header that contains the definition of CGAL::Dual, namely, <CGAL/graph_traits_Dual_Arrangement_2.h> ?

Anyway, if you still have a problem, please paste a complete minimal program.

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




On Sat, 25 Aug 2018 at 16:00, Morteza Manavi <> wrote:
Hi, I want to use Dual class to construct a dual graph of my arrangement, but I get the compile error :
C2079: 'dual' uses undefined class 'CGAL::Dual<Arr_with_hist_2>'
and I think it's for Arrangement_with_history_2 that I use to define the arrangement in the code. Now I need to convert Arr_with_hist_2 to Arrangement_2 and I don't know how to do this?
my CGAL type definition :
typedef CGAL::Cartesian<CGAL::Exact_rational>                   Kernel;
typedef Kernel::Circle_2                                        Circle_2;
typedef Kernel::Segment_2                                       Segment_2;

typedef CGAL::Arr_circle_segment_traits_2<Kernel>         Circle_Segment_traits_2;
typedef std::string                                       Curve_Name;
typedef CGAL::Arr_consolidated_curve_data_traits_2
                   <Circle_Segment_traits_2, Curve_Name>  Traits_2;
typedef Traits_2::Point_2                                 TPoint_2;
typedef Traits_2::Curve_2                                 Curve_2;
typedef Traits_2::CoordNT                                 CoordNT;

typedef CGAL::Arr_face_extended_dcel<Traits_2 , unsigned int>   Dcel ;
typedef CGAL::Arrangement_with_history_2<Traits_2, Dcel>        Arr_with_hist_2;
typedef CGAL::Dual<Arr_with_hist_2>                             Dual_arrangement;
typedef CGAL::Arr_face_index_map<Arr_with_hist_2>               Face_index_map;



Archive powered by MHonArc 2.6.18.

Top of Page