1 #ifndef DROP_CGAL // in case we do not have the code for CGAL
2 #ifndef __FASTJET_TRIANGULATION__
3 #define __FASTJET_TRIANGULATION__
35 #include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
36 #include <CGAL/Delaunay_triangulation_2.h>
37 #include <CGAL/Triangulation_hierarchy_2.h>
38 #include <CGAL/Triangulation_vertex_base_with_info_2.h>
39 #include "fastjet/internal/base.hh"
41 FASTJET_BEGIN_NAMESPACE
49 #ifdef CGAL_SIMPLE_KERNEL
50 struct K : CGAL::Simple_cartesian<double> {};
52 struct K : CGAL::Exact_predicates_inexact_constructions_kernel {};
53 #endif // CGAL_SIMPLE_KERNEL
56 const int INFINITE_VERTEX=-1;
57 const int NEW_VERTEX=-2;
58 const double HUGE_DOUBLE=1e300;
65 class InitialisedInt {
69 inline InitialisedInt () {_val=NEW_VERTEX;};
70 inline InitialisedInt& operator= (
int value) {_val = value;
return *
this;};
71 inline int val()
const {
return _val;};
82 typedef CGAL::Triangulation_vertex_base_with_info_2<InitialisedInt,K> Vb;
83 typedef CGAL::Triangulation_face_base_2<K> Fb;
84 typedef CGAL::Triangulation_data_structure_2<Vb,Fb> Tds;
85 typedef CGAL::Delaunay_triangulation_2<K,Tds> Triangulation;
87 typedef CGAL::Triangulation_vertex_base_with_info_2<InitialisedInt,K> Vbb;
88 typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vbb> Vb;
89 typedef CGAL::Triangulation_face_base_2<K> Fb;
90 typedef CGAL::Triangulation_data_structure_2<Vb,Fb> Tds;
91 typedef CGAL::Delaunay_triangulation_2<K,Tds> Dt;
92 typedef CGAL::Triangulation_hierarchy_2<Dt> Triangulation;
95 typedef Triangulation::Vertex_handle Vertex_handle;
96 typedef Triangulation::Point Point;
98 typedef Triangulation::Face_circulator Face_circulator;
99 typedef Triangulation::Face_handle Face_handle;
103 FASTJET_END_NAMESPACE
105 #endif // __FASTJET_TRIANGULATION__
Triangulation::Vertex_circulator Vertex_circulator
CGAL Point structure.