Information processing systems — Computer graphics — Programmer's Hierarchical Interactive Graphics System (PHIGS) — Part 1: Functional description

Systèmes de traitement de l'information — Infographie — Interface de programmation du système graphique hiérarchisé (PHIGS) — Partie 1: Description fonctionnelle

General Information

Status
Withdrawn
Publication Date
19-Apr-1989
Withdrawal Date
19-Apr-1989
Current Stage
9599 - Withdrawal of International Standard
Start Date
20-Nov-1997
Completion Date
20-Nov-1997
Ref Project

RELATIONS

Buy Standard

Standard
ISO/IEC 9592-1:1989 - Information processing systems -- Computer graphics -- Programmer's Hierarchical Interactive Graphics System (PHIGS)
English language
153 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

ISOIIEC
INTER NATIONAL
9592-1
STANDARD
First edition
1989-04-01
Information processing systems - Computer
graphics - Programmer's Hierarchical
Interactive Graphics System (PHIGS) -
Part 1 :
Fu nc t iona I description
Systèmes de traitement de l'information - Infographie - Interface de
programmation du système graphique hiérarchisé (PHIGS) -
Partie 1 : Description fonctionnelle
Reference number
IÇO/IEC 9592-1 : 1989 (E)
---------------------- Page: 1 ----------------------
ISO/IEC 9592-1 : 1989 (E)
Page
Contents

0 Introduction ............................................................................................................ 1

1 Scope and field of application ...................................................................................... 3

2 References .............................................................................................................. 4

3 Definitions .............................................................................................................. 5

The Programmer’s Hierarchical Interactive Graphics System ............................................... 15

