qhull_a.h
Go to the documentation of this file.
00001 /*<html><pre>  -<a                             href="qh-qhull.htm"
00002   >-------------------------------</a><a name="TOP">-</a>
00003 
00004    qhull_a.h
00005    all header files for compiling qhull
00006 
00007    see qh-qhull.htm
00008 
00009    see libqhull.h for user-level definitions
00010 
00011    see user.h for user-defineable constants
00012 
00013    defines internal functions for libqhull.c global.c
00014 
00015    Copyright (c) 1993-2011 The Geometry Center.
00016    $Id: //main/2011/qhull/src/libqhull/qhull_a.h#2 $$Change: 1342 $
00017    $DateTime: 2011/03/07 21:55:47 $$Author: bbarber $
00018 
00019    Notes:  grep for ((" and (" to catch fprintf("lkasdjf");
00020            full parens around (x?y:z)
00021            use '#include qhull/qhull_a.h' to avoid name clashes
00022 */
00023 
00024 #ifndef qhDEFqhulla
00025 #define qhDEFqhulla 1
00026 
00027 #include "libqhull.h"  /* Defines data types */
00028 
00029 #include "stat.h"
00030 #include "random.h"
00031 #include "mem.h"
00032 #include "qset.h"
00033 #include "geom.h"
00034 #include "merge.h"
00035 #include "poly.h"
00036 #include "io.h"
00037 
00038 #include <setjmp.h>
00039 #include <string.h>
00040 #include <math.h>
00041 #include <float.h>    /* some compilers will not need float.h */
00042 #include <limits.h>
00043 #include <time.h>
00044 #include <ctype.h>
00045 #include <stdio.h>
00046 #include <stdlib.h>
00047 /*** uncomment here and qset.c
00048      if string.h does not define memcpy()
00049 #include <memory.h>
00050 */
00051 
00052 #if qh_CLOCKtype == 2  /* defined in user.h from libqhull.h */
00053 #include <sys/types.h>
00054 #include <sys/times.h>
00055 #include <unistd.h>
00056 #endif
00057 
00058 #ifdef _MSC_VER  /* Microsoft Visual C++ -- warning level 4 */
00059 #pragma warning( disable : 4100)  /* unreferenced formal parameter */
00060 #pragma warning( disable : 4127)  /* conditional expression is constant */
00061 #pragma warning( disable : 4706)  /* assignment within conditional function */
00062 #pragma warning( disable : 4996)  /* function was declared deprecated(strcpy, localtime, etc.) */
00063 #endif
00064 
00065 /* ======= -macros- =========== */
00066 
00067 /*-<a                             href="qh-qhull.htm#TOC"
00068   >--------------------------------</a><a name="traceN">-</a>
00069 
00070   traceN((qh ferr, 0Nnnn, "format\n", vars));
00071     calls qh_fprintf if qh.IStracing >= N
00072 
00073     Add debugging traps to the end of qh_fprintf
00074 
00075   notes:
00076     removing tracing reduces code size but doesn't change execution speed
00077 */
00078 #ifndef qh_NOtrace
00079 #define trace0(args) {if (qh IStracing) qh_fprintf args;}
00080 #define trace1(args) {if (qh IStracing >= 1) qh_fprintf args;}
00081 #define trace2(args) {if (qh IStracing >= 2) qh_fprintf args;}
00082 #define trace3(args) {if (qh IStracing >= 3) qh_fprintf args;}
00083 #define trace4(args) {if (qh IStracing >= 4) qh_fprintf args;}
00084 #define trace5(args) {if (qh IStracing >= 5) qh_fprintf args;}
00085 #else /* qh_NOtrace */
00086 #define trace0(args) {}
00087 #define trace1(args) {}
00088 #define trace2(args) {}
00089 #define trace3(args) {}
00090 #define trace4(args) {}
00091 #define trace5(args) {}
00092 #endif /* qh_NOtrace */
00093 
00094 /*-<a                             href="qh-qhull.htm#TOC"
00095   >--------------------------------</a><a name="QHULL_UNUSED">-</a>
00096 
00097 */
00098 
00099 /* See Qt's qglobal.h */
00100 #if !defined(SAG_COM) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__))
00101 #   define QHULL_OS_WIN
00102 #elif defined(__MWERKS__) && defined(__INTEL__)
00103 #   define QHULL_OS_WIN
00104 #endif
00105 #if defined(__INTEL_COMPILER) && !defined(QHULL_OS_WIN)
00106 template <typename T>
00107 inline void qhullUnused(T &x) { (void)x; }
00108 #  define QHULL_UNUSED(x) qhullUnused(x);
00109 #else
00110 #  define QHULL_UNUSED(x) (void)x;
00111 #endif
00112 
00113 /***** -libqhull.c prototypes (alphabetical after qhull) ********************/
00114 
00115 void    qh_qhull(void);
00116 boolT   qh_addpoint(pointT *furthest, facetT *facet, boolT checkdist);
00117 void    qh_buildhull(void);
00118 void    qh_buildtracing(pointT *furthest, facetT *facet);
00119 void    qh_build_withrestart(void);
00120 void    qh_errexit2(int exitcode, facetT *facet, facetT *otherfacet);
00121 void    qh_findhorizon(pointT *point, facetT *facet, int *goodvisible,int *goodhorizon);
00122 pointT *qh_nextfurthest(facetT **visible);
00123 void    qh_partitionall(setT *vertices, pointT *points,int npoints);
00124 void    qh_partitioncoplanar(pointT *point, facetT *facet, realT *dist);
00125 void    qh_partitionpoint(pointT *point, facetT *facet);
00126 void    qh_partitionvisible(boolT allpoints, int *numpoints);
00127 void    qh_precision(const char *reason);
00128 void    qh_printsummary(FILE *fp);
00129 
00130 /***** -global.c internal prototypes (alphabetical) ***********************/
00131 
00132 void    qh_appendprint(qh_PRINT format);
00133 void    qh_freebuild(boolT allmem);
00134 void    qh_freebuffers(void);
00135 void    qh_initbuffers(coordT *points, int numpoints, int dim, boolT ismalloc);
00136 
00137 /***** -stat.c internal prototypes (alphabetical) ***********************/
00138 
00139 void    qh_allstatA(void);
00140 void    qh_allstatB(void);
00141 void    qh_allstatC(void);
00142 void    qh_allstatD(void);
00143 void    qh_allstatE(void);
00144 void    qh_allstatE2 (void);
00145 void    qh_allstatF(void);
00146 void    qh_allstatG(void);
00147 void    qh_allstatH(void);
00148 void    qh_freebuffers(void);
00149 void    qh_initbuffers(coordT *points, int numpoints, int dim, boolT ismalloc);
00150 
00151 #endif /* qhDEFqhulla */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


libqhull
Author(s): Robert Krug
autogenerated on Tue Jun 18 2013 12:38:50