Information technology — Computer graphics — Interfacing techniques for dialogues with graphical devices (CGI) — Functional specification — Part 4: Segments

Defines those functions of the interface concerned with the creation, modification, and manipulation of graphic pictures using segments. Annexes A and B form an integral part of this standard. Annexes C and D are for information only.

Technologies de l'information — Infographie — Interfaces pour l'infographie — Spécifications fonctionnelles — Partie 4: Segments

General Information

Status
Published
Publication Date
17-Dec-1991
Current Stage
9093 - International Standard confirmed
Completion Date
08-Dec-2021
Ref Project

Buy Standard

Standard
ISO/IEC 9636-4:1991 - Information technology -- Computer graphics -- Interfacing techniques for dialogues with graphical devices (CGI) -- Functional specification
English language
41 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

ISOIIEC
INTERNATIONAL
STANDARD
9636-4
First edition
1991-12-15
Information technology - Computer graphics -
Interfacing techniques for dialogues with
graphical devices (CGI) - Functional
specification -
Part 4:
Segments
Technologies de I’information -. Infographie - Interfaces pour
I’infographie - Sp&ifications fonctionnelles -
Partie 4: Segments
Reference number
ISO/1 EC 9636-4: 199 1 (E)

---------------------- Page: 1 ----------------------
ISO/IEC 9636-4 : 1991 (E)
Contents
Page
iv
Foreword .
V
Introduction .
1
1 Scope .
2
2 Normative references .
3
3 Concepts .
3
3.1 Introduction .
....................... 3
3.1.1 Relationship of CG1 Segments to the graphic output Pipeline
3
3.2 Creating Segments .
3
3.2.1 Segment identifiers .
............................................................. 3
3.2.2 Creating and closing Segments
4
3.2.3 Non-retained data .
4
3.2.4 Segment storage Overflow .
4
3.3 Segment attributes .
4
3.3.1 Introduction .
5
3.3.2 Segment highlighting .
5
3.3.3 Segment visibility .
5
3.3.4 Segment detectability .
5
Segment display priority .
3.3.5
5
3.3.6 Segment pick priority .
6
3.3.7 Segment transformation .
6
3.4 Segment display .
6
Introduction .
3.4.1
6
Segment regeneration .
3.4.2
8
.........................................................................
3.4.3 Quick update methods
9
3.4.4 Explicit Segment display .
9
3.5 Copy Segment and the inheritance filter .
10
3.6 Delete and rename Segments .
10
3.7 Inquiry .
10
....................................................................................................
3.8 Picking
11
3.9 S tate restrictions .
12
.....................................................................
4 Interactions with other parts of ISO/IEC 9636
12
.......................................................................
4.1 Interactions with ISO/IEC 9636-2
12
...............................................................
4.1.1 INlTHZEandTERMINATE
....................................................................... 12
4.2 Interactions with ISO/IEC 9636-5
....................................................................... 12
4.3 Interactions with ISO/IEC 9636-6
13
5 Abstract specification of functions .
13
5.1 Introduction .
.......................................................................... 13
5.1.1 Data types employed
............................................................ 13
5.1.2 Validity of returned information
13
5.2 Segment manipulation functions .
13
5.2.1 GETNEWSEGMENTIDENTHER .
13
5.2.2 CREATESEGMENT .
14
REOPENSEGMENT .
5.2.3
14
.............................................................................
5.2.4 CUISESEGMENT
.............................................................................. 15
5.2.5 COPY SEGMENT
............................................................................ 16
5.2.6 DELETE SEGMENT -
.................................................................... 16
5.2.7 DELEIEALLSEGMENTS
17
5.2.8 RENAMEsEGMENT .
...................................................................... 17
5.2.9 DRAW ALL SEGMENTS
@ ISO/IEC 1991
All rights reserved. No part of this publication may be reproduced or utilized in any form or by
any means, electronie or mechanical, including photocopying and microfilm, without Permission
in writing from the publisher.
ISO/IEC Copyright Office l Case postale 56 l CH-121 1 Geneve 20 l Switzerland
Printed in Switzerland
11

