diff --git a/src/Changes.txt b/src/Changes.txt index 14c46bc..0783df0 100644 --- a/src/Changes.txt +++ b/src/Changes.txt @@ -1,1629 +1,1661 @@ .............This file lists all changes to qhull and rbox..................... ------------ Need help - Qhull needs RPM and Debian builds (CMake's CPackRMP and CPackDeb). - Add an Autotools build for everything - Set up debian build [octave-maintainers] Please keep debian files in config/ - Qhull needs a mirror/archive site for old and new builds - The C++ interface needs work. Give it a try and make it better. http://gitorious.org/qhull/ - Document with Qt conventions using Doxygen (//! and //!<) - Produce conformant triangulations for merged facets using option 'Qt' To do - Review email for doc changes before jun'10 - Git: Create signed tags for Qhull versions - Wiki: Add FIXUP to QH11026 for known problems - Notes to compgeom on conformant triangulation and Voronoi volume - Set File Ver and Product Ver in dll - For the C++ interface, make qh_qh a parameter instead of a global static This replaces qh_QHpointer. It simplifies multithreading. - Compute the convex hull of each Voronoi or Delaunay region - Performance test of qset and qhull - qh-get.htm: List the Window OSs for Qhull [T. Winkler] - Reconsider Qhull version numbering (e.g., Traveler 4/5/12) ------------ +Qhull + - Rename debugging routines dfacet/dvertex to qh_dfacet/qh_dvertex + - Rename rbox routines to qh_roundi/qh_out1/qh_out2n/qh_out3n + - Rename dfacet and dvertex to qh_dfacet and qh_dvertex + - Replace 'qhmem .zzz' with 'qhmem.zzz' + - Removed spaces between function and parentheses + - Rename 'enum statistics' to 'enum qh_statistics' + - Rename 'qh_rand_seed' to 'qh_last_random' + - In comments, use 'qh.zzz' to reference qhT fields + - In qh_fprintf, use qhmem.ferr to report errors + - qh_fprintf may be called for errors in qh_initstatistics and qh_meminit + - After qh_meminit, qhmem.ferr is non-zero + +qhullr + - Removed qh_save_qhull(), qh_restore_qhull(), and qh.old_qhstat from global_r.c + - Removed qh_freeqhull2() (global_r.c) + - Removed old code from unix_r.c and rbox_r.c for __POWERPC__ + - qh_rand_seed is a global (random_r.c) + - Rename sources files with a '_r' suffix + - Replace 'qh' macro with 'qh->' + - Replace global qhT with parameter-0 + - Add qhmemT to beginning of qhT. It may not be used standalone. + - Add qhstatT to end of qhT + - Remove qhull_inuse + - Change qhmem.zzz to qh->qhmem.zzz + - Replace qh_qhstat with qh->qhstat + - Remove qh_freestatistics + - Replace qh_last_random with qh->last_random + - Replace rboxT with qh->rbox_errexit, rbox_isinteger, rbox_out_offset + - Replace rbox.ferr/fout with qh->ferr/fout + - No qh for qh_exit, qh_free, qh_malloc, qh_strtod, qh_strtol, qh_stddev + Qhull 2012.1 2012/02/18 6.3.1.1494 - Fix CMakeLists for libqhull with MATCHES [P. Gajdos] ------------ Qhull 2012.1 2012/02/18 6.3.1.1490 Code changes - Require option 'Qz' for Delaunay triangulation/Voronoi diagram of cocircular/cospherical points [D. Sheehy] - qh_errexit: Do not call qh_printsummary or qh_printstats on qh_ERRinput - Change error QH6227 (all degenerate) from qh_ERRinput to qh_ERRprec - Change error QH6159 (ID overflow) from qh_ERRinput to qh_ERRqhull - eg/q_eg, q_egtest, q_test: Run if qconvex is in $PATH [M. Atzeri] Build changes [M. Atzeri] - Install to share/doc/qhull instead of share/doc/packages/qhull - On Unix systems, install to share/man/man1 instead of man/man1 - CMakeLists: Remove the installation of user_eg* and testqset - CMakeLists: Remove VERSION from qhull executables and libraries - CMakeLists: Define qhull_SOVERSION instead of qhull_MAJOR - CMakeLists: Set SOVERSION for shared libraries - Rename libraries to qhull, qhull_d, qhull_p, and qhull_pd libqhull6_p.vcproj is now libqhull_p.vcproj mingw builds as libqhull.dll cygwin builds as cygqhull-6.dll linux builds as libqhull.so.6.3.1 with symbolic link as libqhull.so - Developers using qhull 2011: libqhull6.so is now libqhull_p.so. Do not use libqhull.so. qhull6.dll is now qhull_p.dll. Do not use qhull.dll. - Merged road/ into libqhullcpp/ and qhulltest/ Moved RoadLogEvent.* and RoadError.* to libqhullcpp Moved RoadTest.* to qhulltest (requires Qt) Installed RoadTest.h in libqhullcpp Doc changes - index.htm: Mathworks uses qhull for n-d - qhull.htm: Fix qhull for qconvex - qdelaun.htm/qvoronoi.htm: Use option 'Qz' for circular/cospherical inputs - make help: Display targets - Makefile: Better messaging ------------ Qhull 2012.1 2012/02/02 6.3.0.1483 Bug fixes - Fixed qset.c for -fno-strict-aliasing. This gcc option is no longer needed (disallow two pointers of differing types to the same memory location) - Fixed error in qh_setappend_set if first set full and second set empty - qh_setdelnth, qh_setdelnth_sorted: fixed wording of error message - qh_setcheck: error message listed size and max backwards. - qh_setequal: Allow NULL set as documented - qh_setindex: Allow NULL set as documented - qh_settemppush: report error if NULL Code changes - Add testqset: low level test of qset.c with mem.c - qh_setendpointer: Implements QSet::endPointer() - Assigned unique error code for qh_gethash Build changes - Added qhull.dll(.so) for Octave and other Debian builds The global data structure qh_qh is statically defined (no qh_QHpointer) Linked user_eg2 with qhull.dll (libqhull.so) instead of qhullstatic Added qh_dllimport to libqhull.h for qhull.dll with MSVC Changed qhull-app-shared.pri to use libqhull (without qh_QHpointer) - Renamed libqhull6.so to libqhull6_p.so Renamed qhull6.dll to qhull6_p.dll The _p libraries (e.g., libqhull6_p.so) require -Dqh_QHpointer Renamed qhull6.vcproj to libqhull6_p.vcproj Added libqhullp/libqhullp.pro for shared library (libqhull6_p.so) Added qhull-app-sharedp.pri for shared libraries with qh_QHpointer - Install libqhull/*.htm files into include/libqhull - Removed libqhull/qhull.h-deprecated [J. Eaton] - Other changes to Makefile builds Added 'make qtestall' as a smoketest of each qhull program src/libqhull/Makefile: Use 'ar -rs ...' instead of ranlib src/libqhull/Makefile: Fixed targets for cleanall - Other changes to DevStudio builds Moved pdb files for qhull libraries to lib/ AdditionalIncludeDirectories: Removed ../src/libqhullcpp Use build-cmake/ for the DevStudio CMake build - Other changes to Qt builds Renamed qhull-libsrc.pri to qhull-libqhull-src.pri - Added explicit d2u conversions to qhull-zip.sh - Fixed \n vs. \r\n issues for Windows source files Draft of Debian/AutoConf build (untested) - Adjusted the Makefile.am's for the new directory structure. - Added testqset to bin_PROGRAMS - config/bootstrap.sh copies program sources into src/libqhull - Kept qh_QHpointer=0 (static global data structure, qh_qh). It is faster. Planning a new interface (qhull7?) which passes qh_qh as a parameter - Added config/changelog from the 2003.1 Debian build - Moved the debian/patches directory to config/ Optional patches to change smoketest message and turn on qh_QHpointer - Deleted the debian directory. It was the old Debian build from 2003.1 Rafael Laboissiere's config directory replaced this build.. - Deleted Make-conf.sh (also the old Debian build) Doc changes - FAQ: Updated notes on computing volume of a Voronoi region - Added direct link to ACM Digital Library for downloading the qhull paper - Added link to Qhull in R - qset.c: Updated notes about NULL sets - qh_setappend: clarify qh_setappend for NULL newelem - qh_setdellast: Fix head note - Add build/README.txt - Add uninstall instructions to README.txt and CMakeLists.txt - Added instructions to create build/*.vcproj to CMakeLists.txt - Update copyright to 2012 - Updated page links. Added Google books, patents, and blogs. ----------- Qhull 2009.1.3 2011/12/06 configure: Add -fno-strict-aliasing if $GCC, Required for gcc 4.1+ ------------ Qhull 2011.2 2011/11/29 6.2.1.1446 Bug fixes - qh_new_qhull: Call qh_prepare_output if !outfile [A. Aldoma] No effect on qhull users since qh_prepare_output is always called. - Replace Qhull-go.pif with Qhull-go.lnk for Windows 7 64-bit [lots] - Error if qh_newhashtable, qh_setnew, or qh_memalloc overflows [X. Cheng] For example, 'rbox 64 D32' overflows hash table for qh_matchnewfacets Qhull uses 32-bit ints for identifiers, counts, and sizes. See "WARN64" - q_eg, q_test: change tail +3 to tail -n +3 [N. Dubray, M. Atzeri] - Qhull-go.bat: Changed 'cmd' to '%comspec%' Build changes - Added src/libqhull/Makefile for simple gcc build of executables and lib - qhulltest.vcproj: Replaced full path to QT with $QTDIR (e.g., c:/qt/4.7.4) - Split userprintf_rbox.c from userprintf.c, Otherwise qhull brings in rboxlib and rbox brings in libqhull - Makefile: qhullx target must be after LIBQHULLS_OBJS - Makefile: Explicitly list rbox dependencies for qhullx target - MBorland: Fixed tabs - Placed $LIBQHULLS_OBJS in same order. Frequently called ones together. - Update file lists for Make-config.sh [O. Lahaye] - CMakeLists: add README.txt,etc. to DOC_INSTALL_DIR [M. Atzeri] - Restored qhull.h-deprecated. qhull.h conflicts with Qhull.h on Windows systems [C. Abela] - make-config.sh: Add warning that it is out-of-date - Remove extra space in '#! /bin/sh' in q_eg, etc. [P. Cheeseman] Source changes - libqhull.h: Added qh_True and qh_False for True/False [A. Mutzel] Did not remove or replace True/False since it is used everywhere - Moved error message from qh_argv_to_command to caller. Avoids dependency. - user_eg3.c: Use '10 D2' as default rbox (e.g., 'user_eg3 rbox qhull d') - user.c, user_eg2.c: Add test of qh_qh as done in user_eg.c - q_test: Removed duplicate test of qhull C-0.02 Documentation - index.html: Added ACM Authorizer link to ACM Trans. Math. Software - Split Delaunay and Voronoi FAQs - FAQ: How to compute the volume of a Voronoi region [C, Brinch] - Add 'FS' to qconvex prompt (total area and volume) - Add clarification to 'Fv' about corner input sites [O. Can] - Qhull-go.bat: Removed out-of-date advice. Added title. - qh-code.htm: Updated the discussion of multi-threading for C++ [I. Pirwani] Qhull 2009.1.2 2011/11/21 - Revert to LF line endings [P. Cheeseman] - Remove out-of-date material from qhull-go.bat - Replaced QHULL-GO with a lnk file Qhull 2011.1 2011/05/23 6.2.0.1385 (exe/dll files unchanged) - delaunay.vcproj: Fixed qhullstatic_d.lib for debug and minrelsize builds - Did not redate the distribution Qhull 2011.1 2011/05/18 6.2.0.1385 (exe/dll files unchanged) - Add 'm' library to shared and static targets on Unix [A. Bouchard] Qhull 2011.1 2011/05/14 6.2.0.1383 (exe/dll files unchanged) - PointCoordinates.cpp: Add #include [R. Richter, S. Pasko] - Remove deprecated libqhull/qhull.h Use libqhull/libqhull.h instead. Avoids confusion with libqhullcpp/Qhull.h - Makefile: Add LIBDIR, INCDIR, and DESTDIR to install [L.H. de Mello] Separate MAN install from DOC install Create install directories Installs headers to include/libqhull, include/libqhullcpp, include/road - CMakeLists.txt: Add MAN_INSTALL_DIR for qhull.1 and rbox.1 man pages Add RoadTest.h to include/road for Qt users (road_HEADERS) - Renamed md5sum files to avoid two extensions - qh-get.htm: Add Readme links and 2009.1 note. - qh-optf.htm: Fix link - index.htm: Updated Google Scholar link - qhull-zip.sh: Improved error message. ------------ Qhull 2011.1 2011/04/17 6.2.0.1373 Changes to deliverables - qvoronoi: Deprecated 'Qt' and 'QJn'. Removed from documentation and prompts. These options produced duplicate Voronoi vertices for cospherical data. - Removed doskey from Qhull-go.bat. It is incompatible with Windows 7 - Added 'facets' argument to user_eg3.cpp - user_eg links with shared library - qhulltest.cpp: Add closing prompt. Changes to build system - Reorganized source directories - Moved executables to bin directory - Add CMake build for all targets (CMakeFiles.txt) [M. Moll assisted] - Add gcc build for all targets (Makefile) - Fixed location of qhull.man and rbox.man [M. Moll] - Add DevStudio builds for all targets (build/*.vcproj) - Added shared library (lib/qhull6.dll) Added qh_QHpointer_dllimport to work around problems with MSVC - Added static libraries with and without qh_QHpointer (lib/qhullstatic.lib) - Added eg/make-vcproj.sh to create vcproj/sln files from cmake and qmake - Document location of qh_QHpointer - Use shadow build directory - Made -fno-strict-aliasing conditional on gcc version - Added src/qhull-app-cpp.pri, src/qhull-app-c.pri, etc. for common settings - Add .gitignore with ignored files and directories. - Use .git/info/exclude for locally excluded files. - Fixed MBorland for new directory structure Changes to documentation - qvoronoi.htm: Remove quotes from qvoronoi example - qhull-cpp.xml: Add naming conventions - index.htm: Add Google Scholar references - qh-optf.htm: Add note about order of 'Fn' matching 'Fv' order [Q. Pan] - Add patch for old builds in qh-get.htm - Added C++ compiling instructions to README.txt - Add instructions for fixing the DOS window - Changed DOS window to command window - Fixed html links - qh-get.htm: Dropped the Spanish mirror site. It was disabled. Changes to C code - mem.h: Define ptr_intT as 'long long' for Microsoft Windows _win64 builds. On Linux and Mac, 'long' is 64-bits on a 64-bit host - Added qh_QHpointer_dllimport to work around MSVC problem - qconvex.c,etc.: Define prototype for _isatty - Define MSG_QHULL_ERROR in user.h - Move MSG_FIXUP to 11000 and updated FIXUP QH11... Changes to test code - Add note to q_test than R1e-3 may error (qh-code.htm, Enhancements) - Add test for executables to q_eg, etc. - Fixed Qhull-go.bat. QHULL-GO invokes it with command.com, Changes to C++ interface - QhullFacet: Added isSimplicial, isTopOrient, isTriCoplanar, isUpperDelaunay - Added Qhull::defineVertexFacetNeighbors() for facetNeighbors of vertices. Automatically called for facet merging and Voronoi diagrams Do not print QhullVertex::facetNeighbors is !facetNeighborsDefined() - Add Fixup identifiers - QhullError: Add copy constructor, assignment operator, and destructor - Add throw() specifiers to RoadError and QhullError - Renamed RoadError::defined() to RoadError::isDefined() - Add #error to Qhull.h if qh_QHpointer is not defined Changes to C++ code - Fixed bug reported by renangms. Vertex output throws error QH10034 and defineVertexNeighbors() does not exist. - Define QHULL_USES_QT for qt-qhull.cpp [renangms] - Reviewed all copy constructors and copy assignments. Updated comments. Defined Qhull copy constructor and copy assignment [G. Rivet-Sabourin] Disabled UsingQhullLib default constructor, copy construct, and copy assign - Merged changes from J. Obermayr in gitorious/jobermayrs-qhull:next - Fix strncat limit in rboxlib.c and global.c - Changes to CMakeLists.txt for openSUSE - Fixed additional uses of strncat - Fixed QhullFacet::PrintRidges to check hasNextRidge3d() - Removed gcc warnings for shadowing from code (src/qhull-warn.pri) - Removed semicolon after extern "C" {...} - Removed experimental QhullEvent/QhullLog - Use fabs() instead of abs() to avoid accidental conversions to int - Fixed type of vertex->neighbors in qh_printvoronoi [no effect on results] - Removed unnecessary if statement in qh_printvoronoi ------------ qhull 2010.1 2010/01/14 - Fixed quote for #include in qhull.h [U.Hergenhahn, K.Roland] - Add qt-qhull.cpp with Qt conditional code - Add libqhullp.proj - Add libqhull5 to Readme, Announce, download - Reviewed #pragma - Reviewed FIXUP and assigned QH tags - All projects compile with warnings enabled - Replaced 'up' glyphs with » - Moved cpp questions to qh-code.htm#questions-cpp - Moved suggestions to qh-code.htm#enhance - Moved documentation requests to qh-code.htm#enhance - Add md5sum file to distributions - Switched to DevStudio builds to avoid dependent libraries, 10% slower Removed user_eg3.exe and qhullcpp.dll from Windows build Fix qhull.sln and project files for qh_QHpointer - Add eg/qhull-zip.sh to build qhull distribution files ------------ qhull 2010.1 2010/01/10 - Test for NULL fp in qh_eachvoronoi [D. Szczerba] qhull 2010.1 2010/01/09 Changes to build and distribution - Use qh_QHpointer=0 for libqhull.a, qhull, rbox, etc. Use -Dqh_QHpointer for libqhullp.a, qhullcpp.dll, etc. qh_QHpointer [2010, gcc] 4% time 4% space, [2003, msvc] 8% time 2% space - Add config/ and project/debian/ for Autoconf build [R. Laboissiere] from debian branch in git and http://savannah.nongnu.org/cvs/?group=qhull - Add CMakeLists.txt [kwilliams] - Fix tabs in Makefile.txt [mschamschula] - Add -fno-strict-aliasing to Makefile for gcc 4.1, 4.2, and 4.3 qset segfault - Remove user_eg.exe and user_eg2.exe from Windows distribution - Order object files by frequency of execution for better locality. Changes to source - Remove ptr_intT from qh_matchvertices. It was int since the beginning. - user.h requires for CLOCKS_PER_SEC - Move ostream<