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