---------------------- Page: 2 ----------------------
ISO/IEC 9636-4 : 1991 (E)
5.2.10 IMPLKIT SEGMENT REGENERATION MODE . 17
RESET REGENFWUION PENDING . 18
5.2.11
............................................................................. 18
5.2.12 PICKIDEN’TFIER
5.3 Segment attribute functions . 18
5.3.1 SEGMENT VISIBILITY . 18
............................................................
5.3.2 SEGMENT TRANSFORMATION 19
..................................................................
5.3.3 SEGMENT HIGHLIGHTING 19
5.3.4 SEGMENT DISPLAY PRIORITY . 19
5.3.5 SEGMENTDETECI’ABILII’Y . 20
SEGMENT PICK PRIORITY . 20
5.3.6
Miscellaneous Segment functions . 20
5.4
SIMULATE PICK . 20
5.4.1
INHERITANCEFILTER . 21
5.4.2
CLIPPING INHERITANCE . 23
5.4.3
............................................................................................. 24
6 Segment inquiry functions
................................................................................................. 24
6.1 Introduction
Data types employed . 24
6.1.1
Validity of retumed information . 24
6.1.2
................................................................................ 24
6.2 Segment description table
INQUIRE SEGMENT CAPAFHUTY . 24
6.2.1
25
6.3 Segment state list .
6.3.1 INQUIRE SEGMENT STATE . 25
6.3.2 INQUIRE LIST OF INHERITANCE FILTER SETTINGS . 25
6.3.3 INQUIRECLIPPINGINHERIIANCE . 25
6.3.4 INQUIRE LIST OF SEGMENT IDENTIFIERS IN USE . 25
6.4 Individual Segment state list . 26
6.4.1 INQUIREINDMDUALSEGMENTSTATE . 26
7 CG1 description tables and state lists . 27
7.1 Description tables . 27
7.2.1 Segment state list . 28
................................................................
7.2.2 Individual Segment state list 28
A Formal grammar of the functional specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
B Segment errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
C Guidelines to implernentors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
C Examples of COPY SEGMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
. . .
111

---------------------- Page: 3 ----------------------
ISO/IEC 9636-4 : 1991 (E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the
speciahzed System for worldwide standardization. National bodies that are members of ISO or IEC participate in the
development of International Standards through technical committees established by the respective organization to deal with
particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other
international organizations, govemmental and non-govemmental, in liaison with ISO and IEC, also take part in the work.
In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. Draft
International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
International Standard ISO/IEC 9636-4 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information
technology.
ISO/IEC 9636 consists of the following parts, under the general title Information technology - Computer graphics -
Interfacing techniques for dialogues with graphical devices (CGZ) - Functional specification:
- Part 1: Overview, profiles, and conformance
- Part 2: Control
-Part 3: Output
-Part 4: Segments
-Part 5: Input and echoing
- Part 6: Raster
Annexes A and B form an integral part of this part of ISO/IEC 9636. Annexes C and D are for information only.

---------------------- Page: 4 ----------------------
ISO/IEC 9636-4 : 1991 (E)
Introduction
This part of ISO/IEC 9636 describes the functions of the Computer Graphits Interface concemed with segment storage.
The functionality incorporated in this part of ISO/IEC 9636 is concemed with creating, modifying, and manipulating graphic
pictures using segments.
The functional&y described in this part of ISO/IEC 9636 pertains to Virtual Devices of class OUTPUT and OUTIN.

---------------------- Page: 5 ----------------------
This page intentionally left blank

---------------------- Page: 6 ----------------------
ISO/IEC 9636-4 : 1991(E)
INTERNATIONAL STANDARD
Information technology - Computer graphics -
Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification -
Part 4:
Segments
1 Scope
This part of ISO/IEC 9636 defines those functions of the Computer Graphits Interface concemed with the creation,
modification, and manipulation of graphic pictures using Segments.
This part of ISO/IEC 9636 is part 4 of ISO/IEC 9636, and should be read in conjunction with ISO/IEC 9636-1,
ISO/IEC 9636-2, and ISO/IEC 9636-3. The relationship of this part of ISO/IEC 9636 to the other parts of ISO/IEC 9636 is
described in ISO/IEC 9636-1 and in clause 4.
The functionality described in this part of ISO/IEC 9636 pertains to Virtual Devices of class OUTPUT and OUTIN.

---------------------- Page: 7 ----------------------
ISO/IEC 9636-4 : 1991 (E)
2 Normative references
The following Standards contain provisions which, through reference in this text, constitute provisions of this part of
ISO/IEC 9636. At the time of publication, the editions indicated were valid. All Standards are subject to revision, and Parties
to agreements based on this part of ISO/IEC 9636 arc encouraged to investigate the possibility of applying the most recent
editions of the Standards listed below. Members of IEC and ISO maintain registers of currently valid International Standards.
ISO 7942 : 1985 In&ormation processing Systems - Computer graphics - Graphical Kerne1 System (GKS) functional
description.
ISO/IEC 9636- 1 : 199 1 Information technology - Computer graphics - Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification -Part 1: Overview, Profites, and conformance.
ISO/IEC 9636-2 : 1991 Information technology - Computer graphics - Interfacing techniques for dialogues with graphical
devices (CGI} - Functional specification - Part 2: Control.
- Interfacing techniques for dialogues with graphical
ISO/IEC 9636-3 : 1991 Information technology - Computer graphics
devices (CGI) - Functional specification - Part 3: Output.
ISO/IEC 9636-5 : 1991 Information technology - Computer graphics - Inteflacing techniques for dialogues with graphical
devices (CGI) - Functional specification -Part 5: Input and echoing.
ISO/IEC 9636-6 : 199 1 Information technology - Computer graphics - Interfacing techniques for dialogues with graphical
devices (CGI) - Functional specification - Part 6: Raster.
- Inteflacing techniques for dialogues with graphical
ISO/IEC 9637-1 : -V Information technology - Computer graphics
- Data stream binding - Part 1: Character encoding.
devices (CGI)
- Interfacing techniques for dialogues with graphical
ISO/IEC 9637-2 : -V Information technology - Computer graphics
devices (CGI) - Data stream binding - Part 2: Binary encoding.
l) To be published.
2