About this part of ISOB[Ec 9592 ............................................................................ 15

4.1

Specification and conformance ......................................................................... 15

4.1.1

4.1.2 Registration ................................................................................................ 15

4.2 Overview ......................................................................................................... 16

4.3 Concepts ......................................................................................................... 18

4.3.1 PHIGS concepts ........................................................................................... 18

Relationship to IS0 7942 (GKS) and IS0 8805 (GKS3D) ...................................... 20

4.3.2

4.3.3 Notational conventions ................................................................................... 20

The centralized structure store ............................................................................... 22

4.4

Structure elements and structures ...................................................................... 22

4.4.1

4.4.2 Structure networks ........................................................................................ 24

Structure traversa1 and display .......................................................................... 25

4.4.3

4.4.4 Structure editing ........................................................................................... 28

Manipulation of structures in CSS ..................................................................... 29

4.4.5

4.4.6 CSS search and inquiry ................................................................................... 30

Structure archival and retrieval ......................................................................... 32

4.4.7

Generalized Structure Elements (GSE) ............................................................... 33

4.4.8

4.4.9 Application data ........................................................................................... 33

4.5 Graphical output ................................................................................................ 34

Structure elements and output primitives ............................................................. 34

4.5.1

4.5.2 Output primitive attributes .............................................................................. 38

4.5.3 Polyline attributes ......................................................................................... 43

4.5.4 Polymarker attributes ..................................................................................... 43

4.5.5 Text attributes ............................................................................................. 44

4.5.6 Annotation text attributes ............................................................................... 55

4.5.7 Text extent and concatenation .......................................................................... 55

4.5.8 Fill area attributes ......................................................................................... 58

4.5.9 Fill area set attributes .................................................................................... 62

4.5.10 Cell array attributes ..................................................................................... 63

4.5.11 Generalized drawing primitive attributes ............................................................ 63

4.5.12 Colour ...................................................................................................... 63

4.5.13 View index ................................................................................................ 64

4.5.14 Hidden line / hidden surface removal (HLHSR) identifier ..................................... 64

O ISO/IEC 1989

All rights reserved . No part of this publication may be reproduced or utilized in any form or by

or mechanical. including photocopying and microfilm. without permission
any means. electronic
in writing from the publisher .
ISOAEC Copyright Office . Case postale 56 CH-121 1 Genève 20 Switzerland
Printed in Switzerland
---------------------- Page: 2 ----------------------
ISOAEC 9592-1 : 1989 (E)

4.5.15 Name set attribute ....................................................................................... 64

4.5.16 Minimal simulations ..................................................................................... 65

4.5.17 Degenerate primitives ................................................................................... 65

4.6 Workstations .................................................................................................... 67

4.6.1 Workstation characteristics .............................................................................. 67

4.6.2 Workstation selection .................................................................................... 68

4.6.3 Controlling picture changes ............................................................................. 68

4.6.4 Clearing the display surface ............................................................................. 75

4.6.5 Sending messages to a workstation .................................................................... 75

.................. 76

4.6.6 Hidden line / hidden surface removal ..................................... ........

.................. 77

Coordinate systems and transformations ....................................... ........

4.7

4.7.1 Coordinate system handedness ............................................. ........ .................. 77

........ .................. 77
4.7.2 Modelling transformations and clipping ..................................

4.7.3 Modelling utility functions .................................................. ........ .................. 79

........ .................. 80

4.7.4 Viewing .........................................................................

4.7.5 Viewing utility functions ...................... .............................. ........ ................ 84

4.7.6 Workstation transformation .................. ......................................... ................ 90

4.7.7 Transformation of locator input ............. ......................................... ................ 92

.........................................
4.7.8 Transformation of stroke input .............. ................ 93
......................................... ................ 95
4.8 Graphical input ......................................
......................................... ................ 95
4.8.1 Introduction to logical input devices ........
.......................................................... 96
4.8.2 Logical input device model ....................

Operating modes of logical input devices ............................................................. 97

4.8.3

Measures of each input class .......................................................................... 100

4.8.4

Input queue and current event report ............................................................... 101

4.8.5

4.8.6 Initialization of input devices .......................................................................... 102

4.8.7 Locator and stroke input using 2D input ............................................................ 104

4.9 PHIGS metafile interface ................................................................................... 105

4.10 PHIGS states ................................................................................................. 107

4.11 Inquiry functions ............................................................................................ 108

4.12 Error handling ............................................................................................... 109

4.13 Special interfaces between PHIGS and application program ........................................ 112

4.14 Minimum support criteria .................................................................................. 113

5 PHIGS Functional Specification ................................................................................. 116

5.1 Notational conventions ....................................................................................... 116

5.2 Control functions .............................................................................................. 117

5.3 Output primitive functions .................................................................................. 122

5.4 Attribute specification functions ........................................................................... 132

5.4.1 Bundled attribute selection ............................................................................ 132

5.4.2 Individual attribute selection .......................................................................... 133

5.4.3 Aspect source flag setting .............................................................................. 150

5.4.4 Workstation attribute table definition ............................................................... 150

5.4.5 Workstation filter definition ........................................................................... 158

5.4.6 Colour model control ................................................................................... 159

5.4.7 HLHSR attributes ....................................................................................... 160

Transformation and clipping functions ........................................................ ........... 161

5.5
........... 161

5.5.1 Modelling transformations and clipping .................................................

5.5.2 View operations .............................................................................. ........... 165

5.5.3 Workstation transformation ............................................................... ........... 167

5.5.4 Utility functions to support modelling ................................................... ........... 169

5.5.5 Utility functions to support viewing ...................................................... ........... 176

Structure content functions .................................................................................. 179

5.6

Structure manipulation functions .......................................................................... 185

5.7

Structure display functions .................................................................................. 188

5.8

Structure archiving functions ............................................................................... 190

5.9

5.10 Input functions ............................................................................................... 197

Pick identifier and filter ............................................................................... 197

5.10.1

Initialization of input devices ........................................................................ 197

5.10.2
...
111
---------------------- Page: 3 ----------------------
ISO/IEC 9592-1 : 1989 (E)

Setting the mode of input devices ................................................................... 215

5.10.3

Request input functions ............................................................................... 218

5.10.4

Sample input functions ................................................................................ 221

5.10.5

5.10.6 Event input functions .................................................................................. 225

5.11 Metafile functions ........................................................................................... 230

5.12 Inquiry functions ............................................................................................. 232

5.12.1 Introduction ............................................................................................. 232

5.12.2 Inquiry functions for operating state values ....................................................... 232

5.12.3 Inquiry functions for PHIGS description table ................................................... 233

5.12.4

Inquiry functions for PHIGS state list .............................................................. 235

5.12.5

Inquiry functions for workstation state list ........................................................ 238

5.12.6 .............................................. 259 .
Inquiry functions for workstation description table

5.12.7 Inquiry function for structure state list ............................................................. 288

5.12.8 Inquiry functions for structure content ............................................................. 289

5.12.9 Inquiry functions for error state list ................................................................ 300

5.13 Error control functions ......................................................................

.............. 302

5.14 Special interface function ...................................................................

.............. 304

6 PHIGS data structures ............................................................................. .............. 305

6.1 Notation and data types ...................................................................... .............. 305

6.2 Operating states ................................................................................ .............. 308

6.3 PHIGS descriiition table ...................................................................... .............. 309

PHIGS traversal state list .................................................................................... 312

6.4

PHIGS state list ............................................................................................... 314

6.5

Workstation state list ......................................................................................... 316

6.6

Workstation description table .............................................................................. 320

6.7

6.8 Structure state list ............................................................................................. 326

6.9 PHIGS error state list ........................................................................................ 327

Annexes

A Function Lists ...................................................................................................... 328

A.l Alphabetic ..................................................................................................... 328

A.2 Order of appearance ......................................................................................... 334

B Error list ............................................................................................................. 341

B.l Implementation dependent ................................................................................. 341

B.2 States ............................................................................................................ 341

B.3 Workstations .................................................................................................. 341

B.4 Output attributes ............................................................................................. 341

Transformations and viewing ............................................................................... 342

B.5

B.6 Structures ...................................................................................................... 342

B.7 Input ............................................................................................................ 343

B.8 Metafiles ....................................................................................................... 343

B.9 Escape .......................................................................................................... 343

B.10 Archive / retrieve ........................................................................................... 343

B.11 Miscellaneous ................................................................................................ 344

B.12 System ......................................................................................................... 344

B.13 Reserved errors .............................................................................................. 344

C Interfaces ............................................................................................................ 345

C.l Introduction ................................................................................................... 345

C.2 Language Binding ............................................................................................ 345

C.3 Implementation ............................................................................................... 346

.......................................................... 348
D Allowable differences in PHIGS implementations

D.l Introduction ................................................................................................... 348

D.2 Global differences ............................................................................................ 348

Workstation dependent differences ....................................................................... 349

D.3

E The PHIGS viewing model ...................................................................................... 352

F PHIGUGKS differences .......................................................................................... 353

---------------------- Page: 4 ----------------------
ISO/IEC 9592-1 : 1989 (E)

G HLHSR considerations ........................................................................................... 355

Relationship of CGM and PHIGS ............................................................................. 356

H.l Introduction ................................................................................................... 356

H.2 Scope ........................................................................................................... 356

H.3 Overview of the differences between PHIGS and CGM ............................................. 356

H.4 Mapping concepts ............................................................................................ 357

H.4.1 Principles ................................................................................................. 357

H.4.2 Workstations ............................................................................................. 357

H.4.3 Picture generation ...................................................................................... 358

H.4.4 Picture input ............................................................................................. 358

H.4.5 Coordinates and clipping .......................................................................... ... 359

H.4.6 Workstation transformation ....................................................................... ... 359

... 360

H.4.7 Colour table ..........................................................................................

H.4.8 Set representation ................................................................................... ... 360

H.5 Metafile generation ...................................................................................... ... 360

H.5.1 Control functions ................................................................................... ... 360

H.5.2 Structure traversal ...................................................................................... 362

H.5.3 Metafile description .................................................................................... 363

H.5.4 User items ................................................................................................ 364

H.6 Interpretation of CGM by PHIGS ........................................................................ 364

Mapping between item types and elements ............................................................. 366

H.7
............... 367

I Colour models .......................................................................................

............... 367

1.1 Introduction ....................................................................................

............... 368

1.2 RGB colour model ............................................................................

............... 368

1.3 CIELUV colour model .......................................................................

............... 368

CIE XYZ colour space ..................................................................

1.3.1
............... 369

CIE 1931 (Y.x. y) space .................................................................

1.3.2
............... 372
The CIE 1976 (L*u*v*) CIELUV uniform colour space .........................
1.3.3

1.3.4 Colour differences ....................................................................................... 373

HSV colour model ............................................................................................ 374

1.4

1.5 HLS colour model ............................................................................................. 375

Conversion between colour models ........................................................................ 375

1.6

1.6.1 CIE XYZ reference model ............................................................................. 375

............................. 376
1.6.2 Conversion between CIELW and CIE XYZ models ..............
............................. 376
1.6.3 Conversion between RGB and CIE XYZ models ...................
............................. 376
1.6.3.1 Derivation of conversion factors ...................................
............................. 377
1.6.3.2 Conversion from RGB to CIE XYZ ..............................
............................. 377
1.6.3.3 Conversion from CIE XYZ to RGB ..............................

1.6.3.4 Representation of black ............................................. ............................. 377

1.6.3.5 Example conversion ................................................................................ 377

---------------------- Page: 5 ----------------------
ISO/IEC 9592-1 : 1989 (E)
Foreword

IS0 (the International Organization for Standardization) and IEC (the International

Electrotechnical Commission) together form a system for worldwide standardization as

a whole. National bodies that are members of IS0 or IEC participate in the develop-

ment of International Standards through technical committees established by the

respective organization to deal with particular fields of technical activity. IS0 and IEC

technical committees collaborate in fields of mutual interest. Other international

organizations, governmental and non-governmental, in liaison with IS0 and IEC, also

take part in the work.

In the field of information technology, IS0 and IEC have established a joint technical

committee, ISOAEC JTC 1. Draft International Standards adopted by the joint

technical committee are circulated to national bodies for approval before their accep-

tance as International Standards. They are approved in accordance with procedures

requiring at least 75 070 approval by the national bodies voting.
International Standard ISOAEC 9592-1 was prepared by Joint Technical
Committee ISOAEC JTC 1, Information technology.

Users should note that all International Standards undergo revision from time to time

and that any reference made herein to any other International Standard implies its

latest edition, unless otherwise stated.

ISO/IEC 9592 consists of the following parts, under the general title Information

processing systems - Computer graphics - Programmer’s Hierarchical Interactive
Graphics System (PHZGS) :
- Part 1 : Functional description
- Part 2: Archive file format
- Part 3: Clear-text encoding of archive file

Annex D forms an integral part of this part of ISOAEC 9592. Annexes A, B, C, E, F,

G, H, I are for information only.
---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD ISOAEC 9592-1 : 1989 (E)
Information processing systems - Computer graphics -
Programmer’s Hierarchical Interactive Graphics System
(PHIGS) -
Part 1 :
Functional description
O Introduction

The Programmer’s Hierarchical Interactive Graphics System (PHIGS) provides a set of functions for

- definition, display and modification of 2D or 3D graphical data,
- definition, display and manipulation of geometrically related objects,

- modification of graphics data and the relationships between the graphical data.

This International Standard draws extensively on GKS (Graphical Kernel System IS0 7942) and GKS3D

(Graphical Kernel System for Three Dimensions IS0 8805) for its model and functionality. In addition

this International Standard enables graphical (and application) data to be stored in a hierarchical data

store. Information in the data store can be inserted, modified and deleted with the provided functions.

The relationship of this part of ISO/IEc 9592 to GKS and GKS-3D is further described in 4.3.2.

The choice of which graphics standard to use will depend on a number of factors: application profile,

overall system architecture, equipment available, existing application database interaction, system perfor-

mance considerations, user interface requirements, management policy and other external factors. The

aim of producing a compatible set of graphics standards in GKS, GKS-3D and PHIGS is to allow that

choice to be made in the most flexible way.

The main reasons for introducing a standard in this area of computer graphics are

a) to allow application programs using dynamic hierarchical graphics to be easily portable between in-

