BOOLE
BOOLE is a system that converts a CSG (Constructive Solid
Geometry) model into B-rep (Boundary Representation) form. It is
designed to work on curved solid primitives like cylinders, tori,
spheres, generalized prisms etc., as well as polygonal solids.
BOOLE performs the set operations union, intersection, and
difference on solids.
The boundary of the solid is represented using trimmed Bezier
patches.
The BOOLE distribution includes, as an example, a file describing
each of these two (truncated) cones, and instructions for
computing their difference. Here are rendered images of this
boolean operation. On the left, the two cones (cone1 and cone2)
are rendered together on the screen. On the right, their
difference, as computed by BOOLE. The rendering is by our own
trimmed NURBS viewer, now available for download.
BOOLE, release 1.1
The public release of BOOLE was updated on October 17, 1997.
Features of BOOLE 1.1 over 1.0:
- Many memory access bugs fixed
- Dependence on dmalloc removed
- Functions to read and write a file format for free-form
solids
- Simplified source tree; single Makefile
- Compiles under Linux
Contemporary with this release is a release of our viewer, in
precompiled binary format only for SGI workstations running
IRIX 6.x.
Download:
For help in unpacking and compiling BOOLE, see the compiling text file.
BOOLE 1.1 is known to compile and run in the following
environments:
- Sun SPARC, Solaris, with GNU's C compiler "gcc"
- SGI, Irix, with SGI's "cc" compiler
- Intel, Linux
and we expect compilation problems to be minimal under other
environments.
Send mail to geom@cs.unc.edu
with questions, comments, and bug reports.
The documentation of BOOLE is very much a work in progress. If
you mail us a question, we will likely include the answer in the
docs. The latest versions of the doc files are available
separately for browsing here. Note
especially the copyright.
Tech reports
Papers and tech reports on the BOOLE system and surface-intersection
algorithms can be downloaded from here.
Tim Culver
Last modified: Mon Mar 16 11:12:16 EST 1998