---------------------- Page: 8 ----------------------
ISODEC 9636-4 : 1991 (E)
3 Concepts
3.1 Introduction
This part of ISO/IEC 9636 specifies how graphic objects may be grouped in segments and be identified by a unique Segment
identifier. The graphic objects stored in Segments are composed of graphic primitives with associated attribute values. This
part of ISO/IEC 9636 defines a set of functions for creating, modifying, and manipulating Segments. This functionality is
divided into the following areas:
Segment manipulation functions, including Segment creation, deletion, renaming, and copying. Graphit objects may
also be appended to the end of an existing Segment. Graphit objects within a segment, however, cannot be modified
or deleted.
Segment attribute functions, including modification of Segment attributes (e.g. transformation, visibility). Some
Segment attributes affect the rendered appearance of Segments and tan be a basis for feedback during graphic picture
manipulation. Other attributes affect how input concepts and segments are associated in support of pick input.
Segment inquiry functions, by which access is provided to the information in the description tables and state lists
concemed with Segments.
Relationship of CG1 Segments to the graphic output Pipeline
The overview of the CG1 Graphit Object Pipeline presented in ISO/IEC 9636-1, clause 5, describes the relationship between
Segments and the Pipeline. Additional details are described in this part of ISO/IEC 9636 in connection with the particular
functional areas that are affected.
3.2 Creating Segments
3.2.1 Segment identifiers
Esch Segment has a unique Segment identifier associated with it. The client tan refer to a specific Segment by using its
associated Segment identifier. Once a Segment is deleted, the identifier that was associated with it may be reused for another
Segment definition. The Segment identifier associated with a Segment may be changed with the RENAME SEGMENT
function. The Maximum Number of Simultaneously Existing Segments entry in the Segment Description Table indicates the
number of Segments which may coexist at one time (this number is implementation-dependent). The List of Segment
Identifiers in use may be inquired from the Segment State List.
The client provides a Segment identifier as a Parameter to the CREATE SEGMENT function used to create a new Segment.
For cases in which the client does not wish to keep a record of which identifiers are available, the function GET NEW
SEGMENT IDENTIFIER is provided. This function will retum an available Segment identifier. A Segment identifier is a
Parameter of most of the functions defined in this part of ISO/IEC 9636.
3 2.2 Creating and closing Segments
Segments are created when the CREATE SEGMENT function is invoked. This is the only means of creating a Segment. A
Segment is opened by CREATE SEGMENT and the Segment Open State entry in the Segment State List is set to YES.
There tan be at most one Segment open at any one time. While a segment is open, graphic objects passed along the Graphit
Object Pipeline are stored in the Segment (a process termed Segment definition) and rendered on the drawing surface if the
Segments Visibility attribute is VISIBLE. The open Segment is closed by invoking the function CLOSE SEGMENT and the
Segment Open State entry in the Segment State List is set to NO (see figure 1).
An existing Segment may be reopened at a later time with the REOPEN SEGMENT function. When reopened, subsequent
graphic objects are appended to the open Segment using the same conceptual mechanism as when the Segment was created. A
reopened Segment is closed by invoking the function CLOSE SEGMENT.

