1 // Copyright (c) 2003,2004,2005  INRIA Sophia-Antipolis (France) and
2 // Notre Dame University (U.S.A.).  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/GraphicsView/demo/Segment_Delaunay_graph_2/svd-typedefs.h $
7 // $Id: svd-typedefs.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)     : Menelaos Karavelas <mkaravel@cse.nd.edu>
12 
13 #ifndef SVD_TYPEDEFS_H
14 #define SVD_TYPEDEFS_H
15 
16 #include <CGAL/basic.h>
17 
18 #define USE_FILTERED_TRAITS
19 
20 #include <CGAL/Simple_cartesian.h>
21 #include <CGAL/Polygon_2.h>
22 
23 #include <CGAL/Segment_Delaunay_graph_2.h>
24 #include <CGAL/Segment_Delaunay_graph_hierarchy_2.h>
25 #include <CGAL/Segment_Delaunay_graph_traits_2.h>
26 #include <CGAL/Segment_Delaunay_graph_filtered_traits_2.h>
27 
28 #ifdef CGAL_USE_CORE
29 #  include <CGAL/CORE_Expr.h>
30 #endif
31 
32 #if defined(USE_FILTERED_TRAITS) || !defined(CGAL_USE_CORE)
33 typedef  CGAL::Simple_cartesian<double> Rep;
34 #else
35 typedef CGAL::Simple_cartesian<CORE::Expr> Ref;
36 #endif
37 
38 #ifdef USE_FILTERED_TRAITS
39 #ifdef CGAL_USE_CORE
40 typedef CGAL::Field_with_sqrt_tag MTag;
41 typedef CGAL::Field_with_sqrt_tag EMTag;
42 typedef CGAL::Simple_cartesian<CORE::Expr> ERep;
43 struct Gt
44   : public CGAL::Segment_Delaunay_graph_filtered_traits_2<Rep,
45                                                           MTag,
46                                                           ERep,
47                                                           EMTag>
48 {};
49 #else
50 struct Gt
51   : public CGAL::Segment_Delaunay_graph_filtered_traits_2<Rep> {};
52 #endif
53 #else
54 struct Gt
55   : public CGAL::Segment_Delaunay_graph_traits_2<Rep,CGAL::Field_tag> {};
56 #endif
57 
58 typedef Gt::Point_2            Point_2;
59 typedef Gt::Segment_2          Segment_2;
60 
61 typedef CGAL::Polygon_2<Rep>   Polygon_2;
62 typedef Gt::Site_2             Site;
63 
64 typedef CGAL::Tag_true         STag;
65 
66 typedef CGAL::Segment_Delaunay_graph_storage_traits_2<Gt>       ST;
67 
68 typedef CGAL::Segment_Delaunay_graph_hierarchy_2<Gt,ST,STag>    SDG_2;
69 //typedef CGAL::Segment_Delaunay_graph_2<Gt>          SDG_2;
70 
71 #endif  // SVD_TYPEDEFS_H
72