{"id":13435708,"url":"https://github.com/qhull/qhull","last_synced_at":"2026-02-19T13:33:27.840Z","repository":{"id":2125851,"uuid":"41710969","full_name":"qhull/qhull","owner":"qhull","description":"Qhull development for www.qhull.org -- Qhull 2020.2 (8.1-alpha1) at https://github.com/qhull/qhull/wiki","archived":false,"fork":false,"pushed_at":"2025-09-07T19:29:23.000Z","size":6603,"stargazers_count":807,"open_issues_count":29,"forks_count":215,"subscribers_count":35,"default_branch":"master","last_synced_at":"2026-02-12T16:59:31.485Z","etag":null,"topics":["computational-geometry","convex-hull","delaunay","delaunay-triangulation","halfspace-intersection","qhull","quickhull","voronoi","voronoi-diagram"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qhull.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-09-01T01:59:16.000Z","updated_at":"2026-02-06T20:11:30.000Z","dependencies_parsed_at":"2024-10-27T18:14:11.845Z","dependency_job_id":"86f58f90-94a1-4143-b972-68323a6306a5","html_url":"https://github.com/qhull/qhull","commit_stats":{"total_commits":226,"total_committers":33,"mean_commits":6.848484848484849,"dds":"0.29646017699115046","last_synced_commit":"c2ef2209c28dc61ccfd22514971236587e820121"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/qhull/qhull","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qhull%2Fqhull","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qhull%2Fqhull/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qhull%2Fqhull/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qhull%2Fqhull/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qhull","download_url":"https://codeload.github.com/qhull/qhull/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qhull%2Fqhull/sbom","scorecard":{"id":753227,"data":{"date":"2025-08-11","repo":{"name":"github.com/qhull/qhull","commit":"c814cb78883e6bb63a3b09a8a981df61d3ecaabb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.1,"checks":[{"name":"Code-Review","score":6,"reason":"Found 18/29 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":10,"reason":"7 commit(s) and 9 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 20 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T20:53:28.581Z","repository_id":2125851,"created_at":"2025-08-22T20:53:28.582Z","updated_at":"2025-08-22T20:53:28.582Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29614967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computational-geometry","convex-hull","delaunay","delaunay-triangulation","halfspace-intersection","qhull","quickhull","voronoi","voronoi-diagram"],"created_at":"2024-07-31T03:00:38.263Z","updated_at":"2026-02-19T13:33:27.816Z","avatar_url":"https://github.com/qhull.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"Name\n\n      qhull, rbox        2020.2        2020/08/31        (8.0.2)\n  \nConvex hull, Delaunay triangulation, Voronoi diagrams, Halfspace intersection\n\n      Documentation:\n        html/index.htm\n        \u003chttp://www.qhull.org/html\u003e\n\n      Available from:\n        \u003chttp://www.qhull.org\u003e\n        \u003chttp://www.qhull.org/download\u003e\n        \u003chttp://github.com/qhull/qhull/wiki\u003e (git@github.com:qhull/qhull.git)\n\n      News and a paper:\n        \u003chttp://www.qhull.org/news\u003e\n        \u003chttp://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.405\u003e\n\n     Version 1 (simplicial only):\n        \u003chttp://www.qhull.org/download/qhull-1.0.tar.gz\u003e\n\nPurpose\n\n  Qhull is a general dimension convex hull program that reads a set \n  of points from stdin, and outputs the smallest convex set that contains \n  the points to stdout.  It also generates Delaunay triangulations, Voronoi \n  diagrams, furthest-site Voronoi diagrams, and halfspace intersections\n  about a point.\n\n  Rbox is a useful tool in generating input for Qhull; it generates \n  hypercubes, diamonds, cones, circles, simplices, spirals, \n  lattices, and random points.\n\n  Qhull produces graphical output for Geomview.  This helps with\n  understanding the output. \u003chttp://www.geomview.org\u003e\n\nEnvironment requirements\n\n  Qhull and rbox should run on all 32-bit and 64-bit computers.  Use\n  an ANSI C or C++ compiler to compile the program.  The software is \n  self-contained.  It comes with examples and test scripts.\n\n  Qhull's C++ interface uses the STL.  The C++ test program uses QTestLib \n  from the Qt Framework.\n\n  Qhull is copyrighted software.  Please read COPYING.txt and REGISTER.txt\n  before using or distributing Qhull.\n\nTo cite Qhull, please use\n\n  Barber, C.B., Dobkin, D.P., and Huhdanpaa, H.T., \"The Quickhull \n  algorithm for convex hulls,\" ACM Trans. on Mathematical Software,\n  22(4):469-483, Dec 1996, http://www.qhull.org.\n\nTo modify Qhull, particularly the C++ interface\n\n  Qhull is on GitHub \n     (http://github.com/qhull/qhull/wiki, git@github.com:qhull/qhull.git)\n\n  For internal documentation, see html/qh-code.htm\n\nTo install Qhull\n\n  Qhull is precompiled for Windows 32-bit, otherwise it needs compilation.\n\n  Qhull includes Makefiles for gcc and other targets, CMakeLists.txt for CMake,\n  .sln/.vcproj/.vcxproj files for Microsoft Visual Studio, and .pro files \n  for Qt Creator.  It compiles under Windows with mingw.\n      (\u003chttps://github.com/qhull/qhull/wiki/Qhull-build-systems\u003e)\n\n  Install and build instructions follow.  \n\n  See the end of this document for a list of distributed files.\n\n------------------\nIndex\n\nInstalling Qhull on Windows 10, 8, 7 (32- or 64-bit), Windows XP, and Windows NT\nInstalling Qhull on Unix with gcc\nInstalling Qhull with CMake 2.6 or later\nInstalling Qhull with Qt\nWorking with Qhull's C++ interface\nCalling Qhull from C programs\nCompiling Qhull with Microsoft Visual C++\nCompiling Qhull with Qt Creator\nCompiling Qhull with mingw/gcc on Windows\nCompiling Qhull with cygwin on Windows\nCompiling from Makfile without gcc\nCompiling on other machines and compilers\nDistributed files\nAuthors\n\n------------------\nInstalling Qhull on Windows 10, 8, 7 (32- or 64-bit), Windows XP, and Windows NT\n\n  The zip file contains rbox.exe, qhull.exe, qconvex.exe, qdelaunay.exe, \n  qhalf.exe, qvoronoi.exe, testqset.exe, user_eg*.exe, documentation files, \n  and source files.  Qhull.exe and user-eg3.exe are compiled with the reentrant \n  library while the other executables use the non-reentrant library.\n\n  To install Qhull:\n  - Unzip the files into a directory (e.g., named 'qhull')\n  - Click on QHULL-GO or open a command window into Qhull's bin directory.\n  - Test with 'rbox D4 | qhull'\n\n  To uninstall Qhull\n  - Delete the qhull directory\n\n  To learn about Qhull:\n  - Execute 'qconvex' for a synopsis and examples.\n    Or 'qconvex --help' or 'qconvex -?'\n  - Execute 'rbox 10 | qconvex' to compute the convex hull of 10 random points.\n  - Execute 'rbox 10 | qconvex i TO file' to write results to 'file'.\n  - Browse the documentation: qhull\\html\\index.htm\n  - If an error occurs, Windows sends the error to stdout instead of stderr.\n    Use 'TO xxx' to send normal output to xxx\n\n  To improve the command window\n  - Double-click the window bar to increase the size of the window\n  - Right-click the window bar\n  - Select Properties\n  - Check QuickEdit Mode\n    Select text with right-click or Enter\n    Paste text with right-click\n  - Change Font to Lucinda Console\n  - Change Layout to Screen Buffer Height 999, Window Size Height 55\n  - Change Colors to Screen Background White, Screen Text Black\n  - Click OK\n  - Select 'Modify shortcut that started this window', then OK\n\n  If you regularly use qhull on a Windows host, install a bash shell such as\n    https://gitforwindows.org/     # based on MSYS2\n      https://github.com/git-for-windows/git/wiki\n      http://www.msys2.org/\n      https://github.com/msys2/msys2/wiki\n      [mar'19] Git for Windows v2.21 requires 'qhull --help'\n      Install in C:\\Git\\... # Not 'Program Files\\...' otherwise './configure \u0026\u0026 make' fails\n    www.cygwin.com \n    www.mingw.org/wiki/msys        # for Windows XP\n    Road Bash (www.qhull.org/bash) # based on MSYS\n\n------------------\nInstalling Qhull on Unix with gcc\n\n  To build Qhull, static libraries, shared library, and C++ interface\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - make\n  - export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH\n  - make test\n  \n  'make install' installs Qhull at '/usr/local/'.  It installs pkg-config files \n  at '/usr/local/lib/pkgconfig'.  Change the install directory with DESTDIR and PREFIX.\n  \n  To build 32-bit Qhull on a 64-bit host (uses 33% less memory in 4-d)\n  - make new M32=-m32\n\n  To build 32-bit Qhull without -fpic (may be faster, but shared library may fail)\n  - make new M32=-m32  FPIC=\n\n  The Makefiles may be edited for other compilers.\n  If 'testqset' exits with an error, qhull is broken\n\n  A simple Makefile for Qhull is in src/libqhull and src/libqhull_r.\n  To build the Qhull executables and libqhullstatic\n  - Extract Qhull from qhull...tgz or qhull...zip\n  - cd src/libqhull_r  # cd src/libqhull \n  - make\n\n\n------------------\nInstalling Qhull with CMake 2.6 or later\n\n  See CMakeLists.txt for examples and further build instructions\n\n  To build Qhull, static libraries, shared library, and C++ interface\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - cd build\n  - cmake --help               # List build generators\n  - cmake -G \"\u003cgenerator\u003e\" ..  # e.g., for MINGW-w64 -- cmake -G \"MSYS Makefiles\" ..\n  - cmake ..                   \n  - make\n  - ctest\n  - make install               # If MSYS or UNIX, default CMAKE_INSTALL_PREFIX is '/usr/local'\n                               # otherwise if WINDOWS, installs to ../bin, ../include, and ../lib\n  - make uninstall             # Delete the files in install_manifest.txt\n\n  The \"..\" is important.  It refers to the parent directory (i.e., qhull/)\n  \n  CMake installs lib/pkgconfig/qhull*.pc for use with pkg-config\n\n  If CMAKE_INSTALL_PREFIX is C:/Program Files/qhull, you may need to give 'Users' \"full control\" \n  to qhull's sub-directories: bin, doc, include, lib, and man (folder \u003e Properties \u003e Security \u003e Edit \u003e Users).\n  \n  On Windows, CMake's 64-bit generators have a \"Win64\" tag.  Qhull's data structures \n  are substantial larger as 64-bit code than as 32-bit code.  This may slow down Qhull.\n\n  If cmake fails with \"No CMAKE_C_COMPILER could be found\"\n  - cmake was not able to find the build environment specified by -G \"...\"\n\n  If cmake's gcc smoketest fails after a Windows update\n  - Reinstall MINGW-w64 and delete build/CMakeCache.txt.  A Windows update can break gcc process creation for cc1.\n\n------------------\nInstalling Qhull with Qt\n\n  To build Qhull, including its C++ test program (qhulltest)\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - Load src/qhull-all.pro into QtCreator\n  - Configure the project to use a Shadow build at the same level as 'src', 'bin', and 'lib'\n    If, instead, the shadow build is a subdirectory of 'build', Qt Creator will install Qhull in 'build/bin' and 'build/lib'\n  - Build\n  \n  - Build qhulltest with a C++11 or later compiler\n  - qhulltest depends on shared libraries QtCore.a and QtTest.a.  They may need to be copied \n    into the bin directory.  On Windows, copy Qt5Core.dll and Qt5Test.dll, e.g., /qt/5.11.2/msvc2017_64/bin\n  - If qhulltest fails with exit status 127 and no error message, \n    check for missing Q5Core.dll and Qt5Test.dll\n\n------------------\nWorking with Qhull's C++ interface\n\n  See html/qh-code.htm#cpp for calling Qhull from C++ programs\n  \n  Class and method documentation is limited\n\n  See html/qh-code.htm#reentrant for converting from Qhull-2012\n\n  Examples of using the C++ interface\n    user_eg3_r.cpp\n    qhulltest/*_test.cpp\n\n  Qhull's C++ interface is likely to change.  Stay current with GitHub.\n\n  To clone Qhull's next branch from http://github.com/qhull/qhull/wiki\n    git init\n    git clone git@github.com:qhull/qhull.git\n    cd qhull\n    git checkout next\n    ...\n    git pull origin next\n\n  Compile qhullcpp and libqhullstatic_r with the same compiler.  Both libraries\n  use the C routines setjmp() and longjmp() for error handling.  They must \n  be compiled with the same compiler.\n\n  Qhull provides pkg-config support with build/qhull.pc.in and lib/pkgconfig/qhull*.pc\n  With back-ticks, you can compile your C++ program with the Qhull libraries:\n      g++ `pkg-config --cflags --libs qhullcpp qhullstatic_r` -o my_app my_app.cpp\n  or\n      g++ `pkg-config --cflags --libs qhullcpp qhull_r` -o my_app my_app.cpp\n\n  qhullcpp must be linked before qhull_r, otherwise the linker reports\n  an error -- \"QhullUser ... multiple definition of `qh_fprintf'\"\n\n------------------\nCalling Qhull from C programs\n\n  See html/qh-code.htm#library for calling Qhull from C programs\n\n  Qhull provides pkg-config support with build/qhull.pc.in and lib/pkgconfig/qhull*.pc\n  With back-ticks, you can compile your C program with the Qhull library\n      gcc `pkg-config --cflags --libs qhull_r` -o my_app my_app.c\n\n  See html/qh-code.htm#reentrant for converting from Qhull-2012\n\n  Warning: You will need to understand Qhull's data structures and read the \n  code.  Most users will find it easier to call Qhull as an external command.\n\n  The reentrant 'C' code (src/libqhull_r), passes a pointer to qhT \n  to most Qhull routines.  This allows multiple instances of Qhull to run \n  at the same time.  It simplifies the C++ interface.\n\n  The non-reentrant 'C' code (src/libqhull) looks unusual.  It refers to \n  Qhull's global data structure, qhT, through a 'qh' macro (e.g., 'qh ferr'). \n  This allows the same code to use static memory or heap memory. \n  If qh_QHpointer is defined, qh_qh is a pointer to an allocated qhT; \n  otherwise qh_qh is a global static data structure of type qhT.\n\n------------------\nCompiling Qhull with Microsoft Visual C++\n\n  To compile 32-bit Qhull with Microsoft Visual C++ 2010 and later\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - Load solution build/qhull-32.sln\n  - Right-click 'Retarget solution' from toolset v110 to your Platform Toolset\n    File \u003e Save All\n  - Build target 'Win32'\n  - Project qhulltest requires Qt for DevStudio (http://www.qt.io)\n    Set the QTDIR environment variable to your Qt directory (e.g., c:/qt/5.2.0/5.2.0/msvc2012)\n    If QTDIR is incorrect, precompile will fail with 'Can not locate the file specified'\n  - Copy Qt shared libraries, QtCore.dll and QtTest.dll, into the bin directory\n\n  To compile 64-bit Qhull with Microsoft Visual C++ 2010 and later\n  - 64-bit Qhull has larger data structures due to 64-bit pointers.  This may slow down Qhull.\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - Load solution build/qhull-64.sln \n  - Right-click 'Retarget solution' from toolset v110 to your Platform Toolset\n    File \u003e Save All\n  - Build target 'x64'\n  - If build as 32-bit fails, use solution build/qhull-32.sln\n  - Project qhulltest requires Qt for DevStudio (http://www.qt.io)\n    Set the QTDIR environment variable to your Qt directory (e.g., c:/qt/5.2.0/5.2.0/msvc2012_64)\n    If QTDIR is incorrect, precompile will fail with 'Can not locate the file specified'\n  \n  If error -- MSB8020: The build tools for Visual Studio 2012 (Platform Toolset = 'v110') cannot be found.\n  - 'Project \u003e Retarget solution' for both qhull-32.sln and qhull-64.sln\n  - 'File \u003e Open' your preferred solution (qhull-32.sln or qhull-64.sln)\n  - 'Save All' both projects\n  - DevStudio may need a restart\n\n  To compile Qhull with Microsoft Visual C++ 2005 (vcproj files)\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - Load solution build/qhull.sln \n  - Build target 'win32' (not 'x64')\n  - Project qhulltest requires Qt for DevStudio (http://www.qt.io)\n    Set the QTDIR environment variable to your Qt directory (e.g., c:/qt/4.7.4)\n    If QTDIR is incorrect, precompile will fail with 'Can not locate the file specified'\n\n------------------\nCompiling Qhull with Qt Creator\n\n  Qt (http://www.qt.io) is a C++ framework for Windows, Linux, and Macintosh\n\n  Qhull uses QTestLib to test qhull's C++ interface (see src/qhulltest/)\n\n  To compile Qhull with Qt Creator\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - Download the Qt SDK\n  - Start Qt Creator\n  - Load src/qhull-all.pro\n  - Configure the project to use a Shadow build at the same level as 'src', 'bin', and 'lib'\n    If, instead, the shadow build is a subdirectory of 'build', Qt Creator will install Qhull in 'build/bin' and 'build/lib'\n  - Build\n  \n  - Build qhulltest with a C++11 or later compiler\n  - qhulltest depends on shared libraries QtCore.a and QtTest.a.  They may need to be copied \n    into the bin directory.  On Windows, copy Qt5Core.dll and Qt5Test.dll, e.g., /qt/5.11.2/msvc2017_64/bin\n  - If qhulltest fails with exit status 127 and no error message, \n    check for missing Q5Core.dll and Qt5Test.dll\n\n------------------\nCompiling Qhull with mingw/gcc on Windows\n\n  To compile Qhull with MINGW\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - Install GitForWindows (https://gitforwindows.org/)\n    or MSYS2 (http://www.msys2.org/)\n    Install in C:\\Git\\... # Not 'Program Files\\...' otherwise './configure \u0026\u0026 make' will not work\n  - Install MINGW-w64 with gcc (https://mingw-w64.org/)\n    1) Goto sourceforge -- https://sourceforge.net/projects/mingw-w64/files/\n    2) in folder -- mingw-w64\n    3) download installer -- MinGW-W64-install.exe\n    Run the installer\n    1) Select i686/posix/dwarf\n    2) Install in 'C:\\mingw-w64' # Not 'Program Files\\...'\n    Rename /c/mingw-w64/mingw32/bin/mingw32-make.exe to make.exe\n    Add the 'C:\\mingw-w64\\mingw32\\bin' directory to your $PATH environment variable\n    Execute 'which make' to check that 'make' is mingw-w64's make\n  - Compile Qhull from the home directory\n    make help\n    make\n\n  Notes\n  - Mingw is included with Qt SDK in qt/Tools/mingw53_32\n  - If you use Windows XP\n    Install Road Bash (http://www.qhull.org/bash) or MSYS (http://www.mingw.org/wiki/msys)\n    Install MINGW (http://mingw.org/)\n\n------------------\nCompiling Qhull with cygwin on Windows\n\n  To compile Qhull with cygwin\n  - Download and extract Qhull (either GitHub, .tgz file, or .zip file)\n  - Install cygwin (http://www.cygwin.com)\n  - Include packages for gcc, make, ar, and ln\n  - make\n\n------------------\nCompiling from Makfile without gcc\n\n  The file, qhull-src.tgz, contains documentation and source files for\n  qhull and rbox.  \n\n  To unpack the tgz file\n  - tar zxf qhull-src.tgz\n  - cd qhull\n  - Use qhull/Makefile\n   Simpler Makefiles are qhull/src/libqhull/Makefile and qhull/src/libqhull_r/Makefile\n\n  Compiling qhull and rbox with Makefile\n  - in Makefile, check the CC, CCOPTS1, PRINTMAN, and PRINTC defines\n      - the defaults are gcc and enscript\n      - CCOPTS1 should include the ANSI flag.  It defines __STDC__\n  - in user.h, check the definitions of qh_SECticks and qh_CPUclock.\n      - use '#define qh_CLOCKtype 2' for timing runs longer than 1 hour\n  - type: make \n      - this builds: qhull qconvex qdelaunay qhalf qvoronoi rbox libqhull.a libqhull_r.a\n  - type: make doc\n      - this prints the man page\n      - See also qhull/html/index.htm\n  - if your compiler reports many errors, it is probably not a ANSI C compiler\n      - you will need to set the -ansi switch or find another compiler\n  - if your compiler warns about missing prototypes for fprintf() etc.\n      - this is ok, your compiler should have these in stdio.h\n  - if your compiler warns about missing prototypes for memset() etc.\n      - include memory.h in qhull_a.h\n  - if your compiler reports \"global.c: storage size of 'qh_qh' isn't known\"\n      - delete the initializer \"={0}\" in global.c, stat.c and mem.c\n  - if your compiler warns about \"stat.c: improper initializer\"\n      - this is ok, the initializer is not used\n  - if you have trouble building libqhull.a with 'ar'\n      - try 'make -f Makefile.txt qhullx' \n  - if the code compiles, the qhull test case will automatically execute\n  - if an error occurs, there's an incompatibility between machines\n      - If you can, try a different compiler \n      - You can turn off the Qhull memory manager with qh_NOmem in mem.h\n      - You can turn off compiler optimization (-O2 in Makefile)\n      - If you find the source of the problem, please let us know\n  - to install the programs and their man pages:\n      - define MANDIR and BINDIR\n      - type 'make install'\n\n  - if you have Geomview (www.geomview.org)\n       - try  'rbox 100 | qconvex G \u003ea' and load 'a' into Geomview\n       - run 'q_eg' for Geomview examples of Qhull output (see qh-eg.htm)\n\n------------------\nCompiling on other machines and compilers\n\n  Qhull may compile with Borland C++ 5.0 bcc32.  A Makefile is included.\n  Execute 'cd src/libqhull; make -f Mborland'.  If you use the Borland IDE, set\n  the ANSI option in Options:Project:Compiler:Source:Language-compliance.\n\n  Qhull may compile with Borland C++ 4.02 for Win32 and DOS Power Pack.  \n  Use 'cd src/libqhull; make -f Mborland -D_DPMI'.  Qhull 1.0 compiles with \n  Borland C++ 4.02.  For rbox 1.0, use \"bcc32 -WX -w- -O2-e -erbox -lc rbox.c\".  \n  Use the same options for Qhull 1.0. [D. Zwick]\n\n  If you have troubles with the memory manager, you can turn it off by\n  defining qh_NOmem in mem.h.\n\n------------------\nDistributed files\n\n  README.txt           // Instructions for installing Qhull \n  REGISTER.txt         // Qhull registration \n  COPYING.txt          // Copyright notice \n  QHULL-GO.lnk         // Windows icon for eg/qhull-go.bat\n  Announce.txt         // Announcement \n  CMakeLists.txt       // CMake build file (2.6 or later)\n  File_id.diz          // Package descriptor\n  index.htm            // Home page \n  Makefile             // Makefile for gcc and other compilers\n  qhull*.md5sum        // md5sum for all files\n\n  bin/*                // Qhull executables and dll (.zip only)\n  build/CMakeModules/CheckLFS.cmake // enables Large File Support in CMake\n  build/config.cmake.in // extract target variables\n  build/qhull.pc.in    // pkg-config template for creating lib/pkgconfig/qhull*.pc\n  build/qhull-32.sln   // 32-bit DevStudio solution and project files (2010 and later)\n  build/*-32.vcxproj\n  build/qhull-64.sln   // 64-bit DevStudio solution and project files (2010 and later)\n  build/*-64.vcxproj\n  build/qhull.sln      // DevStudio solution and project files (2005 and 2009)\n  build/*.vcproj\n  build/qhulltest/     // DevStudio project files for qhulltest (C++ and Qt)\n  build/README-build.txt // Contents of build/\n  eg/*                 // Test scripts and geomview files from q_eg\n  html/index.htm       // Manual\n  html/qh-faq.htm      // Frequently asked questions\n  html/qh-get.htm      // Download page\n  html/qhull-cpp.xml   // C++ style notes as a Road FAQ (www.qhull.org/road)\n  src/Changes.txt      // Change history for Qhull and rbox \n  src/qhull-all.pro    // Qt project\n\neg/ \n  q_benchmark          // shell script for precision and performance benchmark\n  q_benchmark-ok.txt   // reviewed output from q_benchmark\n  q_eg                 // shell script for Geomview examples (eg.01.cube)\n  q_egtest             // shell script for Geomview test examples\n  q_test               // shell script to test qhull\n  q_test.bat           // Windows batch test for QHULL-GO.bat\n                       // cd bin; ..\\eg\\q_test.bat \u003eq_test.x 2\u003e\u00261\n  q_test-ok.txt        // reviewed output from q_test\n  qhulltest-ok.txt     // reviewed output from qhulltest (Qt only)\n  make-qhull_qh.sh     // shell script to create non-reentrant qhull_qh from reentrant Qhull\n  make-vcproj.sh       // shell script to create vcproj and vcxprog files\n  qhull-zip.sh         // shell script to create distribution files\n  qtest.sh             // shell script for testing and logging qhull\n\nrbox consists of (bin, html):\n  rbox.exe             // Win32 executable (.zip only) \n  rbox.htm             // html manual \n  rbox.man             // Unix man page \n  rbox.txt\n\nqhull consists of (bin, html):\n  qconvex.exe          // Win32 executables and dlls (.zip download only) \n  qhull.exe            // Built with the reentrant library (about 2% slower)\n  qdelaunay.exe\n  qhalf.exe\n  qvoronoi.exe\n  qhull_r.dll\n  qhull-go.bat         // command window\n  qconvex.htm          // html manual\n  qdelaun.htm\n  qdelau_f.htm        \n  qhalf.htm\n  qvoronoi.htm\n  qvoron_f.htm\n  qh-eg.htm\n  qh-code.htm\n  qh-impre.htm\n  index.htm\n  qh-opt*.htm\n  qh-quick.htm\n  qh--*.gif            // images for manual\n  normal_voronoi_knauss_oesterle.jpg\n  qh_findbestfacet-drielsma.pdf\n  qhull.man            // Unix man page \n  qhull.txt\n\nbin/\n  msvcr80.dll          // Visual C++ redistributable file (.zip download only)\n\nsrc/\n  qhull/unix.c         // Qhull and rbox applications using non-reentrant libqhullstatic.a\n  rbox/rbox.c\n  qconvex/qconvex.c    \n  qhalf/qhalf.c\n  qdelaunay/qdelaunay.c\n  qvoronoi/qvoronoi.c\n\n  qhull/unix_r.c        // Qhull and rbox applications using reentrant libqhullstatic_r.a\n  rbox/rbox_r.c\n  qconvex/qconvex_r.c   // Qhull applications built with reentrant libqhull_r/Makefile  \n  qhalf/qhalf_r.c\n  qdelaunay/qdelaun_r.c\n  qvoronoi/qvoronoi_r.c\n\n  user_eg/user_eg_r.c     // example of using qhull_r.dll from a user program\n  user_eg2/user_eg2_r.c   // example of using libqhullstatic_r.a from a user program\n  user_eg3/user_eg3_r.cpp // example of Qhull's C++ interface libqhullcpp with libqhullstatic_r.a\n  qhulltest/qhulltest.cpp // Test of Qhull's C++ interface using Qt's QTestLib\n  qhull-*.pri             // Include files for Qt projects\n  testqset_r/testqset_r.c  // Test of reentrant qset_r.c and mem_r.c\n  testqset/testqset.c     // Test of non-rentrant qset.c and mem.c\n\nsrc/libqhull\n  libqhull.pro         // Qt project for non-rentrant, shared library (qhull.dll)\n  index.htm            // design documentation for libqhull\n  qh-*.htm\n  qhull-exports.def    // Export Definition files for Visual C++\n  qhull-nomerge-exports.def\n  qhull_p-exports.def\n  qhull_p-nomerge-exports.def\n  Makefile             // Simple gcc Makefile for qhull and libqhullstatic.a\n  Mborland             // Makefile for Borland C++ 5.0\n\n  libqhull.h           // header file for qhull\n  user.h               // header file of user definable constants \n  libqhull.c           // Quickhull algorithm with partitioning\n  user.c               // user re-definable functions \n  usermem.c\n  userprintf.c\n  userprintf_rbox.c\n\n  qhull_a.h            // include files for libqhull/*.c \n  geom.c               // geometric routines \n  geom2.c\n  geom.h     \n  global.c             // global variables \n  io.c                 // input-output routines \n  io.h   \n  mem.c                // memory routines, this is stand-alone code \n  mem.h\n  merge.c              // merging of non-convex facets \n  merge.h\n  poly.c               // polyhedron routines \n  poly2.c\n  poly.h \n  qset.c               // set routines, this only depends on mem.c \n  qset.h\n  random.c             // utilities w/ Park \u0026 Miller's random number generator\n  random.h\n  rboxlib.c            // point set generator for rbox\n  stat.c               // statistics \n  stat.h\n\nsrc/libqhull_r\n  libqhull_r.pro       // Qt project for rentrant, shared library (qhull_r.dll)\n  index.htm            // design documentation for libqhull_r\n  qh-*_r.htm\n  qhull_r-exports.def  // Export Definition files for Visual C++\n  qhull_r-nomerge-exports.def\n  Makefile             // Simple gcc Makefile for qhull and libqhullstatic.a\n\n  libqhull_r.h          // header file for qhull\n  user_r.h              // header file of user definable constants \n  libqhull_r.c          // Quickhull algorithm wi_r.hpartitioning\n  user_r.c              // user re-definable functions \n  usermem.c\n  userprintf.c\n  userprintf_rbox.c\n  qhull_ra.h            // include files for libqhull/*_r.c\n  geom_r.c              // geometric routines \n  geom2.c\n  geom_r.h    \n  global_r.c            // global variables \n  io_r.c                // input-output routines \n  io_r.h  \n  mem_r.c               // memory routines, this is stand-alone code \n  mem.h\n  merge_r.c             // merging of non-convex facets \n  merge.h\n  poly_r.c              // polyhedron routines \n  poly2.c\n  poly_r.h\n  qset_r.c              // set routines, this only depends on mem_r.c\n  qset.h\n  random_r.c            // utilities w/ Park \u0026 Miller's random number generator\n  random.h\n  rboxlib_r.c           // point set generator for rbox\n  stat_r.c              // statistics \n  stat.h\n\nsrc/libqhullcpp/\n  libqhullcpp.pro      // Qt project for renentrant, static C++ library     \n  Qhull.cpp            // Calls libqhull_r.c from C++\n  Qhull.h\n  qt-qhull.cpp         // Supporting methods for Qt\n\n  Coordinates.cpp      // input classes\n  Coordinates.h\n\n  PointCoordinates.cpp\n  PointCoordinates.h\n  RboxPoints.cpp       // call rboxlib.c from C++\n  RboxPoints.h\n\n  QhullFacet.cpp       // data structure classes\n  QhullFacet.h\n  QhullHyperplane.cpp\n  QhullHyperplane.h\n  QhullPoint.cpp\n  QhullPoint.h\n  QhullQh.cpp\n  QhullRidge.cpp\n  QhullRidge.h\n  QhullVertex.cpp\n  QhullVertex.h\n\n  QhullFacetList.cpp   // collection classes\n  QhullFacetList.h\n  QhullFacetSet.cpp\n  QhullFacetSet.h\n  QhullIterator.h\n  QhullLinkedList.h\n  QhullPoints.cpp\n  QhullPoints.h\n  QhullPointSet.cpp\n  QhullPointSet.h\n  QhullSet.cpp\n  QhullSet.h\n  QhullSets.h\n  QhullVertexSet.cpp\n  QhullVertexSet.h\n\n  functionObjects.h    // supporting classes\n  QhullError.cpp\n  QhullError.h\n  QhullQh.cpp\n  QhullQh.h\n  QhullStat.cpp\n  QhullStat.h\n  QhullUser.cpp\n  QhullUser.h\n  RoadError.cpp        // Supporting base classes\n  RoadError.h\n  RoadLogEvent.cpp\n  RoadLogEvent.h\n  usermem_r-cpp.cpp    // Optional override for qh_exit() to throw an error\n\nsrc/libqhullstatic/\n  libqhullstatic.pro   // Qt project for non-reentrant, static library     \n\nsrc/libqhullstatic_r/\n  libqhullstatic_r.pro // Qt project for reentrant, static library     \n\nsrc/qhulltest/\n  qhulltest.pro        // Qt project for test of C++ interface     \n  Coordinates_test.cpp // Test of each class\n  PointCoordinates_test.cpp\n  Qhull_test.cpp\n  QhullFacet_test.cpp\n  QhullFacetList_test.cpp\n  QhullFacetSet_test.cpp\n  QhullHyperplane_test.cpp\n  QhullLinkedList_test.cpp\n  QhullPoint_test.cpp\n  QhullPoints_test.cpp\n  QhullPointSet_test.cpp\n  QhullRidge_test.cpp\n  QhullSet_test.cpp\n  QhullVertex_test.cpp\n  QhullVertexSet_test.cpp\n  RboxPoints_test.cpp\n  RoadTest.cpp         // Run multiple test files with QTestLib\n  RoadTest.h\n\n------------------\nAuthors\n\n  C. Bradford Barber                  Hannu Huhdanpaa (Version 1.0)\n  bradb@shore.net                     hannu@qhull.org\n\n  Qhull 1.0 and 2.0 were developed under NSF grants NSF/DMS-8920161 \n  and NSF-CCR-91-15793 750-7504 at the Geometry Center and Harvard \n  University.  If you find Qhull useful, please let us know.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqhull%2Fqhull","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqhull%2Fqhull","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqhull%2Fqhull/lists"}