change 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 8fb3e158d6
commit 4036554d21
13 changed files with 211 additions and 175 deletions

View File

@ -9,6 +9,7 @@
#include <CGAL/Pointer.h> #include <CGAL/Pointer.h>
#include <CGAL/circulator.h> #include <CGAL/circulator.h>
#include <CGAL/triangulation_assertions.h> #include <CGAL/triangulation_assertions.h>
#include <CGAL/Triangulation_short_names_2.h>
#include <CGAL/Triangulation_default_data_structure_2.h> #include <CGAL/Triangulation_default_data_structure_2.h>
#include <CGAL/Triangulation_face_2.h> #include <CGAL/Triangulation_face_2.h>
#include <CGAL/Triangulation_vertex_2.h> #include <CGAL/Triangulation_vertex_2.h>
@ -17,45 +18,57 @@
#include <CGAL/Triangulation_circulators_2.h> #include <CGAL/Triangulation_circulators_2.h>
template < class Tds >
template < class Gt, class Tds>
class CGAL_Triangulation_face_iterator_2;
template < class Gt, class Tds>
class CGAL_Triangulation_vertex_iterator_2;
template < class Gt, class Tds>
class CGAL_Triangulation_edge_iterator_2;
template < class Gt, class Tds >
class CGAL_Triangulation_2 class CGAL_Triangulation_2
{ {
friend istream& operator>> CGAL_NULL_TMPL_ARGS friend istream& operator>> CGAL_NULL_TMPL_ARGS
(istream& is, CGAL_Triangulation_2<Tds> &tr); (istream& is, CGAL_Triangulation_2<Gt,Tds> &tr);
friend ostream& operator<< CGAL_NULL_TMPL_ARGS friend ostream& operator<< CGAL_NULL_TMPL_ARGS
(ostream& os, CGAL_Triangulation_2<Tds> &tr); (ostream& os, CGAL_Triangulation_2<Gt,Tds> &tr);
friend CGAL_Triangulation_face_iterator_2<Tds>; friend CGAL_Triangulation_face_iterator_2<Gt,Tds>;
friend CGAL_Triangulation_edge_iterator_2<Tds>; friend CGAL_Triangulation_edge_iterator_2<Gt,Tds>;
friend CGAL_Triangulation_vertex_iterator_2<Tds>; friend CGAL_Triangulation_vertex_iterator_2<Gt,Tds>;
public: public:
typedef Tds Triangulation_data_structure; typedef Tds Triangulation_data_structure;
typedef CGAL_Triangulation_2<Tds> Triangulation; typedef CGAL_Triangulation_2<Gt,Tds> Triangulation;
typedef typename Tds::Geom_traits Geom_traits; typedef Gt Geom_traits;
typedef typename Geom_traits::Point Point; typedef typename Geom_traits::Point Point;
typedef typename Geom_traits::Segment Segment; typedef typename Geom_traits::Segment Segment;
typedef typename Geom_traits::Triangle Triangle; typedef typename Geom_traits::Triangle Triangle;
// typedef typename Tds::Vertex Ve; // typedef typename Tds::Vertex Ve;
// typedef typename Tds::Face Fa; // typedef typename Tds::Face Fa;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
//typedef typename Vertex::Vertex_handle Vertex_handle; //typedef typename Vertex::Vertex_handle Vertex_handle;
//typedef CGAL_Pointer<Vertex> Vertex_handle; //typedef CGAL_Pointer<Vertex> Vertex_handle;
//typedef typename Face::Face_handle Face_handle; //typedef typename Face::Face_handle Face_handle;
typedef CGAL_Triangulation_face_handle_2<Tds> Face_handle; typedef CGAL_Triangulation_face_handle_2<Gt,Tds> Face_handle;
typedef CGAL_Triangulation_vertex_handle_2<Tds> Vertex_handle; typedef CGAL_Triangulation_vertex_handle_2<Gt,Tds> Vertex_handle;
typedef pair<Face_handle, int> Edge; typedef pair<Face_handle, int> Edge;
typedef CGAL_Triangulation_face_circulator_2<Tds> Face_circulator; typedef CGAL_Triangulation_face_circulator_2<Gt,Tds> Face_circulator;
typedef CGAL_Triangulation_edge_circulator_2<Tds> Edge_circulator; typedef CGAL_Triangulation_edge_circulator_2<Gt,Tds> Edge_circulator;
typedef CGAL_Triangulation_vertex_circulator_2<Tds> Vertex_circulator; typedef CGAL_Triangulation_vertex_circulator_2<Gt,Tds> Vertex_circulator;
typedef CGAL_Triangulation_face_iterator_2<Tds> Face_iterator; typedef CGAL_Triangulation_face_iterator_2<Gt,Tds> Face_iterator;
typedef CGAL_Triangulation_edge_iterator_2<Tds> Edge_iterator; typedef CGAL_Triangulation_edge_iterator_2<Gt,Tds> Edge_iterator;
typedef CGAL_Triangulation_vertex_iterator_2<Tds> Vertex_iterator; typedef CGAL_Triangulation_vertex_iterator_2<Gt,Tds> Vertex_iterator;
class Line_face_circulator; class Line_face_circulator;
@ -63,32 +76,36 @@ public:
private: private:
Tds _tds; Tds _tds;
Gt _gt;
public: public:
// CONSTRUCTORS // CONSTRUCTORS
CGAL_Triangulation_2() CGAL_Triangulation_2()
:_tds() :_tds(), _gt()
{} {}
CGAL_Triangulation_2(const Geom_traits& geom_traits) CGAL_Triangulation_2(const Geom_traits& geom_traits)
: _tds(geom_traits) : _tds(), _gt(geom_traits)
{} {}
CGAL_Triangulation_2(Vertex_handle& v) CGAL_Triangulation_2(const Vertex_handle& v,
: _tds(&(*v)) const Geom_traits& geom_traits=Geom_traits())
: _tds(&(*v)), _gt(geom_traits)
{ } { }
CGAL_Triangulation_2(Vertex_handle& v, Geom_traits& geom_traits) // CGAL_Triangulation_2(Vertex_handle& v, const Geom_traits& geom_traits=Geom_traits())
: _tds( &(*v), geom_traits) // : _tds( &(*v)), _gt(geom_traits)
{} // {}
CGAL_Triangulation_2(const CGAL_Triangulation_2<Tds> &tr) // copy constructor duplicates vertices and faces
: _tds(tr._tds) CGAL_Triangulation_2(const CGAL_Triangulation_2<Gt,Tds> &tr)
: _tds(tr._tds), _gt(tr._gt)
{} {}
CGAL_Triangulation_2(Tds tds) CGAL_Triangulation_2(Tds tds, const Geom_traits& geom_traits=Geom_traits())
: _tds() : _tds(),_gt(geom_traits)
{ {
_tds.swap(tds); _tds.swap(tds);
} }
@ -96,21 +113,26 @@ public:
//Assignement //Assignement
CGAL_Triangulation_2<Tds> &operator=(const CGAL_Triangulation_2<Tds> &tr) CGAL_Triangulation_2 &operator=(const CGAL_Triangulation_2 &tr)
{ {
_tds = tr._tds; _tds = tr._tds;
_gt = tr._gt;
return *this; return *this;
} }
// Helping functions // Helping functions
// should be perhaps protected or even removed // should be perhaps protected or even removed
void copy_triangulation(const CGAL_Triangulation_2<Tds> &tr) void copy_triangulation(const CGAL_Triangulation_2 &tr)
{ {
_gt = tr._gt;
_tds.copy_tds(tr._tds); _tds.copy_tds(tr._tds);
} }
void swap(CGAL_Triangulation_2<Tds> &tr) void swap(CGAL_Triangulation_2 &tr)
{ {
Geom_traits t = geom_traits();
_gt = tr.geom_traits();
tr._gt = t;
_tds.swap(tr._tds); _tds.swap(tr._tds);
} }
@ -128,7 +150,7 @@ public:
int dimension() const { return _tds.dimension();} int dimension() const { return _tds.dimension();}
int number_of_vertices() const {return _tds.number_of_vertices();} int number_of_vertices() const {return _tds.number_of_vertices();}
int number_of_faces() const {return _tds.number_of_faces();} int number_of_faces() const {return _tds.number_of_faces();}
const Geom_traits& geom_traits() const { return _tds.geom_traits();} const Geom_traits& geom_traits() const { return _gt;}
const Vertex_handle finite_vertex() const const Vertex_handle finite_vertex() const
{ {
@ -786,7 +808,7 @@ public:
Line_face_circulator(const Face_handle& face, Line_face_circulator(const Face_handle& face,
int index, int index,
State state, State state,
CGAL_Triangulation_2<Tds>* t, CGAL_Triangulation_2<Gt,Tds> * t,
const Point& pp, const Point& pp,
const Point& qq) const Point& qq)
: Face::Face_handle(face), _tr(t), s(state), i(index), p(pp), q(qq) : Face::Face_handle(face), _tr(t), s(state), i(index), p(pp), q(qq)
@ -808,7 +830,7 @@ public:
} }
Line_face_circulator(Vertex_handle v, Line_face_circulator(Vertex_handle v,
CGAL_Triangulation_2<Tds>* tr, CGAL_Triangulation_2<Gt,Tds>* tr,
const Point& dir) const Point& dir)
: _tr(tr) : _tr(tr)
{ {
@ -979,7 +1001,7 @@ public:
Line_face_circulator(const Point& pp, Line_face_circulator(const Point& pp,
const Point& qq, const Point& qq,
CGAL_Triangulation_2<Tds>* t) CGAL_Triangulation_2<Gt,Tds> * t)
: _tr(t), s(undefined), p(pp), q(qq) : _tr(t), s(undefined), p(pp), q(qq)
{ {
Vertex_handle inf = _tr->infinite_vertex(); Vertex_handle inf = _tr->infinite_vertex();
@ -1057,7 +1079,7 @@ public:
Line_face_circulator(const Point& pp, Line_face_circulator(const Point& pp,
const Point& qq, const Point& qq,
const Face_handle& ff, const Face_handle& ff,
CGAL_Triangulation_2<Tds>* t) CGAL_Triangulation_2<Gt,Tds>* t)
: Face::Face_handle(ff), _tr(t), s(undefined), p(pp), q(qq) : Face::Face_handle(ff), _tr(t), s(undefined), p(pp), q(qq)
{ {
//CGAL_triangulation_precondition(_tr->is_infinite(f) || //CGAL_triangulation_precondition(_tr->is_infinite(f) ||
@ -1408,7 +1430,7 @@ public:
// private: // private:
// o debug // o debug
public: public:
CGAL_Triangulation_2<Tds>* _tr; CGAL_Triangulation_2<Gt, Tds>* _tr;
State s; State s;
int i; int i;
Point p, q; Point p, q;
@ -1474,7 +1496,7 @@ public:
int& li) const int& li) const
{ {
CGAL_triangulation_precondition( ! is_infinite(start) ); CGAL_triangulation_precondition( ! is_infinite(start) );
CGAL_Triangulation_2<Tds> *ncthis = (CGAL_Triangulation_2<Tds>*)this; CGAL_Triangulation_2 *ncthis = (CGAL_Triangulation_2 *)this;
Point p(start->vertex(0)->point()); Point p(start->vertex(0)->point());
if(geom_traits().compare_x(t,p) == CGAL_EQUAL && if(geom_traits().compare_x(t,p) == CGAL_EQUAL &&
@ -1575,32 +1597,32 @@ public:
//TRAVERSING : ITERATORS AND CIRCULATORS //TRAVERSING : ITERATORS AND CIRCULATORS
Face_iterator faces_begin() const Face_iterator faces_begin() const
{ {
CGAL_Triangulation_2<Tds>* ncthis = (CGAL_Triangulation_2<Tds> *)this; CGAL_Triangulation_2<Gt, Tds>* ncthis = (CGAL_Triangulation_2<Gt, Tds> *)this;
return Face_iterator(ncthis); return Face_iterator(ncthis);
} }
Face_iterator faces_end() const Face_iterator faces_end() const
{ {
CGAL_Triangulation_2<Tds>* ncthis = (CGAL_Triangulation_2<Tds> *)this; CGAL_Triangulation_2<Gt, Tds>* ncthis = (CGAL_Triangulation_2<Gt, Tds> *)this;
return Face_iterator(ncthis, 1); return Face_iterator(ncthis, 1);
} }
Vertex_iterator vertices_begin() const Vertex_iterator vertices_begin() const
{ {
CGAL_Triangulation_2<Tds>* ncthis = (CGAL_Triangulation_2<Tds>*)this; CGAL_Triangulation_2<Gt, Tds>* ncthis = (CGAL_Triangulation_2<Gt, Tds>*)this;
return Vertex_iterator(ncthis); return Vertex_iterator(ncthis);
} }
Vertex_iterator vertices_end() const Vertex_iterator vertices_end() const
{ {
CGAL_Triangulation_2<Tds>* ncthis = (CGAL_Triangulation_2<Tds>*)this; CGAL_Triangulation_2<Gt, Tds>* ncthis = (CGAL_Triangulation_2<Gt, Tds>*)this;
return Vertex_iterator(ncthis,1); return Vertex_iterator(ncthis,1);
} }
Edge_iterator edges_begin() const Edge_iterator edges_begin() const
{ {
CGAL_Triangulation_2<Tds>* ncthis = (CGAL_Triangulation_2<Tds>*)this; CGAL_Triangulation_2<Gt, Tds>* ncthis = (CGAL_Triangulation_2<Gt, Tds>*)this;
return Edge_iterator(ncthis); return Edge_iterator(ncthis);
} }
Edge_iterator edges_end() const Edge_iterator edges_end() const
{ {
CGAL_Triangulation_2<Tds>* ncthis = (CGAL_Triangulation_2<Tds>*)this; CGAL_Triangulation_2<Gt, Tds>* ncthis = (CGAL_Triangulation_2<Gt, Tds>*)this;
return Edge_iterator(ncthis,1); return Edge_iterator(ncthis,1);
} }
@ -1748,9 +1770,9 @@ public:
template <class Tds > template <class Gt, class Tds >
ostream& ostream&
operator<<(ostream& os, const CGAL_Triangulation_2<Tds> &tr) operator<<(ostream& os, const CGAL_Triangulation_2<Gt, Tds> &tr)
{ {
// to debug // to debug
//operator<<(os, tr._tds); //operator<<(os, tr._tds);
@ -1758,7 +1780,7 @@ operator<<(ostream& os, const CGAL_Triangulation_2<Tds> &tr)
map< void*, int, less<void*> > V; map< void*, int, less<void*> > V;
map< void*, int, less<void*> > F; map< void*, int, less<void*> > F;
typename CGAL_Triangulation_2<Tds>::Vertex_handle v; typename CGAL_Triangulation_2<Gt, Tds>::Vertex_handle v;
int n = tr.number_of_vertices() + 1; int n = tr.number_of_vertices() + 1;
int m = tr.number_of_faces(); int m = tr.number_of_faces();
@ -1782,7 +1804,7 @@ operator<<(ostream& os, const CGAL_Triangulation_2<Tds> &tr)
// write the finite vertices // write the finite vertices
{ {
typename CGAL_Triangulation_2<Tds>::Vertex_iterator typename CGAL_Triangulation_2<Gt, Tds>::Vertex_iterator
it = tr.vertices_begin(); it = tr.vertices_begin();
while(it != tr.vertices_end()){ while(it != tr.vertices_end()){
@ -1804,7 +1826,7 @@ operator<<(ostream& os, const CGAL_Triangulation_2<Tds> &tr)
i = 0; i = 0;
// vertices of the finite faces // vertices of the finite faces
{ {
typename CGAL_Triangulation_2<Tds>::Face_iterator typename CGAL_Triangulation_2<Gt, Tds>::Face_iterator
it = tr.faces_begin(); it = tr.faces_begin();
while(it != tr.faces_end()){ while(it != tr.faces_end()){
@ -1825,7 +1847,7 @@ operator<<(ostream& os, const CGAL_Triangulation_2<Tds> &tr)
// vertices of the infinite faces // vertices of the infinite faces
{ {
typename CGAL_Triangulation_2<Tds>::Face_circulator typename CGAL_Triangulation_2<Gt, Tds>::Face_circulator
fc = tr.infinite_vertex()->incident_faces(), fc = tr.infinite_vertex()->incident_faces(),
done(fc); done(fc);
@ -1847,7 +1869,7 @@ operator<<(ostream& os, const CGAL_Triangulation_2<Tds> &tr)
// neighbor pointers of the finite faces // neighbor pointers of the finite faces
{ {
typename CGAL_Triangulation_2<Tds>::Face_iterator typename CGAL_Triangulation_2<Gt, Tds>::Face_iterator
it = tr.faces_begin(); it = tr.faces_begin();
while(it != tr.faces_end()){ while(it != tr.faces_end()){
for(int j = 0; j < 3; j++){ for(int j = 0; j < 3; j++){
@ -1866,7 +1888,7 @@ operator<<(ostream& os, const CGAL_Triangulation_2<Tds> &tr)
// neighbor pointers of the infinite faces // neighbor pointers of the infinite faces
{ {
typename CGAL_Triangulation_2<Tds>::Face_circulator typename CGAL_Triangulation_2<Gt, Tds>::Face_circulator
fc = tr.infinite_vertex()->incident_faces(), fc = tr.infinite_vertex()->incident_faces(),
done(fc); done(fc);
@ -1890,9 +1912,9 @@ operator<<(ostream& os, const CGAL_Triangulation_2<Tds> &tr)
template < class Tds > template < class Gt, class Tds >
istream& istream&
operator>>(istream& is, CGAL_Triangulation_2<Tds> &tr) operator>>(istream& is, CGAL_Triangulation_2<Gt, Tds> &tr)
{ {

View File

@ -5,44 +5,45 @@
#include <iterator.h> #include <iterator.h>
#include <CGAL/circulator.h> #include <CGAL/circulator.h>
#include <CGAL/triangulation_assertions.h> #include <CGAL/triangulation_assertions.h>
#include <CGAL/Triangulation_short_names_2.h>
#include <CGAL/Triangulation_ds_circulators_2.h> #include <CGAL/Triangulation_ds_circulators_2.h>
template <class Tds > template <class Gt, class Tds >
class CGAL_Triangulation_2; class CGAL_Triangulation_2;
template < class Tds > template <class Gt, class Tds >
class CGAL_Triangulation_face_2; class CGAL_Triangulation_face_2;
template < class Tds > template <class Gt, class Tds >
class CGAL_Triangulation_vertex_2; class CGAL_Triangulation_vertex_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_face_circulator_2; class CGAL_Triangulation_face_circulator_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_vertex_circulator_2; class CGAL_Triangulation_vertex_circulator_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_edge_circulator_2; class CGAL_Triangulation_edge_circulator_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_face_circulator_2 class CGAL_Triangulation_face_circulator_2
: public CGAL_Bidirectional_circulator_base<CGAL_Triangulation_face_2<Tds>,ptrdiff_t,size_t> : public CGAL_Bidirectional_circulator_base<CGAL_Triangulation_face_2<Gt,Tds>,ptrdiff_t,size_t>
{ {
public: public:
typedef typename Tds::Vertex Ve; typedef typename Tds::Vertex Ve;
typedef typename Tds::Face Fa; typedef typename Tds::Face Fa;
typedef typename Tds::Face_circulator Base_face_circulator; typedef typename Tds::Face_circulator Base_face_circulator;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt, Tds> Vertex;
typedef typename Vertex::Vertex_handle Vertex_handle; typedef CGAL_Triangulation_vertex_handle_2<Gt, Tds> Vertex_handle;
typedef typename Face::Face_handle Face_handle; typedef CGAL_Triangulation_face_handle_2<Gt, Tds> Face_handle;
typedef pair<Face_handle, int> Edge; typedef pair<Face_handle, int> Edge;
typedef CGAL_Triangulation_face_circulator_2<Tds> Face_circulator; typedef CGAL_Triangulation_face_circulator_2<Gt,Tds> Face_circulator;
typedef CGAL_Triangulation_edge_circulator_2<Tds> Edge_circulator; typedef CGAL_Triangulation_edge_circulator_2<Gt,Tds> Edge_circulator;
typedef CGAL_Triangulation_vertex_circulator_2<Tds> Vertex_circulator; typedef CGAL_Triangulation_vertex_circulator_2<Gt,Tds> Vertex_circulator;
static int ccw(int i) static int ccw(int i)
@ -146,24 +147,24 @@ private:
}; };
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_vertex_circulator_2 class CGAL_Triangulation_vertex_circulator_2
: public CGAL_Bidirectional_circulator_base<CGAL_Triangulation_vertex_2<Tds>,ptrdiff_t,size_t> : public CGAL_Bidirectional_circulator_base<CGAL_Triangulation_vertex_2<Gt,Tds>,ptrdiff_t,size_t>
{ {
public: public:
typedef typename Tds::Vertex Ve; typedef typename Tds::Vertex Ve;
typedef typename Tds::Face Fa; typedef typename Tds::Face Fa;
typedef typename Tds::Vertex_circulator Base_vertex_circulator; typedef typename Tds::Vertex_circulator Base_vertex_circulator;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
typedef typename Vertex::Vertex_handle Vertex_handle; typedef CGAL_Triangulation_vertex_handle_2<Gt,Tds> Vertex_handle;
typedef typename Face::Face_handle Face_handle; typedef CGAL_Triangulation_face_handle_2<Gt,Tds> Face_handle;
typedef pair<Face_handle, int> Edge; typedef pair<Face_handle, int> Edge;
typedef CGAL_Triangulation_face_circulator_2<Tds> Face_circulator; typedef CGAL_Triangulation_face_circulator_2<Gt,Tds> Face_circulator;
typedef CGAL_Triangulation_edge_circulator_2<Tds> Edge_circulator; typedef CGAL_Triangulation_edge_circulator_2<Gt,Tds> Edge_circulator;
typedef CGAL_Triangulation_vertex_circulator_2<Tds> Vertex_circulator; typedef CGAL_Triangulation_vertex_circulator_2<Gt,Tds> Vertex_circulator;
static int ccw(int i) static int ccw(int i)
@ -265,9 +266,9 @@ private:
}; };
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_edge_circulator_2 class CGAL_Triangulation_edge_circulator_2
: public CGAL_Bidirectional_circulator_base< typename CGAL_Triangulation_2< Tds>::Edge,ptrdiff_t,size_t> : public CGAL_Bidirectional_circulator_base< typename CGAL_Triangulation_2<Gt, Tds>::Edge,ptrdiff_t,size_t>
{ {
public: public:
typedef Tds Triangulation_data_structure; typedef Tds Triangulation_data_structure;
@ -276,15 +277,15 @@ public:
typedef typename Tds::Face Fa; typedef typename Tds::Face Fa;
typedef typename Tds::Edge_circulator Base_edge_circulator; typedef typename Tds::Edge_circulator Base_edge_circulator;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
typedef typename Vertex::Vertex_handle Vertex_handle; typedef CGAL_Triangulation_vertex_handle_2<Gt,Tds> Vertex_handle;
typedef typename Face::Face_handle Face_handle; typedef CGAL_Triangulation_face_handle_2<Gt,Tds> Face_handle;
typedef pair<Face_handle, int> Edge; typedef pair<Face_handle, int> Edge;
typedef CGAL_Triangulation_face_circulator_2<Tds> Face_circulator; typedef CGAL_Triangulation_face_circulator_2<Gt,Tds> Face_circulator;
typedef CGAL_Triangulation_edge_circulator_2<Tds> Edge_circulator; typedef CGAL_Triangulation_edge_circulator_2<Gt,Tds> Edge_circulator;
typedef CGAL_Triangulation_vertex_circulator_2<Tds> Vertex_circulator; typedef CGAL_Triangulation_vertex_circulator_2<Gt,Tds> Vertex_circulator;
static int ccw(int i) static int ccw(int i)

View File

@ -6,6 +6,7 @@
#include <map.h> #include <map.h>
#include <CGAL/triangulation_assertions.h> #include <CGAL/triangulation_assertions.h>
#include <CGAL/Triangulation_short_names_2.h>
#include <CGAL/Triangulation_vertex_base_2.h> #include <CGAL/Triangulation_vertex_base_2.h>
#include <CGAL/Triangulation_face_base_2.h> #include <CGAL/Triangulation_face_base_2.h>
#include <CGAL/Triangulation_ds_face_2.h> #include <CGAL/Triangulation_ds_face_2.h>
@ -24,9 +25,9 @@ friend istream& operator>> CGAL_NULL_TMPL_ARGS
public: public:
typedef Gt Geom_traits; typedef Gt Geom_traits;
typedef typename Geom_traits::Point Point; //typedef typename Geom_traits::Point Point;
typedef typename Geom_traits::Segment Segment; //typedef typename Geom_traits::Segment Segment;
typedef typename Geom_traits::Triangle Triangle; //typedef typename Geom_traits::Triangle Triangle;
typedef CGAL_Triangulation_ds_vertex_2<Vb,Fb> Vertex; typedef CGAL_Triangulation_ds_vertex_2<Vb,Fb> Vertex;
typedef CGAL_Triangulation_ds_face_2<Vb,Fb> Face; typedef CGAL_Triangulation_ds_face_2<Vb,Fb> Face;
@ -742,7 +743,7 @@ operator>>(istream& is, CGAL_Triangulation_default_data_structure_2<Gt,Vb,Fb>&
typedef CGAL_Triangulation_ds_vertex_2<Vb,Fb>::Vertex Vertex; typedef CGAL_Triangulation_ds_vertex_2<Vb,Fb>::Vertex Vertex;
typedef CGAL_Triangulation_ds_face_2<Vb,Fb>::Face Face; typedef CGAL_Triangulation_ds_face_2<Vb,Fb>::Face Face;
typedef Gt Geom_traits; typedef Gt Geom_traits;
typedef typename Geom_traits::Point Point; typedef typename Vb::Point Point;
if(tds.number_of_vertices() != 0){ if(tds.number_of_vertices() != 0){
tds.clear(); tds.clear();

View File

@ -7,6 +7,7 @@
#include <iterator.h> #include <iterator.h>
#include <CGAL/circulator.h> #include <CGAL/circulator.h>
#include <CGAL/triangulation_assertions.h> #include <CGAL/triangulation_assertions.h>
#include <CGAL/Triangulation_short_names_2.h>
template < class Vertex, class Face > template < class Vertex, class Face >
class CGAL_Triangulation_ds_face_circulator_2 class CGAL_Triangulation_ds_face_circulator_2

View File

@ -1,6 +1,8 @@
#ifndef CGAL_TRIANGULATION_DS_FACE_2_H #ifndef CGAL_TRIANGULATION_DS_FACE_2_H
#define CGAL_TRIANGULATION_DS_FACE_2_H #define CGAL_TRIANGULATION_DS_FACE_2_H
#include <CGAL/Triangulation_short_names_2.h>
template <class Vb, class Fb > template <class Vb, class Fb >
class CGAL_Triangulation_ds_vertex_2 ; class CGAL_Triangulation_ds_vertex_2 ;

View File

@ -6,7 +6,7 @@
#include <pair.h> #include <pair.h>
#include <CGAL/triangulation_assertions.h> #include <CGAL/triangulation_assertions.h>
#include <CGAL/Triangulation_short_names_2.h>
//template< class Gt , class Vb, class Fb> //template< class Gt , class Vb, class Fb>
//class CGAL_Triangulation_default_data_structure_2; //class CGAL_Triangulation_default_data_structure_2;

View File

@ -1,6 +1,7 @@
#ifndef CGAL_TRIANGULATION_DS_VERTEX_2_H #ifndef CGAL_TRIANGULATION_DS_VERTEX_2_H
#define CGAL_TRIANGULATION_DS_VERTEX_2_H #define CGAL_TRIANGULATION_DS_VERTEX_2_H
#include <CGAL/Triangulation_short_names_2.h>
#include <CGAL/Triangulation_ds_circulators_2.h> #include <CGAL/Triangulation_ds_circulators_2.h>
// template <class Vb, class Fb > // template <class Vb, class Fb >

View File

@ -2,25 +2,26 @@
#define CGAL_TRIANGULATION_FACE_2_H #define CGAL_TRIANGULATION_FACE_2_H
#include <CGAL/Pointer.h> #include <CGAL/Pointer.h>
#include <CGAL/Triangulation_short_names_2.h>
#include <CGAL/Triangulation_default_data_structure_2.h> #include <CGAL/Triangulation_default_data_structure_2.h>
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_vertex_2; class CGAL_Triangulation_vertex_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_vertex_handle_2; class CGAL_Triangulation_vertex_handle_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_face_handle_2; class CGAL_Triangulation_face_handle_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_face_2 : public Tds::Face class CGAL_Triangulation_face_2 : public Tds::Face
{ {
public: public:
// typedef Tds Tds; // typedef Tds Tds;
typedef typename Tds::Geom_traits Geom_traits; typedef Gt Geom_traits;
typedef typename Geom_traits::Point Point; typedef typename Geom_traits::Point Point;
typedef typename Geom_traits::Segment Segment; typedef typename Geom_traits::Segment Segment;
typedef typename Geom_traits::Triangle Triangle; typedef typename Geom_traits::Triangle Triangle;
@ -28,11 +29,11 @@ public:
typedef typename Tds::Vertex Ve; typedef typename Tds::Vertex Ve;
typedef typename Tds::Face Fa; typedef typename Tds::Face Fa;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_handle_2<Tds> Vertex_handle; typedef CGAL_Triangulation_vertex_handle_2<Gt,Tds> Vertex_handle;
typedef CGAL_Triangulation_face_handle_2<Tds> Face_handle; typedef CGAL_Triangulation_face_handle_2<Gt,Tds> Face_handle;
// typedef pair<Face_handle, int> Edge; // typedef pair<Face_handle, int> Edge;

View File

@ -3,6 +3,7 @@
#include <CGAL/triangulation_assertions.h> #include <CGAL/triangulation_assertions.h>
#include <CGAL/Triangulation_short_names_2.h>
template < class Gt > template < class Gt >
class CGAL_Triangulation_face_base_2 { class CGAL_Triangulation_face_base_2 {

View File

@ -1,33 +1,38 @@
template < class Tds > #ifndef CGAL_TRIANGULATION_HANDLES_2_H
#define CGAL_TRIANGULATION_HANDLES_2_H
#include <CGAL/Triangulation_short_names_2.h>
template < class Gt, class Tds >
class CGAL_Triangulation_face_2; class CGAL_Triangulation_face_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_vertex_2; class CGAL_Triangulation_vertex_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_face_iterator_2; class CGAL_Triangulation_face_iterator_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_vertex_iterator_2; class CGAL_Triangulation_vertex_iterator_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_face_circulator_2; class CGAL_Triangulation_face_circulator_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_vertex_circulator_2; class CGAL_Triangulation_vertex_circulator_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_face_handle_2 class CGAL_Triangulation_face_handle_2
:public CGAL_Pointer<CGAL_Triangulation_face_2<Tds> > :public CGAL_Pointer<CGAL_Triangulation_face_2<Gt,Tds> >
{ {
public: public:
typedef CGAL_Pointer<CGAL_Triangulation_face_2<Tds> > Pointer; typedef CGAL_Pointer<CGAL_Triangulation_face_2<Gt,Tds> > Pointer;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_face_handle_2<Tds> Face_handle; typedef CGAL_Triangulation_face_handle_2<Gt,Tds> Face_handle;
typedef CGAL_Triangulation_face_iterator_2<Tds> Face_iterator; typedef CGAL_Triangulation_face_iterator_2<Gt,Tds> Face_iterator;
typedef CGAL_Triangulation_face_circulator_2<Tds> Face_circulator; typedef CGAL_Triangulation_face_circulator_2<Gt,Tds> Face_circulator;
inline inline
CGAL_Triangulation_face_handle_2() CGAL_Triangulation_face_handle_2()
@ -63,17 +68,17 @@ public:
{} {}
}; };
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_vertex_handle_2 class CGAL_Triangulation_vertex_handle_2
:public CGAL_Pointer<CGAL_Triangulation_vertex_2<Tds> > :public CGAL_Pointer<CGAL_Triangulation_vertex_2<Gt,Tds> >
{ {
public: public:
typedef CGAL_Pointer<CGAL_Triangulation_vertex_2<Tds> > Pointer; typedef CGAL_Pointer<CGAL_Triangulation_vertex_2<Gt,Tds> > Pointer;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
typedef CGAL_Triangulation_vertex_handle_2<Tds> Vertex_handle; typedef CGAL_Triangulation_vertex_handle_2<Gt,Tds> Vertex_handle;
typedef CGAL_Triangulation_vertex_iterator_2<Tds> Vertex_iterator; typedef CGAL_Triangulation_vertex_iterator_2<Gt,Tds> Vertex_iterator;
typedef CGAL_Triangulation_vertex_circulator_2<Tds> Vertex_circulator; typedef CGAL_Triangulation_vertex_circulator_2<Gt,Tds> Vertex_circulator;
inline inline
CGAL_Triangulation_vertex_handle_2() CGAL_Triangulation_vertex_handle_2()
@ -101,10 +106,8 @@ public:
CGAL_Triangulation_vertex_handle_2(const Vertex_iterator& fit) CGAL_Triangulation_vertex_handle_2(const Vertex_iterator& fit)
: Pointer(&(*fit)) : Pointer(&(*fit))
{} {}
inline
CGAL_Triangulation_vertex_handle_2(const Vertex_circulator& fit)
: Pointer(&(*fit))
{}
}; };
#endif CGAL_TRIANGULATION_HANDLES_2_H

View File

@ -6,42 +6,43 @@
#include <pair.h> #include <pair.h>
#include <iterator.h> #include <iterator.h>
#include <CGAL/triangulation_assertions.h> #include <CGAL/triangulation_assertions.h>
#include <CGAL/Triangulation_short_names_2.h>
#include <CGAL/Triangulation_ds_iterators_2.h> #include <CGAL/Triangulation_ds_iterators_2.h>
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_face_2; class CGAL_Triangulation_face_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_vertex_2; class CGAL_Triangulation_vertex_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_face_iterator_2; class CGAL_Triangulation_face_iterator_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_vertex_iterator_2; class CGAL_Triangulation_vertex_iterator_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_edge_iterator_2; class CGAL_Triangulation_edge_iterator_2;
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_face_iterator_2 class CGAL_Triangulation_face_iterator_2
: public bidirectional_iterator<CGAL_Triangulation_face_2<Tds>,ptrdiff_t> : public bidirectional_iterator<CGAL_Triangulation_face_2<Gt,Tds>,ptrdiff_t>
{ {
public: public:
typedef typename Tds::Vertex Ve; typedef typename Tds::Vertex Ve;
typedef typename Tds::Face Fa; typedef typename Tds::Face Fa;
typedef typename Tds::Face_iterator Iterator_base; typedef typename Tds::Face_iterator Iterator_base;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
typedef typename Vertex::Vertex_handle Vertex_handle; typedef typename Vertex::Vertex_handle Vertex_handle;
typedef typename Face::Face_handle Face_handle; typedef typename Face::Face_handle Face_handle;
typedef pair<Face_handle, int> Edge; typedef pair<Face_handle, int> Edge;
typedef CGAL_Triangulation_face_iterator_2<Tds> Face_iterator; typedef CGAL_Triangulation_face_iterator_2<Gt,Tds> Face_iterator;
typedef CGAL_Triangulation_edge_iterator_2<Tds> Edge_iterator; typedef CGAL_Triangulation_edge_iterator_2<Gt,Tds> Edge_iterator;
typedef CGAL_Triangulation_vertex_iterator_2<Tds> Vertex_iterator; typedef CGAL_Triangulation_vertex_iterator_2<Gt,Tds> Vertex_iterator;
static int ccw(int i) static int ccw(int i)
{ {
@ -57,11 +58,11 @@ public:
: _ib() : _ib()
{} {}
CGAL_Triangulation_face_iterator_2(CGAL_Triangulation_2<Tds> *tr) CGAL_Triangulation_face_iterator_2(CGAL_Triangulation_2<Gt,Tds> *tr)
: _ib( &(tr->_tds)) : _ib( &(tr->_tds))
{ } { }
CGAL_Triangulation_face_iterator_2(CGAL_Triangulation_2<Tds> *tr, int i) CGAL_Triangulation_face_iterator_2(CGAL_Triangulation_2<Gt,Tds> *tr, int i)
: _ib( &(tr->_tds), i) : _ib( &(tr->_tds), i)
{ } { }
@ -135,24 +136,24 @@ private:
}; };
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_vertex_iterator_2 class CGAL_Triangulation_vertex_iterator_2
: public bidirectional_iterator<CGAL_Triangulation_vertex_2<Tds>,ptrdiff_t> : public bidirectional_iterator<CGAL_Triangulation_vertex_2<Gt, Tds>,ptrdiff_t>
{ {
public: public:
typedef typename Tds::Vertex Ve; typedef typename Tds::Vertex Ve;
typedef typename Tds::Face Fa; typedef typename Tds::Face Fa;
typedef typename Tds::Vertex_iterator Iterator_base; typedef typename Tds::Vertex_iterator Iterator_base;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
typedef typename Vertex::Vertex_handle Vertex_handle; typedef typename Vertex::Vertex_handle Vertex_handle;
typedef typename Face::Face_handle Face_handle; typedef typename Face::Face_handle Face_handle;
typedef pair<Face_handle, int> Edge; typedef pair<Face_handle, int> Edge;
typedef CGAL_Triangulation_face_iterator_2<Tds> Face_iterator; typedef CGAL_Triangulation_face_iterator_2<Gt,Tds> Face_iterator;
typedef CGAL_Triangulation_edge_iterator_2<Tds> Edge_iterator; typedef CGAL_Triangulation_edge_iterator_2<Gt,Tds> Edge_iterator;
typedef CGAL_Triangulation_vertex_iterator_2<Tds> Vertex_iterator; typedef CGAL_Triangulation_vertex_iterator_2<Gt,Tds> Vertex_iterator;
static int ccw(int i) static int ccw(int i)
{ {
@ -168,11 +169,11 @@ public:
: _ib() : _ib()
{} {}
CGAL_Triangulation_vertex_iterator_2(CGAL_Triangulation_2<Tds> *tr) CGAL_Triangulation_vertex_iterator_2(CGAL_Triangulation_2<Gt,Tds> *tr)
: _ib( &(tr->_tds)) : _ib( &(tr->_tds))
{ } { }
CGAL_Triangulation_vertex_iterator_2(CGAL_Triangulation_2<Tds> *tr, int i) CGAL_Triangulation_vertex_iterator_2(CGAL_Triangulation_2<Gt,Tds> *tr, int i)
: _ib( &(tr->_tds), i) : _ib( &(tr->_tds), i)
{ } { }
@ -246,24 +247,24 @@ private:
}; };
template < class Tds> template < class Gt, class Tds>
class CGAL_Triangulation_edge_iterator_2 class CGAL_Triangulation_edge_iterator_2
: public bidirectional_iterator<typename CGAL_Triangulation_2<Tds>::Edge ,ptrdiff_t> : public bidirectional_iterator<typename CGAL_Triangulation_2<Gt,Tds>::Edge ,ptrdiff_t>
{ {
public: public:
typedef typename Tds::Vertex Ve; typedef typename Tds::Vertex Ve;
typedef typename Tds::Face Fa; typedef typename Tds::Face Fa;
typedef typename Tds::Edge_iterator Iterator_base; typedef typename Tds::Edge_iterator Iterator_base;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
typedef typename Vertex::Vertex_handle Vertex_handle; typedef typename Vertex::Vertex_handle Vertex_handle;
typedef typename Face::Face_handle Face_handle; typedef typename Face::Face_handle Face_handle;
typedef pair<Face_handle, int> Edge; typedef pair<Face_handle, int> Edge;
typedef CGAL_Triangulation_face_iterator_2<Tds> Face_iterator; typedef CGAL_Triangulation_face_iterator_2<Gt,Tds> Face_iterator;
typedef CGAL_Triangulation_edge_iterator_2<Tds> Edge_iterator; typedef CGAL_Triangulation_edge_iterator_2<Gt,Tds> Edge_iterator;
typedef CGAL_Triangulation_vertex_iterator_2<Tds> Vertex_iterator; typedef CGAL_Triangulation_vertex_iterator_2<Gt,Tds> Vertex_iterator;
static int ccw(int i) static int ccw(int i)
{ {
@ -279,11 +280,11 @@ public:
: _ib() : _ib()
{} {}
CGAL_Triangulation_edge_iterator_2(CGAL_Triangulation_2<Tds> *tr) CGAL_Triangulation_edge_iterator_2(CGAL_Triangulation_2<Gt,Tds> *tr)
: _ib( &(tr->_tds)) : _ib( &(tr->_tds))
{ } { }
CGAL_Triangulation_edge_iterator_2(CGAL_Triangulation_2<Tds> *tr, int i) CGAL_Triangulation_edge_iterator_2(CGAL_Triangulation_2<Gt,Tds> *tr, int i)
: _ib( &(tr->_tds), i) : _ib( &(tr->_tds), i)
{ } { }

View File

@ -2,30 +2,31 @@
#define CGAL_TRIANGULATION_VERTEX_2_H #define CGAL_TRIANGULATION_VERTEX_2_H
#include <CGAL/Pointer.h> #include <CGAL/Pointer.h>
#include <CGAL/Triangulation_short_names_2.h>
#include <CGAL/Triangulation_default_data_structure_2.h> #include <CGAL/Triangulation_default_data_structure_2.h>
#include <CGAL/Triangulation_circulators_2.h> #include <CGAL/Triangulation_circulators_2.h>
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_face_2; class CGAL_Triangulation_face_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_vertex_handle_2; class CGAL_Triangulation_vertex_handle_2;
template < class Tds > template < class Gt, class Tds >
class CGAL_Triangulation_face__handle_2; class CGAL_Triangulation_face__handle_2;
template<class Tds> template<class Gt, class Tds>
class CGAL_Triangulation_face_circulator_2; class CGAL_Triangulation_face_circulator_2;
template<class Tds> template<class Gt, class Tds>
class CGAL_Triangulation_vertex_circulator_2; class CGAL_Triangulation_vertex_circulator_2;
template<class Tds> template<class Gt, class Tds>
class CGAL_Triangulation_edge_circulator_2; class CGAL_Triangulation_edge_circulator_2;
template<class Tds > template<class Gt, class Tds >
class CGAL_Triangulation_vertex_2 class CGAL_Triangulation_vertex_2
: public Tds::Vertex : public Tds::Vertex
{ {
@ -33,7 +34,7 @@ public:
typedef Tds Triangulation_data_structure; typedef Tds Triangulation_data_structure;
typedef typename Tds::Geom_traits Geom_traits; typedef Gt Geom_traits;
typedef typename Geom_traits::Point Point; typedef typename Geom_traits::Point Point;
typedef typename Geom_traits::Segment Segment; typedef typename Geom_traits::Segment Segment;
typedef typename Geom_traits::Triangle Triangle; typedef typename Geom_traits::Triangle Triangle;
@ -41,16 +42,16 @@ public:
typedef typename Tds::Vertex Ve; typedef typename Tds::Vertex Ve;
typedef typename Tds::Face Fa; typedef typename Tds::Face Fa;
typedef CGAL_Triangulation_face_2<Tds> Face; typedef CGAL_Triangulation_face_2<Gt,Tds> Face;
typedef CGAL_Triangulation_vertex_2<Tds> Vertex; typedef CGAL_Triangulation_vertex_2<Gt,Tds> Vertex;
typedef CGAL_Triangulation_vertex_handle_2<Tds> Vertex_handle; typedef CGAL_Triangulation_vertex_handle_2<Gt,Tds> Vertex_handle;
typedef CGAL_Triangulation_face_handle_2<Tds> Face_handle; typedef CGAL_Triangulation_face_handle_2<Gt,Tds> Face_handle;
typedef pair<Face_handle, int> Edge; typedef pair<Face_handle, int> Edge;
typedef CGAL_Triangulation_face_circulator_2<Tds> Face_circulator; typedef CGAL_Triangulation_face_circulator_2<Gt,Tds> Face_circulator;
typedef CGAL_Triangulation_edge_circulator_2<Tds> Edge_circulator; typedef CGAL_Triangulation_edge_circulator_2<Gt,Tds> Edge_circulator;
typedef CGAL_Triangulation_vertex_circulator_2<Tds> Vertex_circulator; typedef CGAL_Triangulation_vertex_circulator_2<Gt,Tds> Vertex_circulator;
CGAL_Triangulation_vertex_2() CGAL_Triangulation_vertex_2()
@ -91,7 +92,7 @@ public:
} }
inline inline
CGAL_Triangulation_face_circulator_2<Tds> incident_faces() Face_circulator incident_faces()
{ {
return Face_circulator(handle(), face()); return Face_circulator(handle(), face());
} }

View File

@ -3,6 +3,7 @@
#ifndef CGAL_TRIANGULATION_VERTEX_BASE_2_H #ifndef CGAL_TRIANGULATION_VERTEX_BASE_2_H
#define CGAL_TRIANGULATION_VERTEX_BASE_2_H #define CGAL_TRIANGULATION_VERTEX_BASE_2_H
#include <CGAL/Triangulation_short_names_2.h>
template < class GT > template < class GT >
class CGAL_Triangulation_vertex_base_2 { class CGAL_Triangulation_vertex_base_2 {