1 | <!-- Do not edit with Front Page, it adds too many spaces -->
|
---|
2 | <html>
|
---|
3 | <head>
|
---|
4 | <meta http-equiv="Content-Type"
|
---|
5 | content="text/html; charset=iso-8859-1">
|
---|
6 | <title>user.c -- user-definable operations</title>
|
---|
7 | </head>
|
---|
8 |
|
---|
9 | <body>
|
---|
10 | <!-- Navigation links -->
|
---|
11 | <p><a name="TOP"><b>Up:</b></a> <a
|
---|
12 | href="http://www.qhull.org">Home page</a> for Qhull<br>
|
---|
13 | <b>Up:</b> <a href="../../html/index.htm#TOC">Qhull manual</a>: Table of Contents <br>
|
---|
14 | <b>Up:</b> <a href="../../html/qh-quick.htm#programs">Programs</a>
|
---|
15 | • <a href="../../html/qh-quick.htm#options">Options</a>
|
---|
16 | • <a href="../../html/qh-opto.htm#output">Output</a>
|
---|
17 | • <a href="../../html/qh-optf.htm#format">Formats</a>
|
---|
18 | • <a href="../../html/qh-optg.htm#geomview">Geomview</a>
|
---|
19 | • <a href="../../html/qh-optp.htm#print">Print</a>
|
---|
20 | • <a href="../../html/qh-optq.htm#qhull">Qhull</a>
|
---|
21 | • <a href="../../html/qh-optc.htm#prec">Precision</a>
|
---|
22 | • <a href="../../html/qh-optt.htm#trace">Trace</a><br>
|
---|
23 | <b>Up:</b> <a href="../../html/qh-code.htm#TOC">Qhull code: Table of Contents</a><br>
|
---|
24 | <b>To:</b> <a href="index.htm">Qhull functions</a>, macros, and data structures<br>
|
---|
25 | <b>To:</b> <a href="qh-geom.htm">Geom</a> • <a href="qh-globa.htm">Global</a>
|
---|
26 | • <a href="qh-io.htm">Io</a> • <a href="qh-mem.htm">Mem</a>
|
---|
27 | • <a href="qh-merge.htm">Merge</a> • <a href="qh-poly.htm">Poly</a>
|
---|
28 | • <a href="qh-qhull.htm">Qhull</a> • <a href="qh-set.htm">Set</a>
|
---|
29 | • <a href="qh-stat.htm">Stat</a> • <a href="qh-user.htm#TOC">User</a>
|
---|
30 | </p>
|
---|
31 | <hr>
|
---|
32 | <h2>user.c -- user-definable operations</h2>
|
---|
33 | <blockquote>
|
---|
34 | <p>This section contains functions and constants that the
|
---|
35 | user may want to change. </p>
|
---|
36 |
|
---|
37 | </blockquote>
|
---|
38 | <p><b>Copyright © 1995-2012 C.B. Barber</b></p>
|
---|
39 | <hr>
|
---|
40 | <p><a href="#TOP">»</a> <a href="qh-geom.htm#TOC">Geom</a>
|
---|
41 | <a name="TOC">•</a> <a href="qh-globa.htm#TOC">Global</a>
|
---|
42 | • <a href="qh-io.htm#TOC">Io</a> • <a href="qh-mem.htm#TOC">Mem</a>
|
---|
43 | • <a href="qh-merge.htm#TOC">Merge</a> • <a href="qh-poly.htm#TOC">Poly</a>
|
---|
44 | • <a href="qh-qhull.htm#TOC">Qhull</a> • <a href="qh-set.htm#TOC">Set</a>
|
---|
45 | • <a href="qh-stat.htm#TOC">Stat</a> • <b>User</b>
|
---|
46 | </p>
|
---|
47 | <h3>Index to <a href="user.c">user.c</a>, <a href="usermem.c">usermem.c</a>, <a href="userprintf.c">userprintf.c</a>, <a href="userprintf_rbox.c">userprintf_rbox.c</a> and
|
---|
48 | <a href="user.h">user.h</a></h3>
|
---|
49 | <ul>
|
---|
50 | <li><a href="#qulllib">qhull library constants</a></li>
|
---|
51 | <li><a href="#utype">user.h data types and
|
---|
52 | configuration macros</a> </li>
|
---|
53 | <li><a href="#ujoggle">joggle constants</a></li>
|
---|
54 | <li><a href="#uperform">performance related constants</a></li>
|
---|
55 | <li><a href="#umemory">memory constants</a></li>
|
---|
56 | <li><a href="#ucond">conditional compilation</a></li>
|
---|
57 | <li><a href="#umerge">merge constants</a> </li>
|
---|
58 | <li><a href="#ufunc">user.c functions</a> </li>
|
---|
59 | <li><a href="#u2func">usermem.c functions</a> </li>
|
---|
60 | <li><a href="#u3func">userprintf.c functions</a> </li>
|
---|
61 | </ul>
|
---|
62 |
|
---|
63 | <h3><a href="qh-user.htm#TOC">»</a><a name="qulllib">Qhull library constants</a></h3>
|
---|
64 | <ul>
|
---|
65 | <li><a href="user.h#filenamelen">FILENAMElen</a> -- max length of TI or TO filename </li>
|
---|
66 | <li><a href="user.h#msgcode">msgcode</a> -- unique message codes for qh_fprintf </li>
|
---|
67 | <li><a href="user.h#qh_OPTIONline">qh_OPTIONline</a> -- max length of option line ('FO')</li>
|
---|
68 | </ul>
|
---|
69 |
|
---|
70 |
|
---|
71 | <h3><a href="qh-user.htm#TOC">»</a><a name="utype">user.h data
|
---|
72 | types and configuration macros</a></h3>
|
---|
73 | <ul>
|
---|
74 | <li><a href="user.h#realT">realT, qh_REAL...</a> size
|
---|
75 | of floating point numbers </li>
|
---|
76 | <li><a href="user.h#CPUclock">qh_CPUclock</a> clock()
|
---|
77 | function for reporting the total time spent by
|
---|
78 | Qhull </li>
|
---|
79 | <li><a href="user.h#RANDOM">qh_RANDOM...</a> random
|
---|
80 | number generator </li>
|
---|
81 | </ul>
|
---|
82 |
|
---|
83 | <h3><a href="qh-user.htm#TOC">»</a><a name="udef">definition constants</a></h3>
|
---|
84 | <ul>
|
---|
85 | <li><a href="user.h#DEFAULTbox">qh_DEFAULTbox</a>
|
---|
86 | define default box size for rbox, 'Qbb', and 'QbB' (Geomview expects 0.5) </li>
|
---|
87 | <li><a href="user.h#INFINITE">qh_INFINITE</a> on
|
---|
88 | output, indicates Voronoi center at infinity </li>
|
---|
89 | <li><a href="user.h#ORIENTclock">qh_ORIENTclock</a>
|
---|
90 | define convention for orienting facets</li>
|
---|
91 | <li><a href="user.h#ZEROdelaunay">qh_ZEROdelaunay</a>
|
---|
92 | define facets that are ignored in Delaunay triangulations</li>
|
---|
93 | </ul>
|
---|
94 |
|
---|
95 | <h3><a href="qh-user.htm#TOC">»</a><a name="ujoggle">joggle constants</a></h3>
|
---|
96 | <ul>
|
---|
97 | <li><a href="user.h#JOGGLEagain">qh_JOGGLEagain</a>
|
---|
98 | how often to retry before using qh_JOGGLEmaxincrease
|
---|
99 | again </li>
|
---|
100 | <li><a href="user.h#JOGGLEdefault">qh_JOGGLEdefault</a>
|
---|
101 | default value for qh.JOGGLEmax for 'QP' </li>
|
---|
102 | <li><a href="user.h#JOGGLEincrease">qh_JOGGLEincrease</a>
|
---|
103 | factor to increase qh.JOGGLEmax on retrys for
|
---|
104 | 'QPn' </li>
|
---|
105 | <li><a href="user.h#JOGGLEmaxincrease">qh_JOGGLEmaxincrease</a> max
|
---|
106 | for increasing qh.JOGGLEmax relative to
|
---|
107 | qh.MAXwidth </li>
|
---|
108 | <li><a href="user.h#JOGGLEretry">qh_JOGGLEmaxretry</a>
|
---|
109 | report error if this many retries </li>
|
---|
110 | <li><a href="user.h#JOGGLEretry">qh_JOGGLEretry</a>
|
---|
111 | how often to retry before using qh_JOGGLEmax </li>
|
---|
112 | </ul>
|
---|
113 |
|
---|
114 | <h3><a href="qh-user.htm#TOC">»</a><a name="uperform">performance
|
---|
115 | related constants</a></h3>
|
---|
116 | <ul>
|
---|
117 | <li><a href="user.h#HASHfactor">qh_HASHfactor</a>
|
---|
118 | total/used hash slots </li>
|
---|
119 | <li><a href="user.h#INITIALmax">qh_INITIALmax</a> if
|
---|
120 | dim >= qh_INITIALmax, use min/max coordinate
|
---|
121 | points for initial simplex </li>
|
---|
122 | <li><a href="user.h#INITIALsearch">qh_INITIALsearch</a>
|
---|
123 | if qh.INITIALmax, search points up to this
|
---|
124 | dimension </li>
|
---|
125 | <li><a href="user.h#NOtrace">qh_NOtrace</a> disallow
|
---|
126 | tracing </li>
|
---|
127 | <li><a href="user.h#VERIFYdirect">qh_VERIFYdirect</a>
|
---|
128 | 'Tv' verifies all <em>points X facets</em> if op
|
---|
129 | count is smaller </li>
|
---|
130 | </ul>
|
---|
131 |
|
---|
132 | <h3><a href="qh-user.htm#TOC">»</a><a name="umemory">memory constants</a></h3>
|
---|
133 | <ul>
|
---|
134 | <li><a href="user.h#MEMalign">qh_MEMalign</a> memory
|
---|
135 | alignment for qh_meminitbuffers() in global.c </li>
|
---|
136 | <li><a href="user.h#MEMbufsize">qh_MEMbufsize</a>
|
---|
137 | size of additional memory buffers </li>
|
---|
138 | <li><a href="user.h#MEMinitbuf">qh_MEMinitbuf</a>
|
---|
139 | size of initial memory buffer </li>
|
---|
140 | </ul>
|
---|
141 |
|
---|
142 | <h3><a href="qh-user.htm#TOC">»</a><a name="ucond">conditional compilation</a></h3>
|
---|
143 | <ul>
|
---|
144 | <li><a href="user.h#compiler">compiler</a> defined symbols,
|
---|
145 | e.g., _STDC_ and _cplusplus
|
---|
146 |
|
---|
147 | <li><a href="user.h#COMPUTEfurthest">qh_COMPUTEfurthest</a>
|
---|
148 | compute furthest distance to an outside point instead of storing it with the facet
|
---|
149 | <li><a href="user.h#KEEPstatistics">qh_KEEPstatistics</a>
|
---|
150 | enable statistic gathering and reporting with option 'Ts'
|
---|
151 | <li><a href="user.h#MAXoutside">qh_MAXoutside</a>
|
---|
152 | record outer plane for each facet
|
---|
153 | <li><a href="user.h#NOmerge">qh_NOmerge</a>
|
---|
154 | disable facet merging
|
---|
155 | <li><a href="user.h#NOtrace">qh_NOtrace</a>
|
---|
156 | disable tracing with option 'T4'
|
---|
157 | <li><a href="user.h#QHpointer">qh_QHpointer</a>
|
---|
158 | access global data with pointer or static structure
|
---|
159 | <li><a href="user.h#QUICKhelp">qh_QUICKhelp</a>
|
---|
160 | use abbreviated help messages, e.g., for degenerate inputs
|
---|
161 | </ul>
|
---|
162 |
|
---|
163 | <h3><a href="qh-user.htm#TOC">»</a><a name="umerge">merge
|
---|
164 | constants</a></h3>
|
---|
165 | <ul>
|
---|
166 | <li><a href="user.h#BESTcentrum">qh_BESTcentrum</a>
|
---|
167 | when does qh_findbestneighbor() test centrums? </li>
|
---|
168 | <li><a href="user.h#BESTnonconvex">qh_BESTnonconvex</a>
|
---|
169 | when does qh_findbestneighbor() test nonconvex
|
---|
170 | ridges only? </li>
|
---|
171 | <li><a href="user.h#COPLANARratio">qh_COPLANARratio</a>
|
---|
172 | what is qh.MINvisible? </li>
|
---|
173 | <li><a href="user.h#DIMreduceBuild">qh_DIMreduceBuild</a>
|
---|
174 | max dimension for vertex reduction </li>
|
---|
175 | <li><a href="user.h#DIMmergeVertex">qh_DIMmergeVertex</a>
|
---|
176 | max dimension for vertex merging </li>
|
---|
177 | <li><a href="user.h#DISToutside">qh_DISToutside</a>
|
---|
178 | when is a point clearly outside of a facet for qh_findbestnew and qh_partitionall</li>
|
---|
179 | <li><a href="user.h#MAXnarrow">qh_MAXnarrow</a> max.
|
---|
180 | cosine for qh.NARROWhull </li>
|
---|
181 | <li><a href="user.h#MAXnewcentrum">qh_MAXnewcentrum</a>
|
---|
182 | when does qh_reducevertices_centrum() reset the
|
---|
183 | centrum? </li>
|
---|
184 | <li><a href="user.h#MAXnewmerges">qh_MAXnewmerges</a>
|
---|
185 | when does qh_merge_nonconvex() call
|
---|
186 | qh_reducevertices_centrums? </li>
|
---|
187 | <li><a href="user.h#RATIOnearinside">qh_RATIOnearinside</a>
|
---|
188 | ratio for retaining inside points for
|
---|
189 | qh_check_maxout() </li>
|
---|
190 | <li><a href="user.h#SEARCHdist">qh_SEARCHdist</a>
|
---|
191 | when is facet coplanar with the best facet for qh_findbesthorizon</li>
|
---|
192 | <li><a href="user.h#USEfindbestnew">qh_USEfindbestnew</a>
|
---|
193 | when to use qh_findbestnew for qh_partitionpoint()</li>
|
---|
194 | <li><a href="user.h#WIDEcoplanar">qh_WIDEcoplanar</a>
|
---|
195 | what is a WIDEfacet? </li>
|
---|
196 | <li><a href="user.h#WARNnarrow">qh_WARNnarrow</a>
|
---|
197 | max. cosine to warn about qh.NARROWhull </li>
|
---|
198 | </ul>
|
---|
199 |
|
---|
200 | <h3><a href="qh-user.htm#TOC">»</a><a name="ufunc">user.c
|
---|
201 | functions</a></h3>
|
---|
202 | <ul>
|
---|
203 | <li><a href="user.c#errexit">qh_errexit</a> report
|
---|
204 | error and exit qhull()</li>
|
---|
205 | <li><a href="user.c#errprint">qh_errprint</a> print
|
---|
206 | information about facets and ridges </li>
|
---|
207 | <li><a href="user.c#new_qhull">qh_new_qhull</a> call qhull on an array
|
---|
208 | of points</li>
|
---|
209 | <li><a href="user.c#printfacetlist">qh_printfacetlist</a>
|
---|
210 | print all fields of all facets </li>
|
---|
211 | </ul>
|
---|
212 |
|
---|
213 | <h3><a href="qh-user.htm#TOC">»</a><a name="u2func">usermem.c
|
---|
214 | functions</a></h3>
|
---|
215 | <ul>
|
---|
216 | <li><a href="usermem.c#qh_exit">qh_exit</a> exit program, same as exit().</li>
|
---|
217 | <li><a href="usermem.c#qh_free">qh_free</a> free memory, same as free().</li>
|
---|
218 | <li><a href="usermem.c#qh_malloc">qh_malloc</a> allocate memory, same as malloc()</li>
|
---|
219 | </ul>
|
---|
220 |
|
---|
221 | <h3><a href="qh-user.htm#TOC">»</a><a name="u3func">userprintf.c
|
---|
222 | and userprintf_rbox,c functions</a></h3>
|
---|
223 | <ul>
|
---|
224 | <li><a href="userprintf.c#qh_fprintf">qh_fprintf</a> print
|
---|
225 | information from Qhull, sames as fprintf(). </li>
|
---|
226 | <li><a href="userprintf_rbox.c#qh_fprintf_rbox">qh_fprintf_rbox</a> print
|
---|
227 | information from Rbox, sames as fprintf(). </li>
|
---|
228 | </ul>
|
---|
229 |
|
---|
230 | <p><!-- Navigation links --> </p>
|
---|
231 | <hr>
|
---|
232 | <p><b>Up:</b>
|
---|
233 | <a href="http://www.qhull.org">Home page for
|
---|
234 | Qhull</a> <br>
|
---|
235 | <b>Up:</b> <a href="../../html/index.htm#TOC">Qhull manual: Table of Contents</a> <br>
|
---|
236 | <b>Up:</b> <a href="../../html/qh-quick.htm#programs">Programs</a>
|
---|
237 | • <a href="../../html/qh-quick.htm#options">Options</a>
|
---|
238 | • <a href="../../html/qh-opto.htm#output">Output</a>
|
---|
239 | • <a href="../../html/qh-optf.htm#format">Formats</a>
|
---|
240 | • <a href="../../html/qh-optg.htm#geomview">Geomview</a>
|
---|
241 | • <a href="../../html/qh-optp.htm#print">Print</a>
|
---|
242 | • <a href="../../html/qh-optq.htm#qhull">Qhull</a>
|
---|
243 | • <a href="../../html/qh-optc.htm#prec">Precision</a>
|
---|
244 | • <a href="../../html/qh-optt.htm#trace">Trace</a><br>
|
---|
245 | <b>Up:</b> <a href="../../html/qh-code.htm#TOC">Qhull code: Table of Contents</a> <br>
|
---|
246 | <b>To:</b> <a href="index.htm">Qhull functions</a>, macros, and data structures<br>
|
---|
247 | <b>To:</b> <a href="qh-geom.htm">Geom</a> •
|
---|
248 | <a href="qh-globa.htm">Global</a> • <a href="qh-io.htm">Io</a>
|
---|
249 | • <a href="qh-mem.htm">Mem</a> • <a href="qh-merge.htm">Merge</a>
|
---|
250 | • <a href="qh-poly.htm">Poly</a> • <a href="qh-qhull.htm#TOC">Qhull</a>
|
---|
251 | • <a href="qh-set.htm">Set</a> • <a href="qh-stat.htm">Stat</a>
|
---|
252 | • <a href="qh-user.htm">User</a><br>
|
---|
253 | </p>
|
---|
254 | <p><!-- GC common information --> </p>
|
---|
255 | <hr>
|
---|
256 | <p><a href="http://www.geom.uiuc.edu/"><img
|
---|
257 | src="../../html/qh--geom.gif" align="middle" width="40" height="40"></a><i>The
|
---|
258 | Geometry Center Home Page </i></p>
|
---|
259 | <p>Comments to: <a href=mailto:qhull@qhull.org>qhull@qhull.org</a>
|
---|
260 | </a><br>
|
---|
261 | Created: May 2, 1997 --- <!-- hhmts start --> Last modified: see top <!-- hhmts end --> </p>
|
---|
262 | </body>
|
---|
263 | </html>
|
---|