Simon Morgan a651b88f20 Initial commit 8 år sedan
..
CVS a651b88f20 Initial commit 8 år sedan
announce.txt a651b88f20 Initial commit 8 år sedan
changes.txt a651b88f20 Initial commit 8 år sedan
copying.txt a651b88f20 Initial commit 8 år sedan
geom.c a651b88f20 Initial commit 8 år sedan
geom.h a651b88f20 Initial commit 8 år sedan
geom2.c a651b88f20 Initial commit 8 år sedan
global.c a651b88f20 Initial commit 8 år sedan
io.c a651b88f20 Initial commit 8 år sedan
io.h a651b88f20 Initial commit 8 år sedan
mem.c a651b88f20 Initial commit 8 år sedan
mem.h a651b88f20 Initial commit 8 år sedan
merge.c a651b88f20 Initial commit 8 år sedan
merge.h a651b88f20 Initial commit 8 år sedan
points.txt a651b88f20 Initial commit 8 år sedan
poly.c a651b88f20 Initial commit 8 år sedan
poly.h a651b88f20 Initial commit 8 år sedan
poly2.c a651b88f20 Initial commit 8 år sedan
qhull.c a651b88f20 Initial commit 8 år sedan
qhull.dsw a651b88f20 Initial commit 8 år sedan
qhull.h a651b88f20 Initial commit 8 år sedan
qhull.txt a651b88f20 Initial commit 8 år sedan
qhull_a.h a651b88f20 Initial commit 8 år sedan
rbox.c a651b88f20 Initial commit 8 år sedan
rbox.txt a651b88f20 Initial commit 8 år sedan
readme.txt a651b88f20 Initial commit 8 år sedan
register.txt a651b88f20 Initial commit 8 år sedan
set.c a651b88f20 Initial commit 8 år sedan
set.h a651b88f20 Initial commit 8 år sedan
stat.c a651b88f20 Initial commit 8 år sedan
stat.h a651b88f20 Initial commit 8 år sedan
unix.c a651b88f20 Initial commit 8 år sedan
user.c a651b88f20 Initial commit 8 år sedan
user.h a651b88f20 Initial commit 8 år sedan
user_eg.c a651b88f20 Initial commit 8 år sedan

readme.txt

Name

qhull, rbox Version 2.4 April 2, 1997

Convex hull, Delaunay triangulation, Voronoi vertices, Halfspace intersection

Available from:



Version 1 (simplicial only):



News and executables:


Purpose

The files in this directory are part of qhull-software. The
directory contains two programs, qhull and rbox. 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 according to printout options. It also generates Delaunay
triangulations, Voronoi vertices, furthest-site Voronoi vertices,
and halfspace intersections.

Rbox is a useful tool in generating input for Qhull; it generates
hypercubes, diamonds, cones, circles, spirals, and random points.

Qhull produces graphical output for Geomview. This helps with
understanding the output. See

Environment requirements

Qhull and rbox should run on all 32-bit and 64-bit computers. An ANSI C
compiler is needed to compile the files. The software is self-contained.
It is written as a Unix program.

Qhull is copyrighted software. Please read COPYING.txt and REGISTER.txt
before using or distributing Qhull.


Zip file for Win32

The zip file from qhull-news.html includes Qhull documentation and
executables. Download qhull.tar.Z for sources and an article on Qhull
[double check that the file ends in '.tar.Z'].

To install Qhull:
- Create a directory for Qhull and unzip the file.
- Open a DOS window for the directory. You may use startup.bat.
- Use 'pwd' to double-check that you are in the Qhull directory.
- Execute 'qhull' for a synopsis.

Compiling for Win32

Qhull compiles as a console application in Visual C++ 5.0 at warning
level 3. Make a project of all files except for rbox.c and user_eg.c.
Make another project for rbox.c. In Project Settings/C++/Customize,
mark 'Disable language extensions'. This enables the __STDC__ flag.

