chan the template parameter of Triangulation class

from <Tds>
to <Gt,Tds>
This commit is contained in:
Mariette Yvinec 1998-06-29 15:28:22 +00:00
parent 3ef92c1a76
commit 6435a923db
1 changed files with 24 additions and 23 deletions

View File

@ -50,31 +50,32 @@
#include <CGAL/Triangulation_2.h> #include <CGAL/Triangulation_2.h>
template < class Tds> template < class Gt, class Tds>
class CGAL_Delaunay_triangulation_2 : public CGAL_Triangulation_2<Tds> class CGAL_Delaunay_triangulation_2 : public CGAL_Triangulation_2<Gt,Tds>
{ {
friend istream& operator>> CGAL_NULL_TMPL_ARGS friend istream& operator>> CGAL_NULL_TMPL_ARGS
(istream& is, CGAL_Delaunay_triangulation_2<Tds> &T); (istream& is, CGAL_Delaunay_triangulation_2<Gt,Tds> &T);
public: public:
typedef typename Tds::Geom_traits Geom_traits; typedef Gt Geom_traits;
typedef typename Geom_traits::Distance Distance; typedef typename Geom_traits::Distance Distance;
CGAL_Delaunay_triangulation_2() CGAL_Delaunay_triangulation_2()
: CGAL_Triangulation_2<Tds>() {} : CGAL_Triangulation_2<Gt,Tds>() {}
CGAL_Delaunay_triangulation_2(Tds& tds) CGAL_Delaunay_triangulation_2(const Gt& gt)
: CGAL_Triangulation_2<Tds>(tds) {} : CGAL_Triangulation_2<Gt,Tds>(gt) {}
CGAL_Delaunay_triangulation_2(const Vertex_handle& v) CGAL_Delaunay_triangulation_2(const Vertex_handle& v, const Gt& gt=Gt())
: CGAL_Triangulation_2<Tds>(v) : CGAL_Triangulation_2<Gt,Tds>(v,gt)
{ CGAL_triangulation_postcondition( is_valid() ); } { CGAL_triangulation_postcondition( is_valid() ); }
// copy constructor duplicates vertices and faces
CGAL_Delaunay_triangulation_2(const Vertex_handle& v, // no copy constructed needed :
Tds& tds) // the default will invoke the copy constructor of CGAL_Triangulation_2 ?
: CGAL_Triangulation_2<Tds>(v, tds) CGAL_Delaunay_triangulation_2(const CGAL_Delaunay_triangulation_2<Gt,Tds> &tr)
: CGAL_Triangulation_2<Gt,Tds>(tr)
{ CGAL_triangulation_postcondition( is_valid() ); } { CGAL_triangulation_postcondition( is_valid() ); }
#ifndef CGAL_CFG_NO_MEMBER_TEMPLATES #ifndef CGAL_CFG_NO_MEMBER_TEMPLATES
@ -228,7 +229,7 @@ public:
Vertex_handle Vertex_handle
insert(const Point &p, insert(const Point &p,
CGAL_Triangulation_2<Tds>::Locate_type& lt, CGAL_Triangulation_2<Gt,Tds>::Locate_type& lt,
Face_handle f = Face_handle() ) Face_handle f = Face_handle() )
{ {
// Vertex_handle v; // Vertex_handle v;
@ -295,7 +296,7 @@ public:
// } // }
// //
Vertex_handle v = CGAL_Triangulation_2<Tds>::insert(p,lt,f); Vertex_handle v = CGAL_Triangulation_2<Gt,Tds>::insert(p,lt,f);
if(dimension() <= 1) return v; if(dimension() <= 1) return v;
@ -319,7 +320,7 @@ public:
CGAL_triangulation_precondition( !is_infinite(v)); CGAL_triangulation_precondition( !is_infinite(v));
if (number_of_vertices() == 1) { if (number_of_vertices() == 1) {
CGAL_Triangulation_2<Tds>::remove(v); CGAL_Triangulation_2<Gt,Tds>::remove(v);
return; return;
} }
@ -446,7 +447,7 @@ public:
// result = result && ( face_count == 2* (vertex_count -1) ); // result = result && ( face_count == 2* (vertex_count -1) );
// CGAL_triangulation_assertion( result ); // CGAL_triangulation_assertion( result );
bool result = CGAL_Triangulation_2<Tds>::is_valid(); bool result = CGAL_Triangulation_2<Gt,Tds>::is_valid();
Face_iterator it = faces_begin(), Face_iterator it = faces_begin(),
done = faces_end(); done = faces_end();
@ -696,19 +697,19 @@ private:
}; };
template < class Tds > template < class Gt, class Tds >
ostream& ostream&
operator<<(ostream& os, const CGAL_Delaunay_triangulation_2<Tds> &DT) operator<<(ostream& os, const CGAL_Delaunay_triangulation_2<Gt,Tds> &DT)
{ {
return os << (const CGAL_Triangulation_2<Tds>&)DT; return os << (const CGAL_Triangulation_2<Gt,Tds>&)DT;
} }
template < class Tds > template < class Gt, class Tds >
istream& istream&
operator>>(istream& is, CGAL_Delaunay_triangulation_2<Tds> &dt) operator>>(istream& is, CGAL_Delaunay_triangulation_2<Gt,Tds> &dt)
{ {
is >> (CGAL_Triangulation_2<Tds>&)dt; is >> (CGAL_Triangulation_2<Gt,Tds>&)dt;
dt.is_valid(); dt.is_valid();
return is; return is;
} }