ISO/IEC 9592-1:1997
(Main)Information technology — Computer graphics and image processing — Programmer's Hierarchical Interactive Graphics System (PHIGS) — Part 1: Functional description
Information technology — Computer graphics and image processing — Programmer's Hierarchical Interactive Graphics System (PHIGS) — Part 1: Functional description
Technologies de l'information — Infographie et traitement de l'image — Interface de programmation du système graphique hiérarchisé (PHIGS) — Partie 1: Description fonctionnelle
General Information
Relations
Standards Content (Sample)
INTERNATIONAL
ISOAEC
STANDARD
9592-l
Second edition
1997-11-15
Information technology - Computer
graphics and image processing -
Programmer’s Hierarchical Interactive
Graphics System (PHIGS) -
Part 1:
Functional description
Technologies de I’informa tion - lnfographie et traitement de /‘image -
Interface de programmation du systkme graphique hikrarchisb (PHIGS) --
Partie I: Description fonctionnelle
Reference number
ISO/I EC 9592- 1: 1997(E)
ISO/IEC 9592-l: 1997(E)
Contents
....................................................................................................................
1 Scope.
.............................................................................................. 2
2 Normative references
.......... .................................................................................................... 3
3 Definitions
.................................................................................. 19
4 PHIGS functional overview
4.1 About this part of ISO/IEC 9592 . 19
4.1.1 Specification and conformance . 19
........................................................................................... 19
4.1.2 Registration
......................................................................... 19
4.1.3 Notational conventions
.................................................................................. 19
4.2 Overview and concepts
.............................................................................................. 19
4.2.1 Overview
............................................................................................... 20
4.2.2 Concepts
...................................................................................... 24
4.2.3 PHIGS profiles
................................................................................ 25
4.3 Structures and traversal
......................................................... 25
4.3.1 Structure elements and structures
................................................................................ 27
4.3.2 Structure networks
............................................................. 29
4.3.3 Structure traversal and display
4.3.3.1 Posting .
4.3.3.2 Traversal . 29
4.3.3.3 Posting groups .
4.3.3.4 Priority . 33
structure
4.3.3.5 Direct interpretation . 35
4.3.3.6 Traversing structure networks . 38
4.3.4 Conditional traversal of structures . 38
4.3.5 Structure editing . 41
4.3.6 Structure element moving and copying . 42
4.3.7 Manipulation of structures in CSS . 42
4.3.8 CSS search and inquiry . 43
4.3.9 Structure archival and retrieval . 44
4.3.10 Generalized Structure Elements (GSE) . 45
4.3.11 Application data . 46
4.3.12 Direct interpretation structure picture definition . 46
4.3.13 Stability of the non-retained picture . 47
4.4 Output primitives . 48
4.4.1 Structure elements and output primitives . 48
4.4.2 Marker class . 49
4.4.2.1 Polymarker . 49
4.4.3 Curve class . 49
4.4.3.1 Polyline . 49
4.4.3.2 Polyline set . 49
4.4.3.3 Non-uniform B-spline curve . 49
4.4.3.4 Non-uniform B-spline curve with colour . 50
0 ISO/IEC 1997
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or
utilized in any form or by any means, electronic or mechanical, including photocopying and
microfilm, without permission in writing from the publisher.
ISOAEC Copyright Office * Case postale 56 l CH-1211 Geneve 20 l Switzerland
Printed in Switzerland
ii
ISOIIEC 9592=1:1997(E)
OISO/IEC
4.4.3.5 Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4.3.6 Circular arc . 50
4.4.3.7 Ellipse . 51
4.4.3.8 Elliptical arc . 51
4.4.4 Text class . 51
4.4.4.1 Text . 51
4.4.4.2 Annotation text . 51
4.4.5 Surface class . 51
4.4.5.1 Facets . 51
4.4.5.2 With-data primitives . 52
4.4.5.3 Clipping surfaces . 53
4.4.5.4 Modelling clip . 53
4.4.5.5 Fill area . 53
4.4.5.6 Fill area set . 53
4.4.5.7 Fill area set with data . 54
4.4.5.8 Set of fill area sets with data . 54
4.4.5.9 Triangle set with data . 54
4.4.5.10 Triangle strip with data . 55
4.4.5.11 Quadrilateral mesh with data . 55
4.4.5.12 Fill circle . 56
4.4.5.13 Circular arc close . 56
4.4.5.14 Fill ellipse . 56
4.4.5.15 Elliptical arc close . 56
4.4.5.16 Non-uniform B-spline surface . 56
4.4.5.17 Surface trimming . 57
4.4.5.18 Non-uniform B-spline surface with data . 58
................................................................................ 60
4.4.5.19 Cell array
4.4.5.20 Generalized drawing primitive . 61
4.5 Output primitive attributes .
4.5.1 Types of attributes .
4.5.1.1 Main classification .
4.5.1.2 Geometric attributes .
4.5.1.3 Non-geometric attributes .
4.5.1.4 Viewing attributes .
4.5.1.5 Identification attributes .
.................................................................. 64
4.5.1.6 Rendering attributes
....................................................................................... 65
4.5.1.7 Colour
4.5.2 General colour specification . 65
4.5.3 Polymarker attributes . 67
4.5.4 Curve attributes . 69
4.5.4.1 Polyline attributes . 69
4.5.4.2 Polyline set attributes . 70
4.5.4.3 Non-uniform B-spline curve attributes . 71
................ .72
4.5.4.4 Non-uniform B-spline curve with colour attributes
4.5.5 Text attributes .
4.5.5.1 Text primitive attributes .
......................................................... 79
4.5.5.2 Annotation text attributes
.................................................. 80
4.5.5.3 Text extent and concatenation
.................................................................................. 82
4.5.6 Surface attributes
...................................................................... 82
4.5.6.1 Interior attributes
.......................................................................... 84
4.5.6.2 Edge attributes
.85
4.5.6.3 Individual edge control for surface primitives .
. . .
@ISO/IEC
ISO/IEC 9592=1:1997(E)
............................................................ 85
4.5.6.4 Data mapping attributes
................................................ 86
4.5.6.5 Fill area set with data attributes
....................................... 86
4.5.6.6 Set of fill area set with data attributes
................................................ 86
4.5.6.7 Triangle set with data attributes
.............................................
4.5.6.8 Triangle strip with data attributes 86
....................................
4.5.6.9 Quadrilateral mesh with data attributes 86
................................
4.5.6.10 Non-uniform B-spline surface attributes 86
...............
4.5.6.11 Non-uniform B-spline surface with data attributes -89
............................................................
4.5.6.12 Reflectance properties 89
4.5.6.13 Alpha . 90
.............................................
4.5.7 Generalized drawing primitive attributes 91
...............................................................
4.5.8 Implicitly specified attributes 91
4.5.8.1 General . 91
.............................................................................
4.5.8.2 Facet normal 91
.......................................................................
4.5.8.3 Facet orientation 93
...................................................................
4.5.8.4 Reflectance normal 93
..........................................................................
4.5.8.5 Intrinsic colour 93
4.5.8.6 Intrinsic alpha . 94
................................................................................. 95
4.5.9 Name set attribute
........................................................................................ 96
4.5.10 Highlighting
........................................................................... 96
4.5.11 Minimal simulations
......................................................................... 96
4.5.12 Degenerate primitives
............................................................................................... 96
4.5.13 Stability
................................................................................... 97
4.6 The rendering pipeline
4.6.1 General . 97
4.6.1.1 Primitives affected by the rendering pipeline . 97
4.6.1.2 The effect of the interior style on lighting and shading. . “97
4.6.1.3 Aspects and attributes used in the rendering pipeline . -98
4.6.2 Alpha mapping . 98
4.6.3 Data mapping . 98
4.6.4 Texture mapping . 103
4.6.4.1 General . 103
4.6.4.2 Specification . 104
4.6.4.3 Representation . 104
4.6.4.4 Parameterization . 105
4.6.4.5 Composition . 108
4.6.4.6 Sampling . 112
4.6.4.7 Binding . 113
4.6.4.8 Mapping . 114
4.6.4.9 Mapping controls . 114
4.6.5 Lighting . 115
4.6.5.1 Reflectance calculation . 115
4.6.5.2 Light sources . 116
4.6.5.3 Workstation light sources .
............................................................................................... 117
4.6.6 Shading
4.6.6.1 General .
4.6.6.2 Interpolation . 117
4.6.6.3 Colour interpolation . 117
4.6.6.4 Data interpolation . 118
4.6.6.5 Normal-vector interpretation . 118
4.6.6.6 Polyline set shading . 118
4.6.6.7 Interior shading . 119
iv
OISO/IEC ISO/IEC 9592-l: 1997(E)
4.6.7 The rendering colour model .
4.6.8 Depth cueing .
4.6.9 Alpha application .
4.6.10 Colour mapping .
4.7 Workstations .
4.7.1 Workstation characteristics
................................................................ 127
4.7.2 Workstation configuration
.................................................................. 128
4.7.3 Workstation selection .
4.7.4 Controlling picture changes .
4.7.4.1 Introduction . 129
4.7.4.2 Retained picture changes .
4.7.4.3 Non-retained picture updating .
4.7.4.4 Selective retained picture updating .
4.7.5 Device coordinate clip regions .
4.7.6 Clearing the display surface .
4.7.7 Sending messages to a workstation .
4.7.8 Hidden line / hidden surface removal .
4.7.9 Image resources .
4.7.10 Target manipulation . 140
4.7.11 Traversal resources . 142
4.8 Coordinate systems and transformations . 143
4.8.1 Coordinate system handedness . 143
4.8.2 Modelling transformations and clipping . 143
4.8.3 Modelling utility functions . 145
4.8.4 Viewing . 145
4.8.5 Viewing construction functions . 148
4.8.6 Workstation transformation . 154
4.8.7 Transformation of locator input . 155
4.8.8 Transformation of stroke input . 156
4.8.9 Input utility functions . 157
4.9 Graphical input . 159
4.9.1 Introduction to logical input devices . 159
4.9.2 Logical input device model . 160
4.9.3 Operating modes of logical input devices . 161
4.9.4 Measures of each input class . 162
4.9.5 Input queue and current event report . 165
4.9.6 Initialization of input devices . 165
4.9.7 Locator and stroke input using 2D input . 167
4.9.8 Pick input using directly structured elements . 168
...................................................... 169
4.9.9 Definition of logical input devices
...................................................................... 169
4.9.10 Local input processing
.................................................................................. 169
4.9.10.1 General
4.9.10.2 Local viewing operations . 170
4.9.10.3 Local lighting operations . 174
4.10 PHIGS metafile interface . 177
4.11 PHIGS states . 178
4.12 Inquiry functions . 179
4.13 Error handling . 180
4.14 Special interfaces between PHIGS and application program. . ,182
4.15 Limitations . 182
4.15.1 General . 182
4.15.2 Non-planar geometry and data . 182
ISO/IEC 9592-l: 1997(E) OISOIIEC
4.15.3 Relationship of shading method to geometry . 182
4.15.4 Normal-vector interpolation . 183
................................................................ 183
4.15.5 Effects of transformations
4.156 Approximation criteria and data splines . 183
.......................................................................... 184
4.16 Minimum support criteria
4.16.1 Concepts of minimum support . 184
4.16.2 Explicitly defined and required . 184
4.16.3 Explicitly defined and non-required . 184
4.16.4 Conceptually defined and non-required . 185
......................................................................... 186
5 PHIGS Functional Specification
................................................................................ 186
5.1 Notational conventions
5.1.1 Function heading and parameter list . 186
5.1.2 Functions generating structure elements . 186
5.2 Control functions . 188
5.3 Output primitive functions . 202
5.3.1 General . 202
5.3.2 Function definitions . 203
5.4 Attribute specification functions . 216
5.4.1 Bundled attribute selection . 216
5.4.1.1 General . 216
5.4.1.2 Function definitions . 216
5.4.2 Individually selected bundled attributes . 218
5.4.2.1 General . 218
5.4.2.2 Function definitions . 218
5.4.3 Individual attributes . 229
5.4.3.1 General . 229
5.4.3.2 Function definitions . 230
5.4.4 Workstation attribute table definition . 236
5.4.4.1 General . 236
5.4.4.2 Function definitions . 236
5.4.5 Workstation filter definition . 244
5.4.6 Colour model control . 245
5.4.7 HLHSR attributes . 245
5.4.8 Attribute utility functions . 246
5.5 Transformation and clipping functions . 247
5.5.1 Modelling transformations and clipping . 247
5.5.1.1 General . 247
5.5.1.2 Function definitions . 247
5.5.2 View operations . 249
5.5.3 Workstation transformation . 250
............................................... 251 L
5.5.4 Utility functions to support modelling
.................................................................................... 251
5.5.4.1 General
5.5.4.2 Function definitions . 252
.................................................. 255
5.5.5 Utility functions to support viewing
............................................................... 256
5.5.6 View construction functions
.............................................................. 261
5.5.7 Workstation utility functions
.......................................................................... 261
5.6 Structure content functions
................................................................. 272
5.7 Structure manipulation functions
.......................................................................... 274
5.8 Structure display functions
5.9 Structure archiving functions . 278
5.10 Input functions .
5.10.1 Pick support functions .
vi
OISO/IEC
ISO/IEC 9592=1:1997(E)
5.10.2 Local input device definition functions .
5.10.2.1 General .
5.10.2.2 Function definitions
.............................................................. 286
5.10.3 Initialization of input devices .
5.10.3.1 General .
5.10.3.2 Function definitions
.............................................................. 292
5.10.4 Setting the mode of input devices .
5.10.5 Request input functions .
5.10.5.1 General .
5.10.5.2 Function definitions .
5.10.6 Sample input functions .
5.10.6.1 General .
5.10.6.2 Function definitions .
5.10.7 Event input functions .
5.10.7.1 General .
5.10.7.2 Function definitions .
5.10.8 Local input operation functions .
5.10.9 Direct interpretation picking functions .
5.10.9.1 General .
5.10.9.2 Function definitions .
5.11 Metafile functions . 310
5.12 Inquiry functions . 312
5.12.1 Introduction . 312
5.12.2 Inquiry functions for operating state values . 313
5.12.3 Inquiry functions for PHIGS description table . 313
5.12.4 Inquiry functions for PHIGS state list . 314
5.12.5 Inquiry functions for workstation state list . 314
5.12.6 Inquiry functions for workstation description table . . 15
5.12.6.1 General . 315
5.12.6.2 Function definitions
.............................................................. 316
5.12.7 Inquiry function for structure state list
............................................. 317
5.12.8 Inquiry functions for structure content
............................................. 317
5.12.9 Inquiry functions for error state list
.................................................. 321
5.13 Error control functions .
5.14 Special interface function .
6 PHIGS data structures .
6.1 Notation and data types .
6.1.1 Notation .
6.1.2 Simple datatypes . 324
6.1.3 Compound datatypes . 325
6.1.4 Integer selection types . 332
6.1,5 Enumeration types . 342
6.1.6 Data records . 348
6.1.7 Combination of datatypes . 357
6.1.8 Variant datatypes . 357
.............................................................................
6.1.9 Language bindings 357
.......................................................................... 357
6.1.10 Coordinate systems
.............................................................................. 358
6.1.11 Permitted values
6.1.12 Alphabetic list of datatypes . 359
6.2 Operating state table . 363
6.3 PHIGS description table . 363
6.4 PHIGS traversal state list . 367
vii
OISO/IEC
ISO/IEC 9592=1:1997(E)
6.5 PHIGS state list . 368
6.6 Workstation state list . 369
6.7 Workstation description table . 384
6.8 Structure state list . 402
6.9 PHIGS error state list . 402
............................................................................ 402
6.10 Alphabetic list of entries
A Function Lists . 424
................................................................................................ 424
A.1 Introduction
A.1 Alphabetic list of functions . 424
B Error list . 434
B.1 Error list ordered by error number . 434
B.l.l Implementation dependent . 434
B.l.2 States . 434
B.l.3 Workstations . 434
B.l.4 Output attributes . 435
B.l.5 Transformations and viewing . 436
B.1.6 Structures . 437
B.1.7 Input . . . 437
B.1.8 Metafiles . 437
B.1.9 Escape . 438
B.1.10 Archive / retrieve . 438
B. 1.11 Miscellaneous . 438
B.1.12 Output primitives . 438
B.l.13 Texture output primitives . 438
B.l.14 System . 439
B.l.15 Reserved errors . 439
C Interfaces . . 440
C.1 Introduction . 440
C.2 Language binding .
C.3 Implementation .
........................................... 442
D Allowable differences in PHIGS implementations
D.l Introduction .
....................................................................................... 442
D.2 Global differences
............................................................ 443
D.3 Workstation dependent differences
...................................................................................... 448
E HLHSR considerations
...................................................................... 449
F Relationship of CGM and PHIGS
................................................................................................ 449
F.l Introduction
.......... ................................................................................................ 449
F.2 Scope
F.3 Overview of the differences between PHIGS and CGM . 449
....................................................................................... 449
F.4 Mapping concepts
F.4.1 Principles . 449
F.4.2 Workstations . 450
F.4.3 Picture generation . 450
F.4.4 Picture input . 450
F.4.5 Coordinates and clipping . 451
F.4.6 Workstation transformation . 451
G Colour models .
G.1 Introduction .
G.2 RGB colour model .
G.3 CIELUV colour model .
G.3.1 CIE XYZ colour space .
G.3.2 CIE 193 1 (Y,x,y) space .
. . .
VIII
OISO/IEC ISO/IEC 9592=1:1997(E)
G.3.3 The CIE 1976 (L*u*v*) CIELUV uniform colour space. . .456
G.3.4 Colour differences . 457
G.4 HSV colour model . 457
G.5 HLS colour model . 458
G.6 Conversion between colour models . 459
GA.1 CIE XYZ reference model . 459
G.6.2 Conversion between CIELUV and CIE XYZ models. . .459
G.6.3 Conversion between RGB and CIE XYZ models . 460
G.6.3.1 Derivation of conversion factors
........................................... 460
G.6.3.2 Conversion from RGB to CIE XYZ . 460
G.6.3.3 Conversion from CIE XYZ to RGB . 461
G.6.3.4 Representation of black . 461
G.6.3.4 Example conversion . 461
H Suggested reflectance formulae . 462
H.l Variable definitions and their sources . 462
H.l Reflection formulae . 462
I Attributes applying to each primitive . 464
J Inquiry error indicators and allowable states . 477
K Suggested depth cueing formulae . 484
K.1 Linear colour interpretation . 484
K.l Definitions . . .
.... ................................................................................................
K. 1 Formulae 484
...... ................................................................................................
L Bibliography 485
M Index of usage of datatypes . 486
N International standardized profiles
..................................................................... 508
0 Configurability . . . 509
ix
ISO/IEC 9592-l: 1997(E) OISO/IEC
Figure 1 - Layer model of PHIGS . 20
Figure 2 - Direct interpretation structure interpretation . 21
Figure 3 - CSS structure interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 4 - A hierarchical structure network . .*. 28
Figure 5 - A structure network with two posted structure networks
...................... .30
Figure 6 - PHIGS structure element processing architecture . 31
Figure 7 - PHIGS traversal process types . 32
Figure 8 - Posting group background styles . 34
Figure 9 - Posting group with TRANSPARENT background style.
..................... .35
Figure 10 - Effects of direct interpretation mode . 37
Figure 13 - Data that may be associated with a facet . 52
Figure 12 - Examples of area clipping . 53
Figure 11 - Area inside a polygon . . . . . . . . . . . . . . . . . . . . . . .~.~.
Figure 14 - A triangle set with data primitive . 55
Figure 15 - A triangle strip with data primitive . 55
Figure 16 - A quadrilateral mesh primitive . 56
Figure 17 - Parameter space mapping rules for trimming curves . 58
Figure 18 - Examples of valid trimming loops . 58
Figure 19 - Examples of invalid trimming loops . 59
Figure 20 - Mapping of CELL ARRAY 3 . 60
Figure 21 - Interpretation of a general colour . 65
Figure 22 - Selection of the XXX COLOUR attribute . 67
Figure 23 - Font description coordinate system . 73
Figure 24 - Effects of changes in the geometric text attribute
CHARACTER HEIGHT . 73
Figure 25 - Effects of changes in CHARACTER EXPANSION FACTOR. . .7 3
Figure 26 - Effects of changes in CHARACTER SPACING . 74
Figure 27 - Effects of changes in the geometric text attribute TEXTPATH. 4
Effects of changes in CHARACTER UP VECTOR
Figure 28 - . 75
Figure 29 - Effects of changes in horizontal TEXT ALIGNMENT . .75
Figure 30 - Effects of changes in vertical TEXT ALIGNMENT . 76
Figure 31 - Effects
...








Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...