summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornros <nros@pkgsrc.org>2016-02-03 16:05:56 +0000
committernros <nros@pkgsrc.org>2016-02-03 16:05:56 +0000
commit5b4a512cf5ffe18a3d51646df2feb4730eaad159 (patch)
treeac7f89b7bc636cb443760c1b73b3fcf67d9e6e09
parent442a0a53613535f827e32baebfd6e9d9999cba32 (diff)
downloadpkgsrc-5b4a512cf5ffe18a3d51646df2feb4730eaad159.tar.gz
Updated qhull to version 2015.2.
Changelog: ------------ Qhull 2015.2 2016/01/18 (7.2.0) - Fixed memory leak in ~QhullQh [M. Sandim] QhullQh.cpp: call checkAndFreeQhullMemory() in the destructor. Otherwise memT is not freed. Remove checkAndFreeQhullMemory() from Qhull.h. It is not needed. Remove calls to checkAndFreeQhullMemory in qhulltest. It is called by ~QhullQh() libqhull_r.h: Document qh_ASvornoi and facetT.center qh_freeqhull: if qh_NOmem, use qh_ALL qh_memalloc: short memory is freed by qh_memfreeshort unless qh_NOmem qh_memstatistics (mem.c): call qh_memcheck() as done in mem_r.c qh_new_qhull calls qh_memcheck qh_newvertex: free vertex on error qh_projectinput: Free memory allocations on error qh_rboxpoints: free simplex on error qh_sethalfspace_all: Fixed memory leak on error QH8032 feasible not inside halfspace qh_triangulate_facet: For TRInormals ('Q11') replace qh_copypoints with qh_memalloc qh_triangulate_facet: Document qh.TRInormals qh_voronoi_center: Free center on error qhulltest: Fixed memory leak of s_testcases by calling RoadTest::deleteTests() qhulltest: The 'add_*_test' functions append the test object to RoadTest::s_testcases ~RoadTest: declare virtual for Q_OBJECT, removeAll not needed user_eg2: Check memory at end of each run user_r.h: Add QHULL_CRTDBG for invoking Microsoft's memory leak detector use _MSC_VER instead of QHULL_OS_WIN for QHULL_CRTDBG Call qh_freeqhull with qh_ALL/!qh_ALL instead of 'True/False' Include user_r.h with RoadError,h for QHULL_CRTDBG Invoke _CrtSetDbgFlag... at beginning of program Moved user_r.h/libqhull_r.h/qhull_ra.h as first include (for QHULL_CRTDBG) Moved QHULL_OS_WIN from qhull_ra.h to user_r.h Removed __CYGWIN__ from QHULL_OS_WIN (same as Qt's qglobal.h) - check_dupridge: A bounding box is not sufficient to avoid dupridge errors - qh_findbestneighor: Error if qh.CENTERtype is qh_ASvoronoi (i.e., no merging now) - qh_printstatlevel: Remove unused parameter, 'start' - QhullLinkedList::last() and back(): Return T instead of T& (T is computed) - qh-code.htm: "How to convert code to reentrant Qhull" Update "Nearly coincident points on an edge" Add 2012 size of data structures to "Qhull on 64-bit computers" - html/index.htm: Add CGAL to "When to use" - qh-optq.htm: Add documentation for option 'Q12' - Move suggestions from Changes.txt to qh-code.htm#enhance - user_r.h: Fixed qh-us_r.html links - Fixed links in html pages - QhullIterator and QhullLinkedList: Include <iterator> [B. Boeckel] - Moved include file for each C++ source file to the top of the includes - Prepend cpp includes with "libqhullcpp/" - RoadLogEvent includes RoadLogEvent.h - QhullIterator.h: Only QHULL_DECLARE_SEQUENTIAL_ITERATOR is used. - Compared src/libqhull/* to src/libqhull_r/* and resolved differences - qh_printpoint in io.c skips qh_IDnone like io_r.c - qhull_p-exports.def: Added three missing exports - set_r.h: Removed countT. Too many issues - libqhull_r/Makefile: Add help prompts to 'make qtest' - libqhull.pro: Add '../libqhull/' to sources and headers - libqhull/Makefile: Fixed -I,./,,/src - qhull-zip.sh: Add CMakeModules to tarball [C. Rosenvik] - CMakeLists.txt: Add targets qhullp and user_egp for qh_QHpointer and libqhull_p - Reorganized 'make help' - Makefile cleanall: Delete testqset and qhulltest from bin/ - Fix filetype of Unix-only files - Fix Unix line endings for Makefile and check in qhull-zip.sh - Fix Windows line-endings and check in qhull-zip.sh - qhull-zip.sh: Check for Unix text files ------------ Qhull 2015.1 2016/01/03 (7.1.0) - Add Rbox option 'Cn,r,m' to add nearly coincident points. Trigger for duplicate ridges - Add Qhull option 'Q12' to ignore error on wide merge due to duplicate ridge - qh_findbestlower: Call qh_findfacet_all to fix rare "flipped or upper Delaunay" error QH6228. QH6228 input provided by J. Metz. Reported (date order): L. Fiaschi, N. Bowler, A. Liebscher, V. Vieira, N. Rhinehart, N. Vance, P. Shafer - qh_check_dupridge: Check if wide merge due to duplicate ridge from nearly coincident points - qh_initialhull: Fix error messages for initial simplex is flat - qh_determinant: increased 2-d and 3-d nearzero by 10x due to a counter-example - rbox: Add qh_outcoord() to output coordinates w/ or w/o iscdd - qh_meminit (mem.c): Add call to qh_memcheck - Compare libqhull/... to libqhull_r/... and resolve differences - Update builds for DevStudio (qhull.sln for msdev 2005..2009, qhull-32.sln and qhull-64.sln for recent releases) - qh-impre.htm: Add a section about precision errors for 'Nearly coincident points on an edge' - html/index.htm#geomview: Document how to install, build, and use Geomview. - html/index.htm: Emphasize program links and move related urls to end - qhull/index.htm: Emphasize manual, geomview, and imprecision - Fix documentation links in libqhull_r/index.htm - Add 'Functions' link to documentation headers - Change '<A>...</A>' to '<a>...</a>' - libqhull_r/index.htm -- Add instructions for configuring web browsers for source links. - libqhull_r/ -- Fix source links for ..._r.htm files ------------ Qhull 2015.0.7 2015/11/09 (7.0.7) - Fix return type of operator-> in QhullLinkedList and other collection classes [F. Jares] - Fix return types for QhullLinkedList - Fix return types for QhullPoints - Simplify return type for Coordinates::operator[] (same as QList) - Add const to operators for QhullSet::iterator and add documentation - Coordinates.h: Fix return types for operations of iterator and const_iterator - Drop use of Perforce changelist number in qhull_VERSION of CMakeLists.txt - Rename the md5sum files as *.tgz.md5sum instead of *-tgz.md5sum - Fix build dependency for testqset_r [asekez] - rbox.c depends on Qhull due to qh_lib_check which uses qh_version2 for error messages - QhullFacet_test.cpp: Annotate Qhull invocations. Allows their repetition. - QhullFacet_test.cpp: Adjust epsilon on distance tests - Do not create libqhullcpp as a shared library. Qhull C++ classes may change layout and size. - qhull-cpp.xml: Make a relative path to road-faq.xsl ------------ Qhull 2015.0.6 2015/10/20 (7.0.6.2013) - In the libraries, exit() is only called from qh_exit(). qh_exit may be redefined. - Add qh_fprintf_stderr to usermem.c. May be overridden to avoid use of stderr [D. Sterratt] Add usermem to testqset builds Used by qh_fprintf_rbox - Remove most instances of stderr/stdout from libqhull, libqhull_r, and libqhullcpp [D. Sterratt] qh_fprintf_stderr may be redefined. qh_meminit and qh_new_qhull use stderr as the default ferr - qh_initflags: Use qh.fout instead of stdout for 'TO file'. A library caller may define a different qh.fout. - qh_settemppush: Call qh_fprintf() instead of fprintf() on error. - Rename qh_call_qhull as "Qhull-template" from user.c. Updated its references. - qh-code.htm: "How to avoid</a> exit(), fprintf(), stderr, and stdout" - html/index.htm: Fix table of contents for qh-code - libqhull_r/index.htm: Rewrite introduction to Reentrant Qhull - qh-faq.htm: Rewrite "Can Qhull use coordinates without placing them in a data file?" - qh-get.html: Link to github - Remove qhull_interface.cpp from the documentation ------------ Qhull 2015.0.5 2015/10/12 (7.0.5.1995) - qh_new_qhull: default 'errfile' is 'stderr'. outfile and errfile are optional [B. Pearlmutter] - qh_new_qhull: returns qh_ERRinput instead of exit() if qhull_cmd is not "qhull ..." [B. Pearlmutter] - qhalf_r.c,etc: Add clear of qh.NOerrexit - global.c: gcc 4.4.0 mingw32 segfault cleared by adding comment - usermem_r-cpp.cpp: Optional file to redefine qh_exit() as throw "QH10003.." [B. Pearlmutter] qh_exit() is called by qhull_r when qh_errexit() is not available. - html/index.htm: Add bibliographic reference to Golub & van Loan and annotated the source references - qhalf.htm: A halfspace is the points on or below a hyperplane [D. Strawn] - qh-opto.htm#n: Defined inside, outside, on, above, and below a hyperplane [D. Strawn] - qhalf.htm#notes: Recast the linear program using negative halfspaces (as used by Qhull) [D. Strawn] - qhull_a.h: Fix comment '#include "libqhull/qhull_a.h" [fe rew] - build/qhull*.pc.in: Templates for pkg-config (derived from Fedorra) [P. McMunn] https://bitbucket.org/mgorny/pkg-config-spec/src/c1bf12afe0df6d95f2fe3f5e1ffb4c50f018825d/pkg-config-spec.txt?at=master&fileviewer=file-view-default - Makefile: Remove user_eg3.o from LIBQHULLCPP_OBJS - Makefile: Add .h dependencies for unix_r.o, etc. - libqhull/Makefile: Fix build of rbox - libqhull_r/Makefile: Fix build -I - qhull.sln/user_eg3: Add dependency on libcpp - Removed bin/libqhull_r.dll (should be qhull_r.dll) - Removed build/qhulltest.vcproj (see build/qhulltest/qhulltest.vcproj) ------------ Qhull 2015.0.4 2015/9/30 (7.0.4.1984) - qh-get.htm: Unix tarball includes version number (e.g., qhull-2015-src-7.1.0.1940.tgz) [Hauptman] - qglobal.c: Add qh_version2 with Unix version for "-V" option [Hauptman] - build/qhull-32.sln, *-32.vcxproj: Add Visual Studio 32-bit build for 2010+ - build/qhull-64.sln, *-64.vcxproj: Add Visual Studio 64-bit build for 2010+ [G. Lodron] - make-vcproj.sh: Restore to eg/... It is required for Visual Studio builds - README.txt: updated builds and reentrant Qhull - Add documentation for QHULL_LIB_CHECK - qh_lib_check: Check for unknown QHULL_LIB_TYPE - qh-code.htm: Add memory requirements for 32- and 64-bit ------------ Qhull 2015.0.3 2015/9/22 - qh_mem, qh_merge: Log before 'delete' instead of afterwards [Coverity, K. Schwehr] - qh_merge: Test for NULL horizon in qh_checkzero [Coverity, K. Schwehr] - qh_matchneighbor: Check for matchfacet not a neighbor of facet [Coverity, K. Schwehr] - qh_triangulate: Explicit check for visible==NULL [Coverity, K. Schwehr] - qh_findbestfacet (unused by qhull): Fix test of isoutside [Coverity, K. Schwehr] - qh_check_maxout: Check bestfacet!=0 for logging its id [Coverity, K. Schwehr] - qh_nearvertex: Check for bestvertex not found [Coverity, K. Schwehr] - qh_checkfacet: Check for missing neighbors of simplicial facets [Coverity, K. Schwehr] - qh_setdelnth: Check 'nth' before using it [Coverity, K. Schwehr] - Annotate code for Coverity warnings (most of these protected by qh_errexit) [K. Schwehr] - qh_printfacet3math: explicit format string (duplicates change to io.c) [B. Pearlmutter] - libqhull_r.h: fix spelling error (duplicates change to libqhull.h) [B. Pearlmutter] - unix_r.c: fix spelling error (duplicates change to unix.c) [B. Pearlmutter] - qhull_a.h: define qhullUnused() only if defined(__cplusplus) [R. Stogner] - qh_version: Use const char str[]= "string" instead of const char * str= "string" [U. Drepper, p. 27] - qh_newvertex: Use UINT_MAX instead of 0xFFFFFFFF - qh_newridge: Use UINT_MAX instead of 0xFFFFFFFF - Reviewed FIXUP notes - QhullRidge_test: t_foreach use 'foreach(const QhullVertex &v, vertices) - Made '#include "RoadTest.h" consistent across all C++ tests - qh-code.htm: May also use libqhull_r (e.g., FOREACHfacet_(...)) - qh-get.htm: Add list of download build repositories - Add CMakeModules/CheckLFS.cmake: Enables Large File Support [B. Pearlmutter] - Makefile: Use -fpic at all times instead of -fPIC, [U. Drepper p. 15] ------------ Qhull 2015.0.2 2015/9/1 - global_r.c: Fixed spelling of /* duplicated in...qh_clear_outputflags */ [K. Schwehr] - Replaced Gitorious with GitHub - Moved 'to do' comments into Changes.txt ------------ Qhull 2015.0.1 2015/8/31 Source code changes - Increased size of vertexT.id and ridgeT.id to 2^32 [H. Strandenes, C. Cantwell] Reworded the warning message for ridgeT.id overflow. It does not affect Qhull output - Add qh_lib_check to check for a compatible Qhull library. Programs should call QHULL_LIB_CHECK before calling Qhull. - Include headers prefixed with libqhull/, libqhull_r/, or libqhullcpp/ - Renamed debugging routines dfacet/dvertex to qh_dfacet/qh_dvertex - Rewrote user_eg, user_eg2, and user_eg3 as reentrant code - Renamed 'qh_rand_seed' to 'qh_last_random'. Declare it as DATA - qh_initqhull_start2 sets qh->NOerrexit on initialization User must clear NOerrexit after setjmp() Other source code changes - Define ptr_intT as 'long long' for __MINGW64__ [A. Voskov] - poly_r.c: initialize horizon_skip [K. Schwehr] - Removed vertexT.dim and MAX_vdim. It is not used by reentrant Qhull. - Removed qhull_inuse. Not used by C++ - Removed old __MWERKS__/__POWERPC__ code that speed up SIOUX I/O - Moved #include libqhull/... before system includes (e.g., <stdio.h> - Comment-out _isatty declaration. Avoids "C4273 ... inconsistent dll linkage" - Add random.h/random_r.h as an include file to random.c/random_r.c - 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 name and parentheses - Rename 'enum statistics' to 'enum qh_statistics' - Declare rbox as DATA in qhull-exports.def and qhull_p-exports.def - 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 - qh_pointid returns qh_IDnone, qh_IDinterior, qh_IDunknown in place of -3, -2, -1 resp. - getid_() returns qh_IDunknown in place of -1 - After qh_meminit, qhmem.ferr is non-zero (stderr is the default) - Update qh_MEMalign in testqset.c to user.h (with realT and void*) - Split rboxT into a header file - Add rboxlib.h to libqhull_a.h - Rename PI to qh_PI and extend to 30 digits - Rename MAXdim to qh_MAXdim - Change spacing for type annotations '*' and '&' in C++ header files - Test for !rbox_output/cpp_object in qh_fprintf_rbox - Remove 'inline' annotation from explicit inline declarations - Column 25 formatting for iterators, etc. - Use '#//!\name' for section headers - QhullFacet.cpp: zinc_(Zdistio); - Clear qhT.ALLOWrestart in qh_errexit - Replace longjmp with qh_errexit_rbox in qh_rboxpoints - Add jmpExtra after rbox_errexit to protect against compiler errors - Add qh.ISqhullQh to indicate initialization by QhullQh() - Add library warnings to 'rbox D4', user_eg, user_eg2, user_eg3 - Add headers to q_eg, q_egtest, and q_test - Check that qh.NOerrexit is cleared before call to qh_initflags Qhull documentation - README.txt: Added references to qh-code.htm - README.txt: Added section 'Calling Qhull from C programs' - qh-code.htm: Moved Performance after C++ and C interface - qh-code.htm: Moved Cpp Questions to end of the C++ section - qh-code.htm: Fixed documentation for 'include' path. It should be include/libqhull - qconvex.htm: Fixed documentation for 'i'. It triangulates in 4-d and higher [ref] - Clarified qhalf space documentation for the interior point [J. Santos] - rbox.c: Version is same date as qh_version in global.c - gobal_r.c: Version includes a '.r' suffix to indicate 'reentrant' Qhull builds - Development moved to http://github.com/qhull/qhull git clone git@github.com:qhull/qhull.git - Exchanged make targets for testing. 'make test' is a quick test of qhull programs. 'make testall' is a thorough test - Added 'make help' and 'make test' to libqhull and libqhull_r Makefiles - CMakeLists.txt: Remove libqhull, libqhull_r, and libqhullcpp from include_directories - CMakeLists.txt: Add qhull_SHAREDR for qhull_r - CMakeLists.txt: Retain qhull_SHARED and qhull_SHAREDP (qh_QHpointer) - CMakeLists.txt: Move qhull_SHARED and qhull_SHAREDP (qh_QHpointer) to qhull_TARGETS_OLD Drop qhull_STATICP (use qhull_SHAREDP or qhull_STATIC) Set SOVERSION and VERSION for shared libraries - Move qhull_p-exports.def back to libqhull - Switched to mingw-w64-install for gcc - Improved prompts for 'make' - qhull-all.pro: Remove user_eg3.cpp from OTHER_FILES - libqhull.pro: Ordered object files by frequency of execution, as done before - Add the folder name to C++ includes and remove libqhullcpp from INCLUDEPATH - Changed CONFIG+=qtestlib to QT+=testlib - Changed Makefile to gcc -O3 (was -O2) - Changed libqhull/libqhull_r Makefiles to both produce rbox, qhull, ..., user_eg, and user_eg2 - Removed Debian 'config/...'. It was needed for Qhull 2012. libqhull_r (reentrant Qhull) - Replaced qh_qh with a parameter to each procedure [P. Klosterman] No more globally defined data structures in Qhull Simplified multithreading and C++ user interface All functions are reentrant (Qt: "A reentrant function can ... be called simultaneously from multiple threads, but only if each invocation uses its own data.") No more qh_QHpointer. See user_eg3 and qhulltest New libraries libqhull_r -- Shared library with reentrant sources (e.g., poly_r.h and poly_r.c which replace libqhull's poly.h and poly.c) libqhullstatic_r -- Static library with the same sources as libqhull_r libqhullcpp -- The C++ interface using libqhullstatic_r (further notes below) New executables testqset_r -- Test qset_r.c (the reentrant version of qset.c Source code changes for libqhull_r - Add qh_zero() to initialize and zero memory for qh_new_qhull - Remove qh_save_qhull(), qh_restore_qhull(), and qh.old_qhstat from global_r.c - Remove qh_freeqhull2() (global_r.c) - Remove qh_freestatistics() (stat_r.c) - Remove qh_compare_vertexpoint (qhT is not available, unused code) - Remove conditional code for __POWERPC__ from unix_r.c and rbox_r.c - Move qh_last_random into qh->last_random (random_r.c) - Rename sources files with a '_r' suffix. qhull_a.h becomes qhull_ra.h - 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 - New qmake include files qhull-app-c_r.pri, qhull-app-shared_r.pri, qhull-libqhull-src_r.pri - Replace 'int' with 'countT' and 'COUNTmax' for large counts and identifiers - qhset converted to countT - Removed vertexT.dim -- No longer needed by cpp Removed MAX_vdim - Guarantee that qh->run_id!=0. Old code assumed that qh_RANDOMint was 31 bits Changes to libqhullcpp - Added QhullVertexSet.h to libqhullcpp.pro and libqhullpcpp.pro - QhullVertexSet: error if qhsettemp_defined at copy constructor/assignment (otherwise double free) - Enable QhullSet.operator=. Copy constructor and assignment only copies pointers - Changed QhullPoint.operator==() to sqrt(distanceEpsilon) - Added assignment of base class QhullPoints to PointCoordinates.operator= - Enable QhullPoints.operator= - Rename PointCoordinates.point_comment to describe_points - Add 'typename T' to definition of QhullSet<T>::value() C++ interface - Reimplemented C++ interface on reentrant libqhull_r instead of libqhull - Prepend include files with libqhullcpp/ - Replaced UsingLibQhull with QhullQh and macro QH_TRY Removed UsingLibQhull.currentAngleEpsilon and related routines Removed UsingLibQhull_test.cpp Replaced globalDistanceEpsilon with QhullQh.distanceEpsilon Replaced globalAngleEpsilon with QhullQh.angleEpsilon Moved UsingQhullLib.checkQhullMemoryEmpty to QhullQh.checkAndFreeQhullMemory Replaced FACTORepsilon=10 with QhullQh.factor_epsilon=1.0 - To avoid -Wshadow for QhullQh*, use 'qqh' for parameters and 'qh()' for methods - Moved messaging from Qhull to QhullQh - Add check of RboxPoints* in qh_fprintf_rbox - Renamed Qhull.initializeQhull to Qhull.allocateQhullQh Added qh_freeqhull(!qh_ALL) as done by unix.c and other programs - Moved QhullPoints.extraCoordinatesCount into QhullPoints.cpp - Replaced section tags with '#//!\name ...' - Removed qhRunId from print() to ostream. - Removed print() to ostream. Use '<< qhullPoint' or '<< qhullPoint.print("message")' C++ interface for most classes - Remove qhRunId - Add QhullQh *qh_qh to all types Pointer comparisons of facetT,etc. do not test corresponding qh_qh Added to end of type for debugging information, unless wasteful alignment - Add QhullQh * to all constructors - All constructors may use Qhull & instead of QhullQh * - For inherited QhullQh types, change to 'protected' - Renamed 'o' to 'other' except where used extensively in iterators - Except for conditional code, merged the Conversion section into GetSet - Removed empty(). Use isEmpty() instead - Add operator= instead of keeping it private - print_message=0 not allowed. Use "" instead. - Rename isDefined() to isValid() to match Qt conventions C++ interface by class - Coordinates Removed empty(). Use isEmpty() instead Added append(dim, coordT*) Reformated the iterators Convert to countT - PointCoordinates Added constructors for Qhull or QhullQh* (provides access to QhullPoint.operator==) Removed PointCoordinates(int pointDimension) since PointCoordinates should have a comment. Also, it is ambiguous with PointCoordinates(QhullQh*) Renamed point_comment to describe_points Convert to countT - Qhull Remove qhull_run_i Remove qh_active Replace property feasiblePoint with field feasible_point and methods setFeasiblePoint/feasiblePoint Returns qh.feasible_point if defined Moved useOutputStream to QhullQh use_output_stream Renamed useOutputStream() to hasOutputStream() Replaced qhull_dimension with qh->input_dim //! Dimension of result (qh.hull_dim or one less for Delaunay/Voronoi) Removed global s_qhull_output= 0; Move qhull_status, qhull_message, error_stream, output_stream to QhullQh Renamed qhullQh() to qh() Added check of base address to allocateQhullQh(), Was not needed for qhullpcpp - QhullFacet Constructor requires Qhull or QhullQh* pointer Convert to countT Dropped implicit conversion from facetT Dropped runId Add print("message") to replace print() - QhullFacetList Constructor requires Qhull or QhullQh* pointer Convert to countT Dropped runId - QhullFacetSet Removed empty(). Use isEmpty() instead Constructor requires Qhull or QhullQh* pointer Convert to countT Dropped runId Add operator= Implement print("message") - QhullHyperplane Add hyperplaneAngle() method Rewrite operator== to use hyperplaneAngle() Reorganize fields to keep pointers aligned Except for default constructor requires Qhull or QhullQh* pointer Enable copy assignment Reorganized header - QhullLinkedList Add operator= Removed empty(). Use isEmpty() instead Convert to countT iterator(T) made iterator(const T &) const_iterator(T) made const_iterator(const T &) const_iterator(iterator) made const_iterator(const iterator &) - QhullPoint Add constructors for Qhull or QhullQh* pointer (for id() and operator==) Add defineAs(coordT*) Add getBaseT() and base_type for QhullSet<QhullPoint> Added checks for point_coordinates==0 Removed static QhullPoint::id(), use QhullPoint.id() instead distance() throws an error if dimension doesn't agree or if a point is undefined Convert to countT If !qh_qh, operator==() requires equal coordinates Use cout<<p instead of cout<<p.print() Reorganized - QhullPoints Add constructors for Qhull and QhullQh* (for qh.hull_dim, QhullPoint::operator==) Remove QhullPoints(int pointDimension) since it is ambiguous with QhullPoints(QhullQh *qqh) Add operator= Removed empty(). Use isEmpty() instead Convert to countT operator==() tests if pointers are the same. Ituses distanceEpsilon if qh_qh is defined Reorganized - QhullPoints::Iterator and ConstIterator Removed default constructors Add constructors for Qhull and QhullQh* (for qh.hull_dim, QhullPoint::operator==) Moved test of dimension from QHULL_ASSERT to operator== Added QHULL_ASSERT of qh_qh Convert to countT - QhullPointSet Constructor requires Qhull or QhullQh* instead of dimension() Add operator= Removed empty(). Use isEmpty() instead Convert to countT Always print print_message Drop print(). Replace with print("") - QhullQh Added methods hasOutputStream(), disableOutputStream(), and enableOutputStream() (was Qhull UseOutputStream) Add test of qh.NOerrexit to maybeThrowQhullMessage() Add qhull_status, qhull_message, error_stream, output_stream from Qhull Add factor_epsilon - QhullRidge Constructor requires Qhull or QhullQh* pointer Dropped implicit conversion from ridgeT Converted otherFacet() to 'const &' Converted nextRidge3d() to 'const &' Message for '<< QhullRidge' replaces " - " instead of preceding it - QhullSet Removed empty(). Use isEmpty() instead Constructor requires Qhull or QhullQh* pointer Convert to countT Add operator= - QhullVertex Constructor requires Qhull or QhullQh* pointer Convert to countT Dropped implicit conversion from vertexT Add message to '<< QhullVertex' - QhullVertexSet Removed empty(). Use isEmpty() instead Constructor requires Qhull or QhullQh* pointer Convert to countT - UsingQhullLib Removed Replace setGlobalDistanceEpsilon with setFactorEpsilon Replace globalDistanceEpsilon with distanceEpsilon ------------ 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 <iterator> [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 - cleanall (Makefile): Delete 'linked' programs due to libqhull_r and libqhull/Makefile 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() - Assigned 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 &#187; - 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 <time.h> for CLOCKS_PER_SEC - Move ostream<<QhullFacetList from inline to compiled. - Removed ConvexHull/ from git. Not used. ------------ qhull 2009.1.1 2010/01/09 - Patch release of 2009.1. qh_gethash allowed a negative result, causing overwrite or segfault See git:qhull/project/patch/qhull-2003.1/poly.c-qh_gethash.patch Compared results of q_test, q_eg, q_egtest with patched poly.c, qhull-2003.1 ------------ qhull 2010.1 2010/01/07 - Assign type to qh.old_qhstat and memT.tempstack [amorilia] - Replace tabs with spaces. - Fix qh_pointid in case ptr_intT is unsigned qhull 2010.1 2010/01/06 - Fixed serious bug in qh_gethash [poly.c] - Documentation and build system are incomplete (see above) - First release of C++ interface [qh-code.htm] - Development moved to http://gitorious.org/qhull git clone git@gitorious.org:qhull/qhull.git - Did not fix conformant tesselations for 'Qt'. For details, see http://www.qhull.org/news#bugs of May 2007 and Dec 2006. - Use g++ builds for Windows distribution (10% faster than msvc2005) Combined vcproj/ and qtproj/ into project/ vcproj will be replaced by qmake generated files ------------ qhull 2010.0.3 2010/01/05 Fixed bugs - 'QJn': Fix qh.STOPcone in qh_build_withrestart(). It was not cleared. - qh_initqhull_outputflags [global.c]: warn about Qc only if QHULLfinished otherwise set if needed qhull 2010.0.2 2010/01/04 Fixed bugs - qh_gethash [poly.c]: fix sign conversion. Previously, the result may be negative, leading to a segfault. The bug is more likely with large address spaces Reviewed all uses of %(modulo) for remainder with negative arguments - Reviewed output of q_test and compared to results from 2003.1 Breaking code changes - Return type of qh_gethash changed from unsigned to int. Matches 'size' - addhash takes a signed hash qh_addhash( newelem, hashtable, hashsize, hash ) Code changes - Test for qh_qh in qh_printf - Makefile.txt corrected for libqhull build [amorilia] - Renamed index to idx to avoid shadowing BSD strings.h [kwilliams] qhull 2010.0.1 2010/01/03 New Features: - Added option 'Ta' to annotate output with message codes Preliminary C++ support: - C++ declarations may change without warning - Preliminary documentation for Qhull's C++ interface [qh-code.htm#cpp, qhull-cpp.xml] - Added user_eg3 as an example of Qhull.cpp - Removed qhull_interface.cpp. Use Qhull.cpp instead. If math.h breaks '#include qhull_a.h', preceed it with '#include math.h' Changes to qhull options and results - Allow 'd' and 'v' as the filename for 'TO ..' and 'TI ...' in qdelaunay [M. Jambon] - 'rbox tN' requires an integer (previously allowed floats) - Allow quoted filenames for 'TO ...' and 'TI ...' - Prefix error messages and warnings with a message code (e.g., QH6012) - Fixed rbox ignoring flags that were not separated by spaces - Report all hidden options before exiting in qh_checkflags() - Defined qh_OPTIONline [user.h] as max length of option line ('FO') - Report error if negative arguments to rbox 'G', 'L', 'Z' - Unknown rbox flag changed from a warning to an error - Set error status 4 qh_ERRmem if rbox runs out of memory - Removed extra spaces at end of line Breaking Code Changes: - Renamed qh.coplanarset to coplanarfacetset. Avoids conflict with facetT.coplanarset - qh_restore_qhull() zeroes out qh.old_qhstat and qh.old_tempstack. Ownership moved. - Rewrote save_qhull/restore_qhull - Add Ztotcheck to zzdef_ [R. Gardener] - Changed qh_malloc to size_t (was unsigned long) - Declare qh_PRINT instead of int [kwilliams] - In qh_printafacet(), changed error output to 'qh ferr' Bug fixes to C code: - 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 See bug report http://gcc.gnu.org/ml/gcc-bugs/2007-09/msg00474.html - Rewrite qh_setappend to avoid g++ 4.1, 4.2, and 4.3 strict_aliasing error. Orion Poplawski (orion@cora.nwra.com) http://www.rpmfind.net/linux/RPM/fedora/12/ppc/qhull-devel-2003.1-13.fc12.ppc64.html - Fixed qh_findfacet_all(), "REALmin" should be "-REALmax" [L.A. Taylor]. Effects library users for convex hulls and halfspace intersections. - qh_printfacet [io.c] Removed extra space for neighboring facets - Report error if d points, Delaunay, and not Qz - Fixed double-free of facet->centrum for triangulated facets - Fixed mindist initialization if !testcentrum in io.c findbest_test [Ratcliff] - Fixed parentheses around warning for missing 'Qc' [qh_initqhull_outputflags] - Fixed rbox buffer overflow of 'command' when appending seedbuf - Fixed option string for 'rbox t t999'. Although seed was correctly set to 999, a random seed was appended to the rbox comment (e.g., 'rbox t t999 t32343') - Fixed upper bound of sanity check for qh_RANDOMmax in qh_initqhull_globals() Changes to C code - Reordered #include from specific to general. Move up .h for module. - Removed qh.old_stat -- never used - Removed qh_clearcenters from qh_freeqhull. Duplicated by qh_delfacet - qh_printcenter [io.c] removed unreachable fprintf argument - qh_getarea() [geom2.c] ignored on multiple calls (qh.hasAreaVolume) - qh_getarea() [geom2.c] checks facet->isarea. Set by QhullFacet.facetArea() - qh_triangulate() [poly2.c] ignored on multiple calls (qh.hasTriangulation) - Add statistics for vertex_visit and visit_id to buildtracing - Defined scale and offset parameters for qh_randomfactor Bug fixes and changes to mem.c/mem.h - Fixed qhmem.totshort (total short memory in use) - Memory tracing (T5) redone for sort order by object - Added full tracing for short memory allocations. - Added qhmem.totfree (total short memory on freelists) Increases size of qh_memalloc_ and qh_memfree_ - Added qhmem.totdropped (leftover freesize at end of each short buffer) - Added qhmem.totunused (short size - request size) - Added qhmem.totbuffer (total short memory buffer w/o links) - Added memory statistics to qh_NOmem; - Added qh_memtotal to track allocated memory - Renamed qh_memfree parameter to 'insize' for consistency with qh_memalloc - Removed qhmem.curlong. qa_memfreeshort computes curlong from cntlong and cntfree - In mem.h, changed ptr_intT to long. qh_meminit() checks that it holds a 'void*' Fixed g++ and devstudio warnings - Except for bit field conversions, compiles cleanly with -Wall -Wextra -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-conversion -Wconversion - Fixed warnings at VC8, level 4 - Fix data types to remove conversion warnings [kwilliams] - Use size_t for calls to malloc,etc [kwilliams] Retained int sizes for qset.h and mem.h. Follows Qt convention and is easier to work with. int can be 64-bits if 2 billion facets - Change literal strings to const char* [kwilliams] - Added type casts to SETfirst and SETsecond [amorilia+alphax] - getid_() returns an int [kwilliams] - Add missing const annotations [kwilliams] - Fixed 64-bit warnings (marked with "WARN64") - Convert sizeof to (int) for int parameters - In libqhull.c, added explicit casts from long to float, Avoids warning - In global.c, cast time() to int for QRandom-seed. Avoids warning Changes to C code for C++ support - Add sln, vcproj, and qtpro files for building Qhull -- add to README notes - Added dim to vertexT for cpp interface. Reduced size of qh.vertex_visit - qh_produce_output [io.c] may be called multiple times (C++ interface) - Moved SETsizeaddr_() to qset.h for use by QhullSet.cpp - Option 'Tz' sets flag qh.USEstdout for QhullPoints.cpp - Added support for multiple output runs from QhullPoints.outputQhull - qh_clear_outputflags() resets the output flags - qh_initqhull_outputflags split from qh_initqhull_globals - Added qh.run_id, a random identifier for this instance of Qhull (QhullPoints) - For qh.run_id, initqhull_start initializes qh_RANDOMseed to time instead of 1 - Extracted qh_argv_to_command (random.c) from qh_init_qhull_command and fixed a buffer overflow - Moved qh_strtod/qh_strtol from global.c to random.c for use in rboxlib.c - Split out random functions into random.c - Added message codes to qh_fprintf(). See its definition in user.c - Replaced exit, malloc, free, fprintf, and fputs with qh_malloc,...[J.W. Ratcliff] - Added qh_fprintf, qh_malloc, qh_free, ph_printhelp_narrowhull to user.c - Moved qh_printhelp_degenerate and qh_printhelp_singular from io.c to user.c - Clear qh.ERREXITcalled at end of qh_errexit(). Documentation: - Fixed out-of-date CiteSeer references - Renamed html/qh-in.htm to html/qh-code.htm - Add reference to 'Qt' to 'i' - Add reference to 'FS' to 'FA' - qh-impre.htm discusses precision issues for halfspace intersection - Add cross references between options 'FA' and 'FS' - Added link to Wolfram Research's MathWorld site - Updated Fukuda's links - Changed copyright to C.B. Barber for C++, documentation, and merge.c - Updated Qhull citation with page numbers. - Proposed project: constructing Voronoi diagram - Proposed project: computing Voronoi volumes - Replaced tabs with spaces in qhull.txt and rbox.txt ------------ qhull 2009.1 2009/6/11 This is a maintenance release done by Rafael Laboissiere <rafael@debian.org>. - src/rbox.c (main): Avoid problems of evaluation order when pre-incrementing arguments of strtod - src/io.c (qh_produce_output), src/stat.c (qh_initstatistics): Use %lu instead of %d in the format string for arguments of type size_t - html/qhull.man, html/rbox.man: Fix several syntax, macros, and hyphen problems in man pages - The Autotools files have been generated with modern version of autoconf (2.63), automake/aclocal (1.10.2), and libtool (2.2.6) - Some character issues in the man pages are fixed
-rw-r--r--math/qhull/Makefile16
-rw-r--r--math/qhull/PLIST177
-rw-r--r--math/qhull/buildlink3.mk3
-rw-r--r--math/qhull/distinfo11
-rw-r--r--math/qhull/patches/patch-aa28
5 files changed, 132 insertions, 103 deletions
diff --git a/math/qhull/Makefile b/math/qhull/Makefile
index 8f9b742b5ed..f6a354dd6b1 100644
--- a/math/qhull/Makefile
+++ b/math/qhull/Makefile
@@ -1,18 +1,20 @@
-# $NetBSD: Makefile,v 1.4 2012/09/11 23:04:33 asau Exp $
-#
+# $NetBSD: Makefile,v 1.5 2016/02/03 16:05:56 nros Exp $
-DISTNAME= qhull-2003.1
-PKGREVISION= 1
+DISTNAME= qhull-2015-src-7.2.0
+PKGNAME= qhull-2015.2
CATEGORIES= math
MASTER_SITES= http://www.qhull.org/download/
+EXTRACT_SUFX= .tgz
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.qhull.org/
COMMENT= Computing the convex hull
-GNU_CONFIGURE= yes
+WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
+USE_CMAKE= yes
USE_LANGUAGES= c c++
-USE_TOOLS+= gmake
-USE_LIBTOOL= yes
+
+CMAKE_USE_GNU_INSTALL_DIRS = no
+CMAKE_ARGS+= -DMAN_INSTALL_DIR:PATH=${PREFIX}/${PKGMANDIR}/man1
.include "../../mk/bsd.pkg.mk"
diff --git a/math/qhull/PLIST b/math/qhull/PLIST
index d903f4b9556..146756b09d0 100644
--- a/math/qhull/PLIST
+++ b/math/qhull/PLIST
@@ -1,74 +1,129 @@
-@comment $NetBSD: PLIST,v 1.2 2009/06/14 18:05:48 joerg Exp $
+@comment $NetBSD: PLIST,v 1.3 2016/02/03 16:05:56 nros Exp $
bin/qconvex
bin/qdelaunay
bin/qhalf
bin/qhull
bin/qvoronoi
bin/rbox
-include/qhull/geom.h
-include/qhull/io.h
-include/qhull/mem.h
-include/qhull/merge.h
-include/qhull/poly.h
-include/qhull/qhull.h
-include/qhull/qhull_a.h
-include/qhull/qset.h
-include/qhull/stat.h
-include/qhull/user.h
-lib/libqhull.la
+include/libqhull/DEPRECATED.txt
+include/libqhull/geom.h
+include/libqhull/index.htm
+include/libqhull/io.h
+include/libqhull/libqhull.h
+include/libqhull/mem.h
+include/libqhull/merge.h
+include/libqhull/poly.h
+include/libqhull/qh-geom.htm
+include/libqhull/qh-globa.htm
+include/libqhull/qh-io.htm
+include/libqhull/qh-mem.htm
+include/libqhull/qh-merge.htm
+include/libqhull/qh-poly.htm
+include/libqhull/qh-qhull.htm
+include/libqhull/qh-set.htm
+include/libqhull/qh-stat.htm
+include/libqhull/qh-user.htm
+include/libqhull/qhull_a.h
+include/libqhull/qset.h
+include/libqhull/random.h
+include/libqhull/stat.h
+include/libqhull/user.h
+include/libqhull_r/geom_r.h
+include/libqhull_r/index.htm
+include/libqhull_r/io_r.h
+include/libqhull_r/libqhull_r.h
+include/libqhull_r/mem_r.h
+include/libqhull_r/merge_r.h
+include/libqhull_r/poly_r.h
+include/libqhull_r/qh-geom_r.htm
+include/libqhull_r/qh-globa_r.htm
+include/libqhull_r/qh-io_r.htm
+include/libqhull_r/qh-mem_r.htm
+include/libqhull_r/qh-merge_r.htm
+include/libqhull_r/qh-poly_r.htm
+include/libqhull_r/qh-qhull_r.htm
+include/libqhull_r/qh-set_r.htm
+include/libqhull_r/qh-stat_r.htm
+include/libqhull_r/qh-user_r.htm
+include/libqhull_r/qhull_ra.h
+include/libqhull_r/qset_r.h
+include/libqhull_r/random_r.h
+include/libqhull_r/stat_r.h
+include/libqhull_r/user_r.h
+include/libqhullcpp/Coordinates.h
+include/libqhullcpp/PointCoordinates.h
+include/libqhullcpp/Qhull.h
+include/libqhullcpp/QhullError.h
+include/libqhullcpp/QhullFacet.h
+include/libqhullcpp/QhullFacetList.h
+include/libqhullcpp/QhullFacetSet.h
+include/libqhullcpp/QhullHyperplane.h
+include/libqhullcpp/QhullIterator.h
+include/libqhullcpp/QhullLinkedList.h
+include/libqhullcpp/QhullPoint.h
+include/libqhullcpp/QhullPointSet.h
+include/libqhullcpp/QhullPoints.h
+include/libqhullcpp/QhullQh.h
+include/libqhullcpp/QhullRidge.h
+include/libqhullcpp/QhullSet.h
+include/libqhullcpp/QhullSets.h
+include/libqhullcpp/QhullStat.h
+include/libqhullcpp/QhullVertex.h
+include/libqhullcpp/QhullVertexSet.h
+include/libqhullcpp/RboxPoints.h
+include/libqhullcpp/RoadError.h
+include/libqhullcpp/RoadLogEvent.h
+include/libqhullcpp/RoadTest.h
+include/libqhullcpp/functionObjects.h
+lib/libqhull.so
+lib/libqhull.so.7
+lib/libqhull.so.7.2.0
+lib/libqhull_p.so
+lib/libqhull_p.so.7
+lib/libqhull_p.so.7.2.0
+lib/libqhull_r.so
+lib/libqhull_r.so.7
+lib/libqhull_r.so.7.2.0
+lib/libqhullcpp.a
+lib/libqhullstatic.a
+lib/libqhullstatic_r.a
man/man1/qhull.1
man/man1/rbox.1
share/doc/qhull/Announce.txt
share/doc/qhull/COPYING.txt
-share/doc/qhull/Changes.txt
share/doc/qhull/README.txt
share/doc/qhull/REGISTER.txt
-share/doc/qhull/examples/Makefile.txt
-share/doc/qhull/examples/Mborland
-share/doc/qhull/examples/Qhull-go.bat
-share/doc/qhull/examples/q_eg
-share/doc/qhull/examples/q_egtest
-share/doc/qhull/examples/q_test
-share/doc/qhull/examples/q_test.bat
-share/doc/qhull/examples/qhull_interface.cpp
-share/doc/qhull/examples/user_eg.c
-share/doc/qhull/examples/user_eg2.c
-share/doc/qhull/html/index.htm
-share/doc/qhull/html/qconvex.htm
-share/doc/qhull/html/qdelau_f.htm
-share/doc/qhull/html/qdelaun.htm
-share/doc/qhull/html/qh--4d.gif
-share/doc/qhull/html/qh--cone.gif
-share/doc/qhull/html/qh--dt.gif
-share/doc/qhull/html/qh--geom.gif
-share/doc/qhull/html/qh--half.gif
-share/doc/qhull/html/qh--rand.gif
-share/doc/qhull/html/qh-eg.htm
-share/doc/qhull/html/qh-faq.htm
-share/doc/qhull/html/qh-get.htm
-share/doc/qhull/html/qh-impre.htm
-share/doc/qhull/html/qh-in.htm
-share/doc/qhull/html/qh-optc.htm
-share/doc/qhull/html/qh-optf.htm
-share/doc/qhull/html/qh-optg.htm
-share/doc/qhull/html/qh-opto.htm
-share/doc/qhull/html/qh-optp.htm
-share/doc/qhull/html/qh-optq.htm
-share/doc/qhull/html/qh-optt.htm
-share/doc/qhull/html/qh-quick.htm
-share/doc/qhull/html/qhalf.htm
-share/doc/qhull/html/qhull.htm
-share/doc/qhull/html/qvoron_f.htm
-share/doc/qhull/html/qvoronoi.htm
-share/doc/qhull/html/rbox.htm
share/doc/qhull/index.htm
-share/doc/qhull/qh-geom.htm
-share/doc/qhull/qh-globa.htm
-share/doc/qhull/qh-io.htm
-share/doc/qhull/qh-mem.htm
-share/doc/qhull/qh-merge.htm
-share/doc/qhull/qh-poly.htm
-share/doc/qhull/qh-qhull.htm
-share/doc/qhull/qh-set.htm
-share/doc/qhull/qh-stat.htm
-share/doc/qhull/qh-user.htm
+share/doc/qhull/normal_voronoi_knauss_oesterle.jpg
+share/doc/qhull/qconvex.htm
+share/doc/qhull/qdelau_f.htm
+share/doc/qhull/qdelaun.htm
+share/doc/qhull/qh--4d.gif
+share/doc/qhull/qh--cone.gif
+share/doc/qhull/qh--dt.gif
+share/doc/qhull/qh--geom.gif
+share/doc/qhull/qh--half.gif
+share/doc/qhull/qh--rand.gif
+share/doc/qhull/qh-code.htm
+share/doc/qhull/qh-eg.htm
+share/doc/qhull/qh-faq.htm
+share/doc/qhull/qh-get.htm
+share/doc/qhull/qh-impre.htm
+share/doc/qhull/qh-optc.htm
+share/doc/qhull/qh-optf.htm
+share/doc/qhull/qh-optg.htm
+share/doc/qhull/qh-opto.htm
+share/doc/qhull/qh-optp.htm
+share/doc/qhull/qh-optq.htm
+share/doc/qhull/qh-optt.htm
+share/doc/qhull/qh-quick.htm
+share/doc/qhull/qhalf.htm
+share/doc/qhull/qhull-cpp.xml
+share/doc/qhull/qhull.htm
+share/doc/qhull/qhull.man
+share/doc/qhull/qhull.txt
+share/doc/qhull/qvoron_f.htm
+share/doc/qhull/qvoronoi.htm
+share/doc/qhull/rbox.htm
+share/doc/qhull/rbox.man
+share/doc/qhull/rbox.txt
diff --git a/math/qhull/buildlink3.mk b/math/qhull/buildlink3.mk
index f8cbaac5a74..d2649ffc52b 100644
--- a/math/qhull/buildlink3.mk
+++ b/math/qhull/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.2 2009/03/20 19:24:58 joerg Exp $
+# $NetBSD: buildlink3.mk,v 1.3 2016/02/03 16:05:56 nros Exp $
BUILDLINK_TREE+= qhull
@@ -6,6 +6,7 @@ BUILDLINK_TREE+= qhull
QHULL_BUILDLINK3_MK:=
BUILDLINK_API_DEPENDS.qhull+= qhull>=2003.1
+BUILDLINK_ABI_DEPENDS.qhull+= qhull>=2015.1
BUILDLINK_PKGSRCDIR.qhull?= ../../math/qhull
.endif # QHULL_BUILDLINK3_MK
diff --git a/math/qhull/distinfo b/math/qhull/distinfo
index f6488020630..10d1ea68d1e 100644
--- a/math/qhull/distinfo
+++ b/math/qhull/distinfo
@@ -1,7 +1,6 @@
-$NetBSD: distinfo,v 1.3 2015/11/03 23:33:43 agc Exp $
+$NetBSD: distinfo,v 1.4 2016/02/03 16:05:56 nros Exp $
-SHA1 (qhull-2003.1.tar.gz) = 2e783b5e45cecc053b1dc08c682b871dfbb59dd2
-RMD160 (qhull-2003.1.tar.gz) = 6c82ad27601f9aa12498e3bc08f06c7b777a5f4d
-SHA512 (qhull-2003.1.tar.gz) = 4d72b99d13fb7c61549c248805338ef9232fa79ddf9a8e265f23a3cf1e7e74b3725db8b08ac4c5756b33c8cf0353e7b7957afe4b2f959558fa2d779a85a269e8
-Size (qhull-2003.1.tar.gz) = 724313 bytes
-SHA1 (patch-aa) = 5ad003e5dd81c41ed402b3b1c390a153640cce4e
+SHA1 (qhull-2015-src-7.2.0.tgz) = 8188765b9f9f004e38e9906fd2a68e81119f05fb
+RMD160 (qhull-2015-src-7.2.0.tgz) = 1176d0477771294eb096cf6ed2d26cb8186b8613
+SHA512 (qhull-2015-src-7.2.0.tgz) = a544f88b5fbabc592fdc4c5533ba58a8f856e018b85128f43d0532a1143123ceb0d5ca9ae1d27722efa5d08092c017bf7715c157d1019f447e6746f23f02dcd4
+Size (qhull-2015-src-7.2.0.tgz) = 1010153 bytes
diff --git a/math/qhull/patches/patch-aa b/math/qhull/patches/patch-aa
deleted file mode 100644
index 18d8da02687..00000000000
--- a/math/qhull/patches/patch-aa
+++ /dev/null
@@ -1,28 +0,0 @@
-$NetBSD: patch-aa,v 1.1 2011/11/30 10:55:50 drochner Exp $
-
-poly.c-qh_gethash.patch from upstream
-
---- src/poly.c.orig 2004-01-31 11:00:15.000000000 +0000
-+++ src/poly.c
-@@ -403,6 +403,7 @@ unsigned qh_gethash (int hashsize, setT
- void **elemp= SETelemaddr_(set, firstindex, void);
- ptr_intT hash = 0, elem;
- int i;
-+ unsigned result;
-
- switch (size-firstindex) {
- case 1:
-@@ -441,9 +442,10 @@ unsigned qh_gethash (int hashsize, setT
- }while(*elemp);
- break;
- }
-- hash %= (ptr_intT) hashsize;
-- /* hash= 0; for debugging purposes */
-- return hash;
-+ result= (unsigned)hash;
-+ result %= (unsigned)hashsize;
-+ /* result= 0; for debugging purposes */
-+ return result;
- } /* gethash */
-
- /*-<a href="qh-poly.htm#TOC"