1 /******************************************************************************
2 *
3 *  libtile_qhull           Originally by FHJ     Last Modified 12/04/2012 (FHJ)
4 *
5 *    BerkeleyGW wrapper for the Qhull tessellation routines.
6 *    Right now, only the Delaunay triangulation routines is implemented.
7 *
8 *    This file is part of the BerkeleyGW package.
9 *
10 ******************************************************************************/
11 
12 #ifndef libtile_qhull_h
13 #define libtile_qhull_h
14 
15 extern int _inode;
16 
17 /* Exported functions. We add flavors with and without leading underscore to
18    make this wrapper compatible with Fortran and C. */
19 int qhull_init_delaunay_(double points[], const int *npts, const int *dim, const int *inode);
20 int qhull_init_delaunay(double points[], const int *npts, const int *dim, const int *inode);
21 int qhull_find_delaunay_simplex_(const double point[], int indices[], double coefs[]);
22 int qhull_find_delaunay_simplex(const double point[], int indices[], double coefs[]);
23 int qhull_get_num_simplices_(int *num_simplices);
24 int qhull_get_num_simplices(int *num_simplices);
25 int qhull_get_simplices_(int indices[]);
26 int qhull_get_simplices(int indices[]);
27 int qhull_get_neighbors_(int neighbors[]);
28 int qhull_get_neighbors(int neighbors[]);
29 int qhull_free_delaunay_();
30 int qhull_free_delaunay();
31 
32 void qhull_info(const char *message, ...);
33 void qhull_warn(const char *message, ...);
34 void qhull_error(const char *message, ...);
35 
36 #ifdef DEBUG
37 #define QHULL_STR "qhull s d Tcv Qt Qbb Qc Qz"
38 #else
39 #define QHULL_STR "qhull s d Qt Qbb Qc Qz"
40 #endif
41 
42 #endif
43