1 LISP LIBRARY PACKAGES MANUAL 1 LISP LIBRARY PACKAGES MANUAL IRIS GRAPHICS LIBRARY 1 GRAPHICS 1 IRIS GRAPHICS LIBRARY 6 The Library package IRIS is a collection of functions for using an IRIS (Integrated Raster Imaging System) with Interlisp-D. The IRIS is a sophisticated 3-d color graphics workstation produced by Silicon Graphics Incorporated. Much of its imaging system is implemented in special-purpose VLSI, making it a very powerful graphics engine. The Library package IRIS provides two separate ways to exploit the IRIS in Interlisp-D. The first is to use the IRIS as an Interlisp-D image stream. In this capacity the IRIS serves as the output device for a program that needn't even know that it is outputting to the IRIS. Thus standard sytem utilities (such as Grapher, Sketch, and TEdit) can make use of the IRIS without change. The images produced by these system utilities can then be manipulated with the special abilities of the IRIS (3-d rotation, color updates, double buffering, object definitions, etc.) The second mode of use for the IRIS is to directly use the IRIS graphics library. In this mode, Interlisp-D provides stubs for the functions in the IRIS graphics library. Thus, Interlisp-D provides the illusion of having the IRIS as a direct device like the standard screen. However, it is actually a separate computer accessible across the 10-MB Ethernet. This package also implements boot service for the IRIS workstation. The D-machine supplies the boot program to the IRIS over the Ethernet, eliminating the need for a floppy disk on the IRIS. 2 The Support Package Files 1 The implementation includes the following files: LOADIRIS: After loading this file, the user will be prompted to place the IRIS icon. Buttoning this icon will produce a menu including the choice Create Loadup Panel. Choosing this item will produce a panel that can load the IRIS files. Button the Standard entry in the loadup panel, then button on the small SGI logo next to Load. Prior to being able to run any applications, the IRIS must be running the terminal program. This can be booted from the floppy on the IRIS or from the Lisp workstation. To use the workstation as a boot server, the boot file for the IRIS terminal program (see below) must be copied to {DSK}irisbootfile (or a directory in the list IRISBOOTDIRECTORIES) on the workstation that is to be the boot server. At that point, hit the reset button on the IRIS and type ©©n¹¹ to the monitor prompt on the IRIS. That will initiate a net boot from the Dandelion. IRISSTREAM: The file that contains the Interlisp-D image stream definition for the IRIS. Thus, the standard Interlisp-D graphics facilities can be applied to an open IRIS image stream. After this is loaded, images that are processed through the standard hardcopy menu can be sent to the IRIS. ©©Iris¹¹ will appear as a printer when the To a Printer choice is made from the roll-off menu entry Hardcopy. IRISLIB: This file contains the stubs for the functions in the IRIS library. For instance, corresponding to the function circf (found in the IRIS documentation), there is a function IRIS.CIRCF. The arguments are as listed in the IRIS documentation with the addition of the argument SPPstream. This is the SPP connection opened to the IRIS. (If omitted, it defaults to the value of IRISCONN, which is set by OPEN.IRISCONN). Where an argument is a matrix, it is passed to the Lisp function as a list of the rows, each row itself a list. When a library function returns a matrix, the appropriate (usually floatp) matrix is passed in and the elements are set. IOLIB: This file contains the communication primitives that are used by the functions on IRISLIB. IRISNET: This file contains the network support for net booting the IRIS. Note that after loading all the above files, IRISNSHOSTNUMBER should be set to the IRIS host number (in standard pound-sign host notation). If the IRIS is being boot served from the Lisp workstation, the boot server software will set IRISNSHOSTNUMBER automatically. (The diagnostic messages can be inhibited by setting \IRIS.VERBOSE to NIL. They are left in because they can be useful when initially getting the IRIS to boot). 2 IRIS Boot Files 1 For users running with the R1B version of the IRIS terminal program, the file concerned is called XIRIS. This is the file that should be copied to {DSK}IRISBOOTFILE. However, for users running R1C (also referred to as GL2), it is necessary to obtain an updated version of the terminal program from Silicon Graphics. (It was named simply ©©IRIS¹¹ on the tape we received.) (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC ) STARTINGPAGE# 33) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 618) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (54 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC )) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC )) (270 12 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))(ÌÌø )ø2T)øT/ø2fT/øfT.ÌÌøf(ÌÌø)ÌÌøT)ÌÌøTBøø PAGEHEADING VERSOHEADBøø PAGEHEADING RECTOHEADAøø PAGEHEADINGFOOTINGVAøø PAGEHEADINGFOOTINGR(MODERNMODERN MODERNMODERN   HRULE.GETFNMODERN    HRULE.GETFNMODERN     HRULE.GETFNMODERN    HRULE.GETFNMODERN   HRULE.GETFNMODERNS?lÁ HRULE.GETFNMODERN HRULE.GETFNMODERN1|š qdÿ HRULE.GETFNMODERN HRULE.GETFNMODERNx/Ezº