8000 Tags · mxraw/qhull · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: mxraw/qhull

Tags

2020.2

Toggle 2020.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 2020.2 2020/08/31 (8.0.2)

CMake builds
- CMakeLists.txt: Fixed /usr/local/lib/pkgconfig for debug builds
- CMakeLists.txt: Remove qhull_SHARED and qhull_SHAREDP from 'make all'
  Remove qhull_SHARED and qhull_SHAREDP from qhull_TARGETS_SHARED
  Use reentrant Qhull (libqhull_r) for user code
- CMakeLists.txt: If "MSYS Makefiles", change the default CMAKE_INSTALL_PREFIX to "/usr/local"
  Remove WIN32 conditionals from MAN_INSTALL_DIR and DOC_INSTALL_DIR
- CMakeLists.txt: Add 'uninstall' to delete the files listed in install_manifest.txt
- CMakeLists.txt: If LINK_APPS_SHARED, link qhull applications to libqhull_r.so [S. Bruens qhull#69]
  If BUILD_STATIC_LIBS=OFF or BUILD_SHARED_LIBS=OFF, exclude those libraries [S. Bruens qhull#69]
  libqhullcpp and user_eg3 are built only if BUILD_STATIC_LIBS is true
- CMakeModules/CheckLFS.cmake: Moved CMakeModules to the build/ directory
- CMakeLists.txt: Replace rbox_SOURCES(etc.) with a source file, either reentrant or non-reentrant
- CMakeLists.txt: Add deprecated libqhull and qhull_p to "# Additional build targets"
  If not MSVC, add qh_QHpointer to user_egp_DEFINES and qhullp_DEFINES (otherwise qh_lib_check fails)

Other builds
- build/README-build.txt: Add description of build/ directory
- build/qhull*.sln: Remove qhull_p and qhull_p.dll, retain the corresponding DevStudio project files
  Remove libqhull and qhull.dll, retain the corresponding DevStudio project files
- Makefile: Add libqhull_r/libqhullstatic_r.a to 'cleanall'
- Makefile: Add note about installing debug libraries (e.g., libqhull_rd)
- Makefile,libqhull*/Makefile: Copy README.txt,...,Changes.txt and html/* to ABS_DOCDIR
- Makefile,libqhull*/Makefile: Add target 'uninstall' to delete installed Qhull files
- libqhull/qhull-exports.def,qhull-nomerge-exports.def: Add qh_nextfacet2d

Documentation
- html/qh-code.htm: Add request for Doxygen documentation of the C++ interface
- html/index.htm,etc: "Contents" instead of "Table of Contents"

Testing
- eg/make-qhull_qh.sh: Redo help prompt
- eg/make-qhull_qh.sh: Create src/qhull_qh/_QH_CONVERTED_FILES as a safety check
- eg/make-qhull_qh.sh: Require destination directory and _QH_CONVERTED_FILES for 'sed-only'

------------
Qhull Github

C++ interface
- libqhullcpp/qt-qhull.cpp: In toQList(), use count() to avoid a type error
- libqhullcpp/qt-qhull.cpp: In toQList(), use nullptr instead of NULL
- libqhullcpp/QhullSet.h: Declare 'QList<T> toQList() const' to avoid a prototype error

Builds
- Qhull build systems: Add wiki page on build systems to GitHub
- CMakeLists.txt: Use same target name for Debug and non-Debug builds [Spacelm qhull#76]
- CMakeLists.txt: Remove functional documentation from /usr/local/include/libqhull*
  Most of the links are broken.
- CMakeLists.txt: Move Qhull html documentation to /usr/local/share/doc/qhull/html/
  Otherwise index.htm is overwritten and README links are broken
- CMakeLists.txt: Add /usr/local/share/doc/qhull/src/Changes.txt
- Makefile, make install: Remove functional documentation from /usr/local/include/libqhull
  and /usr/local/include/libqhullinclude/libqhull_r.  Most of the links are broken.
- Makefile, src/libqhull/Makefile: Add DEPRECATED.txt to /usr/local/include/libqhull
- Makefile, src/libqhull*/Makefile: Add 'make install' to the welcome prompt

Documentation
- index.htm: Balance the top-page 'URL:' and 'To:' links
- index.htm: Send the top-page 'Functions' link to www.qhull.org (better 'src' links)
- index.htm: Make the bottom-page 'URL:' and 'To:' links the same as the top-page links
- index.htm: "please use rentrant Qhull (libqhull_r or libqhullstatic_r)"
- html/index.htm: Add rbox.txt to Contents and rename "Table of Contents"
- html/index.htm,qh-code.htm,qh-eg.htm,qh-impre.htm: Remove 'please wait while loading'
- README.txt/Installing Qhull with Qt: The shadow build directory should be at the same level as 'src'
- README.txt/Compiling Qhull with Qt Creator: Copy steps from 'Installing Qhull with Qt'

v8.0.2

Toggle v8.0.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 2020.2 2020/08/31 (8.0.2)

CMake builds
- CMakeLists.txt: Fixed /usr/local/lib/pkgconfig for debug builds
- CMakeLists.txt: Remove qhull_SHARED and qhull_SHAREDP from 'make all'
  Remove qhull_SHARED and qhull_SHAREDP from qhull_TARGETS_SHARED
  Use reentrant Qhull (libqhull_r) for user code
- CMakeLists.txt: If "MSYS Makefiles", change the default CMAKE_INSTALL_PREFIX to "/usr/local"
  Remove WIN32 conditionals from MAN_INSTALL_DIR and DOC_INSTALL_DIR
- CMakeLists.txt: Add 'uninstall' to delete the files listed in install_manifest.txt
- CMakeLists.txt: If LINK_APPS_SHARED, link qhull applications to libqhull_r.so [S. Bruens qhull#69]
  If BUILD_STATIC_LIBS=OFF or BUILD_SHARED_LIBS=OFF, exclude those libraries [S. Bruens qhull#69]
  libqhullcpp and user_eg3 are built only if BUILD_STATIC_LIBS is true
- CMakeModules/CheckLFS.cmake: Moved CMakeModules to the build/ directory
- CMakeLists.txt: Replace rbox_SOURCES(etc.) with a source file, either reentrant or non-reentrant
- CMakeLists.txt: Add deprecated libqhull and qhull_p to "# Additional build targets"
  If not MSVC, add qh_QHpointer to user_egp_DEFINES and qhullp_DEFINES (otherwise qh_lib_check fails)

Other builds
- build/README-build.txt: Add description of build/ directory
- build/qhull*.sln: Remove qhull_p and qhull_p.dll, retain the corresponding DevStudio project files
  Remove libqhull and qhull.dll, retain the corresponding DevStudio project files
- Makefile: Add libqhull_r/libqhullstatic_r.a to 'cleanall'
- Makefile: Add note about installing debug libraries (e.g., libqhull_rd)
- Makefile,libqhull*/Makefile: Copy README.txt,...,Changes.txt and html/* to ABS_DOCDIR
- Makefile,libqhull*/Makefile: Add target 'uninstall' to delete installed Qhull files
- libqhull/qhull-exports.def,qhull-nomerge-exports.def: Add qh_nextfacet2d

Documentation
- html/qh-code.htm: Add request for Doxygen documentation of the C++ interface
- html/index.htm,etc: "Contents" instead of "Table of Contents"

Testing
- eg/make-qhull_qh.sh: Redo help prompt
- eg/make-qhull_qh.sh: Create src/qhull_qh/_QH_CONVERTED_FILES as a safety check
- eg/make-qhull_qh.sh: Require destination directory and _QH_CONVERTED_FILES for 'sed-only'

------------
Qhull Github

C++ interface
- libqhullcpp/qt-qhull.cpp: In toQList(), use count() to avoid a type error
- libqhullcpp/qt-qhull.cpp: In toQList(), use nullptr instead of NULL
- libqhullcpp/QhullSet.h: Declare 'QList<T> toQList() const' to avoid a prototype error

Builds
- Qhull build systems: Add wiki page on build systems to GitHub
- CMakeLists.txt: Use same target name for Debug and non-Debug builds [Spacelm qhull#76]
- CMakeLists.txt: Remove functional documentation from /usr/local/include/libqhull*
  Most of the links are broken.
- CMakeLists.txt: Move Qhull html documentation to /usr/local/share/doc/qhull/html/
  Otherwise index.htm is overwritten and README links are broken
- CMakeLists.txt: Add /usr/local/share/doc/qhull/src/Changes.txt
- Makefile, make install: Remove functional documentation from /usr/local/include/libqhull
  and /usr/local/include/libqhullinclude/libqhull_r.  Most of the links are broken.
- Makefile, src/libqhull/Makefile: Add DEPRECATED.txt to /usr/local/include/libqhull
- Makefile, src/libqhull*/Makefile: Add 'make install' to the welcome prompt

Documentation
- index.htm: Balance the top-page 'URL:' and 'To:' links
- index.htm: Send the top-page 'Functions' link to www.qhull.org (better 'src' links)
- index.htm: Make the bottom-page 'URL:' and 'To:' links the same as the top-page links
- index.htm: "please use rentrant Qhull (libqhull_r or libqhullstatic_r)"
- html/index.htm: Add rbox.txt to Contents and rename "Table of Contents"
- html/index.htm,qh-code.htm,qh-eg.htm,qh-impre.htm: Remove 'please wait while loading'
- README.txt/Installing Qhull with Qt: The shadow build directory should be at the same level as 'src'
- README.txt/Compiling Qhull with Qt Creator: Copy steps from 'Installing Qhull with Qt'

v8.0.1

Toggle v8.0.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 8.0.1 (2020.2 2020/07/24)

C++ interface
- Removed Java-style iterators for Coordinates and PointCoordinates.
  std::vector has an expensive copy constructor and copy assignment, and
  a pointer to std::vector is vulnerable to mysterious overwrites (e.g., deleting
  a returned value and reusing its memory).  Qt's 'foreach' should not be used for
  Coordinates and PointCoordinates.  It copies std::vector
- QHULL_DECLARE_SEQUENTIAL_ITERATOR: allow temporary results
  The Jave-style iterator copies the container.  Same as Qt's Q_DECLARE_SEQUENTIAL_ITERATOR
- QhullHyperplaneIterator,QhullPointIterator,QhullPointsIterator: allow temporary results
  These Java-style iterators copy the container instead of pointing to the container
- QhullLinkedListIterator,QhullFacetListIterator,QhullVertexListIterator: allow temporary results
  These Java-style iterators copy the container instead of pointing to the container
- QhullSetIterator,QhullFacetSetIterator,QhullPointSetIterator,QhullVertexSetIterator: add documentation about temporary results
  These Java-style iterators have always copied the container
- QhullUser.h, user_eg3_r.cpp: Removed C++11 dependencies [G. Romualdi, S. Grein qhull#65, qhull#66,qhull#67]
  QhullUser.cpp: Use intptr_t to avoid C++11 dependencies  [S. Grein, Spacelm qhull#68]
- QhullVertex.cpp: moved the copy constructor to the code file.  It was inline.

Testing and example programs
- user_eg3_r.cpp: Renamed 'inputSites' to 'voronoiRegions' in qvoronoi_o/qvoronoi_pfn [M. Konecny qhull#72]
- user_eg3_r.cpp: Replaced C++11's range-based for loops with Qhull's Java-style iterators
- qh-code.html: Updated qhullcpp code example [M. Konecny qhull#71]
- QhullFacet_test.cpp: fixed hyperplane epsilon test in t_getSet. The epsilon due to rotation is unknown.
- Qhull*List_test.cpp,Qhull*Set_test.cpp,QhullRidge_test,QhullVertex_test: test Qt's 'foreach' in t_foreach
- Qhull*List_test.cpp,Qhull*Set_test.cpp,QhullRidge_test,QhullVertex_test: test C++11 range for in t_foreach
- Qhull*List_test.cpp,Qhull*Set_test.cpp: test Java-style iterator in t_java_iterator
- Coordinates_test.cpp,PointCoordinates_test.cpp,QhullHyperplane_test.cpp,QhullPoint_test.cpp,QhullPoints_test.cpp,RboxPoints_test.cpp
  test C++11 range for, Qt's 'foreach', and Java-style iterators (if available)

Builds
- README.txt: Fixed "cmake -G" for "Installing Qhull with CMake"
- README.txt: Added a note on 'make install' to "Installing Qhull on Unix"
- README.txt: Added 'make test' to "Installing Qhull on Unix"
- README.txt: Added 'ctest' to "Installing Qhull with CMake"
- README.txt: Added pkg-config notes to "Installing Qhull with CMake"
- README.txt: Added usage notes for Windows to "Installing Qhull with CMake"
- README.txt: Added instructions for downloading MinGW-W64-install.exe
- build/qhull_p.pc.in,qhull_r.pc.in: Delete obsolete files [T. Roehling qhull#63]
- build/qhull.pc.in: move qhull.pc.in into the build/ directory [T. Roehling qhull#63]

Documentation
- qh-code.htm, qhull-news.html: Add Toronto and McCarthy, "Practically accurate floating-point math".

2020.1

Toggle 2020.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 2020.1 2020/05/29 (8.0.0)

Bugs fixed
- QhullLinkedList::const_iterator: Fixed operator->() for T*.  It returned &i [J. Mirabel 5/1/2020 qhull#61]

API changes
- RoadError.cpp: stringGlobalLog returns std::string instead of const char* [M. Gehre qhull#46]
- io_r.c/qh_order_vertexneighbors: order facet neighbors of a vertex by 2-d (orientation), 3-d (adjacency), n-d (f.visitid,id) [I. Gardner]
- poly2_r.c/qh_nextfacet2d: Return next facet and vertex in qh_ORIENTclock order [N. Katzakis qhull#54]

C++ interface
- Qhull.cpp: Add isDelaunay().  True if computing Delaunay or Voronoi regions
  Add prepareVoronoi() for Voronoi output.  See user_eg3_r.cpp for examples
  ~Qhull: Change 'Qhull output at end' to 'Qhull messages at ~Qhull()'
- QhullFacet.cpp: Add visitId() for f.visitid.  Needed for Voronoi output
  Add nextFacet2d(): Iterate 2-d facets and vertices in counter-clockwise order [N. Katzakis qhull#54]
  Add setFacetT()
- QhullRidge.cpp: Add setRidgeT() and qh()
- QhullUser.cpp: Add a user-modifiable interface to Qhull using a custom qh_fprintf
  Enhanced qh_fprintf with qhull-2019.1 updates to userprintf_r
     Option 'Ta' prefixes output with message code, [QHnnnn]
     Option 'Tf' flushes the output after each message, for tracing segfaults
     Errors and high-level trace messages prefixed with QHnnnn
     Debugging traps for qh.tracefacet, qh.traceridge, qh.tracevertex
- QhullVertex.cpp: Add setVertexT()
- QhullQh.cpp: moved qh_fprintf to QhullUser
- RoadLogEvent::toString: do not prepend QHnnnn if format_string starts with QHn or [QHn
- RboxPoints::appendPoints: use current dimension instead of throwing an error
- user_eg3 rbox: set dimension for multiple options (e.g., user_eg3 rbox D4 5 qhull)
- user_eg3 eg-convex: a 3-d convex hull using the C++ interface to Qhull [I. Voutchkov]
- user_eg3 eg-delaunay: a 2-d Delaunay triangulation using the C++ interface to Qhull
- user_eg3 eg-voronoi: a 2-d Voronoi diagram using the C++ interface to Qhull
- user_eg3 eg-fifo: hyperplanes separating Voronoi regions via QhullUser and qh_fprintf

Documentation
- index.htm: Add Teillaud's http://www.computational-geometry.org/
- index.htm: Add When to use Qhull and Performance of Qhull to the Qhull Manual
- html/qconvex.htm: Add orientation for options 'i', 'Fx', and 'o'
  qconvex .: keep the option prompt to five columns
- html/qdelaun.htm: qh_findbestfacet may return an adjacent facet for a point
- html/qhalf.htm,qh-optf.htm,qh-opto.htm: Added notes for options to halfspaces, e.g., 'Fp' and -10.101 [E. Huang qhull#53]
- html/qhalf.htm,qhalf.c,qhalf_r.c,qh-optf.htm: Fix documentation for 'qhalf FN'.  The output includes all halfspaces.
- html/qvoronoi.htm,qvoron_f.htm: Fix link for control option, 'TI file'
- html/qvoronoi.htm,qvoron_f.htm, qh-optf: the hyperplanes for 'Fi' and 'Fo' include the first vertex
  Option 'Fo' uses the midpoint in place of the vertex at infinity.
- html/qh-optf.htm: Voronoi options 'Fi' and 'Fo' orient the hyperplane so that the site is below the hyperplane
- html/qh-optf.htm,qh-optt.htm: Voronoi option 'Fo' does not check the hyperplane with 'Tv'
  The hyperplane check for 'Fi Tv' uses the midpoint, which 'Fo' already used in place of infinity
- README.txt/Windows install: install Git for Windows in C:\Git\ instead of Program Files
  README.txt/Unix install: add options for 32-bit builds w/o -fpic
  README.txt,Makefile: link libqhullcpp before libqhull_r
- COPYING.txt: Add a note to COPYING.txt about C.B. Barber [M. Pryczek]
- libqhull/DEPRECATED.txt: Add link to qh-code.htm#convert
- Qhull::vertexList: ordered by qh.vertex_list, not by adjacency [N. Katzakis qhull#54]
- QhullPoints.cpp/extraCoordinatesCount: must be less than point_dimension (-Wconversion)
- QhullPoints.cpp/indexOf: extra must be less than point_dimension (-Wconversion)
- io_r.c/qh_detvnorm: add note that qh_sethyperplane_gauss returns nearzero for axis-parallel hyperplanes
- user_r.h/qh_CPUclock: may be converted to approximate double (-Wconversion)
- Update copyright to 2020

Build
- Increase SOVERSION to 8.0 due to ABI breakage in 2019.1 [T. Roehling qhull#58]
  Change SOVERSION to major.minor due to Qhull's global data structure qhT [T. Roehling qhull#58]
  Add symbolic link from SONAME_EXT to libqhull_r [T. Roehling qhull#58]
  Add SO and SONAME_EXT to 'make help'
- qhull.pc.in: Added for pkg-config support [T. Roehling qhull#60]
- CMakeLists.txt: Add pkg-config support and change *_INSTALL_DIR to relative paths [T. Roehling qhull#60]
  Change CMAKE_SOURCE_DIR to CMAKE_CURRENT_SOURCE_DIR to allow qhull as a subdirectory [Morwenn qhull#53, A. De qhull#59, A. Maloney, futex]
- Makefile:
  Add pkg-support [T. Roehling qhull#63]
  Renamed $DESTDIR as $PREFIX to conform with GNU Makefile standards [T. Roehling qhull#63]
  $DESTDIR is for staged installs as defined by GNU Makefile standards [T. Roehling qhull#63]
  Commented out M32=-m32 despite memory savings. It caused build failures, e.g., Mac [J. Hollowed]
  '-fpic' is required for linking to shared libraries [T. Roehling qhull#63]
  Replaced -fpic with FPIC=-fpic for gcc builds
  Added FPIC to CXX_OPTS1 (same as CMakeLists.txt for libqhullcpp)
  Use 'FPIC=' to disable -fpic (may be faster for 32-bit builds on 64-bit hosts)
  Extract qhull_VERSION and qhull_SOVERSION from CMakeLists.txt [T. Roehling qhull#63]
  Move the -lm linker flag to the end of the linker command [T. Roehling qhull#63]
  Add QhullVertexSet.h to LIBQHULLCPP_HDRS
  Invoke q_test via bash to avoid "eg not a valid command"
- Add build/*vcxproj to Unix distribution

Testing and other changes
- q_test: Add list of executables via 'which'
  Add tests of user_eg3 with each option and use case
  Add "Testing done" notification
  Add "set +v" for echoes
- qhull-zip.sh: Add early check for 32-bit release build and modified files
  Add link checks for options
  Add findf for identifying files for link checks
  Add prompts for web.archive and md5sum in qh-get.htm

v8.0.0

Toggle v8.0.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 2020.1 2020/05/29 (8.0.0)

Bugs fixed
- QhullLinkedList::const_iterator: Fixed operator->() for T*.  It returned &i [J. Mirabel 5/1/2020 qhull#61]

API changes
- RoadError.cpp: stringGlobalLog returns std::string instead of const char* [M. Gehre qhull#46]
- io_r.c/qh_order_vertexneighbors: order facet neighbors of a vertex by 2-d (orientation), 3-d (adjacency), n-d (f.visitid,id) [I. Gardner]
- poly2_r.c/qh_nextfacet2d: Return next facet and vertex in qh_ORIENTclock order [N. Katzakis qhull#54]

C++ interface
- Qhull.cpp: Add isDelaunay().  True if computing Delaunay or Voronoi regions
  Add prepareVoronoi() for Voronoi output.  See user_eg3_r.cpp for examples
  ~Qhull: Change 'Qhull output at end' to 'Qhull messages at ~Qhull()'
- QhullFacet.cpp: Add visitId() for f.visitid.  Needed for Voronoi output
  Add nextFacet2d(): Iterate 2-d facets and vertices in counter-clockwise order [N. Katzakis qhull#54]
  Add setFacetT()
- QhullRidge.cpp: Add setRidgeT() and qh()
- QhullUser.cpp: Add a user-modifiable interface to Qhull using a custom qh_fprintf
  Enhanced qh_fprintf with qhull-2019.1 updates to userprintf_r
     Option 'Ta' prefixes output with message code, [QHnnnn]
     Option 'Tf' flushes the output after each message, for tracing segfaults
     Errors and high-level trace messages prefixed with QHnnnn
     Debugging traps for qh.tracefacet, qh.traceridge, qh.tracevertex
- QhullVertex.cpp: Add setVertexT()
- QhullQh.cpp: moved qh_fprintf to QhullUser
- RoadLogEvent::toString: do not prepend QHnnnn if format_string starts with QHn or [QHn
- RboxPoints::appendPoints: use current dimension instead of throwing an error
- user_eg3 rbox: set dimension for multiple options (e.g., user_eg3 rbox D4 5 qhull)
- user_eg3 eg-convex: a 3-d convex hull using the C++ interface to Qhull [I. Voutchkov]
- user_eg3 eg-delaunay: a 2-d Delaunay triangulation using the C++ interface to Qhull
- user_eg3 eg-voronoi: a 2-d Voronoi diagram using the C++ interface to Qhull
- user_eg3 eg-fifo: hyperplanes separating Voronoi regions via QhullUser and qh_fprintf

Documentation
- index.htm: Add Teillaud's http://www.computational-geometry.org/
- index.htm: Add When to use Qhull and Performance of Qhull to the Qhull Manual
- html/qconvex.htm: Add orientation for options 'i', 'Fx', and 'o'
  qconvex .: keep the option prompt to five columns
- html/qdelaun.htm: qh_findbestfacet may return an adjacent facet for a point
- html/qhalf.htm,qh-optf.htm,qh-opto.htm: Added notes for options to halfspaces, e.g., 'Fp' and -10.101 [E. Huang qhull#53]
- html/qhalf.htm,qhalf.c,qhalf_r.c,qh-optf.htm: Fix documentation for 'qhalf FN'.  The output includes all halfspaces.
- html/qvoronoi.htm,qvoron_f.htm: Fix link for control option, 'TI file'
- html/qvoronoi.htm,qvoron_f.htm, qh-optf: the hyperplanes for 'Fi' and 'Fo' include the first vertex
  Option 'Fo' uses the midpoint in place of the vertex at infinity.
- html/qh-optf.htm: Voronoi options 'Fi' and 'Fo' orient the hyperplane so that the site is below the hyperplane
- html/qh-optf.htm,qh-optt.htm: Voronoi option 'Fo' does not check the hyperplane with 'Tv'
  The hyperplane check for 'Fi Tv' uses the midpoint, which 'Fo' already used in place of infinity
- README.txt/Windows install: install Git for Windows in C:\Git\ instead of Program Files
  README.txt/Unix install: add options for 32-bit builds w/o -fpic
  README.txt,Makefile: link libqhullcpp before libqhull_r
- COPYING.txt: Add a note to COPYING.txt about C.B. Barber [M. Pryczek]
- libqhull/DEPRECATED.txt: Add link to qh-code.htm#convert
- Qhull::vertexList: ordered by qh.vertex_list, not by adjacency [N. Katzakis qhull#54]
- QhullPoints.cpp/extraCoordinatesCount: must be less than point_dimension (-Wconversion)
- QhullPoints.cpp/indexOf: extra must be less than point_dimension (-Wconversion)
- io_r.c/qh_detvnorm: add note that qh_sethyperplane_gauss returns nearzero for axis-parallel hyperplanes
- user_r.h/qh_CPUclock: may be converted to approximate double (-Wconversion)
- Update copyright to 2020

Build
- Increase SOVERSION to 8.0 due to ABI breakage in 2019.1 [T. Roehling qhull#58]
  Change SOVERSION to major.minor due to Qhull's global data structure qhT [T. Roehling qhull#58]
  Add symbolic link from SONAME_EXT to libqhull_r [T. Roehling qhull#58]
  Add SO and SONAME_EXT to 'make help'
- qhull.pc.in: Added for pkg-config support [T. Roehling qhull#60]
- CMakeLists.txt: Add pkg-config support and change *_INSTALL_DIR to relative paths [T. Roehling qhull#60]
  Change CMAKE_SOURCE_DIR to CMAKE_CURRENT_SOURCE_DIR to allow qhull as a subdirectory [Morwenn qhull#53, A. De qhull#59, A. Maloney, futex]
- Makefile:
  Add pkg-support [T. Roehling qhull#63]
  Renamed $DESTDIR as $PREFIX to conform with GNU Makefile standards [T. Roehling qhull#63]
  $DESTDIR is for staged installs as defined by GNU Makefile standards [T. Roehling qhull#63]
  Commented out M32=-m32 despite memory savings. It caused build failures, e.g., Mac [J. Hollowed]
  '-fpic' is required for linking to shared libraries [T. Roehling qhull#63]
  Replaced -fpic with FPIC=-fpic for gcc builds
  Added FPIC to CXX_OPTS1 (same as CMakeLists.txt for libqhullcpp)
  Use 'FPIC=' to disable -fpic (may be faster for 32-bit builds on 64-bit hosts)
  Extract qhull_VERSION and qhull_SOVERSION from CMakeLists.txt [T. Roehling qhull#63]
  Move the -lm linker flag to the end of the linker command [T. Roehling qhull#63]
  Add QhullVertexSet.h to LIBQHULLCPP_HDRS
  Invoke q_test via bash to avoid "eg not a valid command"
- Add build/*vcxproj to Unix distribution

Testing and other changes
- q_test: Add list of executables via 'which'
  Add tests of user_eg3 with each option and use case
  Add "Testing done" notification
  Add "set +v" for echoes
- qhull-zip.sh: Add early check for 32-bit release build and modified files
  Add link checks for options
  Add findf for identifying files for link checks
  Add prompts for web.archive and md5sum in qh-get.htm

2019.1

Toggle 2019.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 2019.1 2019/06/21 (7.3.2) released

Qhull 2019.1 contains bug fixes and improvements to logging, error reporting, and merging.
- Fixed fifty bugs, including initialization bugs and memory corruption bugs
  in qh_readpoints and qh_option. See Bugs and Changes.txt.

- New option 'TAn' stops Qhull after adding n points.
- New option 'Tf' flushes qh_fprintf. Use 'Tf' when debugging segfaults.
- New options '--help', '-?', and '--' display a short help message.
  Under Git for Windows or MSYS2, 'qhull' waits for stdin.

- Option 'TP-1' turns on tracing after qh_buildhull and qh_postmerge complete.
  It traces qh_check_maxout, qh_prepare_output, qh_triangulate, and qh_voronoi_center
- Options 'TI' and 'TO' do not require a space before the filename.

- An unknown Qhull option is an error. It was a warning. Override with option 'Qw'.
- Short or long input to Qhull is an error. It was a warning. Override with option 'Qa'.

- Documentation encourages the use of joggled input. Joggled input is less precise than facet merging, but it cannot incur merge errors for degenerate input.
- Documentation refers to 'dupridge' instead of 'duplicate ridge'. A dupridge is an erroneous ridge between four or more facets.
- Fixed documentation for qh_findbestfacet.
  Delaunay triangulations may return an adjacent triangle [F. Drielsma].

- CMake: export QhullTargets for config.cmake.in and find_package [tamasmeszaros]
- The C++ interface includes new methods, hasNext() and hasPrevious(), for QhullFacet and QhullVertex.
- Test scripts qtest.sh and q_benchmark help with logging and optimizing Qhull,
  particularly for intermittent errors and bad cases for Qhull.

Fixed bugs in Qhull 2015.2 (see Changes.txt for the full list)
- qh_buildcone_onlygood ('Qg') corrupted memory if it called qh_delfacet.
- qh_check_maxout did not include qh.DISTround when checking f.maxoutside
- qh_distround did not acount for 'Rn' (random roundoff) in option 'QJn'
- qh_findbestfacet should document that it may return an adjacent triangle for Delaunay triangulations [F. Drielsma]
- qh_findfacet_all should not search visible facets or f.upperdelaunay facets [P. Virtanen, S. Dominguez, J.Arkin]
- qh_findgood may report a bad facet for qh.GOODvertex ('QVn'). Restrict the search to good facets.
- qh_freebuild deleted unattached ridges, leading to a double delete
- qh_initial_hull tested 'maybe flipped' instead of 'clearly flipped'. As a result facets could be incorrectly oriented, leading immediately to 'Only 4 facets remain' [S. Caron, P. Virtanen, D. Sterratt, others]
- qh_initstatistics was missing initialization. As a result, the final qh_checkoutput may be skipped.
- qh_initstatistics cannot use qh_fprintf to report errors. Use qh_fprintf_stderr
- qh_maxsimplex did not detect nearly flat simplices except for the last vertex. It assumed the max coordinate was approximately 1. As a result, Qhull reported false narrow hulls or false low dimensional inputs. [J.R. Roussel, D. Sterratt]
- qh_option could overflow the qh.qhull_options buffer
- qh_partitionpoint could leave an outside point before qh.next_facet, leading to a skipped point.
- qh_stddev was incorrect. It should be sqrt of absolute value.

- 'Qbb' scaled the last coordinate to qh.MAXwidth causing loss of precision. It should be qh.MAXabs_coord.
- 'rbox' and 'user_eg3' returned non-zero exit status for their help prompt. Should be 0.
- 'rbox Cn,r,m' does not produce points for 'rbox r'
- An error in qh_initqhull_start2 could loop forever. Need to set qh.NOerrexit
- Do not call qh_check_points ('Tv') if reporting an error and qh.FORCEoutput ('Po')
- If 'd' or 'v' was used with 'H', memory corruption occurred. Should be disallowed.
- Improved searching of coplanar facets by qh_findbesthorizon.
- Options 'Pdk' and 'Pdk' always returned the closest facet. This should only occur with option 'Pg'.
- PointCoordinates::appendPoints should not require whitespace after a point
- Setting qh.MINoutside could lead to verification ('Tv') failures. Fixed by setting qh.KEEPnearinside and calling qh_partitionpoint in qh_partitionall

v7.3.2

Toggle v7.3.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 2019.1 2019/06/21 (7.3.2) released

Qhull 2019.1 contains bug fixes and improvements to logging, error reporting, and merging.
- Fixed fifty bugs, including initialization bugs and memory corruption bugs
  in qh_readpoints and qh_option. See Bugs and Changes.txt.

- New option 'TAn' stops Qhull after adding n points.
- New option 'Tf' flushes qh_fprintf. Use 'Tf' when debugging segfaults.
- New options '--help', '-?', and '--' display a short help message.
  Under Git for Windows or MSYS2, 'qhull' waits for stdin.

- Option 'TP-1' turns on tracing after qh_buildhull and qh_postmerge complete.
  It traces qh_check_maxout, qh_prepare_output, qh_triangulate, and qh_voronoi_center
- Options 'TI' and 'TO' do not require a space before the filename.

- An unknown Qhull option is an error. It was a warning. Override with option 'Qw'.
- Short or long input to Qhull is an error. It was a warning. Override with option 'Qa'.

- Documentation encourages the use of joggled input. Joggled input is less precise than facet merging, but it cannot incur merge errors for degenerate input.
- Documentation refers to 'dupridge' instead of 'duplicate ridge'. A dupridge is an erroneous ridge between four or more facets.
- Fixed documentation for qh_findbestfacet.
  Delaunay triangulations may return an adjacent triangle [F. Drielsma].

- CMake: export QhullTargets for config.cmake.in and find_package [tamasmeszaros]
- The C++ interface includes new methods, hasNext() and hasPrevious(), for QhullFacet and QhullVertex.
- Test scripts qtest.sh and q_benchmark help with logging and optimizing Qhull,
  particularly for intermittent errors and bad cases for Qhull.

Fixed bugs in Qhull 2015.2 (see Changes.txt for the full list)
- qh_buildcone_onlygood ('Qg') corrupted memory if it called qh_delfacet.
- qh_check_maxout did not include qh.DISTround when checking f.maxoutside
- qh_distround did not acount for 'Rn' (random roundoff) in option 'QJn'
- qh_findbestfacet should document that it may return an adjacent triangle for Delaunay triangulations [F. Drielsma]
- qh_findfacet_all should not search visible facets or f.upperdelaunay facets [P. Virtanen, S. Dominguez, J.Arkin]
- qh_findgood may report a bad facet for qh.GOODvertex ('QVn'). Restrict the search to good facets.
- qh_freebuild deleted unattached ridges, leading to a double delete
- qh_initial_hull tested 'maybe flipped' instead of 'clearly flipped'. As a result facets could be incorrectly oriented, leading immediately to 'Only 4 facets remain' [S. Caron, P. Virtanen, D. Sterratt, others]
- qh_initstatistics was missing initialization. As a result, the final qh_checkoutput may be skipped.
- qh_initstatistics cannot use qh_fprintf to report errors. Use qh_fprintf_stderr
- qh_maxsimplex did not detect nearly flat simplices except for the last vertex. It assumed the max coordinate was approximately 1. As a result, Qhull reported false narrow hulls or false low dimensional inputs. [J.R. Roussel, D. Sterratt]
- qh_option could overflow the qh.qhull_options buffer
- qh_partitionpoint could leave an outside point before qh.next_facet, leading to a skipped point.
- qh_stddev was incorrect. It should be sqrt of absolute value.

- 'Qbb' scaled the last coordinate to qh.MAXwidth causing loss of precision. It should be qh.MAXabs_coord.
- 'rbox' and 'user_eg3' returned non-zero exit status for their help prompt. Should be 0.
- 'rbox Cn,r,m' does not produce points for 'rbox r'
- An error in qh_initqhull_start2 could loop forever. Need to set qh.NOerrexit
- Do not call qh_check_points ('Tv') if reporting an error and qh.FORCEoutput ('Po')
- If 'd' or 'v' was used with 'H', memory corruption occurred. Should be disallowed.
- Improved searching of coplanar facets by qh_findbesthorizon.
- Options 'Pdk' and 'Pdk' always returned the closest facet. This should only occur with option 'Pg'.
- PointCoordinates::appendPoints should not require whitespace after a point
- Setting qh.MINoutside could lead to verification ('Tv') failures. Fixed by setting qh.KEEPnearinside and calling qh_partitionpoint in qh_partitionall

v7.3.1

Toggle v7.3.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 2019.0.1 2019/05/24 (7.3.1)

Qhull options
- Disallow unknown options and other option errors, allow option warnings with 'Qw'
- New option 'Qallow-short': allow input with fewer or more points than coordinates
- New option 'Qwarn-allow': allow option warnings
- New option 'TAn': stop after adding n vertices
- New option 'Tf': flush after qh_fprintf for debugging segfaults
- New experimental option 'Q14-merge-pinched-vertices': merge pinched vertices due to dupridge
  Excessive merging leads to additional topological and wide facet errors
- New experimental option 'Q15-check-duplicates': check for duplicate ridges with the same vertices
- Option 'Q1' merges by mergetype/angle instead of mergetype/distance, coplanar merges first
  In 2015.2 by default, Qhull merged by mergetype/angle with lower angles first
- Option 'TP-1' turns on tracing after qh_buildhull and qh_postmerge
  It traces qh_check_maxout, qh_prepare_output, qh_triangulate, qh_voronoi_center
- Options '--help', '-?', and '--' display a short help message
  Qhull does not support '--' options.  Git for Windows v2.21.0 does not support isatty ('winpty qhull' is OK)
- Allow Qhull extra options Q12 and Q14 for qconvex/qdelaunay/qhalf/qvoronoi
- Allow option 'QRn' (random rotate) for qdelaunay/qhalf/qvoronoi
- Alphabetize short prompts (qhull .)
- Alphabetize long prompts w/ normal options first (qhull -)
- Alphabetize option help by option code
- Add 'Number of merged pinched vertices' to summary ('s')
- Add 'TI file' to help message for qconvex/qdelaunay/qhalf/qvoronoi
- Dropped experimental option 'Q16-simplex-merge'.   Centrums are required for convexity
- Error if 'd', 'v', or 'Hn,n,n' are used together
- Ignore missing space after 'TI' or 'TO'.  Allow 'TIinputfile' and 'TOoutputfile'
- Prefix option errors and warnings with 'qhull option error:' or 'qhull option warning:'
- Remove hidden option 'normals' from help prompts for qdelaunay, qhalf, qvoronoi
- Reword short prompts to 'Pdrop-d0:0D0', 'QbBound-0:0.5', and 'off_format'
- Updated qh-quick.htm, 'qhull -', and 'qhull .' for 'T...' and 'Q...' options.
  Separate help prompts for 'T options' and 'Trace options'
- Use '-' instead of '_' for word delimiter in option names

Qhull builds, scripts, and debugging
- Add qh.traceridge, qh.traceridge_id, and qh_delridge for debugging by ridge in qh_fprintf
- Check for qhull with 'which qhull' instead of 'qhull', avoids hangs in git bash
- Makefile/CC_WARNINGS: Add instructions for collecting and testing gcc warnings
- Makefile/benchmark: Add q_benchmark, 10 runs of each
- Makefile/clean: Delete linked files from src/libqhull and src/libqhull_r, as in their Makefiles
- Makefile/help: Add 'make all' to 'make help' prompts
- Makefile/qhullx: Add test of testqset and testqset_r
- Makefile/qhullx: Create bin/ directory if missing
- Makefile/test: Add user_eg3 help prompt
- Makefile/testall: Add q_benchmark, 1 run of each
- eg/make-vcproj.sh/qhullx: Build bin/qhullx from src/qhullx/ for comparison
- eg/q_benchmark: new script for measuring Qhull precision and performance with qtest.sh
- eg/q_test: update error messages for missing bin/ and bin/libqhull_r.dll
- eg/q_test: tests of Tf and TAn
- eg/qhull-zip.sh: add note that it requires road-script.sh from http://www.qhull.org/road/
- eg/qhull-zip.sh: check source depencencies for prompts
- eg/qtest.sh: new script for testing Qhull and summarizing its trace files
- libqhull_r/Makefile: install target creates $INCDIR/libqhull_r and $LIBDIR
- libqhull_r.h/qh_ERRdebug: define error status for debugging exits

Qhull fixed bugs
- html/qh-optp.htm: options 'PDk' and 'Pdk' require option 'Pg' to return the closest facet
- Makefile/qhullx: fixed qhullx compile of testqset and testqset_r
- PointCoordinates.cpp/appendPoints: read 'in >> p' instead of 'in >> p >> ws'
  otherwise istream fails if file does not end with whitespace
- geom_r.c/qh_findbesthorizon: fix test for Zfindjump (bestdist jumps by searchdist)
- geom_r.c/qh_findbesthorizon: increased minsearch of coplanar facets if ischeckmax and more than 100 neighbors
- geom_r.c/qh_sethyperplane_det: dropped precision statistic Znearlysingular (it's Zminnorm)
- geom2_r.c/qh_detjoggle: use 'En' (roundoff) if specified by options
- geom2_r.c/qh_distround: move adjustment for 'Rn' into qh_distround.  'QJn' did not account for 'Rn'
- global_r.c/qh_checkflags: handle two-digit Q options in hiddenflags
- global_r.c/qh_freebuild: do not delete unattached ridges, otherwise a double delete.  Should not occur
- global_r.c/qh_option: fix potential overflow of qh.qhull_options
- global_r.c/qh_initflags: fixed incorrect indentation for option 'TO file'
- global_r.c/qh_initqhull_start2: set qh.NOerrexit True
- io_r.c/qh_eachvoronoi: allow fp==NULL for QhullQh::qh_fprintf to appendQhullMessage
- io_r.c/qh_readpoints: error if 'd' or 'v' with 'H', otherwise memory corruption
- libqhull_r.h/qh.MERGEvertices: fixed comment, 'Q3' disables this feature
- libqhull_r.c/qh_buildcone_onlygood: cannot qh_delfacet inside FORALLnew_facets
- libqhull_r.c/qh_partitionpoint: if qh.NARROWhull and bestdist>qh.MINoutside and isnewoutside,
  may need to move facet to qh.newfacet_list for qh.next_facet
- libqhull_r.c/qh_printsummary: Zdistconvex is for checking convexity instead of testing convexity
- libqhull_r.c/qh_findhorizon: coplanar horizon if apex >= -qh.MAXcoplanar, instead of > -qh.MAXcoplanar
- mem_r.c/qh_memcheck: define null qh_memcheck if qh_NOmem
- merge_r.c/qh_mergecycle_all: turn on tracing, 'TMn', for coplanar horizon merge of one facet
- merge_r.c/qh_mergefacet2d: do not create ridges for neighborB.  The opposite neighbor may be tested
- merge_r.c/qh_test_centrum_merge: coplanar if centrum >= -qh.centrum_radius, instead of > -qh.centrum_radius
- merge_r.c/qh_test_nonsimplicial_merge: coplanar if centrum >= -qh.centrum_radius, instead of > -qh.centrum_radius
- merge_r.c/qh_tracemerging: fixed "qhull has merged" prompt
- merge_r.c/qh_willdelete: empty f.neighbors and f.ridges, references are no longer valid, will be deleted
- poly_r.c/qh_checkflipped: flipped if qh.interior_point >= -qh.DISTround, instead of > -qh.DISTround
- poly2_r.c/qh_addfacetvertex: initialize vertex_i in case f.vertices is empty
- poly2_r.c/qh_check_maxout: need to include qh.DISTround when checking f.maxoutside with qh.maxoutside
- poly2_r.c/qh_checkconvex: fix documentation for qh_DATAfault.  It is restricted to qh_initialhull with qh.ZEROcentrum
- poly2_r.c/qh_checkconvex: coplanar if >= -qh.DISTround, instead of > -qh.DISTround
- poly2_r.c/qh_checkconvex: check simplicial ridges if !qh.MERGING && qh.ZEROcentrum (unlikely or not-possible)
- poly2_r.c/qh_findgood: restrict qh.GOODvertex ('QVn') to good facets
- poly2_r.c/qh_findgood_all: unless 'Pg', ignore qh.GOODclosest for nearest facet to thresholds.
     'PdD' reports 0 good facets
- poly2_r.c/qh_replacefacetvertex: initialize vertex_n in case f.vertices is empty
- qconvex.c,qdelaunay.c,etc.: remove automatic 'Qx' for 5-d and higher.  Set by default in qh_initqhull_globals
- qvoronoi_r.c/qh_prompt: remove disabled option 'TRn' from help prompt
- random_r.c/qh_argv_to_command: fixed missing braces, same behavior as before
- rbox_r.c: return 0 exit status on prompt
- rboxlib.c/qh_rboxpoints: use qh_fprintf_stderr instead of qh_fprintf_rbox.  Avoid qh_errexit_rbox
- rboxlib.c/qh_rboxpoints2: clear rbox_inuse on exit, as in error exit
- rboxlib_r.c/qh_rboxpoints2: incorrect string arg to 'rbox error: unknown flag'
- rboxlib_r.c/qh_rboxpoints2: remove superfluous qh_free(*simplex)
- stat_r.c/qh_initstatistics: due to NOerrors cannot use qh_fprintf, use qh_fprintf_stderr instead
- stat_r.c/qh_stddev: return sqrt of absolute value
- testqset_r.c: if qh_NOmem, do not call qh_memfreeshort
- user_eg_r.c,user_eg2_r.c: if qh_NOmem, call qh_freeqhull(qh, qh_ALL) instead of qh_memfreeshort
- user_eg3_r.cpp: return 0 exit status on prompt

Qhull fixed bugs introduced by 2018.0
- libqhull_r.c/qh_addpoint: clear qh.retry_addpoint on success
- libqhull_r.c/qh_buildcone_mergepinched: cannot qh_delfacet inside FORALLnew_facets
- libqhull_r.c/qh_partitioncoplanar: clear qh.repart_id on exit for infinite recursion detect
- geom2_4.c/qh_detmaxoutside: move qh_option call to qh_errexit
- merge_r.c/mergetypes[]: fixed order by mergeT
- merge_r.c/qh_all_vertexmerges: fix retryfacet for repeated calls
- merge_r.c/qh_forcedmerge: f.dupridge retained after MRGdupridge
  hides MRGdegenerate in qh_test_degen_neighbors and qh_test_redundant_neighbors
- merge_r.c/qh_postmerge: call qh_freemergesets
- merge_r.c/qh_test_nonsimplicial_merge: clear iscoplanar if isconcave and any vertex is not coplanar
- poly2_r.c/qh_triangulate: move reset of f.degenerate into delete facet loop

Qhull C++
- QhullFacet.cpp: add hasNext() and hasPrevious()
- QhullVertex.cpp: add hasNext() and hasPrevious()
- qhulltest-64/QhullFacet_test.cpp,QhullVertex_test.cpp: test hasNext, hasPrevious, and hasPrevious iterator
- user_eg3.cpp: use 'qhull-cout' for option 'Tz' (trace to cout)

Qhull errors, warnings, and tracing
- Error messages rewritten and error codes changed (see qh_fprintf)
  Renumbered Qhull warnings as 'QH7xxx' if needed (e.g., QH9375)
  Reused unused error and message codes ("def counters" in user_r.h/msgcode)
  Please check your code if it depends on error and message codes
- Initialize variables to avoid potential uninitialized warnings
- Use qh_ERRqhull for Qhull internal errors, "qhull internal error (qh_...): ..."
- Use 'defined()' for qh_QHpointer_dllimport and qh_dllimport (-Wundef)
- Use 'defined()' for __cplusplus, _MSC_VER, __MWERKS__, and __POWERPC__ (-Wundef)
- Use 'Early exit' instead of 'At a premature exit'
- libqhull_r.h/qh_ERRother: define error status for non-internal errors
- libqhull_r.h/qh_ERRtopology: define error status for qhull topology errors
- libqhull_r.h/qh_ERRwide: define error status for wide facets due to qhull precision error
- geom_r.c/qh_setfacetplane: add qh_printfacet if qh.tracefacet for qh.tracefacet_id
- global_r.c/qh_freebuild: record previousfacet/ridge/vertex in case a memory fault occurs
- global_r.c/qh_init_flags: improved error message for 'cannot open file' for 'TO f'
- global_r.c/qh_init_flags: improved warning message for 'unknown option'
- global_r.c/qh_initbuild: add trace options to "Trace level ..."
- global_r.c/qh_initqhull_globals: error if qh.VORONOI without qh.DELAUNAY
- global_r.c/qh_initqhull_globals: error if numpoints is <1 or >qh_POINTSmax (INT_MAX-16)
- global_r.c/qh_lib_check: use C-style comment for _CrtSetBreakAlloc
- io_r.c/qh_printfacetheader: add "max" if f.merges==qh_MAXnummerge (511)
- io_r.c/qh_readpoints: error if numinput is <1 or >qh_POINTSmax (INT_MAX-16)
- io_r.c/qh_readpoints: moved up 'chop' of qh.rbox_command to report short input errors
- io_r.c/qh_readpoints: replace warning QH7073 with error message. Override with Qallow-short
- libqhull_r.c/qh_addpoint: if 'T4', check qh.visible_list before qh_partitionvisible
- libqhull_r.c/qh_buildtracing: add delta cpu/facets/hyperplanes to QH1049 'qh_addpoint: add p%d...'
- merge_r.c/qh_findbest_pinchedvertex: replaced assert with a 'qhull internal error'
- merge_r.c/qh_check_dupridge: drop advice about reporting wide merges for error QH6271
- merge_r.c/qh_mark_dupridges: topological error if multiple dupridges for one facet, not handled
- merge_r.c/qh_test_nonsimplicial_merge: if Qx and many merges, replace centrum_radius with maxoutside
- poly_r.c/qh_matchneighbor: drop extra warnings for duplicate facet (QH7084)
- poly_r.c/qh_matchnewfacets: check for simplicial facets on qh.newfacet_list, otherwise memory overwrite by qh_matchneighbor
- poly2_r.c/qh_checkconvex: identify simplicial checking of vertices (qh.ZEROcentrum, default)
- poly2_r.c/qh_checkconvex: distinguish above from coplanar for non-convex initial simplex
- poly2_r.c/qh_checkconvex: "non-convex initial simplex" for qh_joggle_restart
- poly2_r.c/qh_checkfacet: check f.id and f.vertex_visit
- poly2_r.c/qh_checklists: check and repair facet and vertex lists for infinite loops or overwritten facets/vertices
- poly2_r.c/qh_checkpolygon: if qh.NEWfacets, check visible facets for empty f.neighbors and f.ridges
- poly2_r.c/qh_checkpolygon: add qh_checkvertex
- poly2_r.c/qh_checkpolygon: check f.previous and v.previous links (for C++)
- poly2_r.c/qh_checkvertex: add parameters for allchecks and waserror (like qh_checkfacet)
- poly2_r.c/qh_checkvertex: check v.id and v.vertex_visit
- qvoronoi.c/hidden_options: hide option 'FM'. Maple output is not available
- rboxlib_r.c/qh_rboxpoints: use QH6... for error codes instead of QH7070 and QH7071
- stat_r.c/qh_stddev: check for division by 0
- testqset_r.c: send all messages, except 'OK' to stderr
- testqset_r.c: reassign unique QH8nnn codes, 8001/etc in use by libqhull_r
- user_r.c/qh_printhelp_internal: add descriptive message for a Qhull internal error
- user_r.c/qh_printhelp_narrowhull: add option 'Qs' (search all points)
- user_r.c/qh_printhelp_topology: add descriptive message for a Qhull topology error
- user_r.c/qh_printhelp_wide: add descriptive message for a wide merge error
- user_eg_r.c: add fflush and '=======' markers to interleave stdout with stderr (MSYS2)
- user_eg2_r.c: add fflush and '=======' markers to interleave stdout with stderr (MSYS2)
- user_eg2_r.c: add warning about calling qh_addpoint after qh_qhull with 'QJ' (joggle)

Qhull documentation and statistics
- Add Index to README.txt
- Add links to Wiki, http://github.com/qhull/qhull/wiki
- Add links to local home page (index.htm)
- Add GitHub, Scholar, and Code to navigation bar on home page
- Change numbered fixups to 'QH110nn FIX:'
- Chrome and Internet Explorer load '.c' and '.h' files as text/html from the Web
  These browsers along with Firefox do not read disk files as text/html
  Changed 'Functions' link from a local link to "http://www.qhull.org/src/libqhull_r/index.htm"
- Document implicit parameters at end of parameter list with '/* qh. ... */'
- Limit maximum length of literals to 1800 characters
- Move 'called by' comments to start of 'notes:'
- Option 'QRn' appends the actual QRn to the summary line ('s')
- Remove references to 'Qx' in 5-d and higher.  It is automatically set by default.
- Replace references to 'src/libqhull/*.htm' with reentrant 'src/libqhull_r/*_r.htm'
- Retitle 'Qhull internals' as 'Qhull code'
- Use 'nearly adjacent vertices' instead of 'nearly coincident points'
- Use 'dupridge' instead of 'duplicate ridge' for ridges with more than two neighbors.
  Reserve 'duplicate ridge' for two ridges with the same vertices.
- Various edits to documentation (*.htm)
- Update copyright to 2019
- eg/q_test: Add examples to q_test "front ends"
- html/index.htm: Add 'Limitations of merged facets' to the Qhull manual
- html/index.htm: Add links to qdelaun_f.htm and qvoroin_f.htm (furthest-site)
- html/qconvex.htm,etc: update synopsis and options
- html/qh-code.htm: Add 'qh_addpoint' trace to 'Performance of Qhull'
- html/qh-code.htm: Add a section on 'Debugging Qhull' with subsections for error codes,
  infinite loops, trace options, core dumps, segfaults, qtest.sh, and memory errors.
- html/qh-impre.htm: Add 'Topological error' to 'Precision problems'
- html/qh-impre.htm: Add 'Topological errors' to 'Limitations of merged facets'
- html/qh-impre.htm: Add "narrow range of values" to 'Uneven dimensions'
- html/qh-optq.htm: Add note to 'QJ' (joggle) about calls to qh_addpoint
- html/qh-optt.htm#'Tc': 'T4' makes additional checks beyond check-frequently
- html/qhalf.htm: Split the first example to clarify the "feasible point" for qhalf
- html/qhalf.htm: Use 'feasible point' instead of 'interior point' for halfspace intersection
  Same as Qhull::feasiblePoint and distinguished from qh.interior_point
- html/qhull.man,qhull.txt: updated man page
- libqhull_r.h: update documentation for PRINTgood, GOODpoint, GOODvertex
- qhull_ra.h: include '<limits.h>'.  Used for INT_MAX,etc.
- stat.h: add zretryadd stats for qh_merge_pinchedvertices
- stat.h: add zvertextests for distance tests of vertices for merging
- libqhull_r/*: document global variables as 'qh.'
- libqhull_r/*: fix libqhull/... links
- libqhull_r.c/qh_partitioncoplanar: reword Zpartflip as Zpartcorner with updated messages
- merge_r.c/qh_merge_degenredundant: rename statistic Zneighbor to Zredundant
- stat_r.c: new or reworded statistics for Zpartcorner, Zparthidden, Zparttwisted, Zpinchduplicate, Zpinchedvertex
- stat_r.c: rename 'renamed vertex statistics' to 'statistics for vertex merges'
- stat_r.c: add merge statistics for MRGconcavecoplanar
- stat_r.c/qh_allstat: add ' ' before parens in statistics
- user_eg_r.c,user_eg2_r.c: rewrote prompt

Qhull changes
- For simple initializers, remove spaces (e.g., 'for (i=0; ...')
- Normalize spacing for libqhull
- Normalize spacing as 'for (i=0; ...' for simple initializers
- Review use of '>' for comparison to negative quantities.  Usually should be '>=', e.g., for coplanar tests
- Reassigned 8xxx and 9xxx codes as trace codes if traced at T3 or lower
- Remove unused variables
- Test floating point values with 0.0 instead of 0 (qh.premerge_centrum,lower_bound,upper_bound)
- Use SETsecondt_() and SETelemt_() instead of SETelem_() when assigning to a specific type
- Use '(type *)' for pointer casts.  It makes the cast more visible.
- Use void for empty parameter lists
- geom_r.c/qh_findbesthorizon: mark startfacet visited, avoids unnecessary visit
- geom2_r.c/qh_detmaxoutside: determine precision target qh.MAXoutside (option _maxoutside at error exit)
  replaces 'maxoutside' computation
- geom2_r.c/qh_maxsimplex: add ratio test for false narrow hull with search for prevdet
- global_r.c/qh_freebuild: free global sets first instead of last, otherwise dangling references
- io_r.c/qh_compare_nummerge: renamed qh_compare_facetmerge due to conflict with merge_r.h
- io_r.c/qh_compare_vertexpoint: remove this routine.  Not usable in libqhull_r due to 'qh'
- io_r.c/qh_printfacetridges: do not print ridge if already printed (e.g., duplicate neighbors for merge of simplicial facets)
- io_r.c/qh_produce_output2: fflush of qh.fout to show statistics and verification after output (MSYS2)
- libqhull_r.h/qh.ALLOWwide: rename qh.NOwide to qh.ALLOWwide for 'Q12-allow-wide'
- libqhull_r.h/qh.IGNOREpinched: replaced qh.MERGEpinched with reversed meaning
- libqhull_r.c/qh_addpoint: 'TVn' stops after qh_all_vertexmerges, not before qh_resetlists.  Matches documentation
- merge_r.h/MRGdupridge: renamed MRGridge
- merge_r.h/qh_ANGLEconcave,etc.: replace mergetype indicators with qh_ANGLEnone and m.mergetype
- merge_r.c/qh_all_vertexmerges: replace qh_getmergeset_initial with qh_getmergeset.  No facets created
- merge_r.c/qh_all_vertexmerges: move while loop into qh_all_vertexmerges
- merge_r.c/qh_append_mergeset: ignore merges into a MRGdegen facet (f.degenerate)
- merge_r.c/qh_buildcone_mergepinched: clean up code and design documentation
- merge_r.c/qh_compare_anglemerge: renamed qh_compareangle and sort by mergetype as well as angle
- merge_r.c/qh_compare_facetmerge: merge MRGcoplanar before MRGconcave, opposite order from 2015.2
                                   sort MRGanglecoplanar by angle
- merge_r.c/qh_degen_redundant_facet,qh_test_degen_neighbors: moved into qh_mergefacet due to qh_willdelete
- merge_r.c/qh_getmergeset,qh_getmergeset_initial: set f.tested after testing ridges, not before
- merge_r.c/qh_next_facetmerge: split out next merge from qh_all_merges and replace qsort
- merge_r.c/qh_findbest_pinchedvertex,qh_findbest_ridgevertex: dropped selecting merge direction via qh_vertex_isbelow.  Expensive and evidence mixed
- merge_r.c/qh_freemergesets,qh_initmergesets: pair qh_initmergesets with qh_freemergesets
- merge_r.c/qh_freemergesets,qh_initmergesets: drop the 'all' parameter
- merge_r.c/qh_mergecycle_all: move qh_merge_degenredundant, etc. to end from qh_premerge
- merge_r.c/qh_mergesimplex: delete facet1 from facet2.neighbors at end, not at ridge
- merge_r.c/qh_post_merges,qh_all_merges: remove setting of v.delridge on all vertices, not needed
- merge_r.c/qh_premerge: replace parameter 'apex' with 'apexpointid'.  Only used for logging
- merge_r.c/qh_premerge: add qh.newfacet_list as an implicit parameter
- merge_r.c/qh_test_degen_neighbors: split from qh_degen_redundant_neighbors and qh_mergefacet
- merge_r.c/qh_test_redundant_neighbors: split from qh_degen_redundant_neighbors and qh_mergefacet
- poly_r.c/qh_attachnewfacets: clear f.neighbors and f.ridges for visible facets, will be deleted
- poly_r.c/qh_matchnewfacets: remove call to qh_checkflipped_all for qh.FORCEoutput, checked by qh_setfacetplane
- poly_r.c/qh_update_vertexneighbors: renamed qh_updatevertices. A future version will optimize
  qh_update_vertexneighbors_cone: optimization for cone of new facets
- poly2_r.c/qh_checkconvex: immediate skip of f.tricoplanar facets.  Tricoplanar facets not tested.  Called before qh_triangulate
- poly2_r.c/qh_initbuild: move 'create sentinels' before qh_createsimplex so that qh.vertex_tail is v0 like f0
- poly2_r.c/qh_initialvertices: cleaned up code for qh_INITIALmax (8-d)
- poly2_r.c/qh_makenewfacets: clear f.neighbors and f.ridges for visible facets, will be deleted
- poly2_r.c/qh_matchdupridge: optimize dupridge for flipped->!flipped, good merge, not !flipped->flipped
- poly2_r.c/qh_matchdupridge_coplanarhorizon: dropped routine.  Results same or slightly worse.  Complex addition, rarely used
- poly2_r.c/qh_triangulate: rename facet and vertex lists as triangulated_facet_list,etc.
  qh_triangulate does not maintain qh.newfacet_list or qh.visible_list
- poly2_r.c/qh_triangulate: ignore qh.NEWfacets. qh_checkpolygon is not valid inside qh_triangulate
- rboxlib_r.c/qh_rboxpoints2: split function from qh_rboxpoints to avoid -Wclobbered
- stat_r.c/qh_printstatlevel: remove unused NULLfield

Qhull C++ changes
- Use NULL instead of 0 for pointers
- Remove old style casts such as '(size_t)...'
- Define initializers for default constructors even if explicitly assigned
- Update static initializer list for s_empty_facet, s_empty_ridge, s_empty_vertex
- Coordinates.h: default constructor clears coordinate_array
- Coordinates.h: default iterator constructor clears i
- RboxPoints.cpp/qh_fprintf_rbox: add empty default to switch statement

v7.2.1

Toggle v7.2.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Last commit to master prior to Qhull 2018.0.1 (v7.3.0).

  [2018/12/28] 0db5f89  Merge pull request qhull#33 from anntzer/Wmisleading-indentation

v7.2.1 should be used instead of 'head'

v7.3.0

Toggle v7.3.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
cbbarber bradb
Qhull 2018.0.1 2018/12/28 (7.3.0)

0