ThreeDimensionalViewport

 Author: Jim Wen
 Date Created: 28 April 1989
 Basic Operations:
 Related Constructors:
 Also See:
 AMS Classifications:
 Keywords:
 References:
 Description: ThreeDimensionalViewport creates viewports to display graphs
viewThetaDefault : () -> F
 viewThetaDefault() returns the current default longitudinal
 view angle in radians.
viewThetaDefault : F -> F
 viewThetaDefault(t) sets the current default longitudinal
 view angle in radians to the value t and returns t.
viewPhiDefault : () -> F
 viewPhiDefault() returns the current default latitudinal
 view angle in radians.
viewPhiDefault : F -> F
 viewPhiDefault(p) sets the current default latitudinal
 view angle in radians to the value p and returns p.
viewZoomDefault : () -> F
 viewZoomDefault() returns the current default graph scaling
 value.
viewZoomDefault : F -> F
 viewZoomDefault(s) sets the current default graph scaling
 value to s and returns s.
viewDeltaXDefault : () -> F
 viewDeltaXDefault() returns the current default horizontal
 offset from the center of the viewport window.
viewDeltaXDefault : F -> F
 viewDeltaXDefault(dx) sets the current default horizontal
 offset from the center of the viewport window to be \spad{dx}
 and returns \spad{dx}.
viewDeltaYDefault : () -> F
 viewDeltaYDefault() returns the current default vertical
 offset from the center of the viewport window.
viewDeltaYDefault : F -> F
 viewDeltaYDefault(dy) sets the current default vertical
 offset from the center of the viewport window to be \spad{dy}
 and returns \spad{dy}.
viewport3D : () -> %
 viewport3D() returns an undefined three-dimensional viewport
 of the domain \spadtype{ThreeDimensionalViewport} whose
 contents are empty.
makeViewport3D : % -> %
 makeViewport3D(v) takes the given three-dimensional viewport,
 v, of the domain \spadtype{ThreeDimensionalViewport} and
 displays a viewport window on the screen which contains
 the contents of v.
makeViewport3D : (SPACE3, S) -> %
 makeViewport3D(sp, s) takes the given space, \spad{sp} which is
 of the domain \spadtype{ThreeSpace} and displays a viewport
 window on the screen which contains the contents of \spad{sp},
 and whose title is given by s.
makeViewport3D : (SPACE3, L DROP) -> %
 makeViewport3D(sp, lopt) takes the given space, \spad{sp} which is
 of the domain \spadtype{ThreeSpace} and displays a viewport
 window on the screen which contains the contents of \spad{sp},
 and whose draw options are indicated by the list \spad{lopt}, which
 is a list of options from the domain \spad{DrawOption}.
subspace : % -> SPACE3
 subspace(v) returns the contents of the viewport v, which is
 of the domain \spadtype{ThreeDimensionalViewport}, as a subspace
 of the domain \spad{ThreeSpace}.
subspace : (%, SPACE3) -> %
 subspace(v, sp) places the contents of the viewport v, which is
 of the domain \spadtype{ThreeDimensionalViewport}, in the subspace
 \spad{sp}, which is of the domain \spad{ThreeSpace}.
modifyPointData : (%, NNI, POINT) -> Void
 modifyPointData(v, ind, pt) takes the viewport, v, which is of the
 domain \spadtype{ThreeDimensionalViewport}, and places the data
 point, \spad{pt} into the list of points database of v at the index
 location given by \spad{ind}.
options : % -> L DROP
 options(v) takes the viewport, v, which is of the domain
 \spadtype{ThreeDimensionalViewport} and returns a list of all
 the draw options from the domain \spad{DrawOption} which are
 being used by v.
options : (%, L DROP) -> %
 options(v, lopt) takes the viewport, v, which is of the domain
 \spadtype{ThreeDimensionalViewport} and sets the draw options
 being used by v to those indicated in the list, \spad{lopt},
 which is a list of options from the domain \spad{DrawOption}.
move : (%, NNI, NNI) -> Void
 move(v, x, y) displays the three-dimensional viewport, v, which
 is of domain \spadtype{ThreeDimensionalViewport}, with the upper
 left-hand corner of the viewport window at the screen
 coordinate position x, y.
resize : (%, PI, PI) -> Void
 resize(v, w, h) displays the three-dimensional viewport, v, which
 is of domain \spadtype{ThreeDimensionalViewport}, with a width
 of w and a height of h, keeping the upper left-hand corner
 position unchanged.
title : (%, S) -> Void
 title(v, s) changes the title which is shown in the three-dimensional
 viewport window, v of domain \spadtype{ThreeDimensionalViewport}.
