diff --git a/Triangulation_2/examples/Triangulation_2/constrained.cpp b/Triangulation_2/examples/Triangulation_2/constrained.cpp index 5c5f123593a..a4cc7925a3f 100644 --- a/Triangulation_2/examples/Triangulation_2/constrained.cpp +++ b/Triangulation_2/examples/Triangulation_2/constrained.cpp @@ -6,11 +6,8 @@ typedef CGAL::Exact_predicates_inexact_constructions_kernel K; -typedef CGAL::Triangulation_vertex_base_2 Vb; -typedef CGAL::Constrained_triangulation_face_base_2 Fb; -typedef CGAL::Triangulation_data_structure_2 TDS; typedef CGAL::Exact_predicates_tag Itag; -typedef CGAL::Constrained_Delaunay_triangulation_2 CDT; +typedef CGAL::Constrained_Delaunay_triangulation_2 CDT; typedef CDT::Point Point; int diff --git a/Triangulation_2/examples/Triangulation_2/constrained_plus.cpp b/Triangulation_2/examples/Triangulation_2/constrained_plus.cpp index 5586921c7c7..798dadadd2e 100644 --- a/Triangulation_2/examples/Triangulation_2/constrained_plus.cpp +++ b/Triangulation_2/examples/Triangulation_2/constrained_plus.cpp @@ -8,11 +8,8 @@ typedef CGAL::Exact_predicates_exact_constructions_kernel K; -typedef CGAL::Triangulation_vertex_base_2 Vb; -typedef CGAL::Constrained_triangulation_face_base_2 Fb; -typedef CGAL::Triangulation_data_structure_2 TDS; typedef CGAL::Exact_intersections_tag Itag; -typedef CGAL::Constrained_Delaunay_triangulation_2 CDT; +typedef CGAL::Constrained_Delaunay_triangulation_2 CDT; typedef CGAL::Constrained_triangulation_plus_2 CDTplus; typedef CDTplus::Point Point; diff --git a/Triangulation_2/examples/Triangulation_2/polylines_triangulation.cpp b/Triangulation_2/examples/Triangulation_2/polylines_triangulation.cpp index d68bf288be9..46d2d638db9 100644 --- a/Triangulation_2/examples/Triangulation_2/polylines_triangulation.cpp +++ b/Triangulation_2/examples/Triangulation_2/polylines_triangulation.cpp @@ -5,18 +5,15 @@ #include -typedef CGAL::Exact_predicates_exact_constructions_kernel K; -typedef CGAL::Polygon_2 Polygon_2; -typedef CGAL::Triangulation_vertex_base_2 Vb; -typedef CGAL::Constrained_triangulation_face_base_2 Fb; -typedef CGAL::Triangulation_data_structure_2 TDS; -typedef CGAL::Exact_intersections_tag Itag; -typedef CGAL::Constrained_Delaunay_triangulation_2 CDT; -typedef CGAL::Constrained_triangulation_plus_2 CDTP; +typedef CGAL::Exact_predicates_exact_constructions_kernel K; +typedef CGAL::Polygon_2 Polygon_2; +typedef CGAL::Exact_intersections_tag Itag; +typedef CGAL::Constrained_Delaunay_triangulation_2 CDT; +typedef CGAL::Constrained_triangulation_plus_2 CDTP; -typedef CDTP::Point Point; -typedef CDTP::Constraint_id Cid; -typedef CDTP::Vertex_handle Vertex_handle; +typedef CDTP::Point Point; +typedef CDTP::Constraint_id Cid; +typedef CDTP::Vertex_handle Vertex_handle; void print(const CDTP& cdtp, Cid cid) diff --git a/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h b/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h index 752b86fc293..81e77f1c2bf 100644 --- a/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Constrained_Delaunay_triangulation_2.h @@ -56,15 +56,16 @@ namespace CGAL { template , Constrained_triangulation_face_base_2 >, class Itag = No_intersection_tag > class Constrained_Delaunay_triangulation_2 - : public Constrained_triangulation_2 + : public Constrained_triangulation_2 { public: - typedef Constrained_triangulation_2 Ctr; + typedef Constrained_triangulation_2 Ctr; + typedef typename Ctr::Tds Tds; typedef Constrained_Delaunay_triangulation_2 CDt; typedef typename Ctr::Geom_traits Geom_traits; typedef typename Ctr::Intersection_tag Intersection_tag; diff --git a/Triangulation_2/include/CGAL/Constrained_triangulation_2.h b/Triangulation_2/include/CGAL/Constrained_triangulation_2.h index 4ffa91894a0..6cb359e16e7 100644 --- a/Triangulation_2/include/CGAL/Constrained_triangulation_2.h +++ b/Triangulation_2/include/CGAL/Constrained_triangulation_2.h @@ -28,7 +28,7 @@ #include #include #include - +#include #include #include @@ -40,16 +40,23 @@ struct Exact_predicates_tag{}; // to be used with filtered exact number template < class Gt, - class Tds = Triangulation_data_structure_2 < - Triangulation_vertex_base_2, - Constrained_triangulation_face_base_2 >, + class Tds_ = Triangulation_data_structure_2 < + Triangulation_vertex_base_2, + Constrained_triangulation_face_base_2 >, class Itag = No_intersection_tag > -class Constrained_triangulation_2 : public Triangulation_2 +class Constrained_triangulation_2 + : public Triangulation_2, + Constrained_triangulation_face_base_2 > >::type > { public: + typedef typename Default::Get, + Constrained_triangulation_face_base_2 > >::type Tds; typedef Triangulation_2 Triangulation; - typedef Constrained_triangulation_2 Constrained_triangulation; + typedef Constrained_triangulation_2 Constrained_triangulation; typedef typename Triangulation::Edge Edge; typedef typename Triangulation::Vertex Vertex;