GPGS-F User’S Guide 8Th Edition
Total Page:16
File Type:pdf, Size:1020Kb
GPGS-F User’s Guide 8th Edition Norsk samarbeid innen grafisk databehandling Norwegian Association for Computer Graphics 8th Edition GPGS-F User’s Guide PAGE ii Notice SINTEF DELAB / NORSIGD retain all ownership rights to the GPGS-F software and its documentation. The information in this document is subject to change without notice. SINTEF DELAB / NORSIGD assume no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. SINTEF DELAB / NORSIGD are in no way responsible for consequential damages and/or costs from the use of this software. FrameMaker is a registered trademark of Frame Technology Corporation. PostScript is a registered trademark of Adobe Systems Incorporated. X Window System is a trademark of the Massachusetts Institute of Technology. This document was prepared using FrameMaker publishing software. All figures illustrating program examples were generated by using the GPGS-F device driver for PostScript, and subsequently included into the document. Last changed: Apr 7, 1995 8th Edition GPGS-F User’s Guide PAGE iii Table of Contents Page Notice . ii Table of Contents . iii Preface . xi Font Conventions Used in the Manual . xiii Argument Naming Conventions . xiii Manual Distribution and Revisions . xiv Modification Dates . xv Chapter 1 Graphic Devices 1.1 System Initialization . 1-1 1.2 Device Control . 1-2 1.2.1 Device Options. 1-4 1.2.2 Inquiring Available Device Drivers . 1-5 1.3 Synchronizing GPGS-F Output with Other I/O Operations . 1-5 1.4 GPGS-F Version Numbering . 1-6 Chapter 2 Windows, Viewports and Clipping 2.1 Window - Viewport Mapping . 2-1 2.1.1 Window Definition . 2-1 2.1.2 Viewport Definition . 2-2 2.1.3 Default Values . 2-3 2.1.4 Window and Viewport Dimensions . 2-3 2.2 Clipping . 2-4 2.3 Coordinate Processing . 2-4 Chapter 3 Introduction to Picture Segments Table of Contents Last changed: May 10, 1995 8th Edition GPGS-F User’s Guide PAGE iv Chapter 4 Basic Graphic Primitives 4.1 Linetypes . 4-1 4.1.1 Linepattern Length . 4-2 4.2 Drawing Single Lines . 4-2 4.3 Circular Arcs. 4-7 4.3.1 Software / Hardware Generation . 4-10 4.3.2 Circle Smoothness. 4-10 4.4 Elliptic Arcs . 4-11 4.5 Markers . 4-12 Chapter 5 Drawing in True Scale Chapter 6 Transformations 6.1 System Transformation Matrix . 6-1 6.2 Basic Transformation Routines . 6-2 6.2.1 Translation . 6-3 6.2.2 Scaling . 6-4 6.2.3 Rotation . 6-4 6.2.4 Shearing . 6-6 6.2.5 Vanishing Point . 6-7 6.3 Combining Basic Transformations . 6-8 6.4 Transformation Matrix Manipulation . 6-9 6.4.1 Internal Matrix Stack . 6-9 6.4.2 Direct User Manipulation . 6-10 6.5 Viewing Routines . 6-12 6.5.1 Focal Point . 6-14 6.5.2 Vanishing Point . 6-16 6.6 Transformation Mode . 6-16 Chapter 7 Character Strings 7.1 Drawing Text Strings . 7-1 7.1.1 Format Control . 7-2 7.2 Drawing Integer and Real Numbers. 7-3 7.3 Character Size . 7-4 7.4 Character Transformations . 7-5 7.4.1 Shearing . 7-5 7.4.2 Rotation . 7-6 7.5 Software / Hardware Text Generation . 7-6 Table of Contents Last changed: May 10, 1995 8th Edition GPGS-F User’s Guide PAGE v 7.6 Text Alignment . 7-7 7.7 Text Fonts. 7-8 7.8 Character Encoding. 7-10 7.8.1 National Character Sets . 7-10 7.9 Proportional Spacing . 7-12 7.10 Inquiring Text Extent . 7-13 Chapter 8 Interaction Facilities 8.1 Basic Interactive Programming . 8-2 8.2 Interaction Modes . 8-4 8.2.1 Sample Mode Input . 8-4 8.2.2 Event Mode Input . 8-5 8.3 Echo Control . 8-8 8.3.1 Echo Specification. 8-8 8.4 Methods for Text Output . 8-11 8.5 Interaction With a Second Device . 8-11 8.6 Reading Additional Input Data . 8-12 8.7 Compatibility With Previous Versions . 8-13 8.8 Coordinate Conversion Routines . 8-14 Chapter 9 Defining Line Patterns and Representation 9.1 Defining Line Patterns . 9-2 9.2 Defining Line Representation . 9-3 9.2.1 Line Representation Parameters . 9-5 Chapter 10 Polylines and Curves 10.1 Polylines . 10-1 10.1.1 Automatic Value or Index Increment . 10-2 10.2 Parameterized Curves . 10-4 10.2.1 Automatic Value Increment . 10-5 Table of Contents Last changed: May 10, 1995 8th Edition GPGS-F User’s Guide PAGE vi Chapter 11 Colour Specification 11.1 Colour Index Selection. 11-2 11.2 Colour Models . 11-2 11.2.1 RGB Colour Model . 11-3 11.2.2 The HLS Colour Model . 11-4 11.2.3 The HSV Colour Model . 11-5 11.3 Monochrome Devices . 11-6 Chapter 12 Raster Graphics 12.1 Raster Graphics Programming . 12-1 12.2 Polygons . 12-2 12.2.1 Polygon Drawing . 12-3 12.2.2 Interior Style . 12-4 12.2.3 Perimeter Drawing . 12-4 12.2.4 Texture Rendering. 12-5 12.2.4.1 Texture Quality . 12-5 12.2.4.2 Pattern and Hatch Style Tables . 12-7 12.2.4.3 Global Texture Attributes . 12-8 12.2.4.4 Applying Texture to 3D Polygons . 12-11 12.3 Pixel Arrays . 12-12 12.3.1 Software / Hardware Generation . 12-12 12.3.2 Inquiring Pixel Values From the Display. 12-15 Chapter 13 Picture Element Attributes 13.1 Linewidth . 13-1 13.2 Depth Modulation . 13-2 13.3 Blinking . 13-2 Chapter 14 Picture Segment Storing 14.1 Segment Classes. 14-1 14.1.1 Pseudo Picture Segments . 14-1 14.1.2 Retained Picture Segments . 14-2 14.2 Picture Segment Identifiers . 14-2 14.3 Defining Picture Storage . 14-2 14.3.1 Primary Buffers . 14-3 14.3.1.1 Programming Guidelines . 14-4 14.3.2 Picture Libraries . 14-4 14.4 Copying Segments . 14-6 14.5 Deleting Segments . 14-7 Table of Contents Last changed: May 10, 1995 8th Edition GPGS-F User’s Guide PAGE vii Chapter 15 Pseudo Picture Segments 15.1 Inserting Pseudo Segments . 15-1 15.1.1 Colour of Inserted Primitives . 15-2 15.1.2 Areas of Application . 15-4 15.2 Clipping . 15-4 15.3 Pseudo Segment Reference . 15-4 Chapter 16 Retained Picture Segments 16.1 Storage Mode . 16-1 16.2 Deferral Mode . 16-2 16.2.1 Compatibility Routines . 16-3 16.3 Redrawing . 16-4 16.4 Deleting Segments . 16-4 Chapter 17 Retained Segment Attributes 17.1 Visibility . 17-1 17.2 Highlighting . 17-3 17.3 Priority . 17-3 Chapter 18 Image Transformations Chapter 19 Background Device 19.1 Background Viewport . 19-2 19.2 Limitations . 19-2 Chapter 20 Pick Input 20.1 Element Namestack. 20-1 20.2 Element Detectability . 20-3 20.3 Segment Detectability . 20-4 20.4 Scanning for Hit. 20-5 20.5 Using Pseudo Segments . 20-7 Table of Contents Last changed: May 10, 1995 8th Edition GPGS-F User’s Guide PAGE viii Chapter 21 Multi Window Devices 21.1 Window to Viewport Mapping . 21-2 21.2 Window Management . 21-2 21.3 Window Operations . 21-6 21.4 Window Numbers . 21-9 21.5 Retained Segments . 21-10 21.6 Updating Window Contents . 21-10 21.7 Requesting Window Size . 21-12 21.8 Interaction . 21-13 21.9 Background Device. 21-13 Chapter 22 Hidden Lines and Surfaces Removal 22.1 HLHS Module Control. 22-2 22.2 Inserting the Result . 22-3 22.3 Using the Dummy Device. 22-6 22.4 Front- and Back-Facing Polygons . 22-7 22.5 Polygon Attributes . 22-8 22.6 Limitations . 22-8 Chapter 23 Fetching System Status Data Chapter 24 Errors and Messages 24.1 GPGS-F Error Vector . 24-1 24.2 Default Error Handling . 24-2 24.3 Error File . 24-3 24.4 Application Supplied Error Routine . 24-4 24.4.1 Closing Down GPGS-F . 24-5 Table of Contents Last changed: May 10, 1995 8th Edition GPGS-F User’s Guide PAGE ix Appendices Appendix A Installation Dependent Parameters Appendix B Software Character Fonts Appendix C Additional GPGS-F Products C.1 MICRO-GPGS-F . C-1 C.1.1 Main Limitations Compared to GPGS-F . C-2 C.2 GRAPHISTO . C-2 C.3 SURRENDER . C-4 Appendix D Machine Dependencies D.1 File / Communication Channel Numbers . D-1 Appendix E Device Driver Descriptions Appendix F Routine Name Index Appendix G Routine Number Index G.1 GPGS-F Routines. G-1 G.2 GRAPHISTO Routines . G-3 G.3 SURRENDER Routines. G-4 Appendix H C Language Interface Appendix I Error Messages Keyword Index Table of Contents Last changed: May 10, 1995 8th Edition GPGS-F User’s Guide PAGE x Table of Contents Last changed: May 10, 1995 8th Edition GPGS-F User’s Guide PAGE xi Preface to the first edition This manual is intended to be used as a guide when writing programs in GPGS-F. It may also be used as a text book or for self study. Moreover, there is an index of all the routines in Appendix F and it may thus be used for reference.