dimensions : (%, NNI, NNI, PI, PI) -> Void
 dimensions(v, x, y, width, height) sets the position of the
 upper left-hand corner of the three-dimensional viewport, v,
 which is of domain \spadtype{ThreeDimensionalViewport}, to
 the window coordinate x, y, and sets the dimensions of the
 window to that of \spad{width}, \spad{height}.  The new
 dimensions are not displayed until the function
 \spadfun{makeViewport3D} is executed again for v.
viewpoint : (%, F, F, F, F, F) -> Void
 viewpoint(v, th, phi, s, dx, dy) sets the longitudinal view angle
 to \spad{th} radians, the latitudinal view angle to \spad{phi}
 radians, the scale factor to \spad{s}, the horizontal viewport
 offset to \spad{dx}, and the vertical viewport offset to \spad{dy}
 for the viewport v, which is of the domain
 \spadtype{ThreeDimensionalViewport}.  The new viewpoint position
 is not displayed until the function \spadfun{makeViewport3D} is
 executed again for v.
viewpoint : (%) -> V
 viewpoint(v) returns the current viewpoint setting of the given
 viewport, v.  This function is useful in the situation where the
 user has created a viewport, proceeded to interact with it via
 the control panel and desires to save the values of the viewpoint
 as the default settings for another viewport to be created using
 the system.
viewpoint : (%, V) -> Void
 viewpoint(v, viewpt) sets the viewpoint for the viewport.  The
 viewport record consists of the latitudal and longitudal angles,
 the zoom factor, the X, Y, and Z scales, and the X and Y displacements.
viewpoint : (%, I, I, F, F, F) -> Void
 viewpoint(v, th, phi, s, dx, dy) sets the longitudinal view angle
 to \spad{th} degrees, the latitudinal view angle to \spad{phi}
 degrees, the scale factor to \spad{s}, the horizontal viewport
 offset to \spad{dx}, and the vertical viewport offset to \spad{dy}
 for the viewport v, which is of the domain
 \spadtype{ThreeDimensionalViewport}.  The new viewpoint position
 is not displayed until the function \spadfun{makeViewport3D} is
 executed again for v.
viewpoint : (%, F, F) -> Void
 viewpoint(v, th, phi) sets the longitudinal view angle to \spad{th}
 radians and the latitudinal view angle to \spad{phi} radians
 for the viewport v, which is of the domain
 \spadtype{ThreeDimensionalViewport}.  The new viewpoint position
 is not displayed until the function \spadfun{makeViewport3D} is
 executed again for v.
viewpoint : (%, F, F, F) -> Void
 viewpoint(v, rotx, roty, rotz) sets the rotation about the x-axis
 to be \spad{rotx} radians, sets the rotation about the y-axis
 to be \spad{roty} radians, and sets the rotation about the z-axis
 to be \spad{rotz} radians, for the viewport v, which is of the
 domain \spadtype{ThreeDimensionalViewport} and displays v with
 the new view position.
controlPanel : (%, S) -> Void
 controlPanel(v, s) displays the control panel of the given
 three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}, if s is "on", or hides
 the control panel if s is "off".
axes : (%, S) -> Void
 axes(v, s) displays the axes of the given three-dimensional
 viewport, v, which is of domain \spadtype{ThreeDimensionalViewport},
 if s is "on", or does not display the axes if s is "off".
diagonals : (%, S) -> Void
 diagonals(v, s) displays the diagonals of the polygon outline
 showing a triangularized surface instead of a quadrilateral
 surface outline, for the given three-dimensional viewport v
 which is of domain \spadtype{ThreeDimensionalViewport}, if s is
 "on", or does not display the diagonals if s is "off".
outlineRender : (%, S) -> Void
 outlineRender(v, s) displays the polygon outline showing either
 triangularized surface or a quadrilateral surface outline depending
 on the whether the \spadfun{diagonals} function has been set, for
 the given three-dimensional viewport v which is of domain
 \spadtype{ThreeDimensionalViewport}, if s is "on", or does not
 display the polygon outline if s is "off".
drawStyle : (%, S) -> Void
 drawStyle(v, s) displays the surface for the given three-dimensional
 viewport v which is of domain \spadtype{ThreeDimensionalViewport}
 in the style of drawing indicated by s.  If s is not a valid
 drawing style the style is wireframe by default.  Possible
 styles are \spad{"shade"}, \spad{"solid"} or \spad{"opaque"},
 \spad{"smooth"}, and \spad{"wireMesh"}.
