36 #if !defined(SAG_COM) && !defined(__CYGWIN__) && (defined(WIN64) || defined(_WIN64) || defined(__WIN64__) || defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)) 38 #elif defined(__MWERKS__) && defined(__INTEL__) 52 #define qh_FILENAMElen 500 69 #define MSG_TRACE1 1000 70 #define MSG_TRACE2 2000 71 #define MSG_TRACE3 3000 72 #define MSG_TRACE4 4000 73 #define MSG_TRACE5 5000 74 #define MSG_ERROR 6000 75 #define MSG_WARNING 7000 76 #define MSG_STDERR 8000 77 #define MSG_OUTPUT 9000 78 #define MSG_QHULL_ERROR 10000 79 #define MSG_FIXUP 11000 80 #define MSG_MAXLEN 3000 88 #define qh_OPTIONline 80 145 #define REALmax FLT_MAX 146 #define REALmin FLT_MIN 147 #define REALepsilon FLT_EPSILON 148 #define qh_REALdigits 8 149 #define qh_REAL_1 "%6.8g " 150 #define qh_REAL_2n "%6.8g %6.8g\n" 151 #define qh_REAL_3n "%6.8g %6.8g %6.8g\n" 153 #elif (REALfloat == 0) 155 #define REALmax DBL_MAX 156 #define REALmin DBL_MIN 157 #define REALepsilon DBL_EPSILON 158 #define qh_REALdigits 16 159 #define qh_REAL_1 "%6.16g " 160 #define qh_REAL_2n "%6.16g %6.16g\n" 161 #define qh_REAL_3n "%6.16g %6.16g %6.16g\n" 164 #error unknown float option 194 #define qh_CLOCKtype 1 196 #if (qh_CLOCKtype == 1) 198 #if defined(CLOCKS_PER_SECOND) 199 #define qh_CPUclock ((unsigned long)clock()) 200 #define qh_SECticks CLOCKS_PER_SECOND 202 #elif defined(CLOCKS_PER_SEC) 203 #define qh_CPUclock ((unsigned long)clock()) 204 #define qh_SECticks CLOCKS_PER_SEC 206 #elif defined(CLK_TCK) 207 #define qh_CPUclock ((unsigned long)clock()) 208 #define qh_SECticks CLK_TCK 211 #define qh_CPUclock ((unsigned long)clock()) 212 #define qh_SECticks 1E6 215 #elif (qh_CLOCKtype == 2) 216 #define qh_CPUclock qh_clock() 217 #define qh_SECticks 100 220 #error unknown clock option 255 #define qh_RANDOMtype 5 257 #if (qh_RANDOMtype == 1) 258 #define qh_RANDOMmax ((realT)0x7fffffffUL) 259 #define qh_RANDOMint random() 260 #define qh_RANDOMseed_(seed) srandom(seed); 262 #elif (qh_RANDOMtype == 2) 264 #define qh_RANDOMmax ((realT)RAND_MAX) 266 #define qh_RANDOMmax ((realT)32767) 268 #define qh_RANDOMint rand() 269 #define qh_RANDOMseed_(seed) srand((unsigned)seed); 271 #elif (qh_RANDOMtype == 3) 272 #define qh_RANDOMmax ((realT)0x7fffffffUL) 273 #define qh_RANDOMint rand() 274 #define qh_RANDOMseed_(seed) srand((unsigned)seed); 276 #elif (qh_RANDOMtype == 4) 277 #define qh_RANDOMmax ((realT)0x7fffffffUL) 278 #define qh_RANDOMint lrand48() 279 #define qh_RANDOMseed_(seed) srand48(seed); 281 #elif (qh_RANDOMtype == 5) 282 #define qh_RANDOMmax ((realT)2147483646UL) 283 #define qh_RANDOMint qh_rand() 284 #define qh_RANDOMseed_(seed) qh_srand(seed); 288 #error: unknown random option 297 #define qh_ORIENTclock 0 324 #define qh_JOGGLEdefault 30000.0 332 #define qh_JOGGLEincrease 10.0 343 #define qh_JOGGLEretry 2 354 #define qh_JOGGLEagain 1 366 #define qh_JOGGLEmaxincrease 1e-2 374 #define qh_JOGGLEmaxretry 100 389 #define qh_HASHfactor 2 400 #define qh_VERIFYdirect 1000000 408 #define qh_INITIALsearch 6 420 #define qh_INITIALmax 8 445 #define qh_MEMalign ((int)(fmax_(sizeof(realT), sizeof(void *)))) 456 #define qh_MEMbufsize 0x10000 467 #define qh_MEMinitbuf 0x20000 475 #define qh_INFINITE -10.101 486 #define qh_DEFAULTbox 0.5 487 #define qh_DEFAULTzbox 1e6 523 #define qh_COMPUTEfurthest 0 534 #define qh_KEEPstatistics 1 547 #define qh_MAXoutside 1 609 #error QH6207 Qhull error: Use qh_QHpointer_dllimport instead of qh_dllimport with qh_QHpointer 612 #define qh_QHpointer 0 613 #if qh_QHpointer_dllimport 614 #error QH6234 Qhull error: Use qh_dllimport instead of qh_QHpointer_dllimport when qh_QHpointer is not defined 618 qhT *oldqhA, *oldqhB;
620 exitcode=
qh_new_qhull(dim, numpoints, points, ismalloc,
621 flags, outfile, errfile);
623 oldqhA= qh_save_qhull();
624 exitcode=
qh_new_qhull(dimB, numpointsB, pointsB, ismalloc,
625 flags, outfile, errfile);
627 oldqhB= qh_save_qhull();
628 qh_restore_qhull(&oldqhA);
631 qh_restore_qhull(&oldqhB);
643 #define qh_QUICKhelp 0 659 #define qh_DIMmergeVertex 6 667 #define qh_DIMreduceBuild 5 679 #define qh_BESTcentrum 20 680 #define qh_BESTcentrum2 2 691 #define qh_BESTnonconvex 15 702 #define qh_MAXnewmerges 2 715 #define qh_MAXnewcentrum 5 726 #define qh_COPLANARratio 3 756 #define qh_DISToutside ((qh_USEfindbestnew ? 2 : 1) * \ 757 fmax_((qh MERGING ? 2 : 1)*qh MINoutside, qh max_outside)) 771 #define qh_RATIOnearinside 5 785 #define qh_SEARCHdist ((qh_USEfindbestnew ? 2 : 1) * \ 786 (qh max_outside + 2 * qh DISTround + fmax_( qh MINvisible, qh MAXcoplanar))); 800 #define qh_USEfindbestnew (zzval_(Ztotmerge) > 50) 816 #define qh_WIDEcoplanar 6 829 #define qh_WIDEduplicate 100 845 #define qh_MAXnarrow -0.99999999 857 #define qh_WARNnarrow -0.999999999999999 876 #define qh_ZEROdelaunay 2 901 #if defined(_MSC_VER) && defined(_DEBUG) && defined(QHULL_CRTDBG) 902 #define _CRTDBG_MAP_ALLOC
void qh_freeqhull(boolT allmem)
void qh_memfreeshort(int *curlong, int *totlong)
int qh_new_qhull(int dim, int numpoints, coordT *points, boolT ismalloc, char *qhull_cmd, FILE *outfile, FILE *errfile)