Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef qhDEFqhulla
00023 #define qhDEFqhulla
00024
00025 #include <stdio.h>
00026 #include <stdlib.h>
00027 #include <setjmp.h>
00028 #include <string.h>
00029 #include <math.h>
00030 #include <float.h>
00031 #include <limits.h>
00032 #include <time.h>
00033 #include <ctype.h>
00034
00035
00036
00037
00038 #include "qhull.h"
00039 #include "mem.h"
00040 #include "qset.h"
00041 #include "geom.h"
00042 #include "merge.h"
00043 #include "poly.h"
00044 #include "io.h"
00045 #include "stat.h"
00046
00047 #if qh_CLOCKtype == 2
00048 #include <sys/types.h>
00049 #include <sys/times.h>
00050 #include <unistd.h>
00051 #endif
00052
00053 #ifdef _MSC_VER
00054 #pragma warning( disable : 4056)
00055 #pragma warning( disable : 4146)
00056 #pragma warning( disable : 4244)
00057 #pragma warning( disable : 4305)
00058 #endif
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071 #ifndef qh_NOtrace
00072 #define trace0(args) {if (qh IStracing) fprintf args;}
00073 #define trace1(args) {if (qh IStracing >= 1) fprintf args;}
00074 #define trace2(args) {if (qh IStracing >= 2) fprintf args;}
00075 #define trace3(args) {if (qh IStracing >= 3) fprintf args;}
00076 #define trace4(args) {if (qh IStracing >= 4) fprintf args;}
00077 #define trace5(args) {if (qh IStracing >= 5) fprintf args;}
00078 #else
00079 #define trace0(args) {}
00080 #define trace1(args) {}
00081 #define trace2(args) {}
00082 #define trace3(args) {}
00083 #define trace4(args) {}
00084 #define trace5(args) {}
00085 #endif
00086
00087
00088
00089 void qh_qhull (void);
00090 boolT qh_addpoint (pointT *furthest, facetT *facet, boolT checkdist);
00091 void qh_buildhull(void);
00092 void qh_buildtracing (pointT *furthest, facetT *facet);
00093 void qh_build_withrestart (void);
00094 void qh_errexit2(int exitcode, facetT *facet, facetT *otherfacet);
00095 void qh_findhorizon(pointT *point, facetT *facet, int *goodvisible,int *goodhorizon);
00096 pointT *qh_nextfurthest (facetT **visible);
00097 void qh_partitionall(setT *vertices, pointT *points,int npoints);
00098 void qh_partitioncoplanar (pointT *point, facetT *facet, realT *dist);
00099 void qh_partitionpoint (pointT *point, facetT *facet);
00100 void qh_partitionvisible(boolT allpoints, int *numpoints);
00101 void qh_precision (char *reason);
00102 void qh_printsummary(FILE *fp);
00103
00104
00105
00106 void qh_appendprint (qh_PRINT format);
00107 void qh_freebuild (boolT allmem);
00108 void qh_freebuffers (void);
00109 void qh_initbuffers (coordT *points, int numpoints, int dim, boolT ismalloc);
00110 int qh_strtol (const char *s, char **endp);
00111 double qh_strtod (const char *s, char **endp);
00112
00113
00114
00115 void qh_allstatA (void);
00116 void qh_allstatB (void);
00117 void qh_allstatC (void);
00118 void qh_allstatD (void);
00119 void qh_allstatE (void);
00120 void qh_allstatE2 (void);
00121 void qh_allstatF (void);
00122 void qh_allstatG (void);
00123 void qh_allstatH (void);
00124 void qh_freebuffers (void);
00125 void qh_initbuffers (coordT *points, int numpoints, int dim, boolT ismalloc);
00126
00127 #endif