This is the README file for XSurface. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (c)1993-1995 Robert Manners and Dominick Layfield. XSurface is a program that allows the creation and manipulation of objects formed from bicubic Bezier patches. It was written as a joint 3rd year project for the Engineering and Computer Science Part I course at the University of Oxford. The executable is "xsurface". This version of XSurface was developed under X11R5. The application has also been extensively tested under X11R6. Various stored objects may be found in the "surf" directory, including a README file with brief descriptions. This software is distributed under the terms of the GNU General Public Licence. Please see the file COPYING for details. Installation ~~~~~~~~~~~~ If you have got hold of a binary distribution of XSurface for your system, you should simply be able to run the xsurface executable `as is'. No further configuration should be required. If there is no binary distribution for your machine, or the binary you have will not work, (perhaps due to a mis-match in shared libraries) obtain the source version, and proceed as follows: Un-tar all the source files. Either modify the Makefile for your system, by hand, or run `xmkmf' to build a Makefile using the information from the Imakefile. Then run `make' to build the executable. There are a few options which may be enabled or disabled by defining symbols in the Imakefile / Makefile. Please examine the source, if you want to play with these! Quick User guide ~~~~~~~~~~~~~~~~ XSurface has three main display windows. One, "Bezier Surface", shows a straight line approximation to the surface. Another, "Control Polyhedron", shows the control points that define the object. The final one, "Connectivity", shows the connections between the component Bezier patches. At any time, only control points in the selected patch may be moved. The selected patch is shown as a filled square in the connectivity diagram, and its control points as filled circles in the control display. A patch may be selected by clicking inside its square in the connectivity diagram. Control points may be moved by dragging them with the mouse. Motion along the line of sight may be accomplished by holding shift down at the same time. The viewpoint may be changed by dragging in the Bezier window. Holding down shift whilst dragging alters the viewing distance. Patches may be created or deleted by shift-clicking in the relevant place in the connectivity window. Patches may be joined by dragging from one edge to another. For more information please obtain the complete User Guide, see below. Hardware ~~~~~~~~ XSurface was originally written on SPARC hardware running SunOS. XSurface has also been found to run successfully on a PC running Linux, a VAX running Ultrix, and an SGI Indigo running Irix. It should run on all UNIX X installations. Please let me know if it works (or does not work) for you! Documentation ~~~~~~~~~~~~~ The release of Xsurface available on most ftp sites has very little documentation... If you feel that you need more user documentation, please mail me at the address below. I can send you a full user guide. Extensive documentation on the usage of the application and on the mathematical theory underlying it is available by email. If there is much demand, I can make these documents available by ftp. Enjoy! ************************************************************************ * If you wish to comment on the software, heap praise on the authors, or * * complain about bugs, please mail : * * * * rjm@swift.eng.ox.ac.uk * * * * Any suggestions, improvements and general feedback will be appreciated * ************************************************************************