123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720 |
- Name
- qhull, rbox 2020.2 2020/08/31 (8.0.2)
-
- Convex hull, Delaunay triangulation, Voronoi diagrams, Halfspace intersection
- Documentation:
- html/index.htm
- <http://www.qhull.org/html>
- Available from:
- <http://www.qhull.org>
- <http://www.qhull.org/download>
- <http://github.com/qhull/qhull/wiki> (git@github.com:qhull/qhull.git)
- News and a paper:
- <http://www.qhull.org/news>
- <http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.405>
- Version 1 (simplicial only):
- <http://www.qhull.org/download/qhull-1.0.tar.gz>
- Purpose
- Qhull is a general dimension convex hull program that reads a set
- of points from stdin, and outputs the smallest convex set that contains
- the points to stdout. It also generates Delaunay triangulations, Voronoi
- diagrams, furthest-site Voronoi diagrams, and halfspace intersections
- about a point.
- Rbox is a useful tool in generating input for Qhull; it generates
- hypercubes, diamonds, cones, circles, simplices, spirals,
- lattices, and random points.
- Qhull produces graphical output for Geomview. This helps with
- understanding the output. <http://www.geomview.org>
- Environment requirements
- Qhull and rbox should run on all 32-bit and 64-bit computers. Use
- an ANSI C or C++ compiler to compile the program. The software is
- self-contained. It comes with examples and test scripts.
- Qhull's C++ interface uses the STL. The C++ test program uses QTestLib
- from the Qt Framework.
- Qhull is copyrighted software. Please read COPYING.txt and REGISTER.txt
- before using or distributing Qhull.
- To cite Qhull, please use
- Barber, C.B., Dobkin, D.P., and Huhdanpaa, H.T., "The Quickhull
- algorithm for convex hulls," ACM Trans. on Mathematical Software,
- 22(4):469-483, Dec 1996, http://www.qhull.org.
- To modify Qhull, particularly the C++ interface
- Qhull is on GitHub
- (http://github.com/qhull/qhull/wiki, git@github.com:qhull/qhull.git)
- For internal documentation, see html/qh-code.htm
- To install Qhull
- Qhull is precompiled for Windows 32-bit, otherwise it needs compilation.
- Qhull includes Makefiles for gcc and other targets, CMakeLists.txt for CMake,
- .sln/.vcproj/.vcxproj files for Microsoft Visual Studio, and .pro files
- for Qt Creator. It compiles under Windows with mingw.
- (<https://github.com/qhull/qhull/wiki/Qhull-build-systems>)
- Install and build instructions follow.
- See the end of this document for a list of distributed files.
- ------------------
- Index
- Installing Qhull on Windows 10, 8, 7 (32- or 64-bit), Windows XP, and Windows NT
- Installing Qhull on Unix with gcc
- Installing Qhull with CMake 2.6 or later
- Installing Qhull with Qt
- Working with Qhull's C++ interface
- Calling Qhull from C programs
- Compiling Qhull with Microsoft Visual C++
- Compiling Qhull with Qt Creator
- Compiling Qhull with mingw/gcc on Windows
- Compiling Qhull with cygwin on Windows
- Compiling from Makfile without gcc
- Compiling on other machines and compilers
- Distributed files
- Authors
- ------------------
- Installing Qhull on Windows 10, 8, 7 (32- or 64-bit), Windows XP, and Windows NT
- The zip file contains rbox.exe, qhull.exe, qconvex.exe, qdelaunay.exe,
- qhalf.exe, qvoronoi.exe, testqset.exe, user_eg*.exe, documentation files,
- and source files. Qhull.exe and user-eg3.exe are compiled with the reentrant
- library while the other executables use the non-reentrant library.
- To install Qhull:
- - Unzip the files into a directory (e.g., named 'qhull')
- - Click on QHULL-GO or open a command window into Qhull's bin directory.
- - Test with 'rbox D4 | qhull'
- To uninstall Qhull
- - Delete the qhull directory
- To learn about Qhull:
- - Execute 'qconvex' for a synopsis and examples.
- Or 'qconvex --help' or 'qconvex -?'
- - Execute 'rbox 10 | qconvex' to compute the convex hull of 10 random points.
- - Execute 'rbox 10 | qconvex i TO file' to write results to 'file'.
- - Browse the documentation: qhull\html\index.htm
- - If an error occurs, Windows sends the error to stdout instead of stderr.
- Use 'TO xxx' to send normal output to xxx
- To improve the command window
- - Double-click the window bar to increase the size of the window
- - Right-click the window bar
- - Select Properties
- - Check QuickEdit Mode
- Select text with right-click or Enter
- Paste text with right-click
- - Change Font to Lucinda Console
- - Change Layout to Screen Buffer Height 999, Window Size Height 55
- - Change Colors to Screen Background White, Screen Text Black
- - Click OK
- - Select 'Modify shortcut that started this window', then OK
- If you regularly use qhull on a Windows host, install a bash shell such as
- https://gitforwindows.org/ # based on MSYS2
- https://github.com/git-for-windows/git/wiki
- http://www.msys2.org/
- https://github.com/msys2/msys2/wiki
- [mar'19] Git for Windows v2.21 requires 'qhull --help'
- Install in C:\Git\... # Not 'Program Files\...' otherwise './configure && make' fails
- www.cygwin.com
- www.mingw.org/wiki/msys # for Windows XP
- Road Bash (www.qhull.org/bash) # based on MSYS
- ------------------
- Installing Qhull on Unix with gcc
- To build Qhull, static libraries, shared library, and C++ interface
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - make
- - export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
- - make test
-
- 'make install' installs Qhull at '/usr/local/'. It installs pkg-config files
- at '/usr/local/lib/pkgconfig'. Change the install directory with DESTDIR and PREFIX.
-
- To build 32-bit Qhull on a 64-bit host (uses 33% less memory in 4-d)
- - make new M32=-m32
- To build 32-bit Qhull without -fpic (may be faster, but shared library may fail)
- - make new M32=-m32 FPIC=
- The Makefiles may be edited for other compilers.
- If 'testqset' exits with an error, qhull is broken
- A simple Makefile for Qhull is in src/libqhull and src/libqhull_r.
- To build the Qhull executables and libqhullstatic
- - Extract Qhull from qhull...tgz or qhull...zip
- - cd src/libqhull_r # cd src/libqhull
- - make
- ------------------
- Installing Qhull with CMake 2.6 or later
- See CMakeLists.txt for examples and further build instructions
- To build Qhull, static libraries, shared library, and C++ interface
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - cd build
- - cmake --help # List build generators
- - cmake -G "<generator>" .. # e.g., for MINGW-w64 -- cmake -G "MSYS Makefiles" ..
- - cmake ..
- - make
- - ctest
- - make install # If MSYS or UNIX, default CMAKE_INSTALL_PREFIX is '/usr/local'
- # otherwise if WINDOWS, installs to ../bin, ../include, and ../lib
- - make uninstall # Delete the files in install_manifest.txt
- The ".." is important. It refers to the parent directory (i.e., qhull/)
-
- CMake installs lib/pkgconfig/qhull*.pc for use with pkg-config
- If CMAKE_INSTALL_PREFIX is C:/Program Files/qhull, you may need to give 'Users' "full control"
- to qhull's sub-directories: bin, doc, include, lib, and man (folder > Properties > Security > Edit > Users).
-
- On Windows, CMake's 64-bit generators have a "Win64" tag. Qhull's data structures
- are substantial larger as 64-bit code than as 32-bit code. This may slow down Qhull.
- If cmake fails with "No CMAKE_C_COMPILER could be found"
- - cmake was not able to find the build environment specified by -G "..."
- If cmake's gcc smoketest fails after a Windows update
- - Reinstall MINGW-w64 and delete CMakeCache.txt. A Windows update can break gcc process creation for cc1.
- ------------------
- Installing Qhull with Qt
- To build Qhull, including its C++ test program (qhulltest)
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - Load src/qhull-all.pro into QtCreator
- - Configure the project to use a Shadow build at the same level as 'src', 'bin', and 'lib'
- If, instead, the shadow build is a subdirectory of 'build', Qt Creator will install Qhull in 'build/bin' and 'build/lib'
- - Build
-
- - Build qhulltest with a C++11 or later compiler
- - qhulltest depends on shared libraries QtCore.a and QtTest.a. They may need to be copied
- into the bin directory. On Windows, copy Qt5Core.dll and Qt5Test.dll, e.g., /qt/5.11.2/msvc2017_64/bin
- - If qhulltest fails with exit status 127 and no error message,
- check for missing Q5Core.dll and Qt5Test.dll
- ------------------
- Working with Qhull's C++ interface
- See html/qh-code.htm#cpp for calling Qhull from C++ programs
-
- Class and method documentation is limited
- See html/qh-code.htm#reentrant for converting from Qhull-2012
- Examples of using the C++ interface
- user_eg3_r.cpp
- qhulltest/*_test.cpp
- Qhull's C++ interface is likely to change. Stay current with GitHub.
- To clone Qhull's next branch from http://github.com/qhull/qhull/wiki
- git init
- git clone git@github.com:qhull/qhull.git
- cd qhull
- git checkout next
- ...
- git pull origin next
- Compile qhullcpp and libqhullstatic_r with the same compiler. Both libraries
- use the C routines setjmp() and longjmp() for error handling. They must
- be compiled with the same compiler.
- Qhull provides pkg-config support with build/qhull.pc.in and lib/pkgconfig/qhull*.pc
- With back-ticks, you can compile your C++ program with the Qhull libraries:
- g++ `pkg-config --cflags --libs qhullcpp qhullstatic_r` -o my_app my_app.cpp
- or
- g++ `pkg-config --cflags --libs qhullcpp qhull_r` -o my_app my_app.cpp
- qhullcpp must be linked before qhull_r, otherwise the linker reports
- an error -- "QhullUser ... multiple definition of `qh_fprintf'"
- ------------------
- Calling Qhull from C programs
- See html/qh-code.htm#library for calling Qhull from C programs
- Qhull provides pkg-config support with build/qhull.pc.in and lib/pkgconfig/qhull*.pc
- With back-ticks, you can compile your C program with the Qhull library
- gcc `pkg-config --cflags --libs qhull_r` -o my_app my_app.c
- See html/qh-code.htm#reentrant for converting from Qhull-2012
- Warning: You will need to understand Qhull's data structures and read the
- code. Most users will find it easier to call Qhull as an external command.
- The reentrant 'C' code (src/libqhull_r), passes a pointer to qhT
- to most Qhull routines. This allows multiple instances of Qhull to run
- at the same time. It simplifies the C++ interface.
- The non-reentrant 'C' code (src/libqhull) looks unusual. It refers to
- Qhull's global data structure, qhT, through a 'qh' macro (e.g., 'qh ferr').
- This allows the same code to use static memory or heap memory.
- If qh_QHpointer is defined, qh_qh is a pointer to an allocated qhT;
- otherwise qh_qh is a global static data structure of type qhT.
- ------------------
- Compiling Qhull with Microsoft Visual C++
- To compile 32-bit Qhull with Microsoft Visual C++ 2010 and later
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - Load solution build/qhull-32.sln
- - Right-click 'Retarget solution' from toolset v110 to your Platform Toolset
- File > Save All
- - Build target 'Win32'
- - Project qhulltest requires Qt for DevStudio (http://www.qt.io)
- Set the QTDIR environment variable to your Qt directory (e.g., c:/qt/5.2.0/5.2.0/msvc2012)
- If QTDIR is incorrect, precompile will fail with 'Can not locate the file specified'
- - Copy Qt shared libraries, QtCore.dll and QtTest.dll, into the bin directory
- To compile 64-bit Qhull with Microsoft Visual C++ 2010 and later
- - 64-bit Qhull has larger data structures due to 64-bit pointers. This may slow down Qhull.
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - Load solution build/qhull-64.sln
- - Right-click 'Retarget solution' from toolset v110 to your Platform Toolset
- File > Save All
- - Build target 'x64'
- - If build as 32-bit fails, use solution build/qhull-32.sln
- - Project qhulltest requires Qt for DevStudio (http://www.qt.io)
- Set the QTDIR environment variable to your Qt directory (e.g., c:/qt/5.2.0/5.2.0/msvc2012_64)
- If QTDIR is incorrect, precompile will fail with 'Can not locate the file specified'
-
- If error -- MSB8020: The build tools for Visual Studio 2012 (Platform Toolset = 'v110') cannot be found.
- - 'Project > Retarget solution' for both qhull-32.sln and qhull-64.sln
- - 'File > Open' your preferred solution (qhull-32.sln or qhull-64.sln)
- - 'Save All' both projects
- - DevStudio may need a restart
- To compile Qhull with Microsoft Visual C++ 2005 (vcproj files)
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - Load solution build/qhull.sln
- - Build target 'win32' (not 'x64')
- - Project qhulltest requires Qt for DevStudio (http://www.qt.io)
- Set the QTDIR environment variable to your Qt directory (e.g., c:/qt/4.7.4)
- If QTDIR is incorrect, precompile will fail with 'Can not locate the file specified'
- ------------------
- Compiling Qhull with Qt Creator
- Qt (http://www.qt.io) is a C++ framework for Windows, Linux, and Macintosh
- Qhull uses QTestLib to test qhull's C++ interface (see src/qhulltest/)
- To compile Qhull with Qt Creator
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - Download the Qt SDK
- - Start Qt Creator
- - Load src/qhull-all.pro
- - Configure the project to use a Shadow build at the same level as 'src', 'bin', and 'lib'
- If, instead, the shadow build is a subdirectory of 'build', Qt Creator will install Qhull in 'build/bin' and 'build/lib'
- - Build
-
- - Build qhulltest with a C++11 or later compiler
- - qhulltest depends on shared libraries QtCore.a and QtTest.a. They may need to be copied
- into the bin directory. On Windows, copy Qt5Core.dll and Qt5Test.dll, e.g., /qt/5.11.2/msvc2017_64/bin
- - If qhulltest fails with exit status 127 and no error message,
- check for missing Q5Core.dll and Qt5Test.dll
- ------------------
- Compiling Qhull with mingw/gcc on Windows
- To compile Qhull with MINGW
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - Install GitForWindows (https://gitforwindows.org/)
- or MSYS2 (http://www.msys2.org/)
- Install in C:\Git\... # Not 'Program Files\...' otherwise './configure && make' will not work
- - Install MINGW-w64 with gcc (https://mingw-w64.org/)
- 1) Goto sourceforge -- https://sourceforge.net/projects/mingw-w64/files/
- 2) in folder -- mingw-w64
- 3) download installer -- MinGW-W64-install.exe
- Run the installer
- 1) Select i686/posix/dwarf
- 2) Install in 'C:\mingw-w64' # Not 'Program Files\...'
- Rename /c/mingw-w64/mingw32/bin/mingw32-make.exe to make.exe
- Add the 'C:\mingw-w64\mingw32\bin' directory to your $PATH environment variable
- Execute 'which make' to check that 'make' is mingw-w64's make
- - Compile Qhull from the home directory
- make help
- make
- Notes
- - Mingw is included with Qt SDK in qt/Tools/mingw53_32
- - If you use Windows XP
- Install Road Bash (http://www.qhull.org/bash) or MSYS (http://www.mingw.org/wiki/msys)
- Install MINGW (http://mingw.org/)
- ------------------
- Compiling Qhull with cygwin on Windows
- To compile Qhull with cygwin
- - Download and extract Qhull (either GitHub, .tgz file, or .zip file)
- - Install cygwin (http://www.cygwin.com)
- - Include packages for gcc, make, ar, and ln
- - make
- ------------------
- Compiling from Makfile without gcc
- The file, qhull-src.tgz, contains documentation and source files for
- qhull and rbox.
- To unpack the tgz file
- - tar zxf qhull-src.tgz
- - cd qhull
- - Use qhull/Makefile
- Simpler Makefiles are qhull/src/libqhull/Makefile and qhull/src/libqhull_r/Makefile
- Compiling qhull and rbox with Makefile
- - in Makefile, check the CC, CCOPTS1, PRINTMAN, and PRINTC defines
- - the defaults are gcc and enscript
- - CCOPTS1 should include the ANSI flag. It defines __STDC__
- - in user.h, check the definitions of qh_SECticks and qh_CPUclock.
- - use '#define qh_CLOCKtype 2' for timing runs longer than 1 hour
- - type: make
- - this builds: qhull qconvex qdelaunay qhalf qvoronoi rbox libqhull.a libqhull_r.a
- - type: make doc
- - this prints the man page
- - See also qhull/html/index.htm
- - if your compiler reports many errors, it is probably not a ANSI C compiler
- - you will need to set the -ansi switch or find another compiler
- - if your compiler warns about missing prototypes for fprintf() etc.
- - this is ok, your compiler should have these in stdio.h
- - if your compiler warns about missing prototypes for memset() etc.
- - include memory.h in qhull_a.h
- - if your compiler reports "global.c: storage size of 'qh_qh' isn't known"
- - delete the initializer "={0}" in global.c, stat.c and mem.c
- - if your compiler warns about "stat.c: improper initializer"
- - this is ok, the initializer is not used
- - if you have trouble building libqhull.a with 'ar'
- - try 'make -f Makefile.txt qhullx'
- - if the code compiles, the qhull test case will automatically execute
- - if an error occurs, there's an incompatibility between machines
- - If you can, try a different compiler
- - You can turn off the Qhull memory manager with qh_NOmem in mem.h
- - You can turn off compiler optimization (-O2 in Makefile)
- - If you find the source of the problem, please let us know
- - to install the programs and their man pages:
- - define MANDIR and BINDIR
- - type 'make install'
- - if you have Geomview (www.geomview.org)
- - try 'rbox 100 | qconvex G >a' and load 'a' into Geomview
- - run 'q_eg' for Geomview examples of Qhull output (see qh-eg.htm)
- ------------------
- Compiling on other machines and compilers
- Qhull may compile with Borland C++ 5.0 bcc32. A Makefile is included.
- Execute 'cd src/libqhull; make -f Mborland'. If you use the Borland IDE, set
- the ANSI option in Options:Project:Compiler:Source:Language-compliance.
- Qhull may compile with Borland C++ 4.02 for Win32 and DOS Power Pack.
- Use 'cd src/libqhull; make -f Mborland -D_DPMI'. Qhull 1.0 compiles with
- Borland C++ 4.02. For rbox 1.0, use "bcc32 -WX -w- -O2-e -erbox -lc rbox.c".
- Use the same options for Qhull 1.0. [D. Zwick]
- If you have troubles with the memory manager, you can turn it off by
- defining qh_NOmem in mem.h.
- ------------------
- Distributed files
- README.txt // Instructions for installing Qhull
- REGISTER.txt // Qhull registration
- COPYING.txt // Copyright notice
- QHULL-GO.lnk // Windows icon for eg/qhull-go.bat
- Announce.txt // Announcement
- CMakeLists.txt // CMake build file (2.6 or later)
- File_id.diz // Package descriptor
- index.htm // Home page
- Makefile // Makefile for gcc and other compilers
- qhull*.md5sum // md5sum for all files
- bin/* // Qhull executables and dll (.zip only)
- build/CMakeModules/CheckLFS.cmake // enables Large File Support in CMake
- build/config.cmake.in // extract target variables
- build/qhull.pc.in // pkg-config template for creating lib/pkgconfig/qhull*.pc
- build/qhull-32.sln // 32-bit DevStudio solution and project files (2010 and later)
- build/*-32.vcxproj
- build/qhull-64.sln // 64-bit DevStudio solution and project files (2010 and later)
- build/*-64.vcxproj
- build/qhull.sln // DevStudio solution and project files (2005 and 2009)
- build/*.vcproj
- build/qhulltest/ // DevStudio project files for qhulltest (C++ and Qt)
- build/README-build.txt // Contents of build/
- eg/* // Test scripts and geomview files from q_eg
- html/index.htm // Manual
- html/qh-faq.htm // Frequently asked questions
- html/qh-get.htm // Download page
- html/qhull-cpp.xml // C++ style notes as a Road FAQ (www.qhull.org/road)
- src/Changes.txt // Change history for Qhull and rbox
- src/qhull-all.pro // Qt project
- eg/
- q_benchmark // shell script for precision and performance benchmark
- q_benchmark-ok.txt // reviewed output from q_benchmark
- q_eg // shell script for Geomview examples (eg.01.cube)
- q_egtest // shell script for Geomview test examples
- q_test // shell script to test qhull
- q_test.bat // Windows batch test for QHULL-GO.bat
- // cd bin; ..\eg\q_test.bat >q_test.x 2>&1
- q_test-ok.txt // reviewed output from q_test
- qhulltest-ok.txt // reviewed output from qhulltest (Qt only)
- make-qhull_qh.sh // shell script to create non-reentrant qhull_qh from reentrant Qhull
- make-vcproj.sh // shell script to create vcproj and vcxprog files
- qhull-zip.sh // shell script to create distribution files
- qtest.sh // shell script for testing and logging qhull
- rbox consists of (bin, html):
- rbox.exe // Win32 executable (.zip only)
- rbox.htm // html manual
- rbox.man // Unix man page
- rbox.txt
- qhull consists of (bin, html):
- qconvex.exe // Win32 executables and dlls (.zip download only)
- qhull.exe // Built with the reentrant library (about 2% slower)
- qdelaunay.exe
- qhalf.exe
- qvoronoi.exe
- qhull_r.dll
- qhull-go.bat // command window
- qconvex.htm // html manual
- qdelaun.htm
- qdelau_f.htm
- qhalf.htm
- qvoronoi.htm
- qvoron_f.htm
- qh-eg.htm
- qh-code.htm
- qh-impre.htm
- index.htm
- qh-opt*.htm
- qh-quick.htm
- qh--*.gif // images for manual
- normal_voronoi_knauss_oesterle.jpg
- qh_findbestfacet-drielsma.pdf
- qhull.man // Unix man page
- qhull.txt
- bin/
- msvcr80.dll // Visual C++ redistributable file (.zip download only)
- src/
- qhull/unix.c // Qhull and rbox applications using non-reentrant libqhullstatic.a
- rbox/rbox.c
- qconvex/qconvex.c
- qhalf/qhalf.c
- qdelaunay/qdelaunay.c
- qvoronoi/qvoronoi.c
- qhull/unix_r.c // Qhull and rbox applications using reentrant libqhullstatic_r.a
- rbox/rbox_r.c
- qconvex/qconvex_r.c // Qhull applications built with reentrant libqhull_r/Makefile
- qhalf/qhalf_r.c
- qdelaunay/qdelaun_r.c
- qvoronoi/qvoronoi_r.c
- user_eg/user_eg_r.c // example of using qhull_r.dll from a user program
- user_eg2/user_eg2_r.c // example of using libqhullstatic_r.a from a user program
- user_eg3/user_eg3_r.cpp // example of Qhull's C++ interface libqhullcpp with libqhullstatic_r.a
- qhulltest/qhulltest.cpp // Test of Qhull's C++ interface using Qt's QTestLib
- qhull-*.pri // Include files for Qt projects
- testqset_r/testqset_r.c // Test of reentrant qset_r.c and mem_r.c
- testqset/testqset.c // Test of non-rentrant qset.c and mem.c
- src/libqhull
- libqhull.pro // Qt project for non-rentrant, shared library (qhull.dll)
- index.htm // design documentation for libqhull
- qh-*.htm
- qhull-exports.def // Export Definition files for Visual C++
- qhull-nomerge-exports.def
- qhull_p-exports.def
- qhull_p-nomerge-exports.def
- Makefile // Simple gcc Makefile for qhull and libqhullstatic.a
- Mborland // Makefile for Borland C++ 5.0
- libqhull.h // header file for qhull
- user.h // header file of user definable constants
- libqhull.c // Quickhull algorithm with partitioning
- user.c // user re-definable functions
- usermem.c
- userprintf.c
- userprintf_rbox.c
- qhull_a.h // include files for libqhull/*.c
- geom.c // geometric routines
- geom2.c
- geom.h
- global.c // global variables
- io.c // input-output routines
- io.h
- mem.c // memory routines, this is stand-alone code
- mem.h
- merge.c // merging of non-convex facets
- merge.h
- poly.c // polyhedron routines
- poly2.c
- poly.h
- qset.c // set routines, this only depends on mem.c
- qset.h
- random.c // utilities w/ Park & Miller's random number generator
- random.h
- rboxlib.c // point set generator for rbox
- stat.c // statistics
- stat.h
- src/libqhull_r
- libqhull_r.pro // Qt project for rentrant, shared library (qhull_r.dll)
- index.htm // design documentation for libqhull_r
- qh-*_r.htm
- qhull_r-exports.def // Export Definition files for Visual C++
- qhull_r-nomerge-exports.def
- Makefile // Simple gcc Makefile for qhull and libqhullstatic.a
- libqhull_r.h // header file for qhull
- user_r.h // header file of user definable constants
- libqhull_r.c // Quickhull algorithm wi_r.hpartitioning
- user_r.c // user re-definable functions
- usermem.c
- userprintf.c
- userprintf_rbox.c
- qhull_ra.h // include files for libqhull/*_r.c
- geom_r.c // geometric routines
- geom2.c
- geom_r.h
- global_r.c // global variables
- io_r.c // input-output routines
- io_r.h
- mem_r.c // memory routines, this is stand-alone code
- mem.h
- merge_r.c // merging of non-convex facets
- merge.h
- poly_r.c // polyhedron routines
- poly2.c
- poly_r.h
- qset_r.c // set routines, this only depends on mem_r.c
- qset.h
- random_r.c // utilities w/ Park & Miller's random number generator
- random.h
- rboxlib_r.c // point set generator for rbox
- stat_r.c // statistics
- stat.h
- src/libqhullcpp/
- libqhullcpp.pro // Qt project for renentrant, static C++ library
- Qhull.cpp // Calls libqhull_r.c from C++
- Qhull.h
- qt-qhull.cpp // Supporting methods for Qt
- Coordinates.cpp // input classes
- Coordinates.h
- PointCoordinates.cpp
- PointCoordinates.h
- RboxPoints.cpp // call rboxlib.c from C++
- RboxPoints.h
- QhullFacet.cpp // data structure classes
- QhullFacet.h
- QhullHyperplane.cpp
- QhullHyperplane.h
- QhullPoint.cpp
- QhullPoint.h
- QhullQh.cpp
- QhullRidge.cpp
- QhullRidge.h
- QhullVertex.cpp
- QhullVertex.h
- QhullFacetList.cpp // collection classes
- QhullFacetList.h
- QhullFacetSet.cpp
- QhullFacetSet.h
- QhullIterator.h
- QhullLinkedList.h
- QhullPoints.cpp
- QhullPoints.h
- QhullPointSet.cpp
- QhullPointSet.h
- QhullSet.cpp
- QhullSet.h
- QhullSets.h
- QhullVertexSet.cpp
- QhullVertexSet.h
- functionObjects.h // supporting classes
- QhullError.cpp
- QhullError.h
- QhullQh.cpp
- QhullQh.h
- QhullStat.cpp
- QhullStat.h
- QhullUser.cpp
- QhullUser.h
- RoadError.cpp // Supporting base classes
- RoadError.h
- RoadLogEvent.cpp
- RoadLogEvent.h
- usermem_r-cpp.cpp // Optional override for qh_exit() to throw an error
- src/libqhullstatic/
- libqhullstatic.pro // Qt project for non-reentrant, static library
- src/libqhullstatic_r/
- libqhullstatic_r.pro // Qt project for reentrant, static library
- src/qhulltest/
- qhulltest.pro // Qt project for test of C++ interface
- Coordinates_test.cpp // Test of each class
- PointCoordinates_test.cpp
- Qhull_test.cpp
- QhullFacet_test.cpp
- QhullFacetList_test.cpp
- QhullFacetSet_test.cpp
- QhullHyperplane_test.cpp
- QhullLinkedList_test.cpp
- QhullPoint_test.cpp
- QhullPoints_test.cpp
- QhullPointSet_test.cpp
- QhullRidge_test.cpp
- QhullSet_test.cpp
- QhullVertex_test.cpp
- QhullVertexSet_test.cpp
- RboxPoints_test.cpp
- RoadTest.cpp // Run multiple test files with QTestLib
- RoadTest.h
- ------------------
- Authors
- C. Bradford Barber Hannu Huhdanpaa (Version 1.0)
- bradb@shore.net hannu@qhull.org
- Qhull 1.0 and 2.0 were developed under NSF grants NSF/DMS-8920161
- and NSF-CCR-91-15793 750-7504 at the Geometry Center and Harvard
- University. If you find Qhull useful, please let us know.
|