rotate : (%, F, F) -> Void
 rotate(v, th, phi) rotates the graph to the longitudinal view angle
 \spad{th} radians and the latitudinal view angle \spad{phi} radians
 for the viewport v, which is of the domain
 \spadtype{ThreeDimensionalViewport}.
rotate : (%, I, I) -> Void
 rotate(v, th, phi) rotates the graph to the longitudinal view angle
 \spad{th} degrees and the latitudinal view angle \spad{phi} degrees
 for the viewport v, which is of the domain
 \spadtype{ThreeDimensionalViewport}.  The new rotation position
 is not displayed until the function \spadfun{makeViewport3D} is
 executed again for v.
zoom : (%, F) -> Void
 zoom(v, s) sets the graph scaling factor to s, for the viewport v,
 which is of the domain \spadtype{ThreeDimensionalViewport}.
zoom : (%, F, F, F) -> Void
 zoom(v, sx, sy, sz) sets the graph scaling factors for the x-coordinate
 axis to \spad{sx}, the y-coordinate axis to \spad{sy} and the
 z-coordinate axis to \spad{sz} for the viewport v, which is of
 the domain \spadtype{ThreeDimensionalViewport}.
translate : (%, F, F) -> Void
 translate(v, dx, dy) sets the horizontal viewport offset to \spad{dx}
 and the vertical viewport offset to \spad{dy}, for the viewport v,
 which is of the domain \spadtype{ThreeDimensionalViewport}.
perspective : (%, S) -> Void
 perspective(v,s) displays the graph in perspective if s is "on",
 or does not display perspective if s is "off" for the given
 three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}.
eyeDistance : (%, F) -> Void
 eyeDistance(v, d) sets the distance of the observer from the center
 of the graph to d, for the viewport v, which is of the domain
 \spadtype{ThreeDimensionalViewport}.
hitherPlane : (%, F) -> Void
 hitherPlane(v, h) sets the hither clipping plane of the graph to h,
 for the viewport v, which is of the domain
 \spadtype{ThreeDimensionalViewport}.
showRegion : (%, S) -> Void
 showRegion(v, s) displays the bounding box of the given
 three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}, if s is "on", or does not
 display the box if s is "off".
showClipRegion : (%, S) -> Void
 showClipRegion(v, s) displays the clipping region of the given
 three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}, if s is "on", or does not
 display the region if s is "off".
clipSurface : (%, S) -> Void
 clipSurface(v, s) displays the graph with the specified
 clipping region removed if s is "on", or displays the graph
 without clipping implemented if s is "off", for the given
 three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}.
lighting : (%, F, F, F) -> Void
 lighting(v, x, y, z) sets the position of the light source to
 the coordinates x, y, and z and displays the graph for the given
 three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}.
intensity : (%, F) -> Void
 intensity(v, i) sets the intensity of the light source to i, for
 the given three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}.
reset : % -> Void
 reset(v) sets the current state of the graph characteristics
 of the given three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}, back to their initial settings.
colorDef : (%, C, C) -> Void
 colorDef(v, c1, c2) sets the range of colors along the colormap so
 that the lower end of the colormap is defined by \spad{c1} and the
 top end of the colormap is defined by \spad{c2}, for the given
 three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}.
write : (%, S) -> S
 write(v, s) takes the given three-dimensional viewport, v, which
 is of domain \spadtype{ThreeDimensionalViewport}, and creates
 a directory indicated by s, which contains the graph data
 file for v.
write : (%, S, S) -> S
 write(v, s, f) takes the given three-dimensional viewport, v, which
 is of domain \spadtype{ThreeDimensionalViewport}, and creates
 a directory indicated by s, which contains the graph data
 file for v and an optional file type f.
write : (%, S, L S) -> S
 write(v, s, lf) takes the given three-dimensional viewport, v, which
 is of domain \spadtype{ThreeDimensionalViewport}, and creates
 a directory indicated by s, which contains the graph data
 file for v and the optional file types indicated by the list lf.
close : % -> Void
 close(v) closes the viewport window of the given
 three-dimensional viewport, v, which is of domain
 \spadtype{ThreeDimensionalViewport}, and terminates the
 corresponding process ID.
key : % -> I
 key(v) returns the process ID number of the given three-dimensional
 viewport, v, which is of domain \spadtype{ThreeDimensionalViewport}.
setFrontend3D : (FET) -> FET
 Sets the frontend according to the values in the FET table.
getFrontend3D : () -> FET
 Gets the FET table of the current frontend.
makeFrontend3D : (%, FET) -> Void
 Make frontend according to the values in the FET table.