This directory contains the source for the Wing Edge data structure 
implementation, a set of traversal functions for the Wing Edge structure, and
an incomplete set of Euler Operators. 

The Euler Operators currently implemented are the following:

MakeVertexFaceShell: allows initialization of the Wing Edge. Multiple connected
	components are possible, by calling this routine with different pointers
	as arguments.

MakeEdgeVertex: adds an edge and a vertex to an existing shell.

MakeEdgeFace: adds an edge between two exsisting vertices and creates a new face
	by subdividing an existing one.

KillEdgeFace: reverses the effect of MakeEdgeFace. The function returns a 
	pointer to the face into which the killed face was merged. To avoid the
	possibility of losing the pointer to the data structure, the Shell 
	pointer used to create the data structure (with MakeVertexFaceShell)
	should be set to the value returned by KillEdgeFace.

KillFaceMakeBoundary: Removes a face from the subdivision, creating a boundary.
	The Edges of this boundary are part of only one face, as opposed to
	non-boundary edges, which are shared by exactly two faces.

The application TestEOps.c is an example of the use of the Euler Operators to
read in and display a polygon.

WingEdgeUtil.c contains functions useful for reading the input format used in
this demonstartion directory, and displaying WingEdge structures in an X window.

The include files for use of the Euler operators and Wing Edge structure are
located in the /include directory. They are WingEdge.h, EulerOps.h, 
WETraversal.h, and WingEdgeUtil.h. The functions described in these header files
have been packaged into the two libraries "libWE.a" and "libEOps.a" located in
the /lib directory (after the installer script has been run).