30 #define qhDEFlibqhull 1 46 #if __MWERKS__ && __POWERPC__ 55 #error Neither __STDC__ nor __cplusplus is defined. Please use strict ANSI C or C++ to compile 56 #error Qhull. You may need to turn off compiler extensions in your project configuration. If 57 #error your compiler is a standard C compiler, you can delete this warning from libqhull.h 109 #define flagT unsigned int 121 #define boolT unsigned int 181 #define qh_NOupper True 182 #define qh_IScheckmax True 183 #define qh_ISnewfacets True 184 #define qh_RESETvisible True 194 #define qh_ERRinput 1 195 #define qh_ERRsingular 2 198 #define qh_ERRqhull 5 207 #define qh_FILEstderr ((FILE*)1) 263 #if !qh_COMPUTEfurthest 313 #define qh_MAXnummerge 511 437 #define QHULL_NON_REENTRANT 0 438 #define QHULL_QH_POINTER 1 439 #define QHULL_REENTRANT 2 441 #if qh_QHpointer_dllimport 443 __declspec(dllimport)
extern qhT *
qh_qh;
444 #define QHULL_LIB_TYPE QHULL_QH_POINTER 449 #define QHULL_LIB_TYPE QHULL_QH_POINTER 453 __declspec(dllimport)
extern qhT qh_qh;
454 #define QHULL_LIB_TYPE QHULL_NON_REENTRANT 459 #define QHULL_LIB_TYPE QHULL_NON_REENTRANT 462 #define QHULL_LIB_CHECK qh_lib_check(QHULL_LIB_TYPE, sizeof(qhT), sizeof(vertexT), sizeof(ridgeT), sizeof(facetT), sizeof(setT), sizeof(qhmemT)); 463 #define QHULL_LIB_CHECK_RBOX qh_lib_check(QHULL_LIB_TYPE, sizeof(qhT), sizeof(vertexT), sizeof(ridgeT), sizeof(facetT), 0, 0); 598 char qhull_command[256];
600 char rbox_command[256];
601 char qhull_options[512];
655 char qhull[
sizeof(
"qhull")];
813 #define otherfacet_(ridge, facet) \ 814 (((ridge)->top == (facet)) ? (ridge)->bottom : (ridge)->top) 823 #define getid_(p) ((p) ? (int)((p)->id) : qh_IDunknown) 840 #define FORALLfacets for (facet=qh facet_list;facet && facet->next;facet=facet->next) 851 #define FORALLpoints FORALLpoint_(qh first_point, qh num_points) 862 #define FORALLpoint_(points, num) for (point= (points), \ 863 pointtemp= (points)+qh hull_dim*(num); point < pointtemp; point += qh hull_dim) 877 #define FORALLvertices for (vertex=qh vertex_list;vertex && vertex->next;vertex= vertex->next) 891 #define FOREACHfacet_(facets) FOREACHsetelement_(facetT, facets, facet) 908 #define FOREACHneighbor_(facet) FOREACHsetelement_(facetT, facet->neighbors, neighbor) 922 #define FOREACHpoint_(points) FOREACHsetelement_(pointT, points, point) 936 #define FOREACHridge_(ridges) FOREACHsetelement_(ridgeT, ridges, ridge) 950 #define FOREACHvertex_(vertices) FOREACHsetelement_(vertexT, vertices,vertex) 965 #define FOREACHfacet_i_(facets) FOREACHsetelement_i_(facetT, facets, facet) 983 #define FOREACHneighbor_i_(facet) FOREACHsetelement_i_(facetT, facet->neighbors, neighbor) 998 #define FOREACHpoint_i_(points) FOREACHsetelement_i_(pointT, points, point) 1013 #define FOREACHridge_i_(ridges) FOREACHsetelement_i_(ridgeT, ridges, ridge) 1028 #define FOREACHvertex_i_(vertices) FOREACHsetelement_i_(vertexT, vertices,vertex) 1041 char *qhull_cmd, FILE *outfile, FILE *errfile);
1055 void qh_fprintf(FILE *fp,
int msgcode,
const char *
fmt, ... );
1062 realT *dist,
boolT *isoutside,
int *numpart);
1083 void qh_init_A(FILE *infile, FILE *outfile, FILE *errfile,
int argc,
char *argv[]);
1095 void qh_lib_check(
int qhullLibraryType,
int qhTsize,
int vertexTsize,
int ridgeTsize,
int facetTsize,
int setTsize,
int qhmemTsize);
1098 void qh_restore_qhull(
qhT **oldqh);
1099 qhT *qh_save_qhull(
void);
1132 int qh_rboxpoints(FILE* fout, FILE* ferr,
char* rbox_command);
facetT * qh_findbestfacet(pointT *point, boolT bestoutside, realT *bestdist, boolT *isoutside)
void qh_init_qhull_command(int argc, char *argv[])
void * qh_malloc(size_t size)
void qh_fprintf_stderr(int msgcode, const char *fmt,...)
setT * qh_pointvertex(void)
void qh_init_A(FILE *infile, FILE *outfile, FILE *errfile, int argc, char *argv[])
facetT * qh_findbest(pointT *point, facetT *startfacet, boolT bestoutside, boolT newfacets, boolT noupper, realT *dist, boolT *isoutside, int *numpart)
void qh_printallstatistics(FILE *fp, const char *string)
void qh_printhelp_narrowhull(FILE *fp, realT minangle)
void qh_fprintf(FILE *fp, int msgcode, const char *fmt,...)
unsigned long qh_clock(void)
void qh_dvertex(unsigned id)
void qh_lib_check(int qhullLibraryType, int qhTsize, int vertexTsize, int ridgeTsize, int facetTsize, int setTsize, int qhmemTsize)
setT * qh_pointfacet(void)
void qh_initthresholds(char *command)
void qh_check_output(void)
void qh_clear_outputflags(void)
void qh_printfacetlist(facetT *facetlist, setT *facets, boolT printall)
void qh_errexit_rbox(int exitcode)
void qh_user_memsizes(void)
int qh_pointid(pointT *point)
void qh_initqhull_buffers(void)
boolT qh_addpoint(pointT *furthest, facetT *facet, boolT checkdist)
void qh_produce_output(void)
void qh_setvoronoi_all(void)
void qh_triangulate(void)
void qh_freebuffers(void)
void qh_initflags(char *command)
void qh_printsummary(FILE *fp)
void qh_check_points(void)
void qh_initqhull_outputflags(void)
facetT * qh_findbestnew(pointT *point, facetT *startfacet, realT *dist, boolT bestoutside, boolT *isoutside, int *numpart)
void qh_initqhull_start(FILE *infile, FILE *outfile, FILE *errfile)
void qh_printhelp_singular(FILE *fp)
void qh_exit(int exitcode)
void qh_initbuffers(coordT *points, int numpoints, int dim, boolT ismalloc)
void qh_option(const char *option, int *i, realT *r)
void qh_initqhull_globals(coordT *points, int numpoints, int dim, boolT ismalloc)
void qh_printhelp_degenerate(FILE *fp)
void qh_checkflags(char *command, char *hiddenflags)
void qh_projectinput(void)
pointT * qh_point(int id)
void qh_initqhull_start2(FILE *infile, FILE *outfile, FILE *errfile)
void qh_randommatrix(realT *buffer, int dim, realT **row)
boolT qh_gram_schmidt(int dim, realT **rows)
void qh_freeqhull2(boolT allmem)
void qh_init_B(coordT *points, int numpoints, int dim, boolT ismalloc)
void qh_outerinner(facetT *facet, realT *outerplane, realT *innerplane)
void qh_collectstatistics(void)
coordT * qh_sethalfspace_all(int dim, int count, coordT *halfspaces, pointT *feasible)
void qh_memfreeshort(int *curlong, int *totlong)
coordT * qh_readpoints(int *numpoints, int *dimension, boolT *ismalloc)
unsigned int vertex_visit
void qh_rotateinput(realT **rows)
int qh_new_qhull(int dim, int numpoints, coordT *points, boolT ismalloc, char *qhull_cmd, FILE *outfile, FILE *errfile)
void qh_errexit(int exitcode, facetT *facet, ridgeT *ridge)
void qh_printneighborhood(FILE *fp, qh_PRINT format, facetT *facetA, facetT *facetB, boolT printall)
void qh_fprintf_rbox(FILE *fp, int msgcode, const char *fmt,...)
void qh_dfacet(unsigned id)
void qh_freeqhull(boolT allmem)
void qh_setdelaunay(int dim, int count, pointT *points)
void qh_meminit(FILE *ferr)
void qh_initqhull_mem(void)
int qh_rboxpoints(FILE *fout, FILE *ferr, char *rbox_command)
void qh_errprint(const char *string, facetT *atfacet, facetT *otherfacet, ridgeT *atridge, vertexT *atvertex)
setT * qh_facetvertices(facetT *facetlist, setT *facets, boolT allfacets)
vertexT * qh_nearvertex(facetT *facet, pointT *point, realT *bestdistp)