Up: Home page for Qhull
Up: Qhull manual: Table of Contents
Up: Programs • Options • Output • Formats • Geomview • Print • Qhull • Precision • Trace • Functions
Up: Qhull code: Table of Contents
To: Qhull functions, macros, and data structures
To: Geom • Global • Io • Mem • Merge • Poly • Qhull • Set • Stat • User

## user_r.c -- user-definable operations

> This section contains functions and constants that the user may want to change.

Copyright © 1995-2015 C.B. Barber

» Geom • Global • Io • Mem • Merge • Poly • Qhull • Set • Stat • User

### Index to user_r.c, usermem_r.c, userprintf_r.c, userprintf_rbox_r.c and user_r.h

- qhull library constants
- user_r.h data types and configuration macros
- joggle constants
- performance related constants
- memory constants
- conditional compilation
- merge constants
- user_r.c functions
- usermem_r.c functions
- userprintf_r.c functions

### »Qhull library constants

- FILENAMElen -- max length of TI or TO filename
- msgcode -- unique message codes for qh_fprintf
- qh_OPTIONline -- max length of option line ('FO')

### »user_r.h data types and configuration macros

- realT, qh_REAL... size of floating point numbers
- countT, COUNTmax size of counts and identifiers, typically 'int' or 'long long'
- qh_CPUclock clock() function for reporting the total time spent by Qhull
- qh_RANDOM... random number generator

### »definition constants

- qh_DEFAULTbox define default box size for rbox, 'Qbb', and 'QbB' (Geomview expects 0.5)
- qh_INFINITE on output, indicates Voronoi center at infinity
- qh_ORIENTclock define convention for orienting facets
- qh_ZEROdelaunay define facets that are ignored in Delaunay triangulations

### »joggle constants

- qh_JOGGLEagain how often to retry before using qh_JOGGLEmaxincrease again
- qh_JOGGLEdefault default value for qh.JOGGLEmax for 'QP'
- qh_JOGGLEincrease factor to increase qh.JOGGLEmax on retrys for 'QPn'
- qh_JOGGLEmaxincrease max for increasing qh.JOGGLEmax relative to qh.MAXwidth
- qh_JOGGLEmaxretry report error if this many retries
- qh_JOGGLEretry how often to retry before using qh_JOGGLEmax

### »performance related constants

- qh_HASHfactor total/used hash slots
- qh_INITIALmax if dim >= qh_INITIALmax, use min/max coordinate points for initial simplex
- qh_INITIALsearch if qh.INITIALmax, search points up to this dimension
- qh_NOtrace disallow tracing
- qh_VERIFYdirect 'Tv' verifies all points X facets if op count is smaller

### »memory constants

- qh_MEMalign memory alignment for qh_meminitbuffers() in global_r.c
- qh_MEMbufsize size of additional memory buffers
- qh_MEMinitbuf size of initial memory buffer

### »conditional compilation

- compiler defined symbols, e.g., _STDC_ and _cplusplus
- qh_COMPUTEfurthest compute furthest distance to an outside point instead of storing it with the facet
- qh_KEEPstatistics enable statistic gathering and reporting with option 'Ts'
- qh_MAXoutside record outer plane for each facet
- qh_NOmerge disable facet merging
- qh_NOtrace disable tracing with option 'T4'
- qh_QHpointer access global data with pointer or static structure
- qh_QUICKhelp use abbreviated help messages, e.g., for degenerate inputs

### »merge constants

- qh_BESTcentrum when does qh_findbestneighbor() test centrums?
- qh_BESTnonconvex when does qh_findbestneighbor() test nonconvex ridges only?
- qh_COPLANARratio what is qh.MINvisible?
- qh_DIMreduceBuild max dimension for vertex reduction
- qh_DIMmergeVertex max dimension for vertex merging
- qh_DISToutside when is a point clearly outside of a facet for qh_findbestnew and qh_partitionall
- qh_MAXnarrow max. cosine for qh.NARROWhull
- qh_MAXnewcentrum when does qh_reducevertices_centrum() reset the centrum?
- qh_MAXnewmerges when does qh_merge_nonconvex() call qh_reducevertices_centrums?
- qh_RATIOnearinside ratio for retaining inside points for qh_check_maxout()
- qh_SEARCHdist when is facet coplanar with the best facet for qh_findbesthorizon
- qh_USEfindbestnew when to use qh_findbestnew for qh_partitionpoint()
- qh_WARNnarrow max. cosine to warn about qh.NARROWhull
- qh_WIDEcoplanar what is a wide facet?
- qh_WIDEduplicate what is a wide ratio on merging duplicate ridges?

### »user_r.c functions

- Qhull template for calling qh_new_qhull from your program
- qh_errexit report error and exit qhull()
- qh_errprint print information about facets and ridges
- qh_new_qhull call qhull on an array of points
- qh_printfacetlist print all fields of all facets

### »usermem_r.c functions

- qh_exit exit program, same as exit(). May be redefined as throw "QH10003.." by libqhullcpp/usermem_r-cpp.cpp
- qh_fprintf_stderr print to stderr when qh->ferr is not defined.
- qh_free free memory, same as free().
- qh_malloc allocate memory, same as malloc()

### »userprintf_r.c and userprintf_rbox,c functions

- qh_fprintf print information from Qhull, sames as fprintf().
- qh_fprintf_rbox print information from Rbox, sames as fprintf().

Up: Home page for Qhull
Up: Qhull manual: Table of Contents
Up: Programs • Options • Output • Formats • Geomview • Print • Qhull • Precision • Trace • Functions
Up: Qhull code: Table of Contents
To: Qhull functions, macros, and data structures
To: Geom • Global • Io • Mem • Merge • Poly • Qhull • Set • Stat • User

The Geometry Center Home Page

Comments to: qhull@qhull.org
Created: May 2, 1997 --- Last modified: see top