Software Product Description ___________________________________________________________________ PRODUCT NAME: DEC PHIGS Version 3.1 for OpenVMS VAX SPD 29.38.13 DESCRIPTION DEC PHIGS[TM] (Programmers Hierarchical Interactive Graphics System) for OpenVMS[TM] VAX[TM] Systems is a sophisticated three-dimensional graphics support system that defines, modifies, organizes, and dis- plays hierarchical, graphical data. DEC PHIGS manages this data in a conceptually centralized database. DEC PHIGS for OpenVMS VAX is Digital Equipment Corporation's imple- mentation of the 1988 ANSI/ISO PHIGS standard for three-dimensional device-independent graphics. DEC PHIGS supports DECwindows[TM] Motif[R] for OpenVMS VAX or OpenVMS VAX Workstation Software (VWS), and is sup- ported on most Digital processors running the OpenVMS VAX Operating System. DEC PHIGS is device-independent; the same program can generate graph- ical output on different devices without modification to the source code. The graphical output formats supported by DEC PHIGS include: o CGM (Computer Graphics Metafile) o DDIF[TM] (Digital's Document Interchange Format) o Hewlett-Packard[R] Graphics Language (HP-GL[R]) o PostScript[R] DEC PHIGS provides five language bindings in which graphical data can be created and managed: ISO Fortran, ISO C, Ada, DEC C[TM] (Digital's version of the C binding), and PHIGS$ (a language-independent bind- ing). Each of these bindings is packaged as a set of shareable images with which application programs are linked. The shareable images are then activated at run-time as needed. DIGITAL April 1995 AE-KX14R-TE In addition to the features specified in the PHIGS standard, DEC PHIGS provides PHIGS PLUS features and GM/EDS extensions. These features and extensions include: o Hidden line/hidden surface removal (HLHSR) o Lighting, shading, and depth cueing o Additional primitives: Circles Circular arcs Triangle strips Quadrilateral meshes Indexed polygons Trimmed and untrimmed NURBs (nonuniform rational B-splines) The result of this additional functionality is that application soft- ware need not generate complex graphics, because these graphics are provided in graphics libraries. Functionality Not Supported by DEC PHIGS The functionality from the PHIGS standard that is not currently im- plemented in DEC PHIGS is: o Modeling clip o Metafile functions o Cell array o Patterns o Incremental spatial search PEX Support DEC PHIGS supports output to Digital's PEX Version 5.0 and PEX Ver- sion 5.1 servers. For OpenVMS VAX, the PEX server extension and the PEXlib object library are included in the DEC PHIGS kit. 2 Elements and Structures In DEC PHIGS, the smallest component of data is an element. One or more elements can be grouped together in a structure that describes a graph- ical object. The elements supported by DEC PHIGS include output prim- itives (polylines, polymarkers, and so on), attribute elements, transformation and clipping elements, control structure elements, and application data elements. These elements can be edited at any time by an application program. Structures are maintained in a graphical database known as the struc- ture store. Graphical output is generated by a structure traversal mech- anism that interprets the elements in the structure store and displays them on the screen. This mechanism is called structure mode. DEC PHIGS provides an alternate traversal mechanism called immediate mode. In this mode, PHIGS elements can be rendered directly to the dis- play surface without being placed in the structure store. Output Primitives DEC PHIGS provides a variety of output primitive elements for creating basic two-dimensional and three-dimensional graphics components in the structure store. These elements are: Annotation - Text that is transformed from modeling coordinates Text to normalized projection coordinates (always readable). This text can be in 8-bit or 16-bit format, and can be displayed in a variety of fonts and orientations. Text position is affected by transformations, but text size is not. Fill - A filled circular area specified by a center point Circle and a radius. Circular - An arc of a circle, specified by a center point, a Arc radius, and starting and ending angles. Fill - A filled ellipse, specified by a center point, and Ellipse major and minor axis vectors. 3 Elliptical - An arc of an ellipse, specified by a center point, Arc major and minor axis vectors, and starting and ending angles. Fill - A polygonal area that can be hollow or filled Area with a uniform color or a hatch style. The edges of the area are not defined and cannot be con- trolled. A variant of this primitive allows you to specify the fill area shape, and thus optimize performance. Fill - A set of polygonal areas with holes or disjointed Area regions that are treated as a single entity. Con- Set trol of edge attributes is provided. A variant of this primitive allows you to specify the fill area set shape, and thus optimize performance. Index - A set of polygons (possibly nonplanar) that per- Polygons mits PHIGS to take advantage of shared vertices. NURBs - A nonuniform rational B-spline, which is a three- dimensional curve or surface generated from user- specified control points, approximation criteria, and possibly trimming curves. Pixmap - A pixmap element formatted for X11 display. Polyline - A set of connected lines defined by a series of points and having line type, line width, color, and shading attributes defined. Polyline - A collection of polylines. Set Polymarker - One or more symbols that can mark significant points in a display and have type, size, scale, and color attributes defined. Quadrila- - An array of quadrilaterals, each of which shares teral Mesh an edge with the next quadrilateral in the mesh. 4 Text - A character string at a given position in modeling coordinate space. This string can be in 8-bit or 16-bit format, and can be displayed in a variety of fonts and orientations. Text size is affected by transformations. Triangle - A sequence of triangles, each of which shares an Strip edge with the next triangle in the strip. Attributes Each output primitive element has an associated set of attribute elements that control the primitive's appearance. Attributes can be defined in groups (bundles) or individually. Some examples of attributes are: Line - The style of a line, for example, dotted or Type dashed. Line - The width of the line. Width Color - The color of the line. You can select one of the predefined colors or specify the red, green, and blue intensities required to define a particular color on color devices. Character - Text attributes, including font, character spacing, Attributes height, angle, path, and alignment. Transformations and Views DEC PHIGS allows the definition of objects in their own "modeling" coordinate systems. Transformation functions are provided to position these objects with respect to one another in a "world" coordinate system. 5 World coordinates can have any scale. For example, one application might have a maximum range from 0 to 1000.0; another application might limit the range from 0.01 to 0.1. DEC PHIGS automatically converts from world coordinates to coordinates appropriate for the display device being used. The user can control multiple, simultaneous views of the same objects on one or more display surfaces, as well as the position and size of the picture on the surface. In addition, DEC PHIGS provides function- ality for posting structures to specific views, as well as to the dis- play (as in the standard PHIGS viewing model). Control Functions Control functions are used to perform system management tasks related to the DEC PHIGS environment, the workstation environment, and the graph- ics display. These tasks include turning DEC PHIGS on and off when requested by the application, and directing the flow of graphics data from the structure store to one or more logical devices. Inquiry Functions DEC PHIGS includes a complete set of inquiry functions. These functions are used to obtain information about the PHIGS state, the structure store, the archive storage, workstation capabilities, or the work- station state. This information is essential for developing modular, device-independent programs. Escape Functions Escape functions are included with DEC PHIGS to enable access to func- tionality not provided in the PHIGS standard. The DEC PHIGS escape functions include: o Anti-aliasing o Batch quick updates o Double buffering control 6 o Transparency o Background pixmap control o User-defined line types o User-defined marker types o Render element range Logical Input Devices DEC PHIGS supports synchronous and asynchronous input from the fol- lowing logical input devices: Locator - Allows the user to select a point on the display. Stroke - Allows the user to input a series of points on the display. Valuator - Allows the user to select a real number from a given range, for example, by sliding a pointer to a position on a radio dial. Choice - Allows the user to make a selection, for example, from a list of choices in a menu. String - Allows the user to input a character string, for example, as input to a prompt. Pick - Allows the user to select an object that is visible on the display. The information returned consists of a structure identifier, a pick identifier, and an element number for each level in the structure network. Name Sets Name sets are used by DEC PHIGS to group individual graphic elements together when determining eligibility for highlighting, visibility, and picking. For example, in an architectural drawing, all steam pipes can be grouped in a name set and all water pipes with another. These sets of pipes can then be made invisible, pickable, or highlighted as a group. 7 Archive Storage DEC PHIGS provides an interface for archiving files in which all or part of the structure store can be saved permanently. The structure store can be accessed later by the same or other applications. Archive files can be used to: o Save and restore graphical information between sessions o Transfer graphical information between compatible versions of DEC PHIGS o Transfer graphical information between DEC PHIGS applications o Store accompanying nongraphical information Character Fonts DEC PHIGS includes a series of stroke-precision character fonts. These character fonts were digitized by Dr. Allen V. Hershey of the Naval Surface Weapons Laboratory, and supplied to Digital by the National Bureau of Standards. Language Bindings DEC PHIGS functions can be accessed by five sets of subroutine calls or "bindings," as they are referred to by the PHIGS standards. These bindings are: o An ISO C binding that conforms to the final PHIGS ANSI/ISO C binding standard o A DEC C binding that conforms to a draft version of the PHIGS C bind- ing (provided for compatibility with previous versions of DEC PHIGS) o An ISO Fortran binding that conforms to the final PHIGS ANSI/ISO Fortran binding standard o An Ada binding that conforms to a draft of the PHIGS ANSI/ISO Ada binding standard o A Digital-specified PHIGS$ binding 8 The ISO Fortran, ISO C, and Ada binding interfaces allow users to port DEC PHIGS applications written in ISO Fortran, ISO C, or Ada to other operating systems running conformant implementations of DEC PHIGS and these bindings. Note that calls to the ISO C and DEC C language bind- ings cannot be mixed with calls to the other language bindings within the same application. Graphics Handlers DEC PHIGS provides support for a wide variety of Digital and non-Digital graphics devices. For devices that are not supported by Digital, users can develop their own graphic device handlers using the DEC GKS[TM] two-dimensional device handler interface. Device handlers can be developed in DEC Fortran[TM], DEC C, and DEC Pascal. For more information on this interface, refer to the Build- ing a Device Handler System for DEC GKS and DEC PHIGS manual (Order No. QA-810AK-GZ), which can be purchased separately. Computer Graphics Metafile (CGM) Output DEC PHIGS provides support for storing information using the Computer Graphics Metafile (CGM), an approved ANSI standard format (ANSI X3.122-1986). DEC PHIGS supports CGM output for the following formats: o Clear Text Encoding - Graphical output data stored in this format is easily created, viewed, and modified using a common text editor. This format is also suitable for transferring graphical output data through networks that support the transfer of text files only. o Character Encoding - Graphical output data is typically stored in this format to reduce the file size. This format is especially suited to transfers through networks that do not support binary transfers. o Binary Encoding - Graphical output data stored in this format is very compact and the fastest to read and write. This format is the least suitable for transmission over communication lines because all 8 bits in each byte are meaningful. 9 CONFORMANCE TO STANDARDS DEC PHIGS is designed to conform to the following standards: o MIT X Window System[TM] Version 11 Release 5 (X11R5). o PEX Version 5.0 and 5.1. o The ISO C binding conforms to the final PHIGS ANSI/ISO C binding ISO/IEC 9593-4:1991. o The ISO Fortran binding conforms to the final PHIGS ANSI/ISO For- tran binding ISO/IEC 9593-1:1989. o The Ada binding conforms to a draft of the PHIGS ANSI/ISO Ada bind- ing ISO/IEC 9593-3:1990. HARDWARE The following processors are supported by DEC PHIGS: VAX: VAXft[TM] Model 110, VAXft Model 310, VAXft Model 410, VAXft Model 610, VAXft Model 612 VAX 4000 Model 100, VAX 4000 Model 200, VAX 4000 Model 300, VAX 4000 Model 400, VAX 4000 Model 500, VAX 4000 Model 600 VAX 6000 Model 200 Series VAX 6000 Model 300 Series VAX 6000 Model 400 Series VAX 6000 Model 500 Series VAX 6000 Model 600 Series VAX 7000 Model 600 Series VAX 8200, VAX 8250, VAX 8300, VAX 8350, VAX 8500, VAX 8530, VAX 8550, VAX 8600, 10 VAX 8650, VAX 8700, VAX 8800, VAX 8810, VAX 8820, VAX 8830, VAX 8840 VAX 9000 Model 110, VAX 9000 Model 210, VAX 9000 Model 300 Series, VAX 9000 Model 400 Series VAX 10000 Model 600 Series MicroVAX: MicroVAX[TM] 3100 Model 80, MicroVAX 3100 Model 90, MicroVAX 3300, MicroVAX 3400, MicroVAX 3500, MicroVAX 3600, MicroVAX 3800, MicroVAX 3900 VAXstation: VAXstation[TM] 4000 VLC[TM], VAXstation 4000 Model 60, VAXstation 4000 Model 90 VAXserver: VAXserver[TM] 3100, VAXserver 3300, VAXserver 3400, VAXserver 3500, VAXserver 3600, VAXserver 3602, VAXserver 3800, VAXserver 3900 VAXserver 4000 Model 200, VAXserver 4000 Model 300, VAXserver 4000 Model 500 VAXserver 6000 Model 210, VAXserver 6000 Model 220, VAXserver 6000 Model 310, VAXserver 6000 Model 320, VAXserver 6000 Model 410, 11 VAXserver 6000 Model 420, VAXserver 6000 Model 510, VAXserver 6000 Model 520, VAXserver 6000 Model 610, VAXserver 6000 Model 620, VAXserver 6000 Model 630 One of the following terminals is required to use DEC PHIGS: o VT240[TM] with black and white monitor (ReGIS[TM]) o VT241[TM] with color monitor (ReGIS) o VT330[TM] with black and white monitor o VT340[TM] with color monitor o TEKTRONIX[R] 4014 with enhanced graphics module (Option 34) or equivalent o TEKTRONIX 4107 terminal o TEKTRONIX 4207 terminal o TEKTRONIX 4129 terminal Disk Space Requirements The disk space requirements for DEC PHIGS depend on the kit you in- stall, as shown. DEC PHIGS Development Kit: Disk space required for 70,000 blocks installation: With Ada binding option: 90,000 blocks Disk space required for 65,000 blocks use (permanent): With Ada binding option: 85,000 blocks 12 DEC PHIGS Run-Time-Only Kit: Disk space required for 40,000 blocks installation: Disk space required for 36,000 blocks use (permanent): These counts refer to the disk space required on the system disk. The sizes are approximate; actual sizes may vary depending on the user's system environment, configuration, and software options. Memory Requirements for DECwindows Motif Support The minimum supported memory for DEC PHIGS running in a standalone DECwindows Motif environment, with both the client and server executing on the same system, is 32 MB. The memory size suggested for most typi- cal hardware configurations, however, is 64 MB or more, depending on the system. The system configuration and performance requirements of DECwindows Motif applications can determine the memory needed on your system as follows: o Less memory may be required on the client system (where the soft- ware is installed and executed) if the server (component display- ing the application) resides on another system. o More memory may be required on a system where improved performance is desired, or where several applications are running. OPTIONAL HARDWARE DEC PHIGS for OpenVMS VAX supports the following input device with the DECwindows Motif device handler: Graphics Peripheral Set (32 Function Key Box and 8 Dial Box) DEC PHIGS also supports a variety of hardcopy output devices, and de- vices that are compatible with these devices. These output devices are: 13 Compatible Sixel Devices o Digital LN03 PLUS[TM] Laser Printer o LN03[TM] with LN03S-UA upgrade kit o Digital DEClaser[TM] 2100, 2150, 2200, 2250, 2300, 2400 Laser Printers o LA50[TM] (restricted to a 2:1 aspect ratio) o LA75[TM] o LA84[TM] o LA86[TM] o LA100[TM] o LA280[TM] o LA324[TM] (Color Sixel Printer) o LA380[TM] o Digital LN03S-JA Laser Printer Compatible Hewlett-Packard Graphics Language Devices: o Digital LVP16[TM] Pen Plotter o HP[R]7475 Hewlett-Packard Pen Plotter o HP7550 Hewlett-Packard Pen Plotter o HP7580 Hewlett-Packard Pen Plotter o HP7585 Hewlett-Packard Pen Plotter o LASERGRAPHICS MPS-2000 Film Recorder Compatible Hewlett-Packard PCL Level 4 Devices: o Hewlett-Packard LaserJet[R] II Ink Jet Plotters: o Digital LCG01 Color Ink Jet Plotter (ReGIS) 14 o Digital LJ250 (Color Sixel) Compatible PostScript Devices: o Apple[R] LaserWriter[R] o Apple LaserWriter Plus o Digital LN03R ScriptPrinter o Digital DEClaser 2150, 2250 o Digital DEClaser 1150 o Digital LPS20 Laser Printer o Digital LPS20-GJ Laser Printer o Digital LPS32 Laser Printer o Digital LPS40 Laser Printer o Digital LPS40-AJ Laser Printer o Digital LPS40-DJ Laser Printer CLUSTER ENVIRONMENT DEC PHIGS is fully supported when installed on any valid and licensed VAXcluster[TM] V5.x configurations including CI[TM], Ethernet, and Mixed Interconnect configurations, and are fully described in the VAXcluster Software Product Description (SPD 29.78.xx). SOFTWARE REQUIREMENTS The software requirements for DEC PHIGS Version 3.1 are described in the following sections. 15 For Systems Using Terminals (Without DECwindows): o OpenVMS VAX Operating System V5.5-2 or higher o DEC C Version 4.0 (must be installed when using OpenVMS VAX Ver- sion 5.5-2; however, no DEC C license is required to run DEC PHIGS) For Workstations Running VWS: o OpenVMS VAX Operating System V5.5-2 or higher o OpenVMS VAX Workstation Software V4.5 For Workstations Running OpenVMS VAX DECwindows Motif: o OpenVMS VAX Operating System V5.5-2 or higher (and the necessary components of OpenVMS VAX DECwindows) o OpenVMS VAX DECwindows Motif V1.2 For the development of application programs that use DEC PHIGS under OpenVMS VAX, one of the DEC PHIGS supported languages is also required. OpenVMS VAX Tailoring The following OpenVMS VAX classes are required for full DEC PHIGS func- tionality: o OpenVMS VAX required save set o Network support o Programming support If you are using DEC PHIGS on a workstation, Digital recommends the OpenVMS VAX class for workstation support. 16 OPTIONAL SOFTWARE DEC PHIGS for OpenVMS VAX supports the following languages through the DEC PHIGS language independent interface: o DEC Ada[TM] Version 3.0A-10 o VAX BASIC[TM] Version 3.7 o DEC C Version 4.0 o DEC Fortran[TM] Version 6.3 o DEC Pascal Version 5.1 o VAX PL/I Version 3.5A Note: Certain versions of these products depend on a specific version of the operating system. Please refer to the Software Product Descrip- tion (SPD) of the product in question to determine which version is necessary. GROWTH CONSIDERATIONS The minimum hardware and software requirements for future versions of this product may be different from the requirements for the current version. DISTRIBUTION MEDIA This product is distributed as follows: o On 9-track 1600 BPI Magnetic Tape o On TK50[TM] Streaming Tape o As part of the OpenVMS VAX Software Product Library on CD-ROM 17 This CD-ROM contains the DEC PHIGS software binaries and online doc- umentation in Bookreader[TM] and PostScript format. The DEC PHIGS documentation is also available in hard copy, which can be ordered separately. ORDERING INFORMATION Development Option Software Licenses DEC PHIGS: QL-0KBA*-** Software Layered Product CD-ROM: QA-0KBA*-** Software Documentation DEC PHIGS: QA-0KBAA-GZ Software Product Services DEC PHIGS: QT-0KBA*-** Run-Time-Only Option Software Licenses DEC PHIGS: QL-VK1A*-** Software Layered Product CD-ROM: QA-VK1A*-** Software Product Services DEC PHIGS: QT-VK1A*-** * Denotes variant fields. For additional information on available licenses, services, and media, refer to the appropriate price book. SOFTWARE LICENSING DEC PHIGS is available in two forms: as a Development Kit and as a Run- Time-Only Kit. These kits are furnished only under a license. The Development Kit license enables you to develop and run your own graphics applications. The Run-Time-Only Kit license allows you to run applications that were developed on a system where the full DEC PHIGS product has been installed under a Concurrent Use License option (ex- plained below). As a result, the Run-Time-Only Kit license is avail- able at a substantially lower cost per system than the Development Kit license. 18 License Management Facility Support DEC PHIGS supports the OpenVMS VAX License Management Facility (LMF). This facility allocates license units for DEC PHIGS as follows: o For the Development option-on a Personal Use and Unlimited Use basis o For the Run-Time-Only option-on a Concurrent Use and Unlimited Use basis Each Personal Use License allows one identified individual to use DEC PHIGS. Each Concurrent Use License allows only one individual at a time to use DEC PHIGS. Each Unlimited Use License allows any number of in- dividuals to use DEC PHIGS at the same time. For further details on the License Management Facility, refer to the OpenVMS VAX Operating System Software Product Description (SPD 25.01.xx) or the OpenVMS VAX Operating System documentation. To obtain more in- formation about Digital's licensing terms and policies, contact your local Digital office. SOFTWARE PRODUCT SERVICES A variety of service options are available from Digital. For more in- formation, contact your local Digital office. SOFTWARE WARRANTY Warranty for this software product is provided by Digital with the pur- chase of a DEC PHIGS license, as defined in the Software Warranty Ad- dendum of this SPD. The information in this document is valid at the time of release. Please contact your local Digital office for the most up-to-date information. [R] Apple and LaserWriter are registered trademarks of Apple Computer, Inc. 19 [R] Hewlett-Packard, HP, HP-GL, and LaserJet are registered trademarks of Hewlett-Packard Company. [R] Motif is a registered trademark of Open Software Foundation, Inc. [R] PostScript is registered trademark of Adobe Systems, Incor- porated. [R] TEKTRONIX is a registered trademark of Tektronix, Inc. [TM] X Window System is a trademark of Massachusetts Institute of Technology. [TM] Bookreader, CI, DDIF, DEC, DEC Ada, DEC Fortran, DEC C, DEC GKS, DEC PHIGS, DEClaser, DECwindows, Digital, LA50, LA75, LA84, LA86, LA100, LA280, LA324, LA380, LN03 ScriptPrinter, LVP16, MicroVAX, OpenVMS, ReGIS, TK50, VAX, VAX BASIC, VAXcluster, VAXft, VAXserver, VAXstation, VAXstation 4000 VLC, VT240, VT241, VT330, VT340, and the DIGITAL logo are trade- marks of Digital Equipment Corporation. ©1995 Digital Equipment Corporation. All Rights Reserved. 20