
========================================================================
This code is described in the book "Introduction to Geometric Computing"
by Sherif Ghali, Springer-Verlag, 2008.
========================================================================

- This code has been tested on Linux, Mac OS X, and Cygwin. The Makefiles
  included handle compilation on the three platforms.

- To compile:
      - Type 'make' to generate an (optimized) executable.
      - Type 'make dbg' to generate an executable for debugging.
      - Type 'make clean' to delete object and dependency files.
      - Type 'make dclean' to delete .o and .d files, as well as executables.

- Recursive makes:
      - Type 'make all' to run the tests and generate all executables.
      - Type 'make test' to (re)run the library test routines.

- Parts of the code depend on two libraries:
      - OpenGL for raster output.
      - GLOW (http://glow.sourceforge.net) as a platform-neutral
        GUI library. GLOW can be compiled on Linux, Mac OS X, and Cygwin.
	GLOW is built on glut only and is thus quite portable.

- The files in the directories 
      geometry_E1 geometry_E2 ... geometry_P1 geometry_P2 ...
  are generic and so need not be compiled, but two brief libraries
      code/geometry_lib> make libtransformations.o
      code/raster_image> make image.o
  need to be compiled. (This is done by 'make all'.)

- C++ code and chapter exercises refer to the numbered directories
      01 03 04 ...
  The first few chapters do not use genericity. The generic classes
  and functions are in geometry_*.

- C++ code for modeling, tree/graph drawing, or that otherwise is
  (or can be) used as geometric modules is in the directories:
      solid_bsp solid_csg solid_heds ...

- Vector drawing programs output Encapsulated PostScript code in a
  subdirectory psout. If the utility epstopdf is installed, type
  'make' in that directory to generate pdf files. This is convenient
  if a pdf viewer is more readily available than a ps/eps viewer.

- The start-up code for exercises is in subdirectories of the numbered
  directories. Exercises 5.3 and 5.4, for example, refer to the
  start-up code labeled clip-polygon. That code can be found in
  igc/05/clip-polygon/*.

========================================================================
