1 // Copyright (c) 2005,2006,2007,2009,2010,2011 Tel-Aviv University (Israel).
2 // All rights reserved.
3 //
4 // This file is part of CGAL (www.cgal.org).
5 //
6 // $URL: https://github.com/CGAL/cgal/blob/v5.3/Arrangement_on_surface_2/include/CGAL/Arr_default_dcel.h $
7 // $Id: Arr_default_dcel.h 0779373 2020-03-26T13:31:46+01:00 Sébastien Loriot
8 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial
9 //
10 //
11 // Author(s)     : Ron Wein        <wein@post.tau.ac.il>
12 //                 Baruch Zukerman <baruchzu@post.tau.ac.il>
13 
14 #ifndef CGAL_ARR_DEFAULT_DCEL_H
15 #define CGAL_ARR_DEFAULT_DCEL_H
16 
17 #include <CGAL/license/Arrangement_on_surface_2.h>
18 
19 #include <CGAL/disable_warnings.h>
20 
21 /*! \file
22  * The definition of the Arr_default_dcel<Traits> class.
23  */
24 
25 #include <CGAL/Arr_dcel_base.h>
26 
27 namespace CGAL {
28 
29 /*! \class
30  * The default arrangement DCEL class.
31  * The Traits parameters corresponds to a geometric traits class, which
32  * defines the Point_2 and X_monotone_curve_2 types.
33  */
34 template <class Traits_>
35 class Arr_default_dcel :
36   public Arr_dcel_base<Arr_vertex_base<typename Traits_::Point_2>,
37                        Arr_halfedge_base<typename Traits_::X_monotone_curve_2>,
38                        Arr_face_base>
39 {
40 public:
41 
42   /*! \struct
43    * An auxiliary structure for rebinding the DCEL with a new traits class.
44    */
45   template<typename T>
46   struct rebind
47   {
48     typedef Arr_default_dcel<T> other;
49   };
50 
51   /*! Default constructor. */
Arr_default_dcel()52   Arr_default_dcel()
53   {}
54 
55   /*! Destructor. */
~Arr_default_dcel()56   virtual ~Arr_default_dcel()
57   {}
58 };
59 
60 } //namespace CGAL
61 
62 #include <CGAL/enable_warnings.h>
63 
64 #endif
65