stallations,

b) to aid the understanding and use of dynamic hierarchical graphics methods by application program-

mers;

c) to reduce program development costs and time; many of the functions currently performed by the

application program will now be performed by PHIGS;

d) to serve manufacturers of graphics equipment as a guideline in providing useful combinations of

graphics capabilities in a device.
To meet these objectives, a number of design principles were adopted:
---------------------- Page: 7 ----------------------
ISO/IEC 9592-1 : 1989 (E)
Introduction

e) Consistency: the mandatory requirements of PHIGS should not be mutually contradictive.

f) Compatibility: this Standard will be compatible with GKS and GKS3D except when technical rea-

sons justify differences.
g) Orthogonality: the functions should be independent of each other.

h) Completeness: all the functions necessary for application programs to use a dynamic hierarchical

graphics system should be included.

i) Minimality: redundant functions are only supported where their availability enables application pro-

grams to improve performance or where some collection of capabilities is frequently used.

j) Programmer Experience: those using PHIGS should have a working knowledge of computer graph-

ics.

k) Error Handling: error conditions should be minimized, and their impact well defined.

1) Device Independence: PHIGS should allow an application program to address facilities of different

graphics input and output devices with minimal changes to the application program.

m) Device Dependence: PHIGS should allow an application program to address specific graphics input

and output devices in a direct manner.

n) Implementability: it should be possible to support PHIGS functions using most languages on most

operating systems.

O) Efficiency: PHIGS should be capable of being implemented and executed without consuming undue

amounts of computer resources.

p) Interaction: Some application programs will require realtime or near-realtime response from

PHIGS. PHIGS will not exclude such application programs though specific graphics devices and dedi-

be necessary.
cated computer resources may

Annexes A to C and E to I are given for information; they do not form part of this part of ISO/IEC 9592.

---------------------- Page: 8 ----------------------
ISOAEC 9592-1 : 1989 (E)
1 Scope and field of application

This part of ISO/IEC 9592 specifies a set of functions for computer graphics programming, the

Programmer’s Hierarchical Interactive Graphics System (PHIGS). PHIGS is a graphics system for appli-

cation programs that produce computer generated pictures on line graphics or raster graphics output dev-

ices. It supports operator input and interactions by supplying
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.