Welcome to mirror list, hosted at ThFree Co, Russian Federation.

qh-user.htm « libqhull « src « qhull « src - github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6682f4b2fbec68f5eee321fee8ce8545c7aad01a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
<!-- Do not edit with Front Page, it adds too many spaces -->
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title>user.c -- user-definable operations</title>
</head>

<body>
<!-- Navigation links -->
<p><a name="TOP"><b>Up:</b></a> <a
href="http://www.qhull.org">Home page</a> for Qhull<br>
<b>Up:</b> <a href="../../html/index.htm#TOC">Qhull manual</a>: Table of Contents <br>
<b>Up:</b> <a href="../../html/qh-quick.htm#programs">Programs</a>
&#149; <a href="../../html/qh-quick.htm#options">Options</a>
&#149; <a href="../../html/qh-opto.htm#output">Output</a>
&#149; <a href="../../html/qh-optf.htm#format">Formats</a>
&#149; <a href="../../html/qh-optg.htm#geomview">Geomview</a>
&#149; <a href="../../html/qh-optp.htm#print">Print</a>
&#149; <a href="../../html/qh-optq.htm#qhull">Qhull</a>
&#149; <a href="../../html/qh-optc.htm#prec">Precision</a>
&#149; <a href="../../html/qh-optt.htm#trace">Trace</a>
&#149; <a href="index.htm">Functions</a><br>
<b>Up:</b> <a href="../../html/qh-code.htm#TOC">Qhull code: Table of Contents</a><br>
<b>To:</b> <a href="index.htm">Qhull functions</a>, macros, and data structures<br>
<b>To:</b> <a href="qh-geom.htm">Geom</a> &#149; <a href="qh-globa.htm">Global</a>
&#149; <a href="qh-io.htm">Io</a> &#149; <a href="qh-mem.htm">Mem</a>
&#149; <a href="qh-merge.htm">Merge</a> &#149; <a href="qh-poly.htm">Poly</a>
&#149; <a href="qh-qhull.htm">Qhull</a> &#149; <a href="qh-set.htm">Set</a>
&#149; <a href="qh-stat.htm">Stat</a> &#149; <a href="qh-user.htm#TOC">User</a>
</p>
<hr>
<h2>user.c -- user-definable operations</h2>
<blockquote>
<p>This section contains functions and constants that the
user may want to change. </p>

</blockquote>
<p><b>Copyright &copy; 1995-2015 C.B. Barber</b></p>
<hr>
<p><a href="#TOP">&#187;</a> <a href="qh-geom.htm#TOC">Geom</a>
<a name="TOC">&#149;</a> <a href="qh-globa.htm#TOC">Global</a>
&#149; <a href="qh-io.htm#TOC">Io</a> &#149; <a href="qh-mem.htm#TOC">Mem</a>
&#149; <a href="qh-merge.htm#TOC">Merge</a> &#149; <a href="qh-poly.htm#TOC">Poly</a>
&#149; <a href="qh-qhull.htm#TOC">Qhull</a> &#149; <a href="qh-set.htm#TOC">Set</a>
&#149; <a href="qh-stat.htm#TOC">Stat</a> &#149; <b>User</b>
</p>
<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
<a href="user.h">user.h</a></h3>
<ul>
<li><a href="#qulllib">qhull library constants</a></li>
<li><a href="#utype">user.h data types and
configuration macros</a> </li>
<li><a href="#ujoggle">joggle constants</a></li>
<li><a href="#uperform">performance related constants</a></li>
<li><a href="#umemory">memory constants</a></li>
<li><a href="#ucond">conditional compilation</a></li>
<li><a href="#umerge">merge constants</a> </li>
<li><a href="#ufunc">user.c functions</a> </li>
<li><a href="#u2func">usermem.c functions</a> </li>
<li><a href="#u3func">userprintf.c functions</a> </li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="qulllib">Qhull library constants</a></h3>
<ul>
<li><a href="user.h#filenamelen">FILENAMElen</a> -- max length of TI or TO filename </li>
<li><a href="user.h#msgcode">msgcode</a> -- unique message codes for qh_fprintf </li>
<li><a href="user.h#qh_OPTIONline">qh_OPTIONline</a> -- max length of option line ('FO')</li>
</ul>


