From 305e9efa7e3946f4761a46a51ec8d9c01adc8b61 Mon Sep 17 00:00:00 2001 From: Sylvain Pion Date: Tue, 11 Sep 2001 14:24:03 +0000 Subject: [PATCH] - Add missing typedefs for GCC 3. --- .../include/CGAL/Delaunay_triangulation_3.h | 40 ++++++++++-------- .../include/CGAL/Regular_triangulation_3.h | 42 +++++++++++-------- .../include/CGAL/Triangulation_hierarchy_3.h | 3 ++ 3 files changed, 50 insertions(+), 35 deletions(-) diff --git a/Packages/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h b/Packages/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h index 34e3191b961..68272b662ed 100644 --- a/Packages/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h +++ b/Packages/Triangulation_3/include/CGAL/Delaunay_triangulation_3.h @@ -49,6 +49,7 @@ class Delaunay_triangulation_3 : public Triangulation_3 (std::istream& is, Triangulation_3 &tr); typedef Delaunay_triangulation_3 Self; + typedef Triangulation_3 Tr_Base; public: typedef Tds Triangulation_data_structure; typedef Gt Geom_traits; @@ -65,21 +66,26 @@ public: typedef typename Gt::Direction_3 Direction; typedef typename Gt::Object_3 Object; - typedef typename Triangulation_3::Cell_handle Cell_handle; - typedef typename Triangulation_3::Vertex_handle Vertex_handle; + typedef typename Tr_Base::Cell_handle Cell_handle; + typedef typename Tr_Base::Vertex_handle Vertex_handle; - typedef typename Triangulation_3::Cell Cell; - typedef typename Triangulation_3::Vertex Vertex; - typedef typename Triangulation_3::Facet Facet; - typedef typename Triangulation_3::Edge Edge; + typedef typename Tr_Base::Cell Cell; + typedef typename Tr_Base::Vertex Vertex; + typedef typename Tr_Base::Facet Facet; + typedef typename Tr_Base::Edge Edge; - typedef typename Triangulation_3::Cell_circulator Cell_circulator; - typedef typename Triangulation_3::Cell_iterator Cell_iterator; - typedef typename Triangulation_3::Facet_iterator Facet_iterator; - typedef typename Triangulation_3::Edge_iterator Edge_iterator; - typedef typename Triangulation_3::Vertex_iterator Vertex_iterator; + typedef typename Tr_Base::Cell_circulator Cell_circulator; + typedef typename Tr_Base::Cell_iterator Cell_iterator; + typedef typename Tr_Base::Facet_iterator Facet_iterator; + typedef typename Tr_Base::Edge_iterator Edge_iterator; + typedef typename Tr_Base::Vertex_iterator Vertex_iterator; - typedef typename Triangulation_3::Locate_type Locate_type; + typedef typename Tr_Base::Finite_vertex_iterator Finite_vertex_iterator; + typedef typename Tr_Base::Finite_cell_iterator Finite_cell_iterator; + typedef typename Tr_Base::Finite_facet_iterator Finite_facet_iterator; + typedef typename Tr_Base::Finite_edge_iterator Finite_edge_iterator; + + typedef typename Tr_Base::Locate_type Locate_type; protected: @@ -156,16 +162,16 @@ protected: public: Delaunay_triangulation_3() - : Triangulation_3() + : Tr_Base() {} Delaunay_triangulation_3(const Gt & gt) - : Triangulation_3(gt) + : Tr_Base(gt) {} // copy constructor duplicates vertices and cells Delaunay_triangulation_3(const Delaunay_triangulation_3 & tr) - : Triangulation_3(tr) + : Tr_Base(tr) { CGAL_triangulation_postcondition( is_valid() ); } @@ -329,12 +335,12 @@ insert(const Point & p, Cell_handle start, Vertex_handle v) case OUTSIDE_AFFINE_HULL: // if the 2d triangulation is Delaunay, the 3d // triangulation will be Delaunay - return Triangulation_3::insert_outside_affine_hull(p,v); + return Tr_Base::insert_outside_affine_hull(p,v); } }//dim 2 default : // dimension <= 1 - return Triangulation_3::insert(p,start,v); + return Tr_Base::insert(p,start,v); } }// insert(p) diff --git a/Packages/Triangulation_3/include/CGAL/Regular_triangulation_3.h b/Packages/Triangulation_3/include/CGAL/Regular_triangulation_3.h index 5cd3e68fb6c..1a1e150c115 100644 --- a/Packages/Triangulation_3/include/CGAL/Regular_triangulation_3.h +++ b/Packages/Triangulation_3/include/CGAL/Regular_triangulation_3.h @@ -43,36 +43,42 @@ class Regular_triangulation_3 friend std::istream& operator >> CGAL_NULL_TMPL_ARGS (std::istream& is, Triangulation_3 &tr); + typedef Regular_triangulation_3 Self; + typedef Triangulation_3 Tr_Base; public: typedef Tds Triangulation_data_structure; typedef Gt Geom_traits; - typedef Regular_triangulation_3 Self; - typedef typename Triangulation_3::Vertex_handle Vertex_handle; - typedef typename Triangulation_3::Cell_handle Cell_handle; - typedef typename Triangulation_3::Vertex Vertex; - typedef typename Triangulation_3::Cell Cell; - typedef typename Triangulation_3::Facet Facet; - typedef typename Triangulation_3::Edge Edge; + typedef typename Tr_Base::Vertex_handle Vertex_handle; + typedef typename Tr_Base::Cell_handle Cell_handle; + typedef typename Tr_Base::Vertex Vertex; + typedef typename Tr_Base::Cell Cell; + typedef typename Tr_Base::Facet Facet; + typedef typename Tr_Base::Edge Edge; - typedef typename Triangulation_3::Locate_type Locate_type; - typedef typename Triangulation_3::Cell_iterator Cell_iterator; - typedef typename Triangulation_3::Facet_iterator Facet_iterator; - typedef typename Triangulation_3::Edge_iterator Edge_iterator; + typedef typename Tr_Base::Locate_type Locate_type; + typedef typename Tr_Base::Cell_iterator Cell_iterator; + typedef typename Tr_Base::Facet_iterator Facet_iterator; + typedef typename Tr_Base::Edge_iterator Edge_iterator; - typedef typename Gt::Weighted_point Weighted_point; + typedef typename Tr_Base::Finite_vertex_iterator Finite_vertex_iterator; + typedef typename Tr_Base::Finite_cell_iterator Finite_cell_iterator; + typedef typename Tr_Base::Finite_facet_iterator Finite_facet_iterator; + typedef typename Tr_Base::Finite_edge_iterator Finite_edge_iterator; + + typedef typename Gt::Weighted_point Weighted_point; Regular_triangulation_3() - : Triangulation_3() + : Tr_Base() {} Regular_triangulation_3(const Gt & gt) - : Triangulation_3(gt) + : Tr_Base(gt) {} // copy constructor duplicates vertices and cells Regular_triangulation_3(const Regular_triangulation_3 & rt) - : Triangulation_3(rt) + : Tr_Base(rt) { CGAL_triangulation_postcondition( is_valid() ); } @@ -419,7 +425,7 @@ insert(const Weighted_point & p, Cell_handle start, Vertex_handle v) { // if the 2d triangulation is Delaunay, the 3d // triangulation will be Delaunay - return Triangulation_3::insert_outside_affine_hull(p,v); + return Tr_Base::insert_outside_affine_hull(p,v); } } }//dim 2 @@ -480,7 +486,7 @@ insert(const Weighted_point & p, Cell_handle start, Vertex_handle v) case VERTEX: return c->vertex(li); case OUTSIDE_AFFINE_HULL: - return Triangulation_3::insert_outside_affine_hull(p,v); + return Tr_Base::insert_outside_affine_hull(p,v); case FACET: case CELL: // impossible in dimension 1 @@ -491,7 +497,7 @@ insert(const Weighted_point & p, Cell_handle start, Vertex_handle v) { // temporary : will only work for non degenerated dimensions // (only for the first 4 points if they form a true tetrahedron) - return Triangulation_3::insert(p,start,v); + return Tr_Base::insert(p,start,v); } } } diff --git a/Packages/Triangulation_3/include/CGAL/Triangulation_hierarchy_3.h b/Packages/Triangulation_3/include/CGAL/Triangulation_hierarchy_3.h index d5267ca7045..15ae3c9a288 100644 --- a/Packages/Triangulation_3/include/CGAL/Triangulation_hierarchy_3.h +++ b/Packages/Triangulation_3/include/CGAL/Triangulation_hierarchy_3.h @@ -53,6 +53,9 @@ public: typedef typename Tr_Base::Vertex Vertex; typedef typename Tr_Base::Locate_type Locate_type; typedef typename Tr_Base::Finite_vertex_iterator Finite_vertex_iterator; + typedef typename Tr_Base::Finite_cell_iterator Finite_cell_iterator; + typedef typename Tr_Base::Finite_facet_iterator Finite_facet_iterator; + typedef typename Tr_Base::Finite_edge_iterator Finite_edge_iterator; private: // here is the stack of triangulations which form the hierarchy