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 18:35:14 +0300
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:DxWbNRKeGnWB9Ap/G9mcpTZWNBhigK39O0sv0rFitYgQI/7xwZ3uMQTl6Ol3ixeRBMOHs60C07KempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffwdFiCChbb9uMR67sRjfus4KjIV4N60/0AHJonxGe+RXwWNnO1eelAvi68mz4ZBu7T1et+ou+MBcX6r6eb84TaFDAzQ9L281/szrugLdQgaJ+3ART38ZkhtMAwjC8RH6QpL8uTb0u+ZhxCWXO9D9QLYpUjqg8qhrUgflhygJNzE78G/ZhM9+gr9Frh29vBFw2ZLYbZuPOfZiYq/Qf9UXTndBUMZLUCxBB5uxYYQBD+oAIO1Wr479p1QQohu6GAKhA/3gyjFJhn/42q063PouEQXd0QwvGtIBqnXUrNHvOKgOVuC1ybDFwDPeZP1VwTfw8JbEfgwlrP2WXr99cdDdxVcyGw7FlFmctI7oMj2T2+8QqWaU9fBgWviqi2M/qwF+vDyvxsA0h4nMnI0Vy1TE+TxhwIY6ONG0UUB7bcOmHZZerS2aOIx2QsQtQ2Fspik20KEJuZm+fCQSyZQnwQDQa+CffoSW/h7uUPydLDR4iX5/Zr6zmha//VK9xuD+WMS4yFNKoTBEktnIuHANzRvT6s2fR/Rj8Eeh2DiP1wfc6u5aJUA5jqXbK5s7zb4xkpofq1jMHijzmEnulq+Zal0k+vS06+TgerjpupCcOJVwig3nL6sum9e/DvglMggVRGiW4v+81b3m/U3hWrpGlPw2kq/DsJDbP8sXvKC5AxUGmrokvh2wBjPj3NUDlmQcN3pEfgiGhs7nIQLgOvf9WNqxghyClzhmw7iSM7PgDJLCI3zrn7LofLI74ElZnllghetD7o5ZX+lSaMn4XVX84YSBX00JdjesyuOiM+1Tk4YXWGaBGKicafqAvlqB5+ZpKO6JNtZM5GTNbsM97vurtkcX3EcHdPDwj5QSYXG8WP9hJhfBOCe+spI6CW4P+zEGYqnqhVmFC2ABYn+zW+ck6Wh+Btv5VsHMQYeihLHH1yC+TMVb

ok, you are correct. There is indeed a limitation.
Let me try to figure out what can be done, and come back to you; stay tuned.
   ____  _        ____             _
  /_____/_) o    /__________  __  //
 (____ (   (    (    (_/ (_/-(-'_(/
                         _/




On Sun, 26 Aug 2018 at 15:27, Morteza Manavi <> wrote:
I attach a small program that reproduces the compilation error.
Please look at the " graph_traits_Dual_Arrangement_2.h " file, you will find that the CGAL::Arrangement_2 is used for calculations.
Maybe error is for that?

On Sun, Aug 26, 2018 at 4:23 PM Efi Fogel <> wrote:
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