<h3><a href="qh-user.htm#TOC">&#187;</a><a name="utype">user.h data
types and configuration macros</a></h3>
<ul>
<li><a href="user.h#realT">realT, qh_REAL...</a> size
of floating point numbers </li>
<li><a href="user.h#countT">countT, COUNTmax</a> size
of counts and identifiers, typically 'int' or 'long long' </li>
<li><a href="user.h#CPUclock">qh_CPUclock</a> clock()
function for reporting the total time spent by
Qhull </li>
<li><a href="user.h#RANDOM">qh_RANDOM...</a> random
number generator </li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="udef">definition constants</a></h3>
<ul>
<li><a href="user.h#DEFAULTbox">qh_DEFAULTbox</a>
define default box size for rbox, 'Qbb', and 'QbB' (Geomview expects 0.5) </li>
<li><a href="user.h#INFINITE">qh_INFINITE</a> on
output, indicates Voronoi center at infinity </li>
<li><a href="user.h#ORIENTclock">qh_ORIENTclock</a>
define convention for orienting facets</li>
<li><a href="user.h#ZEROdelaunay">qh_ZEROdelaunay</a>
define facets that are ignored in Delaunay triangulations</li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="ujoggle">joggle constants</a></h3>
<ul>
<li><a href="user.h#JOGGLEagain">qh_JOGGLEagain</a>
how often to retry before using qh_JOGGLEmaxincrease
again </li>
<li><a href="user.h#JOGGLEdefault">qh_JOGGLEdefault</a>
default value for qh.JOGGLEmax for 'QP' </li>
<li><a href="user.h#JOGGLEincrease">qh_JOGGLEincrease</a>
factor to increase qh.JOGGLEmax on retrys for
'QPn' </li>
<li><a href="user.h#JOGGLEmaxincrease">qh_JOGGLEmaxincrease</a> max
for increasing qh.JOGGLEmax relative to
qh.MAXwidth </li>
<li><a href="user.h#JOGGLEretry">qh_JOGGLEmaxretry</a>
report error if this many retries </li>
<li><a href="user.h#JOGGLEretry">qh_JOGGLEretry</a>
how often to retry before using qh_JOGGLEmax </li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="uperform">performance
related constants</a></h3>
<ul>
<li><a href="user.h#HASHfactor">qh_HASHfactor</a>
total/used hash slots </li>
<li><a href="user.h#INITIALmax">qh_INITIALmax</a> if
dim &gt;= qh_INITIALmax, use min/max coordinate
points for initial simplex </li>
<li><a href="user.h#INITIALsearch">qh_INITIALsearch</a>
if qh.INITIALmax, search points up to this
dimension </li>
<li><a href="user.h#NOtrace">qh_NOtrace</a> disallow
tracing </li>
<li><a href="user.h#VERIFYdirect">qh_VERIFYdirect</a>
'Tv' verifies all <em>points X facets</em> if op
count is smaller </li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="umemory">memory constants</a></h3>
<ul>
<li><a href="user.h#MEMalign">qh_MEMalign</a> memory
alignment for qh_meminitbuffers() in global.c </li>
<li><a href="user.h#MEMbufsize">qh_MEMbufsize</a>
size of additional memory buffers </li>
<li><a href="user.h#MEMinitbuf">qh_MEMinitbuf</a>
size of initial memory buffer </li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="ucond">conditional compilation</a></h3>
<ul>
<li><a href="user.h#compiler">compiler</a> defined symbols,
e.g., _STDC_ and _cplusplus

<li><a href="user.h#COMPUTEfurthest">qh_COMPUTEfurthest</a>
    compute furthest distance to an outside point instead of storing it with the facet
<li><a href="user.h#KEEPstatistics">qh_KEEPstatistics</a>
    enable statistic gathering and reporting with option 'Ts'
