1 |
|
---|
2 | .............This file lists all changes to qhull and rbox.....................
|
---|
3 |
|
---|
4 | ------------
|
---|
5 | Need help
|
---|
6 | - Qhull needs RPM and Debian builds (CMake's CPackRMP and CPackDeb).
|
---|
7 | - Add an Autotools build for everything
|
---|
8 | - Set up debian build [octave-maintainers]
|
---|
9 | Please keep debian files in config/
|
---|
10 | - Qhull needs a mirror/archive site for old and new builds
|
---|
11 | - The C++ interface needs work. Give it a try and make it better.
|
---|
12 | http://gitorious.org/qhull/
|
---|
13 | - Document with Qt conventions using Doxygen (//! and //!<)
|
---|
14 | - Produce conformant triangulations for merged facets using option 'Qt'
|
---|
15 |
|
---|
16 | To do
|
---|
17 | - Review email for doc changes before jun'10
|
---|
18 | - Git: Create signed tags for Qhull versions
|
---|
19 | - Wiki: Add FIXUP to QH11026 for known problems
|
---|
20 | - Notes to compgeom on conformant triangulation and Voronoi volume
|
---|
21 | - Set File Ver and Product Ver in dll
|
---|
22 | - For the C++ interface, make qh_qh a parameter instead of a global static
|
---|
23 | This replaces qh_QHpointer. It simplifies multithreading.
|
---|
24 | - Compute the convex hull of each Voronoi or Delaunay region
|
---|
25 | - Performance test of qset and qhull
|
---|
26 |
|
---|
27 | ------------
|
---|
28 | Qhull 2012.1 2012/02/18 6.3.1.1494
|
---|
29 | - Fix CMakeLists for libqhull with MATCHES [P. Gajdos]
|
---|
30 |
|
---|
31 | ------------
|
---|
32 | Qhull 2012.1 2012/02/18 6.3.1.1490
|
---|
33 |
|
---|
34 | Code changes
|
---|
35 | - Require option 'Qz' for Delaunay triangulation/Voronoi diagram
|
---|
36 | of cocircular/cospherical points [D. Sheehy]
|
---|
37 | - qh_errexit: Do not call qh_printsummary or qh_printstats on qh_ERRinput
|
---|
38 | - Change error QH6227 (all degenerate) from qh_ERRinput to qh_ERRprec
|
---|
39 | - Change error QH6159 (ID overflow) from qh_ERRinput to qh_ERRqhull
|
---|
40 | - eg/q_eg, q_egtest, q_test: Run if qconvex is in $PATH [M. Atzeri]
|
---|
41 |
|
---|
42 | Build changes [M. Atzeri]
|
---|
43 | - Install to share/doc/qhull instead of share/doc/packages/qhull
|
---|
44 | - On Unix systems, install to share/man/man1 instead of man/man1
|
---|
45 | - CMakeLists: Remove the installation of user_eg* and testqset
|
---|
46 | - CMakeLists: Remove VERSION from qhull executables and libraries
|
---|
47 | - CMakeLists: Define qhull_SOVERSION instead of qhull_MAJOR
|
---|
48 | - CMakeLists: Set SOVERSION for shared libraries
|
---|
49 | - Rename libraries to qhull, qhull_d, qhull_p, and qhull_pd
|
---|
50 | libqhull6_p.vcproj is now libqhull_p.vcproj
|
---|
51 | mingw builds as libqhull.dll
|
---|
52 | cygwin builds as cygqhull-6.dll
|
---|
53 | linux builds as libqhull.so.6.3.1 with symbolic link as libqhull.so
|
---|
54 | - Developers using qhull 2011:
|
---|
55 | libqhull6.so is now libqhull_p.so. Do not use libqhull.so.
|
---|
56 | qhull6.dll is now qhull_p.dll. Do not use qhull.dll.
|
---|
57 | - Merged road/ into libqhullcpp/ and qhulltest/
|
---|
58 | Moved RoadLogEvent.* and RoadError.* to libqhullcpp
|
---|
59 | Moved RoadTest.* to qhulltest (requires Qt)
|
---|
60 | Installed RoadTest.h in libqhullcpp
|
---|
61 |
|
---|
62 | Doc changes
|
---|
63 | - index.htm: Mathworks uses qhull for n-d
|
---|
64 | - qhull.htm: Fix qhull for qconvex
|
---|
65 | - qdelaun.htm/qvoronoi.htm: Use option 'Qz' for circular/cospherical inputs
|
---|
66 | - make help: Display targets
|
---|
67 | - Makefile: Better messaging
|
---|
68 |
|
---|
69 | ------------
|
---|
70 | Qhull 2012.1 2012/02/02 6.3.0.1483
|
---|
71 |
|
---|
72 | Bug fixes
|
---|
73 | - Fixed qset.c for -fno-strict-aliasing. This gcc option is no longer needed
|
---|
74 | (disallow two pointers of differing types to the same memory location)
|
---|
75 | - Fixed error in qh_setappend_set if first set full and second set empty
|
---|
76 | - qh_setdelnth, qh_setdelnth_sorted: fixed wording of error message
|
---|
77 | - qh_setcheck: error message listed size and max backwards.
|
---|
78 | - qh_setequal: Allow NULL set as documented
|
---|
79 | - qh_setindex: Allow NULL set as documented
|
---|
80 | - qh_settemppush: report error if NULL
|
---|
81 |
|
---|
82 | Code changes
|
---|
83 | - Add testqset: low level test of qset.c with mem.c
|
---|
84 | - qh_setendpointer: Implements QSet::endPointer()
|
---|
85 | - Assigned unique error code for qh_gethash
|
---|
86 |
|
---|
87 | Build changes
|
---|
88 | - Added qhull.dll(.so) for Octave and other Debian builds
|
---|
89 | The global data structure qh_qh is statically defined (no qh_QHpointer)
|
---|
90 | Linked user_eg2 with qhull.dll (libqhull.so) instead of qhullstatic
|
---|
91 | Added qh_dllimport to libqhull.h for qhull.dll with MSVC
|
---|
92 | Changed qhull-app-shared.pri to use libqhull (without qh_QHpointer)
|
---|
93 | - Renamed libqhull6.so to libqhull6_p.so
|
---|
94 | Renamed qhull6.dll to qhull6_p.dll
|
---|
95 | The _p libraries (e.g., libqhull6_p.so) require -Dqh_QHpointer
|
---|
96 | Renamed qhull6.vcproj to libqhull6_p.vcproj
|
---|
97 | Added libqhullp/libqhullp.pro for shared library (libqhull6_p.so)
|
---|
98 | Added qhull-app-sharedp.pri for shared libraries with qh_QHpointer
|
---|
99 | - Install libqhull/*.htm files into include/libqhull
|
---|
100 | - Removed libqhull/qhull.h-deprecated [J. Eaton]
|
---|
101 | - Other changes to Makefile builds
|
---|
102 | Added 'make qtestall' as a smoketest of each qhull program
|
---|
103 | src/libqhull/Makefile: Use 'ar -rs ...' instead of ranlib
|
---|
104 | src/libqhull/Makefile: Fixed targets for cleanall
|
---|
105 | - Other changes to DevStudio builds
|
---|
106 | Moved pdb files for qhull libraries to lib/
|
---|
107 | AdditionalIncludeDirectories: Removed ../src/libqhullcpp
|
---|
108 | Use build-cmake/ for the DevStudio CMake build
|
---|
109 | - Other changes to Qt builds
|
---|
110 | Renamed qhull-libsrc.pri to qhull-libqhull-src.pri
|
---|
111 | - Added explicit d2u conversions to qhull-zip.sh
|
---|
112 | - Fixed \n vs. \r\n issues for Windows source files
|
---|
113 |
|
---|
114 | Draft of Debian/AutoConf build (untested)
|
---|
115 | - Adjusted the Makefile.am's for the new directory structure.
|
---|
116 | - Added testqset to bin_PROGRAMS
|
---|
117 | - config/bootstrap.sh copies program sources into src/libqhull
|
---|
118 | - Kept qh_QHpointer=0 (static global data structure, qh_qh). It is faster.
|
---|
119 | Planning a new interface (qhull7?) which passes qh_qh as a parameter
|
---|
120 | - Added config/changelog from the 2003.1 Debian build
|
---|
121 | - Moved the debian/patches directory to config/
|
---|
122 | Optional patches to change smoketest message and turn on qh_QHpointer
|
---|
123 | - Deleted the debian directory. It was the old Debian build from 2003.1
|
---|
124 | Rafael Laboissiere's config directory replaced this build..
|
---|
125 | - Deleted Make-conf.sh (also the old Debian build)
|
---|
126 |
|
---|
127 | Doc changes
|
---|
128 | - FAQ: Updated notes on computing volume of a Voronoi region
|
---|
129 | - Added direct link to ACM Digital Library for downloading the qhull paper
|
---|
130 | - Added link to Qhull in R
|
---|
131 | - qset.c: Updated notes about NULL sets
|
---|
132 | - qh_setappend: clarify qh_setappend for NULL newelem
|
---|
133 | - qh_setdellast: Fix head note
|
---|
134 | - Add build/README.txt
|
---|
135 | - Add uninstall instructions to README.txt and CMakeLists.txt
|
---|
136 | - Added instructions to create build/*.vcproj to CMakeLists.txt
|
---|
137 | - Update copyright to 2012
|
---|
138 | - Updated page links. Added Google books, patents, and blogs.
|
---|
139 |
|
---|
140 | -----------
|
---|
141 | Qhull 2009.1.3 2011/12/06
|
---|
142 | configure: Add -fno-strict-aliasing if $GCC, Required for gcc 4.1+
|
---|
143 |
|
---|
144 | ------------
|
---|
145 | Qhull 2011.2 2011/11/29 6.2.1.1446
|
---|
146 |
|
---|
147 | Bug fixes
|
---|
148 | - qh_new_qhull: Call qh_prepare_output if !outfile [A. Aldoma]
|
---|
149 | No effect on qhull users since qh_prepare_output is always called.
|
---|
150 | - Replace Qhull-go.pif with Qhull-go.lnk for Windows 7 64-bit [lots]
|
---|
151 | - Error if qh_newhashtable, qh_setnew, or qh_memalloc overflows [X. Cheng]
|
---|
152 | For example, 'rbox 64 D32' overflows hash table for qh_matchnewfacets
|
---|
153 | Qhull uses 32-bit ints for identifiers, counts, and sizes. See "WARN64"
|
---|
154 | - q_eg, q_test: change tail +3 to tail -n +3 [N. Dubray, M. Atzeri]
|
---|
155 | - Qhull-go.bat: Changed 'cmd' to '%comspec%'
|
---|
156 |
|
---|
157 | Build changes
|
---|
158 | - Added src/libqhull/Makefile for simple gcc build of executables and lib
|
---|
159 | - qhulltest.vcproj: Replaced full path to QT with $QTDIR (e.g., c:/qt/4.7.4)
|
---|
160 | - Split userprintf_rbox.c from userprintf.c,
|
---|
161 | Otherwise qhull brings in rboxlib and rbox brings in libqhull
|
---|
162 | - Makefile: qhullx target must be after LIBQHULLS_OBJS
|
---|
163 | - Makefile: Explicitly list rbox dependencies for qhullx target
|
---|
164 | - MBorland: Fixed tabs
|
---|
165 | - Placed $LIBQHULLS_OBJS in same order. Frequently called ones together.
|
---|
166 | - Update file lists for Make-config.sh [O. Lahaye]
|
---|
167 | - CMakeLists: add README.txt,etc. to DOC_INSTALL_DIR [M. Atzeri]
|
---|
168 | - Restored qhull.h-deprecated.
|
---|
169 | qhull.h conflicts with Qhull.h on Windows systems [C. Abela]
|
---|
170 | - make-config.sh: Add warning that it is out-of-date
|
---|
171 | - Remove extra space in '#! /bin/sh' in q_eg, etc. [P. Cheeseman]
|
---|
172 |
|
---|
173 | Source changes
|
---|
174 | - libqhull.h: Added qh_True and qh_False for True/False [A. Mutzel]
|
---|
175 | Did not remove or replace True/False since it is used everywhere
|
---|
176 | - Moved error message from qh_argv_to_command to caller. Avoids dependency.
|
---|
177 | - user_eg3.c: Use '10 D2' as default rbox (e.g., 'user_eg3 rbox qhull d')
|
---|
178 | - user.c, user_eg2.c: Add test of qh_qh as done in user_eg.c
|
---|
179 | - q_test: Removed duplicate test of qhull C-0.02
|
---|
180 |
|
---|
181 | Documentation
|
---|
182 | - index.html: Added ACM Authorizer link to ACM Trans. Math. Software
|
---|
183 | - Split Delaunay and Voronoi FAQs
|
---|
184 | - FAQ: How to compute the volume of a Voronoi region [C, Brinch]
|
---|
185 | - Add 'FS' to qconvex prompt (total area and volume)
|
---|
186 | - Add clarification to 'Fv' about corner input sites [O. Can]
|
---|
187 | - Qhull-go.bat: Removed out-of-date advice. Added title.
|
---|
188 | - qh-code.htm: Updated the discussion of multi-threading for C++ [I. Pirwani]
|
---|
189 |
|
---|
190 | Qhull 2009.1.2 2011/11/21
|
---|
191 | - Revert to LF line endings [P. Cheeseman]
|
---|
192 | - Remove out-of-date material from qhull-go.bat
|
---|
193 | - Replaced QHULL-GO with a lnk file
|
---|
194 |
|
---|
195 | Qhull 2011.1 2011/05/23 6.2.0.1385 (exe/dll files unchanged)
|
---|
196 | - delaunay.vcproj: Fixed qhullstatic_d.lib for debug and minrelsize builds
|
---|
197 | - Did not redate the distribution
|
---|
198 |
|
---|
199 | Qhull 2011.1 2011/05/18 6.2.0.1385 (exe/dll files unchanged)
|
---|
200 | - Add 'm' library to shared and static targets on Unix [A. Bouchard]
|
---|
201 |
|
---|
202 | Qhull 2011.1 2011/05/14 6.2.0.1383 (exe/dll files unchanged)
|
---|
203 | - PointCoordinates.cpp: Add #include <iterator> [R. Richter, S. Pasko]
|
---|
204 | - Remove deprecated libqhull/qhull.h
|
---|
205 | Use libqhull/libqhull.h instead. Avoids confusion with libqhullcpp/Qhull.h
|
---|
206 | - Makefile: Add LIBDIR, INCDIR, and DESTDIR to install [L.H. de Mello]
|
---|
207 | Separate MAN install from DOC install
|
---|
208 | Create install directories
|
---|
209 | Installs headers to include/libqhull, include/libqhullcpp, include/road
|
---|
210 | - CMakeLists.txt: Add MAN_INSTALL_DIR for qhull.1 and rbox.1 man pages
|
---|
211 | Add RoadTest.h to include/road for Qt users (road_HEADERS)
|
---|
212 | - Renamed md5sum files to avoid two extensions
|
---|
213 | - qh-get.htm: Add Readme links and 2009.1 note.
|
---|
214 | - qh-optf.htm: Fix link
|
---|
215 | - index.htm: Updated Google Scholar link
|
---|
216 | - qhull-zip.sh: Improved error message.
|
---|
217 |
|
---|
218 | ------------
|
---|
219 | Qhull 2011.1 2011/04/17 6.2.0.1373
|
---|
220 |
|
---|
221 | Changes to deliverables
|
---|
222 | - qvoronoi: Deprecated 'Qt' and 'QJn'. Removed from documentation and prompts.
|
---|
223 | These options produced duplicate Voronoi vertices for cospherical data.
|
---|
224 | - Removed doskey from Qhull-go.bat. It is incompatible with Windows 7
|
---|
225 | - Added 'facets' argument to user_eg3.cpp
|
---|
226 | - user_eg links with shared library
|
---|
227 | - qhulltest.cpp: Add closing prompt.
|
---|
228 |
|
---|
229 | Changes to build system
|
---|
230 | - Reorganized source directories
|
---|
231 | - Moved executables to bin directory
|
---|
232 | - Add CMake build for all targets (CMakeFiles.txt) [M. Moll assisted]
|
---|
233 | - Add gcc build for all targets (Makefile)
|
---|
234 | - Fixed location of qhull.man and rbox.man [M. Moll]
|
---|
235 | - Add DevStudio builds for all targets (build/*.vcproj)
|
---|
236 | - Added shared library (lib/qhull6.dll)
|
---|
237 | Added qh_QHpointer_dllimport to work around problems with MSVC
|
---|
238 | - Added static libraries with and without qh_QHpointer (lib/qhullstatic.lib)
|
---|
239 | - Added eg/make-vcproj.sh to create vcproj/sln files from cmake and qmake
|
---|
240 | - Document location of qh_QHpointer
|
---|
241 | - Use shadow build directory
|
---|
242 | - Made -fno-strict-aliasing conditional on gcc version
|
---|
243 | - Added src/qhull-app-cpp.pri, src/qhull-app-c.pri, etc. for common settings
|
---|
244 | - Add .gitignore with ignored files and directories.
|
---|
245 | - Use .git/info/exclude for locally excluded files.
|
---|
246 | - Fixed MBorland for new directory structure
|
---|
247 |
|
---|
248 | Changes to documentation
|
---|
249 | - qvoronoi.htm: Remove quotes from qvoronoi example
|
---|
250 | - qhull-cpp.xml: Add naming conventions
|
---|
251 | - index.htm: Add Google Scholar references
|
---|
252 | - qh-optf.htm: Add note about order of 'Fn' matching 'Fv' order [Q. Pan]
|
---|
253 | - Add patch for old builds in qh-get.htm
|
---|
254 | - Added C++ compiling instructions to README.txt
|
---|
255 | - Add instructions for fixing the DOS window
|
---|
256 | - Changed DOS window to command window
|
---|
257 | - Fixed html links
|
---|
258 | - qh-get.htm: Dropped the Spanish mirror site. It was disabled.
|
---|
259 |
|
---|
260 | Changes to C code
|
---|
261 | - mem.h: Define ptr_intT as 'long long' for Microsoft Windows _win64 builds.
|
---|
262 | On Linux and Mac, 'long' is 64-bits on a 64-bit host
|
---|
263 | - Added qh_QHpointer_dllimport to work around MSVC problem
|
---|
264 | - qconvex.c,etc.: Define prototype for _isatty
|
---|
265 | - Define MSG_QHULL_ERROR in user.h
|
---|
266 | - Move MSG_FIXUP to 11000 and updated FIXUP QH11...
|
---|
267 |
|
---|
268 | Changes to test code
|
---|
269 | - Add note to q_test than R1e-3 may error (qh-code.htm, Enhancements)
|
---|
270 | - Add test for executables to q_eg, etc.
|
---|
271 | - Fixed Qhull-go.bat. QHULL-GO invokes it with command.com,
|
---|
272 |
|
---|
273 | Changes to C++ interface
|
---|
274 | - QhullFacet: Added isSimplicial, isTopOrient, isTriCoplanar, isUpperDelaunay
|
---|
275 | - Added Qhull::defineVertexFacetNeighbors() for facetNeighbors of vertices.
|
---|
276 | Automatically called for facet merging and Voronoi diagrams
|
---|
277 | Do not print QhullVertex::facetNeighbors is !facetNeighborsDefined()
|
---|
278 | - Add Fixup identifiers
|
---|
279 | - QhullError: Add copy constructor, assignment operator, and destructor
|
---|
280 | - Add throw() specifiers to RoadError and QhullError
|
---|
281 | - Renamed RoadError::defined() to RoadError::isDefined()
|
---|
282 | - Add #error to Qhull.h if qh_QHpointer is not defined
|
---|
283 |
|
---|
284 | Changes to C++ code
|
---|
285 | - Fixed bug reported by renangms. Vertex output throws error QH10034
|
---|
286 | and defineVertexNeighbors() does not exist.
|
---|
287 | - Define QHULL_USES_QT for qt-qhull.cpp [renangms]
|
---|
288 | - Reviewed all copy constructors and copy assignments. Updated comments.
|
---|
289 | Defined Qhull copy constructor and copy assignment [G. Rivet-Sabourin]
|
---|
290 | Disabled UsingQhullLib default constructor, copy construct, and copy assign
|
---|
291 | - Merged changes from J. Obermayr in gitorious/jobermayrs-qhull:next
|
---|
292 | - Fix strncat limit in rboxlib.c and global.c
|
---|
293 | - Changes to CMakeLists.txt for openSUSE
|
---|
294 | - Fixed additional uses of strncat
|
---|
295 | - Fixed QhullFacet::PrintRidges to check hasNextRidge3d()
|
---|
296 | - Removed gcc warnings for shadowing from code (src/qhull-warn.pri)
|
---|
297 | - Removed semicolon after extern "C" {...}
|
---|
298 | - Removed experimental QhullEvent/QhullLog
|
---|
299 | - Use fabs() instead of abs() to avoid accidental conversions to int
|
---|
300 | - Fixed type of vertex->neighbors in qh_printvoronoi [no effect on results]
|
---|
301 | - Removed unnecessary if statement in qh_printvoronoi
|
---|
302 |
|
---|
303 | ------------
|
---|
304 | qhull 2010.1 2010/01/14
|
---|
305 | - Fixed quote for #include in qhull.h [U.Hergenhahn, K.Roland]
|
---|
306 | - Add qt-qhull.cpp with Qt conditional code
|
---|
307 | - Add libqhullp.proj
|
---|
308 | - Add libqhull5 to Readme, Announce, download
|
---|
309 | - Reviewed #pragma
|
---|
310 | - Reviewed FIXUP and assigned QH tags
|
---|
311 | - All projects compile with warnings enabled
|
---|
312 | - Replaced 'up' glyphs with »
|
---|
313 | - Moved cpp questions to qh-code.htm#questions-cpp
|
---|
314 | - Moved suggestions to qh-code.htm#enhance
|
---|
315 | - Moved documentation requests to qh-code.htm#enhance
|
---|
316 | - Add md5sum file to distributions
|
---|
317 | - Switched to DevStudio builds to avoid dependent libraries, 10% slower
|
---|
318 | Removed user_eg3.exe and qhullcpp.dll from Windows build
|
---|
319 | Fix qhull.sln and project files for qh_QHpointer
|
---|
320 | - Add eg/qhull-zip.sh to build qhull distribution files
|
---|
321 |
|
---|
322 | ------------
|
---|
323 | qhull 2010.1 2010/01/10
|
---|
324 | - Test for NULL fp in qh_eachvoronoi [D. Szczerba]
|
---|
325 |
|
---|
326 | qhull 2010.1 2010/01/09
|
---|
327 |
|
---|
328 | Changes to build and distribution
|
---|
329 | - Use qh_QHpointer=0 for libqhull.a, qhull, rbox, etc.
|
---|
330 | Use -Dqh_QHpointer for libqhullp.a, qhullcpp.dll, etc.
|
---|
331 | qh_QHpointer [2010, gcc] 4% time 4% space, [2003, msvc] 8% time 2% space
|
---|
332 | - Add config/ and project/debian/ for Autoconf build [R. Laboissiere]
|
---|
333 | from debian branch in git and http://savannah.nongnu.org/cvs/?group=qhull
|
---|
334 | - Add CMakeLists.txt [kwilliams]
|
---|
335 | - Fix tabs in Makefile.txt [mschamschula]
|
---|
336 | - Add -fno-strict-aliasing to Makefile for gcc 4.1, 4.2, and 4.3 qset segfault
|
---|
337 | - Remove user_eg.exe and user_eg2.exe from Windows distribution
|
---|
338 | - Order object files by frequency of execution for better locality.
|
---|
339 |
|
---|
340 | Changes to source
|
---|
341 | - Remove ptr_intT from qh_matchvertices. It was int since the beginning.
|
---|
342 | - user.h requires <time.h> for CLOCKS_PER_SEC
|
---|
343 | - Move ostream<<QhullFacetList from inline to compiled.
|
---|
344 | - Removed ConvexHull/ from git. Not used.
|
---|
345 |
|
---|
346 | ------------
|
---|
347 | qhull 2009.1.1 2010/01/09
|
---|
348 | - Patch release of 2009.1.
|
---|
349 | qh_gethash allowed a negative result, causing overwrite or segfault
|
---|
350 | See git:qhull/project/patch/qhull-2003.1/poly.c-qh_gethash.patch
|
---|
351 | Compared results of q_test, q_eg, q_egtest with patched poly.c, qhull-2003.1
|
---|
352 |
|
---|
353 | ------------
|
---|
354 | qhull 2010.1 2010/01/07
|
---|
355 | - Assign type to qh.old_qhstat and memT.tempstack [amorilia]
|
---|
356 | - Replace tabs with spaces.
|
---|
357 | - Fix qh_pointid in case ptr_intT is unsigned
|
---|
358 |
|
---|
359 | qhull 2010.1 2010/01/06
|
---|
360 | - Fixed serious bug in qh_gethash [poly.c]
|
---|
361 | - Documentation and build system are incomplete (see above)
|
---|
362 | - First release of C++ interface [qh-code.htm]
|
---|
363 | - Development moved to http://gitorious.org/qhull
|
---|
364 | git clone git@gitorious.org:qhull/qhull.git
|
---|
365 | - Did not fix conformant tesselations for 'Qt'.
|
---|
366 | For details, see http://www.qhull.org/news#bugs of May 2007 and Dec 2006.
|
---|
367 | - Use g++ builds for Windows distribution (10% faster than msvc2005)
|
---|
368 | Combined vcproj/ and qtproj/ into project/
|
---|
369 | vcproj will be replaced by qmake generated files
|
---|
370 |
|
---|
371 | ------------
|
---|
372 | qhull 2010.0.3 2010/01/05
|
---|
373 | Fixed bugs
|
---|
374 | - 'QJn': Fix qh.STOPcone in qh_build_withrestart(). It was not cleared.
|
---|
375 | - qh_initqhull_outputflags [global.c]: warn about Qc only if QHULLfinished
|
---|
376 | otherwise set if needed
|
---|
377 |
|
---|
378 | qhull 2010.0.2 2010/01/04
|
---|
379 |
|
---|
380 | Fixed bugs
|
---|
381 | - qh_gethash [poly.c]: fix sign conversion.
|
---|
382 | Previously, the result may be negative, leading to a segfault.
|
---|
383 | The bug is more likely with large address spaces
|
---|
384 | Reviewed all uses of %(modulo) for remainder with negative arguments
|
---|
385 | - Reviewed output of q_test and compared to results from 2003.1
|
---|
386 |
|
---|
387 | Breaking code changes
|
---|
388 | - Return type of qh_gethash changed from unsigned to int. Matches 'size'
|
---|
389 | - addhash takes a signed hash
|
---|
390 | qh_addhash( newelem, hashtable, hashsize, hash )
|
---|
391 |
|
---|
392 | Code changes
|
---|
393 | - Test for qh_qh in qh_printf
|
---|
394 | - Makefile.txt corrected for libqhull build [amorilia]
|
---|
395 | - Renamed index to idx to avoid shadowing BSD strings.h [kwilliams]
|
---|
396 |
|
---|
397 | qhull 2010.0.1 2010/01/03
|
---|
398 |
|
---|
399 | New Features:
|
---|
400 | - Added option 'Ta' to annotate output with message codes
|
---|
401 |
|
---|
402 | Preliminary C++ support:
|
---|
403 | - C++ declarations may change without warning
|
---|
404 | - Preliminary documentation for Qhull's C++ interface [qh-code.htm#cpp, qhull-cpp.xml]
|
---|
405 | - Added user_eg3 as an example of Qhull.cpp
|
---|
406 | - Removed qhull_interface.cpp
|
---|
407 |
|
---|
408 | Changes to qhull options and results
|
---|
409 | - Allow 'd' and 'v' as the filename for 'TO ..' and 'TI ...' in qdelaunay [M. Jambon]
|
---|
410 | - 'rbox tN' requires an integer (previously allowed floats)
|
---|
411 | - Allow quoted filenames for 'TO ...' and 'TI ...'
|
---|
412 | - Prefix error messages and warnings with a message code (e.g., QH6012)
|
---|
413 | - Fixed rbox ignoring flags that were not separated by spaces
|
---|
414 | - Report all hidden options before exiting in qh_checkflags()
|
---|
415 | - Defined qh_OPTIONline [user.h] as max length of option line ('FO')
|
---|
416 | - Report error if negative arguments to rbox 'G', 'L', 'Z'
|
---|
417 | - Unknown rbox flag changed from a warning to an error
|
---|
418 | - Set error status 4 qh_ERRmem if rbox runs out of memory
|
---|
419 | - Removed extra spaces at end of line
|
---|
420 |
|
---|
421 | Breaking Code Changes:
|
---|
422 | - Renamed qh.coplanarset to coplanarfacetset. Avoids conflict with facetT.coplanarset
|
---|
423 | - qh_restore_qhull() zeroes out qh.old_qhstat and qh.old_tempstack. Ownership moved.
|
---|
424 | - Rewrote save_qhull/restore_qhull
|
---|
425 | - Add Ztotcheck to zzdef_ [R. Gardener]
|
---|
426 | - Changed qh_malloc to size_t (was unsigned long)
|
---|
427 | - Declare qh_PRINT instead of int [kwilliams]
|
---|
428 | - In qh_printafacet(), changed error output to 'qh ferr'
|
---|
429 |
|
---|
430 | Bug fixes to C code:
|
---|
431 | - Use gcc 4.4.0 or later. gcc 4.2.1, 4.2.2, and 4.3.2 -O2 segfaults in qset.c . gcc 4.1.1 was OK
|
---|
432 | See bug report http://gcc.gnu.org/ml/gcc-bugs/2007-09/msg00474.html
|
---|
433 | - Rewrite qh_setappend to avoid g++ 4.1, 4.2, and 4.3 strict_aliasing error.
|
---|
434 | Orion Poplawski (orion@cora.nwra.com)
|
---|
435 | http://www.rpmfind.net/linux/RPM/fedora/12/ppc/qhull-devel-2003.1-13.fc12.ppc64.html
|
---|
436 | - Fixed qh_findfacet_all(), "REALmin" should be "-REALmax" [L.A. Taylor].
|
---|
437 | Effects library users for convex hulls and halfspace intersections.
|
---|
438 | - qh_printfacet [io.c] Removed extra space for neighboring facets
|
---|
439 | - Report error if d points, Delaunay, and not Qz
|
---|
440 | - Fixed double-free of facet->centrum for triangulated facets
|
---|
441 | - Fixed mindist initialization if !testcentrum in io.c findbest_test [Ratcliff]
|
---|
442 | - Fixed parentheses around warning for missing 'Qc' [qh_initqhull_outputflags]
|
---|
443 | - Fixed rbox buffer overflow of 'command' when appending seedbuf
|
---|
444 | - Fixed option string for 'rbox t t999'. Although seed was correctly set to 999,
|
---|
445 | a random seed was appended to the rbox comment (e.g., 'rbox t t999 t32343')
|
---|
446 | - Fixed upper bound of sanity check for qh_RANDOMmax in qh_initqhull_globals()
|
---|
447 |
|
---|
448 | Changes to C code
|
---|
449 | - Reordered #include from specific to general. Move up .h for module.
|
---|
450 | - Removed qh.old_stat -- never used
|
---|
451 | - Removed qh_clearcenters from qh_freeqhull. Duplicated by qh_delfacet
|
---|
452 | - qh_printcenter [io.c] removed unreachable fprintf argument
|
---|
453 | - qh_getarea() [geom2.c] ignored on multiple calls (qh.hasAreaVolume)
|
---|
454 | - qh_getarea() [geom2.c] checks facet->isarea. Set by QhullFacet.facetArea()
|
---|
455 | - qh_triangulate() [poly2.c] ignored on multiple calls (qh.hasTriangulation)
|
---|
456 | - Add statistics for vertex_visit and visit_id to buildtracing
|
---|
457 | - Defined scale and offset parameters for qh_randomfactor
|
---|
458 |
|
---|
459 | Bug fixes and changes to mem.c/mem.h
|
---|
460 | - Fixed qhmem.totshort (total short memory in use)
|
---|
461 | - Memory tracing (T5) redone for sort order by object
|
---|
462 | - Added full tracing for short memory allocations.
|
---|
463 | - Added qhmem.totfree (total short memory on freelists)
|
---|
464 | Increases size of qh_memalloc_ and qh_memfree_
|
---|
465 | - Added qhmem.totdropped (leftover freesize at end of each short buffer)
|
---|
466 | - Added qhmem.totunused (short size - request size)
|
---|
467 | - Added qhmem.totbuffer (total short memory buffer w/o links)
|
---|
468 | - Added memory statistics to qh_NOmem;
|
---|
469 | - Added qh_memtotal to track allocated memory
|
---|
470 | - Renamed qh_memfree parameter to 'insize' for consistency with qh_memalloc
|
---|
471 | - Removed qhmem.curlong. qa_memfreeshort computes curlong from cntlong and cntfree
|
---|
472 | - In mem.h, changed ptr_intT to long. qh_meminit() checks that it holds a 'void*'
|
---|
473 |
|
---|
474 | Fixed g++ and devstudio warnings
|
---|
475 | - Except for bit field conversions, compiles cleanly with
|
---|
476 | -Wall -Wextra -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-conversion -Wconversion
|
---|
477 | - Fixed warnings at VC8, level 4
|
---|
478 | - Fix data types to remove conversion warnings [kwilliams]
|
---|
479 | - Use size_t for calls to malloc,etc [kwilliams]
|
---|
480 | Retained int sizes for qset.h and mem.h. Follows Qt convention
|
---|
481 | and is easier to work with. int can be 64-bits if 2 billion facets
|
---|
482 | - Change literal strings to const char* [kwilliams]
|
---|
483 | - Added type casts to SETfirst and SETsecond [amorilia+alphax]
|
---|
484 | - getid_() returns an int [kwilliams]
|
---|
485 | - Add missing const annotations [kwilliams]
|
---|
486 | - Fixed 64-bit warnings (marked with "WARN64")
|
---|
487 | - Convert sizeof to (int) for int parameters
|
---|
488 | - In libqhull.c, added explicit casts from long to float, Avoids warning
|
---|
489 | - In global.c, cast time() to int for QRandom-seed. Avoids warning
|
---|
490 |
|
---|
491 | Changes to C code for C++ support
|
---|
492 | - Add sln, vcproj, and qtpro files for building Qhull -- add to README notes
|
---|
493 | - Added dim to vertexT for cpp interface. Reduced size of qh.vertex_visit
|
---|
494 | - qh_produce_output [io.c] may be called multiple times (C++ interface)
|
---|
495 | - Moved SETsizeaddr_() to qset.h for use by QhullSet.cpp
|
---|
496 | - Option 'Tz' sets flag qh.USEstdout for QhullPoints.cpp
|
---|
497 | - Added support for multiple output runs from QhullPoints.outputQhull
|
---|
498 | - qh_clear_outputflags() resets the output flags
|
---|
499 | - qh_initqhull_outputflags split from qh_initqhull_globals
|
---|
500 | - Added qh.run_id, a random identifier for this instance of Qhull (QhullPoints)
|
---|
501 | - For qh.run_id, initqhull_start initializes qh_RANDOMseed to time instead of 1
|
---|
502 | - Extracted qh_argv_to_command (random.c) from qh_init_qhull_command and fixed a buffer overflow
|
---|
503 | - Moved qh_strtod/qh_strtol from global.c to random.c for use in rboxlib.c
|
---|
504 | - Split out random functions into random.c
|
---|
505 | - Added message codes to qh_fprintf(). See its definition in user.c
|
---|
506 | - Replaced exit, malloc, free, fprintf, and fputs with qh_malloc,...[J.W. Ratcliff]
|
---|
507 | - Added qh_fprintf, qh_malloc, qh_free, ph_printhelp_narrowhull to user.c
|
---|
508 | - Moved qh_printhelp_degenerate and qh_printhelp_singular from io.c to user.c
|
---|
509 | - Clear qh.ERREXITcalled at end of qh_errexit().
|
---|
510 |
|
---|
511 | Documentation:
|
---|
512 | - Fixed out-of-date CiteSeer references
|
---|
513 | - Renamed html/qh-in.htm to html/qh-code.htm
|
---|
514 | - Add reference to 'Qt' to 'i'
|
---|
515 | - Add reference to 'FS' to 'FA'
|
---|
516 | - qh-impre.htm discusses precision issues for halfspace intersection
|
---|
517 | - Add cross references between options 'FA' and 'FS'
|
---|
518 | - Added link to Wolfram Research's MathWorld site
|
---|
519 | - Updated Fukuda's links
|
---|
520 | - Changed copyright to C.B. Barber for C++, documentation, and merge.c
|
---|
521 | - Updated Qhull citation with page numbers.
|
---|
522 | - Proposed project: constructing Voronoi diagram
|
---|
523 | - Proposed project: computing Voronoi volumes
|
---|
524 | - Replaced tabs with spaces in qhull.txt and rbox.txt
|
---|
525 |
|
---|
526 | ------------
|
---|
527 | qhull 2009.1 2009/6/11
|
---|
528 |
|
---|
529 | This is a maintenance release done by Rafael Laboissiere <rafael@debian.org>.
|
---|
530 | - src/rbox.c (main): Avoid problems of evaluation order when
|
---|
531 | pre-incrementing arguments of strtod
|
---|
532 | - src/io.c (qh_produce_output), src/stat.c (qh_initstatistics): Use %lu
|
---|
533 | instead of %d in the format string for arguments of type size_t
|
---|
534 | - html/qhull.man, html/rbox.man: Fix several syntax, macros, and hyphen
|
---|
535 | problems in man pages
|
---|
536 | - The Autotools files have been generated with modern version of autoconf (2.63),
|
---|
537 | automake/aclocal (1.10.2), and libtool (2.2.6)
|
---|
538 | - Some character issues in the man pages are fixed
|
---|
539 |
|
---|
540 | ------------
|
---|
541 | qhull 2003.1 2003/12/30
|
---|
542 |
|
---|
543 | New Features:
|
---|
544 | - Add Maple output ('FM') for 2-d and 3-d convex hulls [T. Abraham]
|
---|
545 |
|
---|
546 | Breaking Code Changes:
|
---|
547 | - Annotate C code with 'const'. An ANSI compatible compiler is required.
|
---|
548 |
|
---|
549 | Bug Fixes and Code Changes:
|
---|
550 | - Fixed qh_findbest() for upperdelaunay facets w/o better, lower neighbors
|
---|
551 | For library users and some qhull users [A. Cutti, E. Milloti, K. Sun]
|
---|
552 | - Preserved qhmem.ferr in qh_memfreeshort() for library users
|
---|
553 | - Removed 'static' from qh_compare... for io.h and merge.h [V. Brumberg]
|
---|
554 | - Split out qh_initqhull_start2() to avoid allocating qh_qh
|
---|
555 | - Split out qh_freeqhull2() to avoid freeing qh_qh
|
---|
556 | - Split out qh_produce_output2() and qh_prepare_output()
|
---|
557 | - qh_initstatistics() frees a previously existing qh_qhstat
|
---|
558 | - qh_initqhull_start2() checks that qh_initstatistics() called first
|
---|
559 |
|
---|
560 | Documentation:
|
---|
561 | - Add warning to findDelaunay() and qh_in.htm about tricoplanar facets
|
---|
562 | - Noted Edelsbrunner's Geometry & Topology for Mesh Generation [qh-impre.htm]
|
---|
563 | - Noted Gartner's Miniball algorithm [qh_impre.htm]
|
---|
564 | - Noted Veron and Leon's shape preserving simplification [qh_impre.htm]
|
---|
565 |
|
---|
566 | qhull 2003.1 2003/12/19
|
---|
567 |
|
---|
568 | Bug Fixes:
|
---|
569 | - Reversed coordinate order for qh.ATinfinity in qh_projectinput [V. Brumberg]
|
---|
570 | This effects:
|
---|
571 | Qhull library 'd' or 'v' users with 'Qz' and unequal coordinate ranges.
|
---|
572 | qdelaunay/qvoronoi users with 'Qbk:0Bk:0', 'Qz', and unequal coordinate ranges
|
---|
573 |
|
---|
574 | Changes to code:
|
---|
575 | - Replaced qh_VERSION with qh_version in global.c [B. Pearlmutter]
|
---|
576 | The previous techniques were either clumsy or caused compiler errors
|
---|
577 | - Removed unused variables from qh_findbest and qh_findbestnew [B. Pearlmutter]
|
---|
578 | - Note that qh.TESTpoints was added in 2002.1 for tsearch implementation
|
---|
579 |
|
---|
580 | Changes to distribution:
|
---|
581 | - Added Unix distribution including Debian files [R. Laboissiere]
|
---|
582 | The previous Unix distribution is now the source distribution
|
---|
583 | - Added rpm distribution [L. Mazet]
|
---|
584 | - Investigated generation of Win32 dll. Need to define a C++ interface.
|
---|
585 |
|
---|
586 | Changes to documentation:
|
---|
587 | - Moved Qhull to www.qhull.org (geom.umn.edu is not available)
|
---|
588 | - The Geometry Center is archived at http://www.geom.uiuc.edu
|
---|
589 | - Reviewed introduction to each program
|
---|
590 | Triangulated output ('Qt') is more accurate than joggled input ('QJ')
|
---|
591 | qdelaunay is 'qhull d Qbb' [C. Ulbrich]
|
---|
592 | qvoronoi is 'qhull v Qbb'
|
---|
593 | Added example of non-simplicial intersection to halfspace intersections
|
---|
594 | - Added warning about using the Qhull library.
|
---|
595 | - Added qhull timings to When to use Qhull [C. Ulbrich]
|
---|
596 | - Reorganized the home page index and the manual index
|
---|
597 | - Moved qh-home.htm to index.htm
|
---|
598 |
|
---|
599 | Changes to examples
|
---|
600 | - Fixed options for eg/eg.t23.voronoi.imprecise [B. Pearlmutter]
|
---|
601 |
|
---|
602 |
|
---|
603 | ------------
|
---|
604 | qhull 2002.1 2002/8/20
|
---|
605 |
|
---|
606 | Changes to distribution:
|
---|
607 | - Set up savannah.nongnu.org/projects/qhull/ [R. Laboissiere]
|
---|
608 | - Set up www.thesa.com as a backup
|
---|
609 | - Added qh-get.htm, a local copy of the download page
|
---|
610 | - Added Visual C++ interface to Qhull, qhull_interface.cpp [K. Erleben]
|
---|
611 | - Use HTTP instead of FTP for downloading Qhull
|
---|
612 | - Renamed qhull-1.0.sit.hqx
|
---|
613 |
|
---|
614 | Bug fixes:
|
---|
615 | - Fixed sign of coefficients for cdd halfspaces ('FD','Fd') [T. Abraham]
|
---|
616 |
|
---|
617 | Changes to code:
|
---|
618 | - Replace qh_version with qh_VERSION in libqhull.h.
|
---|
619 | Allows shared libraries and single point of definition
|
---|
620 | - Added qh.TESTpoints for future implementation of tsearch
|
---|
621 |
|
---|
622 | Changes to build
|
---|
623 | - Makefile.txt works under cygwin
|
---|
624 | - Added Make-config.sh to create a Debian build [R. Laboissiere]
|
---|
625 | - Added .exe to Makefile.txt#clean.
|
---|
626 | - In README, use -fno-strict-aliasing with gcc-2.95.1 [Karas, Krishnaswami]
|
---|
627 | - Fixed chmod in Makefile.txt [B. Karas]
|
---|
628 |
|
---|
629 | Documentation updates
|
---|
630 | - Documented input options for each program [A. Montesinos]
|
---|
631 | - FAQ: "How to get the radii of the empty spheres for Voronoi vertices"
|
---|
632 |
|
---|
633 | URL updates:
|
---|
634 | - Changed official URL from locate/qhull to software/qhull
|
---|
635 | - Changed URLs from relative to absolute in qh-home.htm and qh-get.htm
|
---|
636 | - Added URL for Newsgroup: comp.soft-sys.matlab
|
---|
637 | - Added URL for GNU Octave
|
---|
638 | - Added URLs for Google and Google Groups
|
---|
639 | - Replaced qhull_mail.html and qhull_bug.html with mailto links.
|
---|
640 | - Removed URL for Computational Geometry Tribune
|
---|
641 | - Changed URL for locate/cglist to software/cglist
|
---|
642 | - Used site relative links for qh-home.htm
|
---|
643 |
|
---|
644 | ------------
|
---|
645 | qhull 3.1 2001/10/04
|
---|
646 |
|
---|
647 | New features
|
---|
648 | - Added option 'Qt' to triangulate non-simplicial facets
|
---|
649 | - Added option 'TI file' to input data from file
|
---|
650 | - Added option 'Q10' to prevent special processing for narrow distributions
|
---|
651 | e.g., RBOX 1000 L100000 s G1e-6 t1001803691 | QHULL Tv Q10
|
---|
652 | - Tried to compute Voronoi volumes ('Pv'). Requires dual face graph--not easy
|
---|
653 | See Clarkson's hull program for code.
|
---|
654 |
|
---|
655 | Changes to options
|
---|
656 | - Added numtricoplanars to 'Fs'. Number of good, triangulated facets for 'Qt'
|
---|
657 | - Added Zdelvertextot to 'Fs'. If non-zero and Delaunay, input is degenerate
|
---|
658 | - Qhull command ('FQ') may be repeated.
|
---|
659 | - If 'TPn' and 'TWn' defined, trace the addition of point 'n'
|
---|
660 | otherwise continue tracing (previously it stopped in 4-d)
|
---|
661 | - Removed 'Ft' from qdelaunay. Use 'Qt o' or 'qhull d QJ Qt' instead.
|
---|
662 | For non-simplicial regions, 'Ft' does not satisify the Delaunay property.
|
---|
663 | - If 'Po' or 'TVn', qhull checks outer planes. Use 'Q5' to turn off.
|
---|
664 | - If 'T4', print facet lists and check polygon after adding each point
|
---|
665 |
|
---|
666 | Corrections to code
|
---|
667 | - rbox: allow 'c' and 'd' with 's r', meshes, etc.
|
---|
668 | - qh_findbest: redesigned as directed search. qh_findbesthorizon for coplanar
|
---|
669 | qh_findbest is faster for many distributions
|
---|
670 | - qh_findbestnew: redesigned to search horizon of coplanar best newfacets
|
---|
671 | needed for distributions with a sharp edge,
|
---|
672 | e.g., rbox 1000 s Z1 G1e-13 | qhull Tv
|
---|
673 | - qh_findbest/qh_findbestnew: search neighbors of better horizon facets
|
---|
674 | was needed for RBOX 1000 s Z1 G1e-13 t996564279 | qhull Tv
|
---|
675 | and RBOX 1000 s W1e-13 P0 t996547055 | QHULL d Qbb Qc Tv
|
---|
676 | - qh_findbest with noupper: could return an upperdelaunay facet if dist>qh.MINoutside.
|
---|
677 | - qh_findbestnew: allow facet->upperdelaunay if dist > qh.MINoutside
|
---|
678 | - qh_partitioncoplanar: call qh_partitionpoint if outside and perpendicular
|
---|
679 | for distributions with a sharp edge
|
---|
680 | - qh_partitionvisible: report precision error if all newfacets degenerate.
|
---|
681 | was needed for RBOX 1000 s W1e-13 t995138628 | QHULL d
|
---|
682 | - qh_createsimplex: clears qh.num_visible, may be non-zero with 'TRn QJ'
|
---|
683 |
|
---|
684 | Changes to prompts, warnings, and statistics
|
---|
685 | - For Delaunay & Voronoi, 's' reports deleted vertices due to facet merging.
|
---|
686 | They were incorrectly reported as nearly incident points.
|
---|
687 | - Warn if recompute centrum after constructing hull
|
---|
688 | - Simplified narrow hull warning and print all digits of cosine.
|
---|
689 | A narrow hull may lead to a point outside of the hull.
|
---|
690 | - Print total vertices deleted instead of ave. per iteration (Zdelvertextot)
|
---|
691 | - Improved tracing for qh_partitionpoint and qh_partitioncoplanar
|
---|
692 | - Added number of distance tests for checking outer planes (qh_check_maxout)
|
---|
693 | - Simplified "qhull precision error: Only n facets remain."
|
---|
694 | - Included 'TRn' in the causes of a premature exit
|
---|
695 |
|
---|
696 | Changes to documentation
|
---|
697 | - README.txt: Added quickstart instructions for Visual C++
|
---|
698 | - rbox: Added example of edge of narrow lens, rbox 1000 L100000 s G1e-6
|
---|
699 | - Added cross references between options 'o' and 'p'.
|
---|
700 | - qh-eg.html: added examples comparing 'Qt', 'QJ', and neither 'Qt' nor 'QJ'
|
---|
701 | eg.15a.surface, eg.15b.triangle, eg.17a.delaunay.2, etc.
|
---|
702 | - Reorganized and enhanced discussion of precision problems in qh_impre.htm
|
---|
703 | - Fixed spelling errors [K. Briggs]
|
---|
704 | - Fixed link errors, validated HTML, and spell checked [HomeSite]
|
---|
705 | - Removed unnecessary #TOP links
|
---|
706 | - Added source links to the qh-quick.htm's header and footer
|
---|
707 | - qh-geom.htm, qh-poly.htm: add links to Voronoi functions in io.c
|
---|
708 | - src/index.htm: Added how to search libqhull.h for qhull options
|
---|
709 | - qvoronoi.htm/qdelaun.htm: 'Fc' and 'FN' includes deleted vertices
|
---|
710 |
|
---|
711 | Changes to URLs
|
---|
712 | - Added http://www.voronoi.com and http://www.magic-software.com
|
---|
713 |
|
---|
714 | Changes to code
|
---|
715 | - qh_qhull: if 'TVn' or 'TCn' do not call qh_check_maxout and qh_nearcoplanar
|
---|
716 | - reviewed time profile. Qhull is slower. Optimized qh_findbestnew()
|
---|
717 | - qh_addpoint: Added warning note about avoiding a local minimum
|
---|
718 | - qh_checkpolygon: report qh.facet_next error if NARROWhull & dist>MINoutside
|
---|
719 | - qh_findbest: renamed "newfacets" parameter to "isnewfacets" since it is boolT
|
---|
720 | - qh_findbest/qh_findbestnew: testhorizon even if !MERGING
|
---|
721 | Otherwise qhull c D6 | qhull Q0 Tv assigns coplanar points
|
---|
722 | - qh_resetlists: add qh_RESETvisible for qh_triangulate
|
---|
723 | - qh_findbest: search better facets first. Rewritten.
|
---|
724 | - qh_findbest: increased minminsearch, always check coplanar facets.
|
---|
725 | See: RBOX 1000 s Z1 G1e-13 t996564279 | QHULL Tv
|
---|
726 | - qh_findbestnew: report precision error for deleted cones [rare event]
|
---|
727 | e.g.: RBOX 1000 s W1e-13 P0 t1001034076 | QHULL d Qbb Qc Tv
|
---|
728 | - qh_findbesthorizon: search horizon of qh.coplanarset. New.
|
---|
729 | - qh_findbestsharp: replaced with qh_sharpnewfacets followed by qh_findbestnew
|
---|
730 | - qh_partitionpoint, Delaunay sites can not be inside. Otherwise points may
|
---|
731 | be outside upperDelaunay facets yet not near-inside Delaunay facets
|
---|
732 | See: RBOX s 1000 t993602376 | QHULL C-1e-3 d Qbb FA Tv
|
---|
733 | - qh_partitioncoplanar: call qh_findbest/qh_findbestnew with qh DELAUNAY
|
---|
734 | - qh_printlists: format long lines
|
---|
735 | - qh_printvertex: format long lines
|
---|
736 | - user.h: tightened qh_WARNnarrow and qh_MAXnarrow. Do not see problems
|
---|
737 | until they are -1.0.
|
---|
738 | - user.h: defined qh_DISToutside, qh_SEARCHdist, and qh_USEfindbestnew
|
---|
739 | - qh_checkfacet: in 3-d, allow #ridges > #vertices. Can get a vertex twice
|
---|
740 | in a ridge list, e.g, RBOX 1000 s W1e-13 t995849315 D2 | QHULL d Tc Tv
|
---|
741 |
|
---|
742 | Changes to FAQ
|
---|
743 | - Recommended use of triangulated output ('Qt')
|
---|
744 |
|
---|
745 | Changes to distribution
|
---|
746 | - Recompiled in Visual C++ 5.0 with optimization (as was version 2.6)
|
---|
747 | - q_test: Added bad cases for Qhull and tests for new features
|
---|
748 |
|
---|
749 | Changes to Qhull library
|
---|
750 | - Added qh_triangulate() to poly2.c. It triangulates the output.
|
---|
751 | - Added option 'Q11' to copy normals and recompute centrums for tricoplanar facets
|
---|
752 | 'FP' may not print the nearest vertex for coplanar points
|
---|
753 | Use option 'Q11' when adding points after qh_triangulate()
|
---|
754 |
|
---|
755 | ------------
|
---|
756 | qhull 3.0 2001/02/11
|
---|
757 |
|
---|
758 | Changes to distribution
|
---|
759 | - added qconvex, qdelaunay, qhalf, and qvoronoi
|
---|
760 | - added qhull-interface.cpp on calling Qhull from C++ [K. Erleben]
|
---|
761 | - renamed to qhull3.0/.
|
---|
762 | - added eg/, html/, and src/ directories
|
---|
763 |
|
---|
764 | Changes to URLs
|
---|
765 | - MathLab6 qhull: convhulln, delaunayn, griddatan, tsearchn, vororoin [Z. You]
|
---|
766 | - Wolfram Research wrote a Mathematica interface for qdelaunay [Hinton]
|
---|
767 | - Geomview moved from www.geom.umn.edu to www.geomview.org [M. Phillips}
|
---|
768 | - added URLs for tcsh and cygwin to README.txt
|
---|
769 |
|
---|
770 | Changes to documentation
|
---|
771 | - reorganized table of contents and renamed qh-man.htm to index.htm
|
---|
772 | - wrote program documentation, dropped qh-opt.htm and qh-optv.htm
|
---|
773 | - added quick reference, qh-quick.htm
|
---|
774 | - reorganized qh-rbox.htm and renamed it to rbox.htm
|
---|
775 | - split up qh-c.htm for quick navigation
|
---|
776 |
|
---|
777 | Corrections to code
|
---|
778 | - fixed type of arg for error message in qh_initqhull_globals [N. Max]
|
---|
779 | - fixed incorrect initialization of qh MINdenom_1 for scalepoints
|
---|
780 | - fixed drop dim for 'H Qbk:0Bk:0'. Added qh.feasible_point to qh_projectinput
|
---|
781 | - qh_WARNnarrow is angle between facet normals. Negate for warning message.
|
---|
782 | - statistics for Wangle/etc. concerns facet normals. Reworded [E. Voth]
|
---|
783 | - fixed error message for 'FC v'
|
---|
784 | - report cospherical points if Delaunay and error in qh_scalelast()
|
---|
785 |
|
---|
786 | Changes to code
|
---|
787 | - turn on Pg if (QVn or QGn) and not (Qg or PG)
|
---|
788 | - turn on Qc if format option 'Fc', 'FP', or 'Gp' (removes warning)
|
---|
789 | - removed last good facet unless ONLYgood ('Qg').
|
---|
790 | - added count of non-simplicial or merged facets to 'FS'
|
---|
791 | - added count of non-simplicial facets to 's' (OK if #vertices==dim)
|
---|
792 | - added Znonsimplicial and Znowsimplicial to 'Ts'
|
---|
793 | - allow Mathematica output of dual polytope for halfspace intersection
|
---|
794 | - added qh_checkflags to globals.c for multiple front ends
|
---|
795 | - qh_initqhull_globals sets qh.MERGING if qh.MERGEexact
|
---|
796 | - removed hashentryT. It is no longer used.
|
---|
797 |
|
---|
798 | Changes to prompts and warnings
|
---|
799 | - reorganized prompts
|
---|
800 | - reorganized synopsis for rbox.c
|
---|
801 | - print warning if 'Fc' or 'FP' with 'd QJ'. Coincident points are unlikely.
|
---|
802 | - ignore warning if options 'v i Pp'. qvoronoi users may need Delaunay tri.
|
---|
803 | - reworded warning if 'Pg' and 'QVn' is not a vertex.
|
---|
804 | - reworded warning for 'Qx Tv', qh_check_points() in poly2.c
|
---|
805 | - if 'Pp', turn off warning for 'Qbb' without 'd' or 'v'
|
---|
806 | - in qh_printsummary() of Voronoi and Delaunay, distinguish QVn, QGn, Pdn, PDn
|
---|
807 |
|
---|
808 | Changes to FAQ
|
---|
809 | - added FAQ item for nearly flat Delaunay triangles [Z. You]
|
---|
810 | - added FAQ item for area and volume [R. Konatham]
|
---|
811 | - added FAQ item for Voronoi diagram of a square [J. Yong]
|
---|
812 | - edited FAQ item on point location in Delaunay triangles [Z. You]
|
---|
813 | - added FAQ item on nearly flat Delaunay triangles [Dehghani]
|
---|
814 | - added FAQ item about halfspace intersection [V. Tyberghein]
|
---|
815 | - added FAQ item for missing ridges [M. Schmidt]
|
---|
816 | - added FAQ item about qh_call_qhull [R. Snyder]
|
---|
817 | - added FAQ item about memory statistics [Masi]
|
---|
818 | - added FAQ item on meshing non-convex objects
|
---|
819 | - added FAQ item on MATLAB and Mathematica interface
|
---|
820 |
|
---|
821 | ------------
|
---|
822 | qhull 2.6 1999/04/19
|
---|
823 | - fixed memory overwrite (no effect) in qh_initstatistics() [K. Ford]
|
---|
824 | - added zdoc11 to qh-stat.h#ZZdef for !qh_KEEPstatistics [K. Ford]
|
---|
825 | - enhanced qh_initqhull_globals() test of qh_RANDOMint and qh_RANDOMmax
|
---|
826 | - added debugging option to always return qh_RANDOMmax from qh_rand()
|
---|
827 | - fixed option 'Qr', qh_initialvertices(), to allow a broken qh_rand()
|
---|
828 | fixed option 'Qr', qh_nextfurthest(), to allow narrow hulls
|
---|
829 | Option 'Qr' simulates the random incremental algorithm for convex hulls
|
---|
830 | - added note that qh.num_outside includes coplanar points for narrow hulls
|
---|
831 | - added FAQ items for triangles/ridges of 3-d Delaunay triangulation[P. Kumar]
|
---|
832 | - added FAQ item about on-line processing with the Qhull library [O. Skare]
|
---|
833 | - changed name of option 'Error-roundoff' to 'Distance-roundoff'
|
---|
834 |
|
---|
835 | ------------
|
---|
836 | qhull 2.6 1998/12/30
|
---|
837 | - for the unbounded rays of the Voronoi diagram, use a large box [Schmidt]
|
---|
838 | e.g., 'rbox P4,4,4 P4,2,4 P2,4,4 P4,4,2 10 | qhull v Fv' fails for point 0
|
---|
839 | while 'rbox P4,4,4 P4,2,4 P2,4,4 P4,4,2 10 c G5 | qhull v Fv' is OK.
|
---|
840 | - fixed qh_new_qhull() to use outfile/errfile instead of stdout/stderr [Ford]
|
---|
841 | - clarified COPYING.txt for use in other programs [Archer]
|
---|
842 | - improved qh_readpoints() error message for incorrect point count.
|
---|
843 | - added FAQ item for closest triangle to a point [Sminchisescu & Heijting]
|
---|
844 | - added FAQ item for is a point outside of a facet [Beardsley]
|
---|
845 | - added FAQ item for visiting facets of the Delaunay triangulation [Heijting]
|
---|
846 | - added link to Erickson's Computational Geometry Software
|
---|
847 | - added link to Sharman's HTML version of the comp.graphics.algorithms FAQ
|
---|
848 | - added link to Owen's Meshing Research Corner
|
---|
849 | - added note to 'd' about quadratic size of 'rbox 100 l | qhull d' [Kumar]
|
---|
850 | - added 'about a point' to mentions of halfspace intersection
|
---|
851 | - added request to qh-code.htm to compute largest empty circle [Hase]
|
---|
852 | - the DOS window in Windows NT is better than the DOS window in Windows 95
|
---|
853 | - removed obsolete qh_findfacet() from qh-c.htm [Sminchisescu]
|
---|
854 |
|
---|
855 | ------------
|
---|
856 | qhull 2.6 1998/8/12
|
---|
857 | new and modified features
|
---|
858 | - rbox: added option Mn,m,r to generate a rotated lattice or mesh
|
---|
859 | - rbox: report error if more than one of 'l', 'x', 'L', 's', or 'M'
|
---|
860 |
|
---|
861 | Qhull library changes
|
---|
862 | - added qh_new_qhull() to user.c for calling qhull() from a program [D. Zwick]
|
---|
863 | rewrote user_eg.c to use qh_new_qhull(). Added qh_QHpointer example.
|
---|
864 | - added qh_CLOCKtype 2 in user.h to call times() for CPU time [B. Hemkemeier]
|
---|
865 | - renamed set.c/set.h to avoid conflict with STL's set.h [G. van den Bergen]
|
---|
866 | can also use '#include <qhull/qhull_a.h>' for Qhull library
|
---|
867 |
|
---|
868 | fixed errors
|
---|
869 | - fixed qh_init_B() to call qh_initqhull_mem() once only [D. Zwick]
|
---|
870 | This only effects Qhull library users of qh_QHpointer.
|
---|
871 | - fixed qh_mergecycle_all() to check for redundant vertices [J. Nagle]
|
---|
872 | e.g., 'rbox M3,4 64 | qhull Qc' should report 8 vertices & 48 coplanars
|
---|
873 | - fixed gmcoord initialization in qh_setfacetplane() for qh.RANDOMdist
|
---|
874 | - turn off qh.RANDOMdist during qh_printfacetheader()
|
---|
875 | - fixed error messages for unknown option flags
|
---|
876 |
|
---|
877 | documentation changes
|
---|
878 | - added note to FAQ on the Voronoi diagram of cospherical points [H. Hase]
|
---|
879 | - added note to 'Qu' on furthest-site Delaunay triangulation via convex hull
|
---|
880 | - added note to 'QJ' about coplanar points on the convex hull of the input
|
---|
881 | - added note that 'o' and 'FN' list Voronoi regions in site id order [Arvind]
|
---|
882 | - added links to Fukuda's introduction to convex hulls, etc. [H. Hase]
|
---|
883 | - added .c and .h source files to web distribution and qh-c.htm [J. Sands]
|
---|
884 | - documented qh_ZEROdelaunay. Delaunay and Voronoi diagrams do not include
|
---|
885 | facets that are coplanar with the convex hull of the input sites.
|
---|
886 |
|
---|
887 | modified code
|
---|
888 | - replaced computed minnorm in qh_sethyperplane_det with distance test
|
---|
889 | - removed 'qh rand_seed' since random number generator is independent of qhull
|
---|
890 | - dropt 'qhull-PPC.sit.bin' from the distribution (out-of-date) [M. Harris]
|
---|
891 |
|
---|
892 | ------------
|
---|
893 | qhull 2.5 1998/5/4
|
---|
894 |
|
---|
895 | fixed errors
|
---|
896 | - removed zero-area Delaunay triangles and furthest-site triangles [I. Beichl]
|
---|
897 | Zero-area triangles occur for points coplanar with the input's convex hull.
|
---|
898 | - replaced qh.MINnorm with computed minnorm in qh_sethyperplane_det [J. Nagle]
|
---|
899 | qh.MINnorm was incorrect for the convex hull of the "teapot" example.
|
---|
900 | Qhull runs 0-20% slower in 3-d and 4-d.
|
---|
901 | - allow 'Qg' with furthest-site Delaunay triangulation (may be faster)
|
---|
902 | - removed extra space in definition of FOREACHmerge_() for Alpha cc [R. LeRoy]
|
---|
903 | - fixed innerouter type in qh_printvdiagram2 [does not effect code, R. Adams]
|
---|
904 |
|
---|
905 | documentation changes
|
---|
906 | - to browse qh-c.htm, set MIME type of .c and .h files to text/html
|
---|
907 | - added example of 3-d Delaunay triangulation to q-faq.htm
|
---|
908 | - added Delaunay and Voronoi examples to qh-optv.htm
|
---|
909 |
|
---|
910 | ------------
|
---|
911 | qhull 2.5 1998/2/4
|
---|
912 | - added option 'v Fi' for separating hyperplanes of bounded Voronoi regions
|
---|
913 | - added option 'v Fo' for separating hyperplanes of unbounded Voronoi regions
|
---|
914 | - option 'Pp' turns off the warning, "initial hull is narrow"
|
---|
915 | - fixed partial, 3-d Voronoi diagrams (i.e., 'v Fv QVn Tc')
|
---|
916 | - fixed missing statistics in qh_allstat* [T. Johnson]
|
---|
917 | - rearranged qh_printvdiagram. Use qh_eachvoronoi to iterate Voronoi ridges.
|
---|
918 | - added qh_check_points to qh-math.c
|
---|
919 |
|
---|
920 | qhull 2.5 1998/1/28
|
---|
921 | - added option 'Fv' to print the Voronoi diagram
|
---|
922 | - added rbox option 'x' to generate random points in a simplex
|
---|
923 | - added rbox option 'y' to generate a simplex and random points
|
---|
924 | - added rbox option 'On' to offset the output
|
---|
925 | - add unpacking instructions to README.txt
|
---|
926 | - updated discussion of forced output, 'Po'
|
---|
927 | - sorted the options alphabetically
|
---|
928 | - removed __STDC__ check from libqhull.h for VisualC++
|
---|
929 | - moved qh_markvoronoi from qh_printvoronoi and cleared facet->seen flags
|
---|
930 | - added facet->seen2 flag for 'Fv'
|
---|
931 |
|
---|
932 | qhull 2.5 1998/1/16
|
---|
933 | - fixed initialization of qh.last_low on restart of 'd QJ'
|
---|
934 | - renamed qh_JOGGLEmax to qh_JOGGLEmaxincrease
|
---|
935 | - updated URL for Fukuda's cdd program
|
---|
936 |
|
---|
937 | qhull 2.5 1998/1/12
|
---|
938 |
|
---|
939 | New or modified features
|
---|
940 | - added option 'Fx' to print vertices by point id [G. Harris, T. McClendon]
|
---|
941 | in 2-d, the vertices are printed in counter-clockwise order
|
---|
942 | for Delaunay triangl., 'Fx' lists the extreme points of the input sites
|
---|
943 | - added option 'QJ' to randomly joggle input instead of merging facets
|
---|
944 | - added option 'TO file' to output results to a file. Needed for Windows95.
|
---|
945 | - added option 'TRn' to rerun Qhull n times. Use to collect joggle statistics
|
---|
946 |
|
---|
947 | Corrections
|
---|
948 | - fixed 2-d facet orientation for 'i' and 'o' outputs
|
---|
949 | - for Mathematica 2.2 ('m') changed %10.8g to %16.8f [A. Zhaxybayev]
|
---|
950 | - fixed incorrect warning for 'QV0 Qg' in qh_initbuild [B. Wythoff]
|
---|
951 | - fixed unaccessible statistic if !qh_KEEPstatistics for Wnewvertexmax
|
---|
952 | - fixed overestimate of qh ONEmerge for point sets outside of
|
---|
953 | first quadrant and far from the origin
|
---|
954 | - fixed overestimate of 'Qbb' for point sets far from the origin
|
---|
955 | - fixed potential overestimate of qh DISTround under 'Qbb'
|
---|
956 | - fixed 'p' printing coplanar points of unselected facets
|
---|
957 | - fixed 'Ft' printing centrums unnecessarily in 2-d
|
---|
958 |
|
---|
959 | Changes to documentation
|
---|
960 | - wrote internal design documentation (qh-c.htm)
|
---|
961 | - started frequently asked questions (qh-faq.htm)
|
---|
962 | - added a section on joggled input to qh-impre.htm
|
---|
963 | - added joggle example to qh-eg.htm (eg.15.joggle)
|
---|
964 | - changed q_eg to use 'QJ' instead of 'Q0' were appropriate
|
---|
965 | - added an example to each of the main options
|
---|
966 | - added examples to rbox.htm
|
---|
967 | - added examples to the synopsis
|
---|
968 | - added a reference to Mucke, et al ['96], Fast randomized point location ...
|
---|
969 | - added code for printing Delaunay triangles to qh-code.htm [A. Tsui]
|
---|
970 | - options 'Pdk' and 'PDk' do not drop on equality
|
---|
971 |
|
---|
972 | Improvements to the code
|
---|
973 | - reviewed warning messages for Qhull options in qh_initflags
|
---|
974 | - added warning to 's' if premature exit from 'TCn' or 'TVn'
|
---|
975 | - 's' prints max distance above/below only if qh.MERGING
|
---|
976 | - reduced maxoutside in qh_check_bestdist/qh_check_points for 'Rn'
|
---|
977 | - in post-merging, rebuild centrums of large facets that become small
|
---|
978 | - lowered cutoff for coplanar facets for ischeckmax/qh_findbest
|
---|
979 | - removed qh_check_maxout for 'Wn Q0'
|
---|
980 | - reset tracing after 'TPn' adds point in 4-d and higher
|
---|
981 |
|
---|
982 | Changes for the Qhull library
|
---|
983 | - changed qh_setdelaunay to call qh_scalelast if used with 'Qbb' or 'QJ'
|
---|
984 | Delaunay callers to qh_findbestfacet, qh_addpoint, or qh_findfacet_all
|
---|
985 | should always use qh_setdelaunay as in user_eg.c
|
---|
986 | - defined qh.outside_err to check points against a given epsilon [E. Voth]
|
---|
987 | - added header to user_eg.c to avoid its incorporation into qhull [C. Begnis]
|
---|
988 | - added qh_nearcoplanar() calls to user_eg.c
|
---|
989 | only needed if use 'QJ'
|
---|
990 | - expanded __STDC__ warning message in libqhull.h [C. Begnis]
|
---|
991 | - renamed qh maxmaxcoord to qh MAXabs_coord
|
---|
992 | - replaced qh MAXlowcoord with qh MAXabs_coord
|
---|
993 | - random seed ('QR-n') is reset in qh_initqhull_globals after testing
|
---|
994 | - replaced 'FO' options "_max-coord/_min-coord" with "_max-width"/qh.MAXwidth
|
---|
995 |
|
---|
996 | Other changes to Qhull functions
|
---|
997 | - report error for !bestfacet in qh_findbest (it shouldn't happen) [H. Meuret]
|
---|
998 | - set newbest in qh_findbest only if bestfacet updated
|
---|
999 | - renamed facet parameter for qh_findbest
|
---|
1000 | - added maxdist argument to qh_checkpoint
|
---|
1001 | - moved 'FO' output after qh_partitionall
|
---|
1002 | - separated qh_initbuild from qh_qhull
|
---|
1003 | - reinitialize globals modified by qh_buildhull
|
---|
1004 | - moved initialization of qh.GOODvertexp & qh.GOODpointp to qh_initbuild
|
---|
1005 | - separated qh_nearcoplanar from qh_check_maxout
|
---|
1006 | - separated qh_geomplanes from qh_printfacet2geom, etc.
|
---|
1007 | - separated qh_freebuild from qh_freeqhull
|
---|
1008 | - separated qh_outerinner from io.c to return outer and inner planes
|
---|
1009 | - separated qh_distround and qh_detroundoff from qh_maxmin
|
---|
1010 |
|
---|
1011 |
|
---|
1012 | ------------
|
---|
1013 | qhull 2.4 97/4/2
|
---|
1014 |
|
---|
1015 | New or modified features
|
---|
1016 | - made 'C-0' and 'Qx' default options. Use 'Q0' to not handle roundoff errors
|
---|
1017 | - removed point-at-infinity from Delaunay/Voronoi.
|
---|
1018 | you no longer need to use 'Qu PDk'
|
---|
1019 | - added 'Qz' to add a point-at-infinity to Delaunay and Voronoi constructions
|
---|
1020 | - added published version of qhull article in ACM Trans Math Software
|
---|
1021 | - ported qhull to Windows95 under Visual C++ and Borland C++
|
---|
1022 | - added 'Ft' for triangulation by adding the centrums of non-simplicial facets
|
---|
1023 | - added 'Gt' to display 3-d Delaunay triangulations with a transparent hull
|
---|
1024 | - changed definition of coplanar point in output to qh min_vertex (see 'Qc')
|
---|
1025 | it was qh MAXcoplanar ('Un') [could make vertices non-coplanar]
|
---|
1026 | - automatically set 'Qi' for options 'd Qc' and 'v Qc'.
|
---|
1027 | - reworded summary ('s') for Delaunay/Voronoi/halfspace.
|
---|
1028 | use 'Fs' and 'FS' for summary statistics.
|
---|
1029 | - for summary 's' of Delaunay/Voronoi, display number of coplanars for facets
|
---|
1030 | if none, display total number of coplanars (i.e., non-vertices)
|
---|
1031 | - input comment is first non-numeric text (previously limited to header)
|
---|
1032 | - added input warning if use 'Qbb' without 'd' or 'v'
|
---|
1033 | - 'Q3' can not be followed with a numeric option
|
---|
1034 |
|
---|
1035 | Corrections
|
---|
1036 | - fixed qh_partitioncoplanar() to not drop interior points if 'Qi' is used
|
---|
1037 | - fixed 'FP d' to report distance in point set instead of paraboloid
|
---|
1038 | - fixed qh_findbest() to search all coplanar facets for qh_check_maxout()
|
---|
1039 |
|
---|
1040 | Changes to documentation
|
---|
1041 | - added example eg.17f.delaunay.3 to show a triangulation of cospherical sites
|
---|
1042 | - split up qh-opt.htm into multiple pieces
|
---|
1043 | - split off qh-code.htm for Qhull code
|
---|
1044 | - renamed .html files to .htm for Windows95
|
---|
1045 | - rewrote qh-optv.htm on Delaunay triangulation and Voronoi vertices
|
---|
1046 | - added 'man' pages qhull.txt and rbox.txt. These list all the options
|
---|
1047 | - removed 'txt' versions of html files
|
---|
1048 | - added note to 'PDk' about avoiding a 'd' option immediately after a float
|
---|
1049 | - under option 'd', display the triangulation with 'GrD3', not 'GnrD3'
|
---|
1050 |
|
---|
1051 | Changes to the Qhull library
|
---|
1052 | - added 'format' argument to qh_printfacetNvertex_nonsimplicial() in io.c
|
---|
1053 | - removed C++ type errors [J. Stern, S. Marino]
|
---|
1054 | - created SETelemt, SETfirstt, etc. for specifying data types.
|
---|
1055 | - use SETelem,etc. for assignments.
|
---|
1056 | - changed setT.maxsize to 'int' to prevent type conversion warnings
|
---|
1057 | - changed FOREACH.. to a comma expression for better code and less warning
|
---|
1058 | - changed qh.vertex_visit and .visit_id to unsigned int to prevent warnings
|
---|
1059 | - changed clock() to qh_CPUclock (user.h)
|
---|
1060 | - qh_init_B() and qh_readpoints() do not set qh.ATinfinity for Delaunay tri.
|
---|
1061 | - qh_setvoronoi_all() sets upper Delaunay facets if qh.UPPERdelaunay is set
|
---|
1062 | - qh_nearvertex() returns distance in dim-1 for qh.DELAUNAY
|
---|
1063 | - removed MSDOS path from qhull_command. Spaces in Win95 tripped qh_setflags
|
---|
1064 | - removed memory.h from qhull_a.h. memset,etc. should be in strings.h
|
---|
1065 | - split qh_prompt into pieces for Visual C++
|
---|
1066 | - added note to qh_addpoint that coordinates can not be deallocated
|
---|
1067 | - added Baker '89 to constrained Delaunay diagrams under Enhancements
|
---|
1068 | please let me know if you try this
|
---|
1069 | - added request for unbounded Voronoi rays to Enhancements
|
---|
1070 | please let me know if you try this
|
---|
1071 |
|
---|
1072 | ------------
|
---|
1073 | qhull V2.3 96/6/5
|
---|
1074 | - fixed total area of Delaunay triangulation. [A. Enge]
|
---|
1075 | It should ignore facets on the upper-envelope.
|
---|
1076 | - if 'd Qu FA', the total area is summed over the upper-Delaunay triangles
|
---|
1077 | - fixed sign of area for Delaunay triangulations.
|
---|
1078 | - fixed cdd input format for Delaunay triangulation. [A. Enge]
|
---|
1079 | - for cdd input, allow feasible point for halfspaces.
|
---|
1080 | - warning if cdd output format for centrums, halfspace intersections, or OFF.
|
---|
1081 | - print '0' for area ('Fa') if area is not computed for a facet
|
---|
1082 | - option 'QR-n' sets random number seed to n without rotating input
|
---|
1083 | - fixed qh_findbest() to retest coplanar and flipped facets after a restart
|
---|
1084 | - for 'd Qu Ts' collects angle statistics for upper Delaunay facets
|
---|
1085 |
|
---|
1086 | Changes to the Qhull library
|
---|
1087 | - expanded user_eg.c for incremental constructions and Delaunay triangulation
|
---|
1088 | - added discussion of incremental construction to qh_man.html#library
|
---|
1089 | - WARNING: The default value of qh ATinfinity was changed from True to False.
|
---|
1090 | A new flag, qh UPPERdelaunay, was defined for 'Qu'.
|
---|
1091 | Please set qh ATinfinity if you explicitly add the point "at-infinity"
|
---|
1092 | Please set qh ATinfinity if you explicitly call qh_projectinput.
|
---|
1093 | Please set qh UPPERdelaunay if you explicitly cleared qh ATinfinity.
|
---|
1094 | Other users do not need to change their code.
|
---|
1095 | Now you can build a Delaunay triangulation without creating a point
|
---|
1096 | "at-infinity". This removes a potential, hard-to-understand error.
|
---|
1097 | qh_readpoints sets qh ATinfinity for options 'd' or 'v' without 'Qu'.
|
---|
1098 | qh_initB sets qh ATinfinity for qh PROJECTdelaunay w/o qh UPPERdelaunay.
|
---|
1099 | qh_projectinput adds a point "at-infinity" only if qh ATinfinity is set.
|
---|
1100 | - added qh_setdelaunay to geom2.c to project points to paraboloid
|
---|
1101 | - added qh_findbestfacet() to poly2.c to replace qh_findfacet()
|
---|
1102 | - removed procedure qh_findfacet(). It does not always work.
|
---|
1103 | - removed NULL option for facet in qh_addpoint(). It does not always work.
|
---|
1104 | - added noupper parameter to qh_findbest.
|
---|
1105 | - added search of upperdelaunay facets to qh_findbest()
|
---|
1106 | - allowed qh_findbest() to start with a flipped or upperdelaunay facet
|
---|
1107 | - removed qh_nonupper() -- it is no longer needed
|
---|
1108 | - allow space at end of options
|
---|
1109 | - fixed qh_projectinput for furthest-site Delaunay (qh PROJECTdelaunay 'd Qu')
|
---|
1110 | - added voids to procedure declarations with empty parameter lists
|
---|
1111 |
|
---|
1112 | ------------
|
---|
1113 | qhull V2.3 96/3/25
|
---|
1114 | - fixed missing qh_check_maxout when coplanar points and no merged facets.
|
---|
1115 | - fixed qh_freeqhull/allmem (e.g., if qh_NOmem) [only custom code] [E. Voth]
|
---|
1116 | - fixed qh_freeqhull to free qh interior_point [E. Voth]
|
---|
1117 | - fixed main() to free all of memory if qh_NOmem. Include "mem.h" [E. Voth]
|
---|
1118 | - reset f.newcycle link in qh_mergecycle_all [E. Voth]
|
---|
1119 | - fixed false error if 'Tc', coplanar points, and a narrow hull
|
---|
1120 | - turn off 'Rn' when computing statistics, checking code, or tracing code
|
---|
1121 | - removed ={0} from global.c and stat.c to reduce compiler warnings
|
---|
1122 | - changed Makefile dependences to $(HFILES) for all but unix.o, set.o, mem.o
|
---|
1123 | - pulled out qh_printpointid and reordered qh_pointid [E. Voth]
|
---|
1124 | - removed some compiler warnings
|
---|
1125 | - moved 'FO' print of options to just before qh_buildhull
|
---|
1126 | - changed 'FO' to list difference from -1 for _narrow-hull
|
---|
1127 |
|
---|
1128 | ------------
|
---|
1129 | qhull V2.2 96/2/15
|
---|
1130 | - detect narrow initial hulls (cosine of min angle < qh_MAXnarrow in user.h).
|
---|
1131 | Write warning if cosine < qh_WARNnarrow in user.h. If narrow (qh NARROWhull),
|
---|
1132 | partition coplanar points as outside points and delay coplanar test to end.
|
---|
1133 | Needed for RBOX 1000 L100000 s G1e-6 t995127886 | QHULL Tv
|
---|
1134 | See 'limitations' in qh-impre.html for further discussion.
|
---|
1135 | - corrected some confusions between 'FV' and 'Fv' in qh-opt.html
|
---|
1136 | - fixed initialization error for small Voronoi diagrams (e.g., [0,0], [1,0], [0,1]) [J. Velez]
|
---|
1137 | - fixed bad return from qh_mindiff in geom2.c
|
---|
1138 | - for initial hull, first process facet with furthest outside point (qh_furthestnext)
|
---|
1139 | - added facet->notfurthest flag for recomputing furthest point
|
---|
1140 | - added check for __STDC__ (needs ANSI C) [E. Voth]
|
---|
1141 | - reduced warning messages from [E. Voth]. e[1] in setT still reports a warning.
|
---|
1142 | - added a cube to the discussion of option 'v' (Voronoi) in qh-opt.html [J. Velez]
|
---|
1143 | - added notes about adjacent vertices to "Calling Qhull" in qh-man.html [R. Lewis & J. Velez]
|
---|
1144 | - added note about 'lines closer' when viewing 3-d Delaunay triangulations [P. Kallberg]
|
---|
1145 | - added option 'Q9' to always process furthest of furthest outside points.
|
---|
1146 | - removed option 'Pp' from q_eg and qh-eg.html.
|
---|
1147 |
|
---|
1148 | ------------
|
---|
1149 | qhull V2.2 95/12/28
|
---|
1150 | - added option 'Qbb' to scale the last coordinate to [0,m] (max prev coord).
|
---|
1151 | This reduces roundoff errors for Delaunay triangulations with integer coordinates.
|
---|
1152 | - changed option 'Qu d' to print out the furthest-site Delaunay triangulation
|
---|
1153 | Use options 'Qu d PD2' to compute the normal 2-d Delaunay triangulation without
|
---|
1154 | the point at infinity.
|
---|
1155 | - added notes to the documentation of option 'd'
|
---|
1156 | - added notes to limitations of how Qhull handles imprecision
|
---|
1157 | - added warning if options 'FP', 'Fc', or 'Gp' without option 'Qc' or 'Qi'
|
---|
1158 | - added note to options 'PDk:n' and 'Pdk:n' that closest facet is returned if none match
|
---|
1159 | - added check that 'Qbk' and 'QBk' does not invert paraboloid for 'd'
|
---|
1160 | - added notes that qh_findfacet and qh_addpoint require lifted points for Delaunay triangulations
|
---|
1161 | - fixed 'rbox s 5000 W1e-13 D2 | qhull d Qcu C-0 Qbb'
|
---|
1162 | - fixed option 'QbB' (qh SCALEpoints was not set)
|
---|
1163 | - fixed minor confusion between 'Gc' (print centrums) and 'Gp' (print points)
|
---|
1164 | - rewrote qh_findbestnew for upper convex hull, Delaunay facets
|
---|
1165 | - changed option name for 'Gp' from 'Gcoplanar' to 'Gpoints'
|
---|
1166 | - changed "nearest" facet for 'Pdk' to threshold - normal
|
---|
1167 | - reworked qh GOODclosest for 'Qg'
|
---|
1168 | - added note that 'Qg' does not always work
|
---|
1169 | - recorded option 'C-0' as "_zero-merge" in option 'FO'
|
---|
1170 | - refined qh DISTround in qh_maxmin/geom2.c for Delaunay triangulations
|
---|
1171 |
|
---|
1172 | qhull V2.2 95/12/4
|
---|
1173 | - Version 2.2 fixes an important bug in computing Delaunay triangulations
|
---|
1174 | and convex hulls with edges sharper than ninety degrees. The problem
|
---|
1175 | occurs when processing a point at a sharp edge. A directed search can
|
---|
1176 | not be used for partitioning because one side may hide facets from the
|
---|
1177 | other side. The new lens-shaped distribution for rbox demonstrates the
|
---|
1178 | problem. For example, 'rbox 100 L3 G0.5 s | qhull Tv' fails for Version 2.1.
|
---|
1179 | O. Schramm found the bug when computing the Delaunay triangulation of points
|
---|
1180 | near an outside edge.
|
---|
1181 |
|
---|
1182 | I rewrote qh_findbest and related functions. Qh_findbest
|
---|
1183 | uses an exhaustive test for sharp edges (qh_findbest_sharp).
|
---|
1184 | Qh_findbest avoids the upper convex hull of Delaunay triangulations.
|
---|
1185 |
|
---|
1186 | Options 'd' and 'v' no longer assign coplanar points to the upper convex hull.
|
---|
1187 |
|
---|
1188 | Qh_check_maxout tests near-inside points. It ignores fully inside points.
|
---|
1189 | When done, it removes near-inside points from the coplanar sets.
|
---|
1190 |
|
---|
1191 | If you use qh_addpoint or qh_findbest, please review the function headers.
|
---|
1192 | They do not work for lens-shaped hulls for arbitrary facets. They do work for
|
---|
1193 | Delaunay triangulations.
|
---|
1194 |
|
---|
1195 | Changes to options for V2.2
|
---|
1196 | - added 'Qu' for computing the furthest-site Delaunay triangulation (upper hull)
|
---|
1197 | and furthest-site Voronoi vertices.
|
---|
1198 | - added 'FP' to print nearest vertex for coplanar points
|
---|
1199 | - added coplanar count to 'Fs' and 's'
|
---|
1200 | - added number of similar points to summary for Delaunay/Voronoi
|
---|
1201 | - Option 'Qc' is no longer necessary when merging.
|
---|
1202 | - 'o' format for Voronoi vertices ('v') generates "0" lines for similar points
|
---|
1203 | - 'QRn' for Delaunay ('d' or 'v') now rotates about the Z axis (see qh_init_B).
|
---|
1204 | Otherwise Qhull does not identify the upper hull
|
---|
1205 | - removed option 'Qa' for "all points outside". In V2.1 it was automatically
|
---|
1206 | set for 'd'. Even though it was a bad idea, it revealed the above bug.
|
---|
1207 | - for option list ('FO'), added version, values for one-merge, maxpos, maxneg,
|
---|
1208 | and near-inside, and flags for zero-centrum
|
---|
1209 | - optimized 'C-0' and 'Qx'. These options ("zero-centrum") test vertices
|
---|
1210 | instead of centrums for adjacent simplicial facets.
|
---|
1211 | - if 'Tv', report number of points that are not verified due to qh_findbest
|
---|
1212 | - Option 'Q8' ignores near-inside points.
|
---|
1213 |
|
---|
1214 | rbox 95/12/3
|
---|
1215 | - added lens distribution ('Ln') It may be used with 's', 'r', 'Wn', and 'Gn'
|
---|
1216 | - removed default point count except for the test case, 'Dn'
|
---|
1217 | - divided main() of rbox.c into sections
|
---|
1218 |
|
---|
1219 | Documentation changes for V2.2
|
---|
1220 | - added examples for lens distribution and furthest-site Delaunay triangulation
|
---|
1221 | and renumbered the examples for q_eg
|
---|
1222 | - described facet orientation in 'data structure' section [P. Soikkonen]
|
---|
1223 | - added notes to qh-man.html/"What to do if something goes wrong"
|
---|
1224 | - added note about using 'Tv' to verify the results [O. Schramm]
|
---|
1225 | - expanded definition of f_r in Performance section [S. Grundmann]
|
---|
1226 | - noted that Geomview display of a Voronoi diagram adds extra edges
|
---|
1227 | for unbounded Voronoi cells
|
---|
1228 | - rewrote error "convexity constraints may be too strong" [D. Newland]
|
---|
1229 | - added limitations section to "Imprecision in Qhull"
|
---|
1230 | - added note about zero-area facets to 'Imprecise convex hulls' in qh-impre.html
|
---|
1231 | - added note to 'Qi' that it does not retain coplanar points
|
---|
1232 | - added note that option 'Q5' may be used if outer planes are not needed
|
---|
1233 | - added note to README.txt about Irix 5.1 [C. Goudeseune]
|
---|
1234 | - added code fragment for visiting Voronoi vertices to "Calling Qhull" [M. Downes]
|
---|
1235 | - added note about qh_addpoint() to "Calling Qhull" [M. Downes]
|
---|
1236 |
|
---|
1237 | Errors fixed for V2.2
|
---|
1238 | - use qh_sethyperplane_gauss if 3-d or 4-d norm is less than qh MINnorm
|
---|
1239 | - count Zcentrumtests if qh_NOstat
|
---|
1240 | - reversed sign convention for qh_sethyperplane_gauss
|
---|
1241 | it was opposite to qh_sethyperplane_det
|
---|
1242 | this effects qh_determinant and qh_detsimplex
|
---|
1243 | - fixed error in qh_findgood_all with multiple restrictions, e.g., 'QVn Pdk'
|
---|
1244 | - fixed call to qh_clearcenters for qh_produce_output
|
---|
1245 | - in qh_errexit, report p0 if last furthest point
|
---|
1246 |
|
---|
1247 | Changes for users of the Qhull library
|
---|
1248 | - user code needs to define qh_version (see user_eg.c)
|
---|
1249 | - merged initialization code into qh_init_A and qh_init_B [M. Mazzario]
|
---|
1250 | old code works as before.
|
---|
1251 | qh_initflags also sets qh qhull_command for qh_initthresholds
|
---|
1252 | redid initialization for user_eg.c
|
---|
1253 | - simplified user_eg.c. It computes the convex hull of a cube.
|
---|
1254 | - added qh_setvoronoi_all in poly2.c to compute Voronoi centers
|
---|
1255 | added related note to call_qhull
|
---|
1256 | - added qh_findfacet to use in place of qh_findbest
|
---|
1257 | - added qh_nearvertex to return nearest vertex in facet to point
|
---|
1258 | - redid notes on multiple, concurrent calls in call_qhull/user.c
|
---|
1259 | - changed BoolT to unsigned int (prevent implicit enum conversion warnings)
|
---|
1260 | - added upperdelaunay to facetT. It indicates a facet of the upper convex hull.
|
---|
1261 | - converted qhull-PPC.sit for CodeWarrior 7
|
---|
1262 |
|
---|
1263 | Code changes for V2.2
|
---|
1264 | - simplified calls to setjmp() for Cray J916 [Salazar & Velez]
|
---|
1265 | - replaced fprintf(fp,string) with fputs in io.c
|
---|
1266 | - 'qh num_coplanar' removed (too expensive and not used).
|
---|
1267 | - added numcoplanars to qh_countfacets()
|
---|
1268 | - added min norm to qh_normalize2(). qh_normalize() wasn't changed
|
---|
1269 | - removed type casts from qh_point and qh_pointid [Salazar & Velez]
|
---|
1270 | - account for roundoff error in detecting upper convex hull (qh ANGLEround).
|
---|
1271 | - post merging uses qh_findbestnew for partitioning
|
---|
1272 | - qh_findbestnew for qh_partitioncoplanar goes to best facet
|
---|
1273 | - 'Qm' always processes points above the upper hull of a Delaunay triangulation
|
---|
1274 | - GOODvertex initialized with qh_findbestnew instead of qh_findbest
|
---|
1275 | - for 'v', qh_facetcenter returns furthest-neighbor vertex if 'Qu'
|
---|
1276 | - added test for qh feasible_point if use 'Fp' and qh_sethalfspace_all
|
---|
1277 | - reviewed Sugihara's algorithm for topologically robust beneath-beyond
|
---|
1278 | - on error, report if qhull in post-merging or has completed
|
---|
1279 | - if tracing, option 'FO' and qhull command always printed
|
---|
1280 | - added current furthest point ("during p%d") to 'T-1' events
|
---|
1281 | - added 'TWn' tracing for vertices of new facets (qh_setfacetplane)
|
---|
1282 | - added 'TWn' tracing for vertices in an output facet (qh_check_maxout)
|
---|
1283 | - reorganized split between poly/poly2.c and geom/geom2.c
|
---|
1284 | - reordered object files in Makefile
|
---|
1285 |
|
---|
1286 | ------------
|
---|
1287 | qhull V2.1 95/9/25
|
---|
1288 | - converted qhull.man to html format, many edits
|
---|
1289 | - referenced Shewchuk's triangle program and Schneiders' Mesh Generation page
|
---|
1290 | - added option 'Qa' to force all points outside
|
---|
1291 | automatically set for "precise" Delaunay or Voronoi [Salazar & Velez]
|
---|
1292 | it is turned off by merging, 'Wn', 'Qc' or 'Qi'
|
---|
1293 | - added coplanar points to option 'FN'
|
---|
1294 | - moved option 'FO' to include default precision options
|
---|
1295 | - changed default random number generator to qh_rand in geom2.c (user.h)
|
---|
1296 |
|
---|
1297 | other code changes
|
---|
1298 | - fixed option comment Pdrop-facets-dim-less, Qbound-dim-low, QbBound-unit-box
|
---|
1299 | - defined ptr_intT for converting 64-bit ptrs to 'unsigned long' [D. Bremner]
|
---|
1300 | - defined setelemT to distinguish actual size from pointers [D. Bremner]
|
---|
1301 | use either e[...].p or e[...].i (user-level code should use set.h macros)
|
---|
1302 | - changed %x to %p in format statements for pointers [D. Bremner]
|
---|
1303 | - added test of REALmax,etc. to qh_maxmin [H. Poulard]
|
---|
1304 | - added type parameter to qh_memalloc_() macro for type conversion
|
---|
1305 | - added type conversion to qh_memalloc() calls where missing
|
---|
1306 | - added type conversion to calls into set.c that return void*
|
---|
1307 |
|
---|
1308 | other documentation changes:
|
---|
1309 | - new URLs for graphics images
|
---|
1310 | - fixed comment for facetT.neighbors in libqhull.h [P. Soikkonen]
|
---|
1311 | - changed recommendations for precision errors in qh_printhelp_degenerate()
|
---|
1312 | - added recommendation for 'V0' (facet is visible if distance >= 0)
|
---|
1313 | - added note about 'long double' to user.h [S. Grundmann]
|
---|
1314 | - added note about zero area Delaunay triangles for the 'v' option
|
---|
1315 | - added note about locating Delaunay triangles to option 'd' [A. Curtis]
|
---|
1316 | - added note that coplanar vertices correspond to duplicate points for 'd'
|
---|
1317 | - added note about option 'd' automatically setting 'PDk' (lower convex hull)
|
---|
1318 | - added note about precision errors to option 'd' [many users]
|
---|
1319 | - added note about qh_findbest() to the Qhull library section [L. Lai]
|
---|
1320 | - 'make install' renames qhull.man to qhull.1 for Unix [M. Phillips]
|
---|
1321 | - renamed README, etc. to *.txt to match WWW conventions [D. Cervone]
|
---|
1322 |
|
---|
1323 | ------------
|
---|
1324 | qhull V2.1 7/10/95
|
---|
1325 | - in 2-d, 'v o' lists the vertex at infinity in order [R. Critchlow]
|
---|
1326 | - it used to always list the vertex at infinity ("0") first
|
---|
1327 | - rewrote description of 'v' option (Voronoi vertices and 2-d diagrams)
|
---|
1328 | - added 'PFn' for printing facets whose area is at least 'n' [D. Holland]
|
---|
1329 | - prefixed 'Q',etc. to the 'Q',etc. options in the long help prompt
|
---|
1330 | - fixed references to 'Fv' and 'FV' options under option 'Hn,n,n'
|
---|
1331 | - updated reference to cdd, <ftp://ifor13.ethz.ch/pub/fukuda/cdd/>
|
---|
1332 | - in set.c, added some missing type coercions for qhmem.tempstack
|
---|
1333 |
|
---|
1334 | qhull V2.1 6/12/95
|
---|
1335 | - replaced qhull.ps with qhull-2.ps (paper submitted to ACM TOMS)
|
---|
1336 | - use BUFSIZ for setvbuf for Power Macintosh
|
---|
1337 | - number of good facets printed if QVn, QGn, Pd, or PD
|
---|
1338 | - added Makefile for Borland C++ 4.02 with Win32 [D. Zwick]
|
---|
1339 | - added note to Enhancements section of qhull.1 about constrained
|
---|
1340 | Delaunay triangulations [T. Rasanen]
|
---|
1341 |
|
---|
1342 | qhull V2.1 6/7/95
|
---|
1343 | - fixed qh_facetarea_simplex() for non-simplicial facets [L. Schramm]
|
---|
1344 | - fixed cast in qh_point and qh_pointid for 64-bit architectures
|
---|
1345 | - fixed URL for Amenta's list of computational geometry software
|
---|
1346 | - fixed cast in qh_meminitbuffers for qhmem.freelists
|
---|
1347 | - added test for !qh half_space in qh readpoints
|
---|
1348 | - clarified options for qh_printhelp_singular()
|
---|
1349 | - discussed non-simplicial facet area under option 'Fa' in qhull.1
|
---|
1350 |
|
---|
1351 | qhull V2.1 6/3/95
|
---|
1352 | - home page for Qhull and new descriptions for the Qhull examples
|
---|
1353 | http://www.qhull.org
|
---|
1354 | - changed SIOUX buffering for Power Macintosh. It runs fast now.
|
---|
1355 | added a project file for Metrowerk's C
|
---|
1356 | - note in README about compiling qhull on the PC
|
---|
1357 |
|
---|
1358 | qhull V2.1 beta 5/15/95
|
---|
1359 |
|
---|
1360 | ======= main changes ========
|
---|
1361 | - added halfspace intersection ('Hn,n,n')
|
---|
1362 | - facet merging is better, especially for high dimensions
|
---|
1363 | - added 'Qx' for exact merges of coplanar points and precision faults
|
---|
1364 | - facet merging is faster, especially for high dimensions.
|
---|
1365 | e.g., convex hull of the 8-d hypercube is seven times faster
|
---|
1366 | - added 'F' output formats for printing each aspect of the convex hull
|
---|
1367 | - format 'Fa' computes facet areas, total area, and total volume
|
---|
1368 | - format 'FO' writes a descriptive list of selected options to stderr
|
---|
1369 | - moved all customization options to user.h
|
---|
1370 | - changed the default precision to 'double' since it's needed for Delaunay.
|
---|
1371 | using 'float' is faster and takes less space (REALfloat in user.h)
|
---|
1372 | - option 'Qm' is no longer important for facet merging
|
---|
1373 | - removed need for 'Qs' by selecting initial simplex with pos. determinants
|
---|
1374 | - renamed 'Qv' to 'Q7' since virtual memory does not work well for qhull
|
---|
1375 | - Qhull is available for the Power Mac (no graphical output)
|
---|
1376 |
|
---|
1377 | ====== other new and modified options ===========
|
---|
1378 | - changed default MINvisible ('Vn') to a multiple of premerge_centrum ('C-n')
|
---|
1379 | - added 'Un' option to set width of facet for coplanar points.
|
---|
1380 | This replaces the previous rules for determining coplanar points.
|
---|
1381 | - changed default MINoutside ('Wn') to twice MINvisible ('Vn')
|
---|
1382 | - Geomview output adjusts point radii for MINvisible 'Vn'
|
---|
1383 | - the input format allows the number of points to precede the dimension
|
---|
1384 | - options 'v' 'd' 'FAn' and 'FMn' record good facets ('Pg')
|
---|
1385 | - added 'Fd' and 'FD' options for homogeneous coordinates in cdd format
|
---|
1386 | - in rbox, added 'h' flag to generate homogeneous coordinates in cdd format
|
---|
1387 | - option 'PAn' prints out the n facets with the largest area
|
---|
1388 | - option 'PMn' prints out the n facets with the most merges
|
---|
1389 | - option 'Po' under tracing ('Tn') no longer tries to write erroneous facets
|
---|
1390 | - option 'TCn' only prints the old 'visible' facets for 'f'
|
---|
1391 | - 'TFn' reports intermediate results when post-merging
|
---|
1392 | - option 'Ts' with option 'TFn' prints intermediate statistics
|
---|
1393 | - the message for 'Tv' reports if it is checking outer planes
|
---|
1394 | - 'Tz' sends stderr output to stdout
|
---|
1395 | - added 'Q1' to ignore angle when sorting merges (merges are worse)
|
---|
1396 | - added 'Q2' to not perform merges in independent sets (merges are worse)
|
---|
1397 | - added 'Q3' to not remove redundant vertices (faster)
|
---|
1398 | - added 'Q4' to avoid merges of old facets into new facets (does worse)
|
---|
1399 | - added 'Q5' to skip qh_check_maxout (faster, but less accurate)
|
---|
1400 | - added 'Q6' to skip pre-merge of concave and coplanar facets
|
---|
1401 | - added 'Qv' for testing vertex neighbors for convexity (needs merge option)
|
---|
1402 | - added warning if mix Geomview output with other outputs ('Po' turns off)
|
---|
1403 | - options 'o v' for 3-d and higher sort the Voronoi vertices by index
|
---|
1404 |
|
---|
1405 | ======= documentation =======
|
---|
1406 | - rewrote the introduction and precision sections
|
---|
1407 | - added a section on performance
|
---|
1408 | - added an example on halfspace intersection
|
---|
1409 | - installed examples of Qhull in
|
---|
1410 | <http://www.geom.uiuc.edu/graphics/pix/Special_Topics/Computational_Geometry/>
|
---|
1411 |
|
---|
1412 | ======= Makefile, user.h, and messages =======
|
---|
1413 | - Makefile calls ./qhull, ./rbox, and prints short prompt for qhull
|
---|
1414 | - added new statistics, e.g., for buildhull
|
---|
1415 | - changed default qh_RANDOMtype to RAND_MAX with rand()
|
---|
1416 | - added comment about numeric overflow to printhelp_singular
|
---|
1417 | - reorganized the code to improve locality of reference
|
---|
1418 | - option in mem.h (qh_NOmem) to turn off memory management in qhull
|
---|
1419 | - option in user.h (qh_NOtrace) to turn off tracing in qhull
|
---|
1420 | - option in user.h (qh_NOmerge) to turn off merging in qhull.
|
---|
1421 | - use this instead of redefining qh_merge_nonconvex in user.c
|
---|
1422 | - simplified user_eg.c. See qh_call_qhull() in user.c for the full version
|
---|
1423 |
|
---|
1424 | ======== bug fixes ============
|
---|
1425 | - fixed error in number of points for 'rbox 100 r' (odd distribution)
|
---|
1426 | - fixed performance error in qh_degen_redundant_neighbors
|
---|
1427 | - qh_partitionpoint now sets facet->maxoutside for first outside point
|
---|
1428 | - fixed performance error in partitioning when merging a large, regular cone
|
---|
1429 | - removed memory leak in qh_appendmergeset
|
---|
1430 | - removed double free of qh line under errors in qh_readinput()
|
---|
1431 | - forcing output on error ('Po') fixed for options 'n' 'o' 'i' 's'
|
---|
1432 | - fixed optimization error on HP machines [fprintf(... *p++)]
|
---|
1433 |
|
---|
1434 | ======== changes to libqhull.h for user code =======
|
---|
1435 | - qh_collectstatistics and qh_printstatistics removed from libqhull.h.
|
---|
1436 | should use qh_printallstatistics instead
|
---|
1437 | - qh_findbest uses boolT for newfacets
|
---|
1438 | - added qh_findbestnew for non-simplicial facets. qh_findbest is
|
---|
1439 | too slow in this case since it needs to look at many nearly coplanar
|
---|
1440 | facets.
|
---|
1441 | - renamed qh_voronoi/qh_centrum to qh_ASvoronoi, qh_AScentrum
|
---|
1442 | - changed facet->id to 32-bits, added new flags for merging
|
---|
1443 | - added facet->f for facet pointers while merging and for facet area
|
---|
1444 | - added dfacet/dvertex for printing facets/vertices while debugging
|
---|
1445 | - added qh_produce_output and qh_printsummary
|
---|
1446 |
|
---|
1447 | ======== changes to code ==========
|
---|
1448 | - moved qh_setfacetplane from qh_makenewfacets to qh_makenewplanes
|
---|
1449 | - added qh_setfree2, qh_setcompact, and qh_setduplicate to set.c
|
---|
1450 | - qh_findgooddist returns list of visible facets instead of setting global
|
---|
1451 | - in qh_check_maxout, inside points may be added to coplanar list.
|
---|
1452 | - qh_findbestnew used for qh_partitionall. It is faster.
|
---|
1453 | - in qh_findbest, changed searchdist to MINvisible+max_outside+DISTround.
|
---|
1454 | MINvisible is the default MAXcoplanar.
|
---|
1455 | - cleaned up list management via qh_resetlists
|
---|
1456 | - uses facet->dupridge to indicate duplicated ridges instead of ->seen
|
---|
1457 | - qh_buildtracing records CPU time relative to qh hulltime instead of 0
|
---|
1458 |
|
---|
1459 | ========== changes to merging =======
|
---|
1460 | - many performance improvements, especially in high-d.
|
---|
1461 | - when merging, qh_findbest and qh_findbestnew stops search at qh_DISToutside
|
---|
1462 | - vertex neighbors delayed until first merge
|
---|
1463 | - post merges reported every TFn/2 merges
|
---|
1464 | - vertex merging turned off in 7-d and higher (lots of work, no benefit).
|
---|
1465 | vertex merging moved to qh_qhull_postmerging in 6-d.
|
---|
1466 | - replaced qh min_vertex with MAXcoplanar for determining coplanarity
|
---|
1467 | - pick closest facets to merge in duplicate ridge instead of flip/flip
|
---|
1468 | (see qh_matchduplicates in poly2.c)
|
---|
1469 | - optimize merge of simplex into a facet
|
---|
1470 | - optimize merge of a "samecycle" of facets into a coplanar horizon facet
|
---|
1471 | - cleaned up qh_forcedmerges/qh_flippedmerges and removed facet->newmerge
|
---|
1472 | - rewrote qh_merge_degenredundant with separate queue
|
---|
1473 | - qh_facetdegen replaced by facet->degenredun
|
---|
1474 | - flipped neighbors no longer merged in preference to flip/non-flip pairs
|
---|
1475 | - removed angle argument from qh_merge_degenredundant and qh_mergefacet
|
---|
1476 | only used for tracing
|
---|
1477 | - getmergeset_initial had extra test of neighbor->simplicial
|
---|
1478 | - ridge->nonconvex is now set on only one ridge between non-convex facets
|
---|
1479 | - moved centrum deletion to qh_updatetested
|
---|
1480 | - qh_isnewmerge(facet) changed to facet->newmerge (removed NEWmerges)
|
---|
1481 | - qh_findbestneighbor reports correct distance even if testcentrum
|
---|
1482 | - added hull_dim factor to qh_BESTcentrum
|
---|
1483 | - removed horizon preference in qh_merge_nonconvex (qh AVOIDold)
|
---|
1484 | - facet->keepcentrum if qh WIDEfacet or qh_MAXnewcentrum extra vertices
|
---|
1485 |
|
---|
1486 | ------------
|
---|
1487 | qhull V2.02 1/25/95
|
---|
1488 | - rbox 'z' prints integer coordinates, use 'Bn' to change range
|
---|
1489 | - fixed rare bug in qh_check_maxout when qh_bestfacet returns NULL
|
---|
1490 | - fixed performance bug in findbestneighbor, should be + BESTnonconvex
|
---|
1491 | - renamed 'notgood' flag in 'f' option to 'notG' flag (caused confusion)
|
---|
1492 | - changed qh.hulltime to (unsigned) to prevent negative CPU times
|
---|
1493 | - added random perturbations to qh_getangle under the 'Rn' option
|
---|
1494 | - reviewed the documentation and enhancement list
|
---|
1495 | - added discussion of how to intersect halfspaces using qhull
|
---|
1496 | - replaced expression that caused incorrect code under an old version of gcc
|
---|
1497 | - added buffer after qh.errexit in case 'jmp_buf' has the wrong size
|
---|
1498 | - rewrote qh_printhelp_singular for lower-dimensional inputs
|
---|
1499 | - rewrote qh_printhelp_degenerate
|
---|
1500 | - added options for qh_RANDOMint in qhull_a.h
|
---|
1501 | - changed time format for 'TFn' to %02d
|
---|
1502 |
|
---|
1503 | ------------
|
---|
1504 | qhull V2.01 6/20/94
|
---|
1505 | - fixed bug in qh_matchnewfacets that occured when memory alignment makes
|
---|
1506 | facet->neighbors larger than necessary.
|
---|
1507 | - fixed bug in computing worst-case simplicial merge of angle coplanar
|
---|
1508 | facets (ONEmerge). This decreases (...x) in printsummary.
|
---|
1509 |
|
---|
1510 | qhull V2.01 6/17/94
|
---|
1511 | - added recommendation for 'Qcm' to documentation and help prompts
|
---|
1512 | - added an input warning to qh_check_points ('Tv') if coplanars and no 'Qc'
|
---|
1513 | - qh_partitionpoint: always counts coplanar partitions (Zcoplanarpart)
|
---|
1514 | - rewrote qh_printhelp_degenerate to emphasize option 'C-0'
|
---|
1515 | - For Geomview output, roundoff is not needed when printing the inner and
|
---|
1516 | outer planes. This improves Geomview output for the 'Rn' option.
|
---|
1517 | - For Geomview output without coplanar points or vertices, qh_GEOMepislon
|
---|
1518 | is not needed. This removes the edge gap when displaying a Voronoi cell.
|
---|
1519 | - For Geomview output 'Gp', direct vertices to the interior point
|
---|
1520 | instead of the arithmetic center of the displayed vertices.
|
---|
1521 |
|
---|
1522 | qhull V2.01 6/11/94
|
---|
1523 | - if pre-merge, 'Qf' is automatically set. Otherwise an outside point may
|
---|
1524 | be dropt by qh_findbest(). This slows down partitioning.
|
---|
1525 | - always use 'Qc' if merging and all facet->maxoutside's must be right.
|
---|
1526 | Otherwise distributions with many coplanar points may occassionally
|
---|
1527 | miss a coplanar point for a facet. This is because qh_findbest, when
|
---|
1528 | called by qh_check_maxout, can become stuck at a local maximum if
|
---|
1529 | the search is started at an arbitrary facet. With 'Qc', the search
|
---|
1530 | is started from a coplanar facet. For example,
|
---|
1531 | rbox 1000 W8e-6 t | qhull C-0 Tv
|
---|
1532 | will (rarely) report that a facet->minoutside is incorrect
|
---|
1533 | - option 'Pp' turns off "Verifying" message for 'Tv'
|
---|
1534 | - added qh_copynonconvex to qh_renameridgevertex (fixes rare error)
|
---|
1535 | - 'rbox tn' sets random seed to n
|
---|
1536 | - 'rbox t' reports random seed in comment line
|
---|
1537 | - qh_errexit reports rbox_command | qhull_command and 'QR' random seed
|
---|
1538 | - added additional tracing to bestdist and setfacetplane
|
---|
1539 | - in qh_checkconvex, need to test coplanar against 0 instead of -DISTround
|
---|
1540 | - in qh_checkconvex, always test centrums if merging. The opposite
|
---|
1541 | vertex of a simplicial facet may be coplanar since a vertex of
|
---|
1542 | a simplicial facet may be above the facet's hyperplane.
|
---|
1543 | - fixed error handling in qh_checkconvex when merging
|
---|
1544 | - in qh_printsummary, one merge ratio not printed if less than 'Wn'
|
---|
1545 | - documented that 'Tv' verifies all facet->maxoutside
|
---|
1546 |
|
---|
1547 | qhull V2.01 6/2/94
|
---|
1548 | - 's' prints summary to stderr
|
---|
1549 | - multiple output formats printed in order to stdout
|
---|
1550 | - added statistic for worst-case distance for merging simplicial facets
|
---|
1551 | can not hope for a better "max distance above/below facet"
|
---|
1552 | print factor for "max distance.."/"merge simplicial" in printsummary
|
---|
1553 | - fixed error in scaling input with min/max reversed ('Qb0:1B0:-1')
|
---|
1554 | - fixed error in scaling if project & Delaunay & scale ('d Qb0:0B1:0b2:0')
|
---|
1555 | - user_eg.c: qh_delpoint removed since it does not always work
|
---|
1556 | - user_eg.c now works for either convex hull or Delaunay triangulation
|
---|
1557 | - added PROJECTdelaunay for Delaunay triangulations and Voronoi diagrams
|
---|
1558 | with libqhull.a and user_eg.c
|
---|
1559 | - user_eg.c: if project or scale input, need to copy points
|
---|
1560 | - user_eg.c: default just defines main, added fprintf's for qh_errprint etc.
|
---|
1561 | - qh_gausselim: a 0 pivot no longer zeros the rest of the array,
|
---|
1562 | need the remaining elements for area computation
|
---|
1563 | - qh_qhull: restore cos_max, centrum_radius at end of POSTmerging
|
---|
1564 | - qh_checkflipped with !allerror is >=0.0 instead of >0.0
|
---|
1565 | - removed -Wall from gcc due to unnecesssary "warning: implicit declaration"
|
---|
1566 | - renamed 'new' variables and fields to allow compilation by g++
|
---|
1567 | - added README notes on C++, and "size isn't known"
|
---|
1568 | - updated manual on 'Qg' with coplanar facets and no merging ('rbox c D7')
|
---|
1569 | 'Qg Pg' and 'Pg' produce different results because of precision problems
|
---|
1570 |
|
---|
1571 | ------------
|
---|
1572 | Converting from qhull 1.01 to qhull 2.00
|
---|
1573 | - 'qhull An' is now 'qhull Wn'
|
---|
1574 | option 'Wn Po' is faster but it doesn't check coplanars
|
---|
1575 | - 'qhull g' is now 'qhull G', and the output formats are different
|
---|
1576 | - 'qhull c' is now 'qhull Tc'
|
---|
1577 | - 'qhull f' is now 'qhull Qf'
|
---|
1578 | - 'qhull o' is now 'qhull Po'
|
---|
1579 | - 'qhull b' is now always done
|
---|
1580 | - qhull and rbox now use floats, change REALfloat in libqhull.h for doubles
|
---|
1581 | - qhull 2.00 fixes several initialization errors and performanace errors
|
---|
1582 | e.g., "singular input" on data with lots of 0 coordinates
|
---|
1583 | - 'rbox b' is now 'rbox c G0.48'
|
---|
1584 | - all rbox distributions are now scaled to a 0.5 box (use 'Bn' to change)
|
---|
1585 | - rbox now adds a comment line. This may be removed by 'rbox n'
|
---|
1586 | - 'rbox r s Z G' no longer includes the positive pole
|
---|
1587 | - no changes to the Macintosh version
|
---|
1588 |
|
---|
1589 | qhull V2.00 5/23/94
|
---|
1590 | - if force output ('Po'), facet->maxoutside= 'Wn' since coplanars not updated
|
---|
1591 | convexity checked if precision problems or verify ('Tv')
|
---|
1592 | - if merging, new facets always checked for flipped orientation
|
---|
1593 | - a facet is visible (findhorizon) under 'Qm' if distance > max_vertex
|
---|
1594 | - if using 'Qm' then min. outside is max_vertex instead of max_outside
|
---|
1595 | - default is random()/srandom() in qhull_a.h, checked in initqhull_globals
|
---|
1596 | - created internal strtod since strtod may skip spacing after number
|
---|
1597 | - removed lower bound (1.0) for qh maxmaxcoord
|
---|
1598 | - divzero needs to handle 0/0 and large/small
|
---|
1599 | - decreased size of precise vertices
|
---|
1600 | - need to initialize qh MINdenom_1 for scalepoints
|
---|
1601 | - added factor of qh maxmaxcoord into DISTround (needed for offset)
|
---|
1602 | - 'Rn' perturbs distance computations by random +/-n
|
---|
1603 | - check_points needs an extra DISTround to get from precise point to computed
|
---|
1604 | - rewrote some of the IMPRECISION section in qhull.man
|
---|
1605 | - added the input format to the qhull prompt
|
---|
1606 | - moved include files to qhull_a.h since some compilers do not use float.h
|
---|
1607 | - added qhull.1 and rbox.1 since SGI does not ship nroff
|
---|
1608 | - reduced cutoff for printpointvect
|
---|
1609 | - use time for qhull random seed only if QR0 or QR-1
|
---|
1610 | - radius of vertices and coplanar points determined by pre-merge values
|
---|
1611 |
|
---|
1612 | qhull V2.00 5/12/94
|
---|
1613 | - facet2point (io.c) used vertex0 instead of vertex1
|
---|
1614 | - can't print visible facets after cone is attached
|
---|
1615 | - shouldn't check output after STOPcone (TCn)
|
---|
1616 | - statistic 'Wminvertex' and 'Wmaxoutside' only if MERGING or APPROXhull
|
---|
1617 | - 'make doc' uses lineprinter format for paging
|
---|
1618 | - warning if Gpv in 4-d
|
---|
1619 |
|
---|
1620 | qhull V2.b05 5/9/94
|
---|
1621 | - decreased size of precise vertices
|
---|
1622 | - precise facets in 2-d print hyperplanes
|
---|
1623 | - accounted for GOODpoint in printsummary
|
---|
1624 | - added IMPRECISION section to qhull.man
|
---|
1625 | - 'Qg' does work in 7-d unless there's many coplanar facets
|
---|
1626 |
|
---|