1 #ifndef DROP_CGAL // in case we do not have the code for CGAL
2 #ifndef __FASTJET_TRIANGULATION__
3 #define __FASTJET_TRIANGULATION__
37 #include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
38 #include <CGAL/Delaunay_triangulation_2.h>
39 #include <CGAL/Triangulation_hierarchy_2.h>
40 #include <CGAL/Triangulation_vertex_base_with_info_2.h>
41 #include "fastjet/internal/base.hh"
43 FASTJET_BEGIN_NAMESPACE
51 #ifdef CGAL_SIMPLE_KERNEL
52 struct K : CGAL::Simple_cartesian<double> {};
54 struct K : CGAL::Exact_predicates_inexact_constructions_kernel {};
55 #endif // CGAL_SIMPLE_KERNEL
58 const int INFINITE_VERTEX=-1;
59 const int NEW_VERTEX=-2;
60 const double HUGE_DOUBLE=1e300;
67 class InitialisedInt {
71 inline InitialisedInt () {_val=NEW_VERTEX;};
72 inline InitialisedInt& operator= (
int value) {_val = value;
return *
this;};
73 inline int val()
const {
return _val;};
84 typedef CGAL::Triangulation_vertex_base_with_info_2<InitialisedInt,K> Vb;
85 typedef CGAL::Triangulation_face_base_2<K> Fb;
86 typedef CGAL::Triangulation_data_structure_2<Vb,Fb> Tds;
87 typedef CGAL::Delaunay_triangulation_2<K,Tds> Triangulation;
89 typedef CGAL::Triangulation_vertex_base_with_info_2<InitialisedInt,K> Vbb;
90 typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vbb> Vb;
91 typedef CGAL::Triangulation_face_base_2<K> Fb;
92 typedef CGAL::Triangulation_data_structure_2<Vb,Fb> Tds;
93 typedef CGAL::Delaunay_triangulation_2<K,Tds> Dt;
94 typedef CGAL::Triangulation_hierarchy_2<Dt> Triangulation;
97 typedef Triangulation::Vertex_handle Vertex_handle;
98 typedef Triangulation::Point Point;
100 typedef Triangulation::Face_circulator Face_circulator;
101 typedef Triangulation::Face_handle Face_handle;
105 FASTJET_END_NAMESPACE
107 #endif // __FASTJET_TRIANGULATION__
Triangulation::Vertex_circulator Vertex_circulator
CGAL Point structure.