<li><a href="user.h#MAXoutside">qh_MAXoutside</a>
record outer plane for each facet
<li><a href="user.h#NOmerge">qh_NOmerge</a>
disable facet merging
<li><a href="user.h#NOtrace">qh_NOtrace</a>
disable tracing with option 'T4'
<li><a href="user.h#QHpointer">qh_QHpointer</a>
access global data with pointer or static structure
<li><a href="user.h#QUICKhelp">qh_QUICKhelp</a>
use abbreviated help messages, e.g., for degenerate inputs
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="umerge">merge
constants</a></h3>
<ul>
<li><a href="user.h#BESTcentrum">qh_BESTcentrum</a>
when does qh_findbestneighbor() test centrums? </li>
<li><a href="user.h#BESTnonconvex">qh_BESTnonconvex</a>
when does qh_findbestneighbor() test nonconvex
ridges only? </li>
<li><a href="user.h#COPLANARratio">qh_COPLANARratio</a>
what is qh.MINvisible? </li>
<li><a href="user.h#DIMreduceBuild">qh_DIMreduceBuild</a>
max dimension for vertex reduction </li>
<li><a href="user.h#DIMmergeVertex">qh_DIMmergeVertex</a>
max dimension for vertex merging </li>
<li><a href="user.h#DISToutside">qh_DISToutside</a>
when is a point clearly outside of a facet for qh_findbestnew and qh_partitionall</li>
<li><a href="user.h#MAXnarrow">qh_MAXnarrow</a> max.
cosine for qh.NARROWhull </li>
<li><a href="user.h#MAXnewcentrum">qh_MAXnewcentrum</a>
when does qh_reducevertices_centrum() reset the
centrum? </li>
<li><a href="user.h#MAXnewmerges">qh_MAXnewmerges</a>
when does qh_merge_nonconvex() call
qh_reducevertices_centrums? </li>
<li><a href="user.h#RATIOnearinside">qh_RATIOnearinside</a>
ratio for retaining inside points for
qh_check_maxout() </li>
<li><a href="user.h#SEARCHdist">qh_SEARCHdist</a>
when is facet coplanar with the best facet for qh_findbesthorizon</li>
<li><a href="user.h#USEfindbestnew">qh_USEfindbestnew</a>
when to use qh_findbestnew for qh_partitionpoint()</li>
<li><a href="user.h#WARNnarrow">qh_WARNnarrow</a>
max. cosine to warn about qh.NARROWhull </li>
<li><a href="user.h#WIDEcoplanar">qh_WIDEcoplanar</a>
what is a wide facet? </li>
<li><a href="user.h#WIDEduplicate">qh_WIDEduplicate</a>
what is a wide ratio on merging duplicate ridges? </li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="ufunc">user.c
functions</a></h3>
<ul>
<li><a href="user.c#qhull_template">Qhull template</a> for calling qh_new_qhull from your program</li>
<li><a href="user.c#errexit">qh_errexit</a> report
error and exit qhull()</li>
<li><a href="user.c#errprint">qh_errprint</a> print
information about facets and ridges </li>
<li><a href="user.c#new_qhull">qh_new_qhull</a> call qhull on an array
of points</li>
<li><a href="user.c#printfacetlist">qh_printfacetlist</a>
print all fields of all facets </li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="u2func">usermem.c
functions</a></h3>
<ul>
<li><a href="usermem.c#qh_exit">qh_exit</a> exit program, same as exit().  May be redefined as throw "QH10003.." by libqhullcpp/usermem_r-cpp.cpp</li>
<li><a href="usermem.c#qh_fprintf_stderr">qh_fprintf_stderr</a> print to stderr when qh.ferr is not defined.</li>
<li><a href="usermem.c#qh_free">qh_free</a> free memory, same as free().</li>
<li><a href="usermem.c#qh_malloc">qh_malloc</a> allocate memory, same as malloc()</li>
</ul>

<h3><a href="qh-user.htm#TOC">&#187;</a><a name="u3func">userprintf.c
 and userprintf_rbox,c functions</a></h3>
<ul>
<li><a href="userprintf.c#qh_fprintf">qh_fprintf</a> print
information from Qhull, sames as fprintf(). </li>
<li><a href="userprintf_rbox.c#qh_fprintf_rbox">qh_fprintf_rbox</a> print
information from Rbox, sames as fprintf(). </li>
</ul>

<p><!-- Navigation links --> </p>
<hr>
<p><b>Up:</b>
<a href="http://www.qhull.org">Home page for
Qhull</a> <br>
<b>Up:</b> <a href="../../html/index.htm#TOC">Qhull manual: Table of Contents</a> <br>
<b>Up:</b> <a href="../../html/qh-quick.htm#programs">Programs</a>
&#149; <a href="../../html/qh-quick.htm#options">Options</a>
&#149; <a href="../../html/qh-opto.htm#output">Output</a>
&#149; <a href="../../html/qh-optf.htm#format">Formats</a>
&#149; <a href="../../html/qh-optg.htm#geomview">Geomview</a>
&#149; <a href="../../html/qh-optp.htm#print">Print</a>
&#149; <a href="../../html/qh-optq.htm#qhull">Qhull</a>
&#149; <a href="../../html/qh-optc.htm#prec">Precision</a>
&#149; <a href="../../html/qh-optt.htm#trace">Trace</a>
&#149; <a href="index.htm">Functions</a><br>
<b>Up:</b> <a href="../../html/qh-code.htm#TOC">Qhull code: Table of Contents</a> <br>
<b>To:</b> <a href="index.htm">Qhull functions</a>, macros, and data structures<br>
<b>To:</b> <a href="qh-geom.htm">Geom</a> &#149;
<a href="qh-globa.htm">Global</a> &#149; <a href="qh-io.htm">Io</a>
&#149; <a href="qh-mem.htm">Mem</a> &#149; <a href="qh-merge.htm">Merge</a>
&#149; <a href="qh-poly.htm">Poly</a> &#149; <a href="qh-qhull.htm#TOC">Qhull</a>
&#149; <a href="qh-set.htm">Set</a> &#149; <a href="qh-stat.htm">Stat</a>
&#149; <a href="qh-user.htm">User</a><br>
</p>
<p><!-- GC common information --> </p>
<hr>
<p><a href="http://www.geom.uiuc.edu/"><img
src="../../html/qh--geom.gif" align="middle" width="40" height="40"></a><i>The
Geometry Center Home Page </i></p>
<p>Comments to: <a href=mailto:qhull@qhull.org>qhull@qhull.org</a>
</a><br>
Created: May 2, 1997 --- <!-- hhmts start --> Last modified: see top <!-- hhmts end --> </p>
</body>
</html>