CenterStage Object Class:  SurfaceFromSurface
Subclass of:  Surface
Requires reference to a Surface object

The SurfaceFromSurface lets you create a Surface object that relates to 
another existing Surface object.  For each value of the domain grid, the 
reference surface value is calculated, then the referring surface function 
is evaluated and added to it, either in absolute coordinates, or in
relation to a frame on the surface.  The frame is determined by the
normal vector to the surface and the partial derivatives of the
surface with respect to its parameters (note that this need not be an
orthonormal basis).

In addition to the standard Surface directives, SurfaceFromSurface supports
the following:

   Function params func [vfunc] [-frame | -absolute]

	Here the "params", "func" and "vfunc" arguments are the same as for 
	the standard Surface.  The -frame and -absolute options determine 
	whether the result of the function is in the coordinate system of 
	the linked surface's frame or in absolute coordinates (the 
	default).  If -frame is provided, then both the surfaces must be in 
	3-space, and the frame is computed numerically.  The x-coordinate 
	of the result corresponds to the normal direction for the surface, 
	the y-coordinate to the direction of the first partial derivative 
	of the surface, and the z-coordinate to the direction of the second 
	partial derivative.

        For example:

                Domain {Inherit}

                Function {u v} {
                  let (N,U,V) = (d,0,0)
                } -frame

                Axes {N U V}

                Slider d 0 1 .1

        produces a surface offset from the original one by a distance d 
        along the surface normal.  The distance is given by the value of a 
        slider, so the family of offset surfaces can be investigated this 
        easily.


    Domain {Inherit}
        
	This special form of the domain command can be used to inherit the 
	domain of the original surface.  Standard Domain specifications can 
	also be used to provide a domain other than the one of the linked 
	surface.