Qhull compiles with Borland C++ 5.0 bcc32. A Makefile is included
(make -f MBorland).

Qhull compiles with Borland C++ 4.02 for Win32 and DOS Power Pack.
Use '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]

Qhull compiles with Metrowerks C++ 1.7.

Windows DOS box merges stderr and stdout.

If you turn on full warnings, the compiler will report a number of
unused variables, variables set but not used, and dead code. These are
intentional. For example, variables may be initialized (unnecessarily)
to prevent warnings about possible use of initialized variables.

Compiling for the Power Macintosh

Qhull compiles for the Power Macintosh with Metrowerk's C compiler.
It uses the SIOUX interface to read point coordinates and return output.
There is no graphical output. Without options, qhull returns an abbreviated
synopsis. Instead of using SIOUX, Qhull may be embedded within an application.
The distribution includes project files for qhull and rbox.

Version 1 is available for Macintosh computers by ftp of qhull.sit.hqx
It reads point coordinates from a standard file and returns output
to a standard file. There is no graphical output.

Compiling for Unix

- in Makefile, check the CC, CCOPTS1, PRINTMAN, and PRINTC defines
- in user.h, decide whether you want double-precision or single-precision
reals (REALfloat).
- in user.h, check the definitions of qh_SECticks and qh_CPUclock.
Your system may use different functions.
- type: make doc
This prints the documentation. qh-man.htm is the html manual
- For Unix-style documentation, type 'make qhull.1; make rbox.1'
- type: make
This builds: qhull rbox libqhull.a
- 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 given 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 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
- if you have Geomview,
- try 'rbox 100 | qhull G >a' and load 'a' into Geomview
- run 'q_eg' for Geomview examples of Qhull output (see qh-eg.htm)
- to install qhull, rbox, and their man pages:
- define MANDIR and BINDIR
- type 'make install'

Compiling for other machines

If the compiler reports that memset() is undefined, include memory.h
in qhull_a.h

Some users have reported problems with compiling Qhull under Irix 5.1. It
compiles under other versions of Irix.

If you have troubles with the memory manager, you can turn it off by
defining qh_NOmem in mem.h.

You may compile Qhull with a C++ compiler.

Authors:

C. Bradford Barber Hannu Huhdanpaa
bradb@geom.umn.edu hannu@geom.umn.edu

c/o The Geometry Center
University of Minnesota
1300 South Second Street, Suite 500
Minneapolis, MN 55454

This software was 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.

Product consists of:
README.txt /* instructions for installing Qhull */
REGISTER.txt /* Qhull registration */
COPYING.txt /* copyright notice */
Announce.txt /* announcement */
Changes.txt /* change history for Qhull and rbox */
Makefile /* Makefile for Unix 'make' */
qhull-PPC.sit.bin /* projects for Metrowerk's C/C++ */
MBorland /* Makefile for Borland C++ for Win32 */
rbox consists of:
qh-rbox.htm /* html manual */
rbox.man /* Unix man page */
rbox.txt
rbox.c /* source program */
qhull consists of:
qh-man.htm /* html manual */
qh-in.htm
qh-impre.htm
qh-opt*.htm
qh-eg.htm
qh--4d.gif,etc. /* images for manual */
qhull.man /* Unix man page */
qhull.txt
q_eg /* shell script to generate Geomview examples */
q_egtest /* shell script to generate Geomview test examples */
q_test /* shell script to test qhull */
toms96-12.ps /* article about qhull */
user.h /* header file of user definable constants */
qhull.h /* header file for qhull, defines data structures */
unix.c /* Unix front end to qhull */
qhull.c /* Quickhull algorithm with partitioning */
user.c /* user re-definable functions */
user_eg.c /* example of incorporating qhull into a user program */

qhull_a.h /* include file for *.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
set.c /* set routines, this only depends on mem.c */
set.h
stat.c /* statistics */
stat.h