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: Morteza Manavi <>
  • To:
  • Subject: Re: [cgal-discuss] How to convert Arrangement_with_history_2 to Arrangement_2?
  • Date: Sun, 26 Aug 2018 16:06:33 +0430
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:H2FDhxVgZtyc6qhTXbS/cl/lNPrV8LGtZVwlr6E/grcLSJyIuqrYYxaAt8tkgFKBZ4jH8fUM07OQ7/i/HzRYqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba9wIRmssQndqtQdjJd/JKo21hbHuGZDdf5MxWNvK1KTnhL86dm18ZV+7SleuO8v+tBZX6nicKs2UbJXDDI9M2Ao/8LrrgXMTRGO5nQHTGoblAdDDhXf4xH7WpfxtTb6tvZ41SKHM8D6Uaw4VDK/5KptVRTmijoINyQh/W7YhMx/jqJVrhyiqRJi3YDbfJqYO+Bicq7HZ94WWXZNU8RXWidcAo28dYwPD+8ZMOhfqIn9vUcOogW/BAa2GejhzSVHhnns0q0k0uQqDAbL3AknH9IUrHTbstT0O70OXeyp0aXE0CjPYuhZ2Tf48ofIcxQhreuQUrJ3dMrc0E8iHB7GgFWIsYHpIS+Z2+AXv2WY7+dsT/yjh3Ikpg1rvzSixdsgh4/UjYwP0F/E7z92wIMtKN24VkF7ZdmkHYNVty6ANot2RtouQ2VquCon07EGt4O3cSsWxJg9yB7fbPuHc4eM4h39TuqePTB4hHd9dLK+gRa971Sgx/XiWsWo1FtGtClIn9nWunwTyxDe6dKLRuZ+80u9wTqP0hrc6uBAIUA6j6rbLJshz6Y1lpoUq0TDAjH5mUTsg6OKakko5/Wk5/n8b7Xpo5+TLY50igXkPqsyncy/BPw0MhISUGiD5eS8yLrj8FXlT7VFlPI2lrDVv43bJcQAuqG5HhRV0p045hakDzam1cwYkmMdIFJEfhKHlYnpNEvULPD2F/fsy2irxTxkzvSDMrz6CYjWNVDClq3gdPBz8R1y0g02mPVY/Y5ZGLhJBfv1U1Hw/IjdCQUlPh69m76+UYxV2YYXWGbJCaicZvCB+WSU7/4idrHfLLQevyzwfqB8tqzeyEQhkFpYRpGHmJ4eaXS2BPNjehzLbn/lg9NHGmAP7FNnEL7azWaaWDsWXE6cGrom72hiWo2jBIbHAIuqhe7ZhXrpLthtfmlDT2u0PzLoeoGDAalebSuTJoplkGVBW+HxE8ku0hahsAK8wL1ifLLZ

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