From 541fc4b51aa35b9f76273e01967c7bf25a70f928 Mon Sep 17 00:00:00 2001 From: Mariette Yvinec Date: Tue, 1 Jul 2003 14:33:54 +0000 Subject: [PATCH] added tds() functions: const and non const access to the tds + test + doc --- Packages/Triangulation_2/changes.txt | 5 ++++- .../Triangulation_2_ref/Triangulation_2.tex | 18 ++++++++++++++++++ .../Triangulation_2_ref/Triangulation_2.tex | 18 ++++++++++++++++++ .../include/CGAL/Triangulation_2.h | 5 ++++- .../include/CGAL/_test_cls_triangulation_2.C | 4 ++++ 5 files changed, 48 insertions(+), 2 deletions(-) diff --git a/Packages/Triangulation_2/changes.txt b/Packages/Triangulation_2/changes.txt index 06124c622fe..bd4a8361846 100644 --- a/Packages/Triangulation_2/changes.txt +++ b/Packages/Triangulation_2/changes.txt @@ -1,8 +1,11 @@ Package triangulation: provides triangulations Delaunay triangulations, constrained and regular triangulations with tests and examples. +Ver 7.96 +- added tds() functions: const and non const access to the tds + test + doc + Ver 7.95 (2/07/06) -- fixed rxpensive precondition in delete_face +- fixed expensive precondition in delete_face - added is_face(Face_handle fh) is_edge(Face_handle fh, int i) - fixed the doc for that diff --git a/Packages/Triangulation_2/doc_tex/Triangulation_2_ref/Triangulation_2.tex b/Packages/Triangulation_2/doc_tex/Triangulation_2_ref/Triangulation_2.tex index 48c9db82bd6..5aa7e283568 100644 --- a/Packages/Triangulation_2/doc_tex/Triangulation_2_ref/Triangulation_2.tex +++ b/Packages/Triangulation_2/doc_tex/Triangulation_2_ref/Triangulation_2.tex @@ -263,6 +263,24 @@ empty triangulation.} \ccAccessFunctions \ccMethod{const Geom_traits& geom_traits() const;} {Returns a const reference to the triangulation traits object.} +\ccGlue +\ccMethod{const TriangulationDataStructure_2 & tds() const;} +{Returns a const reference to the triangulation data structure.} + +\begin{ccAdvanced} +\ccHeading{Non const access} +The responsibility of keeping a valid triangulation belongs to the user +when using advanced operations allowing a direct manipulation of the \ccc{tds}. + +\ccMethod{TriangulationDataStructure_2 & tds();} +{Returns a reference to the triangulation data structure.} + +This method is mainly a help for users implementing their own triangulation +algorithms. + +\end{ccAdvanced} + + \ccGlue \ccMethod{int dimension() const;} {Returns the dimension of the convex hull.} diff --git a/Packages/Triangulation_2/doc_tex/basic/Triangulation_2_ref/Triangulation_2.tex b/Packages/Triangulation_2/doc_tex/basic/Triangulation_2_ref/Triangulation_2.tex index 48c9db82bd6..5aa7e283568 100644 --- a/Packages/Triangulation_2/doc_tex/basic/Triangulation_2_ref/Triangulation_2.tex +++ b/Packages/Triangulation_2/doc_tex/basic/Triangulation_2_ref/Triangulation_2.tex @@ -263,6 +263,24 @@ empty triangulation.} \ccAccessFunctions \ccMethod{const Geom_traits& geom_traits() const;} {Returns a const reference to the triangulation traits object.} +\ccGlue +\ccMethod{const TriangulationDataStructure_2 & tds() const;} +{Returns a const reference to the triangulation data structure.} + +\begin{ccAdvanced} +\ccHeading{Non const access} +The responsibility of keeping a valid triangulation belongs to the user +when using advanced operations allowing a direct manipulation of the \ccc{tds}. + +\ccMethod{TriangulationDataStructure_2 & tds();} +{Returns a reference to the triangulation data structure.} + +This method is mainly a help for users implementing their own triangulation +algorithms. + +\end{ccAdvanced} + + \ccGlue \ccMethod{int dimension() const;} {Returns the dimension of the convex hull.} diff --git a/Packages/Triangulation_2/include/CGAL/Triangulation_2.h b/Packages/Triangulation_2/include/CGAL/Triangulation_2.h index 9480f489c0a..a327f3fa31f 100644 --- a/Packages/Triangulation_2/include/CGAL/Triangulation_2.h +++ b/Packages/Triangulation_2/include/CGAL/Triangulation_2.h @@ -195,9 +195,12 @@ public: //ACCESS FUNCTIONs + const Geom_traits& geom_traits() const { return _gt;} + const Tds & tds() const { return _tds;} + Tds & tds() { return _tds;} int dimension() const { return _tds.dimension();} int number_of_vertices() const {return _tds.number_of_vertices() - 1;} - const Geom_traits& geom_traits() const { return _gt;} + int number_of_faces() const; Vertex_handle infinite_vertex() const; Vertex_handle finite_vertex() const; diff --git a/Packages/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_triangulation_2.C b/Packages/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_triangulation_2.C index a43bac2f923..73971857a48 100644 --- a/Packages/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_triangulation_2.C +++ b/Packages/Triangulation_2/test/Triangulation_2/include/CGAL/_test_cls_triangulation_2.C @@ -763,6 +763,10 @@ _test_cls_triangulation_2( const Triangul & ) T2_7.remove(T2_7.finite_vertex()); assert( T2_7.number_of_vertices() == 0 ); + //test access to tds + assert (T2_1.tds().is_valid()); + assert (T1_5.tds().is_valid()); + // test destructors and return std::cout << " test destructors and return" << std::endl; }