---------------------- Page: 9 ----------------------
ISO/IEC 9636-4 : 1991 (E)
Concepts
Creating segments
Any function which may Cause Segment
CREATE S\EGMENT
overflow, e.g. COPY SEGMENT, when
REOPEN SEGMENT
such fimctions Causes Segment overflow
/ J
CLOSE SEGMENT
DELETE ALL SEGMENTS,
[DELETE SEGMENT]
NOTE - DELETE SEGMENT will Change the state from YES or OVERFLOW
to NO only if the currently open segment is deleted.
Figure 1 - Segment Open state transitions
Note that objects stored in Segments have associated with them all applicable individual attribute values independent of the value
of the corresponding ASF value. Thus by changing the ASF (by means of INHERITANCE FILTER, see 3.5), it is still possible to
display the Object with the individual attribute value associated on creation even when the corresponding ASF value was initially
BUNDLED.
3.2.3 Non-retained data
Any graphic Object passing along the Pipeline when there is no Segment open is termed non-retained data. Such graphic objects
are rendered onto the drawing surface in the usual manner as described in ISO/IEC 9636-3. However, non-retained data is never
rendered again as a result of implicit or explicit regeneration.
3.2.4 Segment storage overflow
Segment storage Overflow may occur when storing graphic objects in Segments. If Overflow occurs, all graphic objects Prior to
the first Object that Causes the Overflow are stored in the Segment. The graphic Object causing the ovefflow as well as graphic
objects following the Segment storage Overflow and Prior to Segment closure are rendered as non-retained data and a class 6 error
is generated.
Once an Overflow has occurred, the Segment Open State in the Segment State List is set to OVERFLOW. Invoking CLOSE
SEGMENT, DELETE SEGMENT, or DELETE ALL SEGMENTS is the only way to Change the Segment Open State from
OVERFLOW to NO (other than by INITIALIZE) (see figure 1).
Segment storage overflow may also occur when a Segment is created or reopened. In this case, the CREATE SEGMENT or
REOPEN SEGMENT function is ignored, a class 6 error is generated, and graphic objects following the Segment storage
Overflow and before the Segment is closed are rendered as non-retained data.
3.3 Segment attributes
3.3.1 Introduction
The Segment attribute values associated with a particular Segment affect that segment’s rendering and pick input properties. A
segment’s attribute values, including Segment Transformation, are set by default when the Segment is initially created and tan be
changed individually at any time while the Segment still exists. Segment attribute values may be inquired from the Individual
Segment State Lists.
4

---------------------- Page: 10 ----------------------
ISO/IEC 9636-4 : 1991 (E)
Segment attributes Concepts
The rendering of graphic objects within a Segment while the Segment is being defined depends on the segment’s attributes of
Visibility, Highlighting, Display Priority, and Segment Transformation, and the current setting of the Implicit Segment
Regeneration Mode. For example, if Visibility is set to INVISIBLE before the creation of the first graphic Object to be stored
in the Segment, the Segment is not rendered. If Visibility is changed part way through the Segment definition and the Implicit
Segment Regeneration Mode is SUPPRESSED, each new Object will be rendered as it is received without regard to the
Display Priority attribute.
3.3.2 Segment highlighting
The Highlighting attribute of a Segment tan take the values NORMAL or HIGHLIGHIED. The form in which highlighting
is represented is implementation-dependent. However, the appearance of a segment when highlighted shall be different from
when it is not. When a segment’s highlighting attribute is changed, all of the graphic objects of the Segment are displayed
based on the Implicit Segment Regeneration Mode and the segment’s Display Priority. (See 3.4.)
3.3.3 Segment visibility
The Visibility attribute of a Segment tan take the value of INVISIBLE or VISIBLE. When a segment’s Visibility attribute is
set to be VISIBLE, all of the graphic objects of the segment are displayed based upon the Implicit Segment Regeneration
Mode and the segment’s Display Priority. A Segment tan be picked if and only if it is both VISIBLE and DETECTABLE. If
Segment storage overflow occurs, objects following the Segment storage Overflow and before the Segment is closed wilI be
rendered as non-retained data independent of the value of the Visibility attribute.
3.3.4 Segment detectability
The Detectability attribute of a Segment tan take the value of UNDETECTABLE or DETECTABLE. Segment detectability
does not affect the display or appearance of Segments. A Segment tan be picked if and only if it is both VISIBLE and
DETECTABLE.
3.3.5 Segment display priority
The Display Priority attribute of a Segment determines how overlapping Segments are displayed. In general, Segments with
higher display priorities will be displayed as if they were in front of Segments with lower display priorities. This part of
ISO/IEC 9636 allows latitude in cases where overlapping Segments have the same display priority. The preferred behaviour is
as follows:
The effective relative display priority of a set of overlapping segments having the same display priority value is
consistent with their relative creation time Order. In particular, the most recently created Segments will appear in
front of Segments created earlier (this is consistent with the effect of drawing the same graphic objects as non-
retained data in the same Order as the Segments were created). Reopening a segment does not Change the effective
relative display priority of the Segment.
The Effective Relative Display Priority entry in the Segment Description Table indicates the supported capability, as follows:
- A level of TIME ORDER indicates that the most recently created Segment is displayed in front, as described above;
- A level of TIME ORDER - REOPEN is similar to TIME ORDER, except that a Change in the effective relative
display priority is possible for a Segment if subsequently reopened;
- A level of OTHER indicates that there is no guaranteed effective relative display priority behaviour.
The SEGMENT DISPLAY PRIORITY function is used to Change the display priority of a Segment. When a Segments
Display Priority is changed, the Segments display is based on the Implicit Segment Regeneration Mode and the new Display
Priority. (See 3.4.)
3.3.6 Segment pick priority
The Pick Priority attribute of a Segment is used to resolve the picking of Segments which overlap. If two or more Segments
overlap and the pick location is within the intersection of these Segments, the Segments picked will be one, or more, of those
with the highest pick priority. The returned list of pick values (see 5.4.1 and PICK input in ISO/IEC 9636-5) corresponds to
all those Segments having the highest identical pick priority and are retumed in Order of decreasing display priority.
5

---------------------- Page: 11 ----------------------
ISO/IEC 9636-4 : 1991 (E)
Concepts Segment attributes
3.3.7 Segment transformation
The Segment Transformation attribute specifies a coordinate transformation to be applied to the graphic objects contained in
the Segment. This transformation allows scaling, translation, and rotation of Segments. The Segment transformation is a
transformation of VDC space to VDC space and is distinct from the VDC-to-Device Mapping (see ISO/IEC 9636-2, 3.3),
which is a transformation of VDC space to DC space.
The Segment Transformation attribute is set by the SEGMENT TRANSFORMATION function. This function simply
replaces the Segment Transformation attribute associated with a particular segment. A segment transformation is composed sf
a 2x2 scaling and rotation portion and a 2x1 translation portion. The default Segment Transformation for each Segment is the
identity transformation.
The Segment Transformation attribute is associated with the graphic objects of a segment when they enter into the graphic
Object pipeline. This associated transformation is then applied during the rendering of the graphic objects.
A graphic Object is transformed by the transformation resulting from the concatenation of the Segment transformation and the
object’s transformation attribute before the application of the VDC-to-Device Mapping. The method of concatenation is such
that the final effect during rendering is as if the object’s transformation attribute was applied first, followed by application of
the segment transformation. This transformation is applied to the graphic object’s VDC point data and all associated attributes
having VDC paramaterizations, with the exception of the associated Clip rectangle.
NOTE - If the client wishes to accumulate or concatenate transformations for the purpose of setting the Segment
Transformation attribute, it is necessary to do this above the CGI. The use of Segment transformations may produce
coordinates that cannot be expressed within the VDC range; this is handled in an implementation-dependent way.
3.4 Segment display
3.4.1 Introduction
Segment display is the process which produces a visible image on a drawing surface from the graphic objects in a Segment.
The functions COPY SEGMENT and DRAW ALL SEGMENTS provide for the display of Segments, individually and
collectively. Segments may also be displayed implicitly, under some circumstances, without using the above functions (see
3.4.2).
In addition to the attributes associated with the graphic objects stored in Segments, the Highlighting, Visibility, Display
Priority, and Segment Transformation attributes of Segments affect the appearance of the displayed segment.
Some devices cannot immediately Change a picture. A Plotter for example tan only add to a picture; the Plotter would need to
advance the Paper and redraw the picture to show the effect of a Change of Segment Transformation. Similarly, a Change of a
Segments Display Priority attribute might Cause different sections of a picture to become visible or obscured, and Visibility
and Highlighting attributes may also Cause the picture to alter.
On devices which cannot erase or Change part of a picture, Implicit Segment Regeneration Mode of SUPPRESSED is more
efficient in terms of time and material. Implicit Segment Regeneration Mode in combination with the Visibility attribute
gives the client the ability to accumulate picture changes. At some later time, the client tan explicitly utilize PREPARE
DRAWING SURFACE and DRAW ALL SEGMENTS.
3.4.2 Segment regeneration
C
...

Questions, Comments and Discussion

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