Information processing systems — Computer graphics — Graphical Kernel System (GKS) functional description — Amendment 1

Systèmes de traitement de l'information — Infographie — Système graphique de base (GKS) — Description fonctionnelle — Amendement 1

General Information

Status
Withdrawn
Publication Date
27-Feb-1991
Withdrawal Date
27-Feb-1991
Current Stage
9599 - Withdrawal of International Standard
Completion Date
27-Oct-1994
Ref Project

Relations

Buy Standard

Standard
ISO 7942:1985/Amd 1:1991
English language
33 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

IS0
I NTER NATIONAL
STANDARD
First edition
1985-08-15
AMENDMENT 1
1991 -03-01
Information processing systems - Computer
graphics - Graphical Kernel System (GKSI
functional description
AMENDMENT 'I
Systèmes de traitement de l'information - Infographie - Système graphique de
base (GKSl - Description fonctionnelle
AMENDEMENT I
Reference number
IS0 7942 : 1985/Amd.l : 1991 (E)

---------------------- Page: 1 ----------------------
IS0 7942 : 1985/Amd.l : 1991 (E)
Foreword
IS0 (the International Organization for Standardization) and IEC (the International
Electrotechnical Commission) form the specialized system for worldwide standardiz-
ation. National bodies that are members of IS0 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. IS0 and IEC technical
committees collaborate in fields of mutual interest. Other international organizations,
IS0 and IEC, also take part in the
governmental and non-governmental, in liaison with
work.
In the field of information technology, IS0 and IEC have established a joint technical
committee, ISO/IEC JTC 1. Draft International Standards adopted by the joint
technical committee are circulated to the national bodies for voting. Publication as an
75 % of the national bodies casting
International Standard requires approval by at least
a vote.
International Standard IS0 7942/Amd. 1 was prepared by Joint Technical Committee
ISO/IEC JTC 1, Information technology,
O ISO/IEC 1991
All rights reserved. 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.
ISO/IEC Copyright Office Case postale 56 CH-1211 Genève 20 Switzerland
Printed in Switzerland

---------------------- Page: 2 ----------------------
IS0 7942 : 198WAmd.l: 1991 (E)
Information processing systems - Computer graphics -
Graphical Kernel System (GKS) functional description
AMENDMENT 1
Annex H is a new Annex and should be added following Annex G.
Annex H
(inform at ive)
The GKS session metafile
H. 1 Introduction
The Annex defines a metafile suitable for use with the Metafile Output and Metafile Input workstations of GKS.
H.2 Relation to other standards
The metafile definition draws extensively on the functionality and encoding defined in the Computer Graphics Metafile
(CGM IS0 8632 Parts 1 to 4) for version 2 metafiles.
H.3 Scope
This Annex defines a metafile suitable for use with the Metafile Output and Metafile Input workstations of GKS. It defines
a metafile which captures the dynamics of a GKS session. It is particularly suitable for transporting graphical information
from one GKS application to another and for applications where the individual graphics actions need to be replayed, with
6
optional editing. The functionality and encodings of the elements defined in this Annex have been taken from the CGM
standard where such elements are available. This Annex identifies those functions within GKS which need to be added to
those taken from the CGM standard to support the MO and MI workstations and defines the encodings for these elements.
The position of the elements in the metafile is defined in the formal grammar which is a part of this Annex.
H.4 Concepts
H.4.1 Introduction
The CGM standard (IS0 8632) defines a metafile for the capture of static structured picture definitions. It can be used for
static picture capture in the GKS environment. Since use of the CGM was not intended to be restricted to GKS
environments, there is not a one-to-one mapping between the functions of the two standards - CGM lacks some GKS
facilities while offering others not available in GKS.
In particular, some of the GKS control and segment manipulation functions have no counterparts in CGM because of their
potential dynamic effects. Exactiy these elements are added to the CGM elements such that this Annex defines a metafile for
GKS - based on CGM elements where possible - suitable for GKS session capture. As such it comprises a dynamic type of
metafile, which is beyond the scope of IS0 8632.
1

---------------------- Page: 3 ----------------------
IS0 7942 : 1985/Amd.l: 1991 (E)
H.4.2 GKS session metafile structure
The GKS session metafile consists of a single "session". It does not contain the concept of static pictures, as does IS0
8632. The two metafiles are conceptually different entities. To avoid potential confusion for generators and interpreters, the
two metafiles are given distinct delimiters which are uniquely encoded. The GKS session metafile uses the delimiters:
BEGIN GKS SESSION METAFILE
BEGIN GKS SESSION
END GKS SESSION METAFILE
The Metafile Description occurs between the first two of these, and the body of the session between the last two. Unlike
IS0 8632, there is no implication of clearing the display surface upon the Occurrence of any of these delimiters.
The BEGIN GKS SESSION METAFILE element is similar to the CGM BEGIN METAFILE element. It has a single
parameter, of type Wring", which is an identifier for implementation-dependent use. This is the first element of a GKS
Session Metafîle and shall appear exactly once.
BEGIN GKS SESSION has a single parameter of type "smng" which is available for implementation-dependent use. It
delimits the end of the Meîafile Description.
END GKS SESSION METAFILE has no parameters. It is the last element of the metafile and shall appear exactly once.
The GKS Session Metafile also differs from CGM in the concept of defaults. The CGM standard defines default values for
Metafile Descriptor, Picture Descriptor, Control, Attribute and Segment Attribute elements. All except the Metafile
Descriptor elements may appear in METAFILE DEFAULTS REPLACEMENT to redefine the default. Except for the
Metafile Descriptor, elements in a metafile conforming to IS0 8632 are defined to assume their default values upon BEGIN
PICTURE. This is contrary to the metafile model of GKS. There are no default values, either implicit or explicit, in the
GKS Session Metafile. The MO workstation shall write out all clipping and primitive attribute elements upon ACTIVATE
WORKSTATION. There are no defaults assumed by MO for workstation attribute or segment attribute or control elements.
This GKS Session Metafile follows GKS - there are no implicit defaults for any elements other than the Metafile Descriptor
elements. There are no explicit defaults, and the METAFILE DEFAULTS REPLACEMENT element from the CGM is not
used. The only two elements which may have defaults, VDC INTEGER PRECISION and VDC REAL. PRECISION, shall
be explicitly written by the MO workstation upon ACTIVATE WORKSTATION.
H.4.3 Mapping concepts
H.5 and H.6 present mappings between GKS functions and GKS Session Metafile elements. The concepts used to derive the
are described below.
mappings
H.4.3.1 Principles
The following principles are the basis of the GKS Session Metafile model and of the function mappings themselves:
a) conceptual compatibility with GKS;
b) compatibility with the design concepts of CGM and use of elements taken from CGM where possible;
c) extensibility of the element set taken from CGM to a GKS session capture metafile.
H.4.3.2 Workstations
The GKS Session Metafile is generated by a workstation of category MO. The GKS Session Metafile is read by a
workstation of category MI. Ceriain elements, such as the metafile descriptor and precision-setting elements, are viewed as
directives to the MI workstation, so that it may correctly read the metafile contents.
H.4.3.3 Coordinates and clipping
The coordinate space of the metafile, VDC, is conceptually identical to the NDC space of GKS. The MAXIMUM VDC
EXTENT allows the mapping of VDC of either type (real or integer) to the unit interval of NDC.
2

---------------------- Page: 4 ----------------------
IS0 7942 : 198WAmd.l: 1991 (E)
Clipping is always 'on' in the metafile, which is the default value of the CLIP INDICATOR element (hence CLIP
INDICATOR elements need never be written to the metafile). The CGM CLIP RECTANGLE element has either the value
of the 'clipping rectangle' entry of the GKS state list, or the MAXIMUM VDC EXTENT in VDC, depending upon whether
the 'clipping indicator' entry in the GKS state list is 'clip' or 'noclip' respectively. Because the VDC EXTENT element
always has the value of the GKS workstation window in VDC, the interpreter of the metafile has complete information to
achieve GKS clipping,
H.4.3.4 Workstation transformation
The workstation transformation is defined in GKS by setting a workstation window in device-independent NDC and a
workstation viewport in device-dependent DC. The workstation window is written to the metafile with the VDC EXTENT
element. The workstation viewport is written to the metafile with the WORKSTATION VIEWORT element.
H.4.3.5 Metafile element list
The metafile element list shorthand defined for use with GKS applications is the 'gks session all set'.
H.4.3.6 Relationship of fonts between CGM and GKS
The GKS standard includes the concepts of text output primitive atîributes. However, the mechanism for specifying the text
font differs from that specified in the CGM standard. This subclause defies the approach to handling these attributes within
the GKS environment, using the font mechanisms taken from CGM.
H.4.3.6.1 Overview of the differences between GKS and CGM fonts
While CGM supports the TEXT output primitive attribute functionality of GKS, a one-to-one mapping between CGM and
GKS is not possible in all cases. Specifically
a) GKS and CGM differ in the way fonts are defined. In the CGM text fonts are defined with the FONT LIST element that
associates font names or identifications with entries in a Font Table. In GKS, no mechanism is available for defining
text fonts. GKS associates a unique text font number with each font. The Registration Authority is responsible for
defining this mapping of font numbers to specific font identifications.
b) GKS and CGM differ in the way fonts are selected. In the CGM, text fonts are selected with the TEXT FONT INDEX
element. The index selects an individual font from different fonts in the font list. In GKS, text fonts are selected with a
font number. The font number selects a specific GKS registered font if the value is positive. If the font number is
negative an implementation-dependent font is selected.
In the CGM, the font and text precision are
c) GKS and CGM differ on the independence of font and text precision.
specified by independent elements. In GKS, the font and text precision are directly associated with specification by a
single function.
<9 The character set related elements CHARACTER SET LIST, CHARACTER CODING ANNOUNCER, CHARACTER
SET INDEX, ALTERNATE CHARACTER SET INDEX have no counterpart in GKS. GKS does not recognize the
concept of character set as a separate concept from the font concept.
H.4.3.6.2 Suggestion for interpretation of CGM font information by GKS
GKS environments interpreting a GKS metafile specify fonts with a font number. It is assumed that GKS maintains a list
associating positive font numbers with a GKS registered font name or identifier. Private font numbers (i.e. negative values)
must be maintained in an implementation-dependent list of associations. As the FONT LIST element is interpreted, an
additional list must be maintained that associates individual font names specified in the GKS metafile with a font index.
When the TEXT FONT INDEX element is interpreted, the font name associated with the font index is determined from the
list of currently used fonts. The font name is used to determine the GKS font number associated with this font from a list of
GKS registered fonts. This font number is used as the font parameter of the TEXT FONT AND PRECISION function. The
value of the precision parameter is taken from the TEXT PRECISION element.
3

---------------------- Page: 5 ----------------------
IS0 7942 : 198WAmd.l: 1991 (E)
H.4.3.6.3 Generating CGM font information from GKS
When generating font information from GKS via TEXT FONT AND PRECISION it is recommended that the generator also
writes the elements CHARACTER SET INDEX and ALTERNATE CHARACTER SET INDEX as well as TEXT FONT
MDEX and TEXT PRECISION. The generator is assumed to have a table associating the positive font numbers of GKS
with the registered names. The generator shall put a FONT LIST element in the Metafile Descriptor with the names of those
fonts referenced by positive GKS font numbers. Negative GKS font numbers are private and must be mapped to CGM font
indices which are positive and beyond the range of the table.
NOTE - To generate a minimal font list the metafile must be completely generated before the FONT LIST element can be
written.
H.4.4 Elements in the gks session all element set
Table 5 lists the elements included in this element set and indicates their derivation.
Table 5 - The derivation of elements in the gks-session-all set
Derivation Notes
Element name
a
GKS IS0 7942/Am.l
BEGIN GKS SESSION METAFILE
GKS IS0 7942/Am.l
BEGIN GKS SESSION
CGM IS0 8632/Am.l
BEGIN SEGMENT
CGM IS0 8632/Am. 1
END SEGMENT
GKS IS0 7942/Am.l
END GKS SESSION METAFILE
CGM IS0 8632/Am.l
etafile Descriptor Elements METAFILE VERSION
CGM IS0 8632/Am.l
METAFILE DESCRIPTION
CGM IS0 8632/Am.l
VDC TYPE
INTEGER PRECISION CGM IS0 8632/Am.l
CGM IS0 8632/Am.l
REAL PRECISION
iNDEX PRECISION CGM IS0 8632/Am.l
COLOUR PRECISION CGM IS0 8632/Am.l
COLOUR INDEX PRECISION CGM IS0 8632/Am.l
MAXUMUM COLOUR INDEX CGM IS0 8632/Am.l
CGM IS0 86321Am.l
COLOUR VALUE EXTENT
CGM IS0 8632/Am.l
METAFILE ELEMENT LIST
CGM IS0 8632/Am.l
FONT LIST
CGM IS0 8632/Am. 1
CHARACTER SET LIST
CGM IS0 8632/Am.l
CHARACTER CODING ANNOUNCER
CGM IS0 8632/Am.l
NAME PRECISION
UAXulUM VDC EXTENT CGM IS0 8632/Am.l
CGM IS0 8632/Am.l
SEGMENT PRIORITY EXTENT
None required
a
VDC INTEGER PRECISION CGM IS0 8632/Am.l
CGM IS0 8632/Am.l
VDC REAL PRECISION
CGM IS0 8632/Am.l
CLIP RECTANGLE
CGM IS0 8632/Am.l
VDCEXTENT
GKS IS0 7942
WORKSTATION VIEWPORT
GKS IS0 7942
CLEAR
GKS IS0 7942
UPDATE
GKS IS0 7942
DEFERRAL STATE
CGM IS0 8632/Am.l
Primitive Elements POLYLINE
POLïMARKER CGM IS0 8632/Am.l
TEXT CGM IS0 8632/Am.l
POLYGON CGM IS0 8632/Am.l
CELL ARRAY CGM IS0 8632/Am.l
CGM IS0 8632/Am.l
GDP
E
4

---------------------- Page: 6 ----------------------
IS0 7942 : 1985/Amd.l: 1991 (E)
Table 5 (concluded)
Notes
Derivation
Element name
Clement class -
CGM IS0 8632/Am.l
LINEBUNDLEINDEX
4ttribute Elements
CGM IS0 8632/Am.l
LINETïPE
CGM IS0 8632/Am.l
LINEWIDTH
CGM IS0 8632/Am.l
LINE COLOUR
CGM IS0 8632/Am.l
MARKER BUNDLE INDEX
CGM IS0 8632/Am. 1
MARKER TYPE
CGM IS0 8632/Am.l
MARKER SIZE
CGM IS0 8632/Am.l
MARKER COLOUR
CGM IS0 8632/Am. 1
TEXTBLJNDLEINDEX
CGM IS0 8632/Am.l
TEXT FONT INDEX
CGM IS0 8632/Am.l
TEXT PRECISION
CGM IS0 8632/Am.l
CHARACTER EXPANSION FACTOR
CGM IS0 8632/Am.l
CHARACTER SPACING
CGM IS0 8632/Am.l
TEXT COLOUR
CGM IS0 8632/Am. 1
CHARACTER HEIGHT
CGM IS0 8632/Am.l
CHARACTER ORIENTATION
CGM IS0 8632/Am.l
TEXT PATH
CGM IS0 8632/Am.l
TEXT ALIGNMENT
a
CGM IS0 8632/Am.l
CHARACTER SET INDEX
CGM IS0 8632/Am.l
ALTERNATE CHARACTER SET INDEX
CGM IS0 8632/Am.l
FILLBUNDLEINDEX
CGM IS0 8632/Am.l
INTERIOR STYLE
CGM IS0 8632/Am.l
FILL COLOUR
CGM IS0 8632/Am.l
HATCH INDEX
CGM IS0 8632/Am.l
PATTERN INDEX
CGM IS0 8632/Am.l
FILL REFERENCE POINT
CGM IS0 8632/Am. 1
PATTERN TABLE
CGM IS0 8632/Am.l
PATTERN SIZE
CGM IS0 8632/Am.l
COLOUR TABLE
CGM IS0 8632/Am.l
ASPECT SOURCE FLAGS
CGM IS0 8632/Am.l
LINE REPRESENTATION
CGM IS0 8632/Am. 1
MARKER REPRESENTATION
CGM IS0 8632/Am.l
TEXT REPRESENTATION
CGM IS0 8632/Am.l
FILL REPRESENTATION
CGM IS0 8632/Am.l
PICK IDENTIFIER
CGM IS0 8632/Am.l
Escape Element ESCAPE
CGM IS0 8632/Am.l
External Elements MESSAGE
CGM IS0 8632/Am.l
APPLICATION DATA
GKS IS0 7942
DELETE SEGMENT
Segment Control Elements
GKS IS0 7942
RENAME SEGMENT
a
GKS IS0 7942
REDRAW ALL SEGMENTS
CGM IS0 8632/Am.l
SEGMENT TRANSFORMATION
Segment Attribute Elements
GKS IS0 7942
SEGMENT VISIBILITY
CGM IS0 8632/Am.l
SEGMENT HIGHLIGHTING
CGM IS0 8632/Am.l
SEGMENT DISPLAY PRIORITY
CGM IS0 8632/Am.l
SEGMENT PICK PRIORITY
GKS IS0 7942
SEGMENT DETECTABILITY
NOTES
1 The values of these elements are identical m GKS Session Metafiles.
H.5 Metafile generation
H.5.1 Introduction
The tables in the subsequent sections show the mapping between the GKS functions and the GKS metafile elements listed in
table 5.
5

---------------------- Page: 7 ----------------------
IS0 7942 : 198WAmd.l: 1991 (E)
H.5.2 Control functions
Table 6 - The mapping of the control functions
GKS function I GKS Session Metafile element I Notes
OPEN WORKSTATION I BEGIN GKS SESSION METAFILE I
NOTES
1 The use of the 'identifier' parameter of BEGIN GKS SESSION METAFILE is implementation dependent.
2 See H.5.9.
3 The use of the 'identifier' parameter of BEGIN GKS SESSION is implementation dependent.
4 The attribute settings ensure that the metafile attributes in effect when the first graphical primitive element is encountered match the
current GKS attributes.
5 On activate workstation a CLIP RECTANGLE element is written to the metafile with the value MAXIMUM VDC EXTENT if the
'clipping indicator' entry in the GKS state list is 'noclip', or with values corresponding to the 'clipping rectangle' in the GKS state list
if the 'clipping indicator' entry in the GKS state list is 'clip'.
6 Action required flag is set to 'no action'.
H.5.3 Output Functions
Table 7 - The mapping of the output functions
GKS function I GKS Session Metafile element I Notes
POLYLINE I POLYLINE I
POLYMARKER POLYMARKER
TEXT TEXT
FILL AREA POLYGON
CELL ARRAY CELL ARRAY
NOTES
1 The text flag is set to 'final'.
2 Colours are selected by indexes pointing into the colour table.
6

---------------------- Page: 8 ----------------------
IS0 7942 : 198WAmd.l: 1991 (E)
H.5.4 Output attributes
Table 8 - The mapping of the output attributes
GKS function GKS Session Metafile element
SET POLYLINE INDEX LINE BUNDLE INDEX
SET LINETYPE LINE TYPE
SET LINEWIDTH SCALE FACTOR LINE WIDTH
SET POLYLINE COLOUR INDEX LINE COLOUR
SET POLYMARKER INDEX MARKER BUNDLE INDEX
SET MARKERTYPE MARKER TYPE
MARKER SIZE
SET MARKERSIZE SCALE FACTOR
SET POLYMARKER COLOUR INDEX MARKER COLOUR
SET TEXT INDEX TEXT BUNDLE INDEX
SET TEXT FONT AND PRECISION TEXT FONT INDEX
TEXT PRECISION
CHARACTER SET INDEX
ALTERNATE CHARACTER SET INDEX
SET CHARACTER EXPANSION FACTOR CHARACTER EXPANSION FACTOR
SET CHARACTER SPACING CHARACTER SPACING
SET TEXT COLOUR INDEX TEXT COLOUR
CHARACTER HEIGHT
SET CHARACTER HEIGHT
CHARACT ER ORIENTATION
SET CHARACTER UP VECTOR
SET TEXT PATH TEXT PATH
SET TEXT ALIGNMENT TEXT ALIGNMENT
SET FILL AREA INDEX FILL BUNDLE INDEX
SET FILL AREA INTERIOR STYLE INTERIOR STYLE
SET FILL AREA STYLE INDEX
HATCH INDEX
PATTERN INDEX
SET FILL AREA COLOUR INDEX FILL COLOUR
SET PATTERN SIZE PATTERN SIZE
SET PATTERN REFERENCE POINT FILL REFERENCE POINT
SET ASPECT SOURCE FLAGS ASPECT SOURCE FLAGS
SET PICK IDENTIFIER PICK IDENTIFIER
SET POLYLINE REPRESENTATION LINE REPRESENTATION
SET POLYMARKER REPRESENTATION MARKER REPRESENTATION
SET TEXT REPRESENTATION TEXT REPRESENTATION
SET FILL AREA REPRESENTATION FILL REPRESENTATION
SET PATTERN REPRESENTATION PATTERN TABLE
COLOUR TABLE
I SET COLOUR REPRESENTATION
NOTES
1 Widths and sizes are selected by scale factors.
2 Colours are selected by indexes pointing into the colour table.
3 GKS includes the notion of character set within 'font', whereas CGM separates the two concepts. When the value of 'font' in the GKS
state list changes, then the GKS metafile elements TEXT FONT INDEX, TEXT PRECISION, CHARACTER SET INDEX and
ALTERNATE CHARACTER SET INDEX are written to the metafile, each with the value of the 'font' and 'precision' entry in the
GKS state list. The CGM font index is determined as described sub-clause H.4.3.6.3. The elements shall appear consecutively in the
metafile but may appear in any order.
4 Legal values of the GKS 'fill area style index' differ depending upon whether the current interior style is 'hatch' or 'pattern'. Therefore, a
negative GKS style index results only on the generation of the HATCH INDEX element, and a positive value results in the generation
of both the HATCH INDEX and PATTERN INDEX elements.
7

---------------------- Page: 9 ----------------------
IS0 7942 : 198VAmd.l: 1991 (E)
H.5.5 Transformation functions
Table 9 - The mapping of the transformation functions
GKS function 1 GKS Session Metafile element I Notes
SET WINDOW
I CHARACTERHEIGHT I
(of currently selected CHARACTER ORIENTATION
I normalization I PAïTERN SUE
II
transformation) I FILL REFERENCE POINT I
SET VIEWPORT I CHARACTERHEIGHT I
(of currently selected CHARACTER ORIENTATION
I normalization I PATTERN SUE
II
transformation) FILL REFERENCE POINT
CLIP RECTANGLE (1)
SELECT NORMALIZATION CHARACTER HEIGHT
TRANSFORMATION CHARACTER ORIENTATION
PAT" SUE
1 FILL REFERENCE POINT
II
CLIP RECTANGLE (1)
SET CLIPPING INDICATOR CLIP RECTANGLE (2
SET WORKSTATION WINDOW VDC EXTENT (31
SET WORKSTATION VIEWPORT WORKSTATION VIEWPORT
NOTES
1 If the 'clipping rectangle' entry in the GKS state list is changed, then a CLIP RECTANGLE element is written to the metafile. The
element is written with the values of MAXIMUM VDC EXTENT if the 'clipping indicator' entry in the GKS state list is 'noclip', or
with values corresponding to the 'clipping rectangle' in the GKS state list if the 'clipping indicator' entry in the GKS list is 'clip'.
2 If the 'clipping indicator' entry in the GKS state list is changed, then a CLIP RECTANGLE element is written to the metafile. The
element is written with the values of MAXIMUM VDC EXTENT if the 'clipping indicator' entry in the GKS state list is changed to
'noclip', or with values corresponding to the 'clipping rectangle' in the GKS state list if the 'clipping indicator' entry in the GKS state
list is changed to 'clip'.
3 The position of the workstation window withiin the NDC unit square corresponds to the position of the VDC extent within the
maximum VDC extent.
H.5.6 Segment manipulation functions
Table 10 - The mapping of the segment manipulation functions
GKS function GKS Session Metafile element
CREATE SEGMENT BEGIN SEGMENT
CLOSE SEGMENT END SEGMENT
RENAME SEGMENT RENAME SEGMENT
DELETE SEGMENT DELETE SEGMENT
DELETE SEGMENT FROM
WORKSTATION DELETE SEGMENT
ASSOCIATE SEGMENT WITH
WORKSTATION BEGIN SEGMENT
(segment attributes,
primitives, attributes
and clip rectangle)
END SEGMENT
COPY SEGMENT TO WORKSTATION (transformed primitives,
attributes and clip rectangle)
INSERT SEGMENT (transformed primitives,
attributes and clip rectangle)
8

---------------------- Page: 10 ----------------------
IS0 7942 : 198WAmd.l: 1991 (E)
NOTES
The elemenîs may occur in any order.
1
2 The associated clipping rectangle.
3 Primitives transformed by the segment transformation.
Primitives transformed by the segment transformation followed by the insert transformation.
4
5 A clip rectangle corresponding to the clipping rectangle in the GKS state list if the 'clipping indicator' entry in the GKS state list is
'clip', or the corresponding [O,l]x[O,l] clip rectangle - which is the maximum VDC extent - if the 'clipping indicator' entry in the GKS
state list is 'noclip'.
H.5.7 Segment attributes
Table 11 - The mapping of the segment attributes
I GKS Session Metafile element I Notes
GKS function
SET SEGMENT TRANSFORM I SEGMENT TRANSFORMATION I
SET VISIBILITY SEGMENT VISIBLiTY
SET HIGHLIGHTING SEGMENT HIGHLIGHTING
SEGMENT DISPLAY PRIORITY (1)
SET SEGMENT PRIORITY
SEGMENT PICK PRIORITY (1)
SET DETECTABILITY SEGMENT DETECTABILITY
NOTES
1 The elements shall appear consecutively in the metafile but may appear in any order.
H.5.8 Metafile function
Table 12 - The mapping of the metafile function
GKS function I GKS Session Metafile element I Notes
WRITE ITEM TO GKSM I APPLICATION DATA I (1)
NOTES
The GKS item type is mapped to the application data identifier.
1
H.5.9 Metafile Description
At the head of a metafile is a set of Metafile Descriptor (MD) elements. It is useful to view these elements as forming a
Metafile Description Table (similar to the GKS and Workstation Description Tables in GKS).
In the GKS context, the description table shown in table 13 would be written at the beginning of a metafile. For the
elements which are listed as "i.d.", it is implementation dependent both whether the elements are included in the table -
except for the mandatory elements - and what values are assigned to the elements if they are written to the metafile. For
elements not written to the metafile the CGM default values apply.
9

---------------------- Page: 11 ----------------------
IS0 7942 : 198VAmd.l: 1991 (E)
Table 13 - The metafile descriptor elements
Description Element Element Value Mandatory
METAFILE VERSION 2 X
METAFILE ELEMENT LIST
Elements listed in H.4.4
or some known subset X
METAFILE DESCRIPTION i.d.
VDC TYPE i.d.
INTEGER PRECISION i.d.
REAL PRECISION i.d.
INDEX PRECISION i.d.
COLOUR PRECISION i.d.
1
COLOUR INDEX PRECISION id.
MAXIMUM COLOUR INDEX i.d.
COLOUR VALUE EXTENT i.d.
FONT LIST id.
CHARACTER SET LIST i.d.
CHARACTER CODING ANNOUNCER i.d.
NAME PRECISION i.d.
MAXIMUM VDC EXTENT i.d.
SEGMENT PRIORITY EXTENT
H.6 Metafile interpretation
H.6.1 Introduction
This sub-clause describes how metafile elements from a metafile of the set gks-session-all, generated by a GKS program
according to the mapping described in sub-clause H.5, are subsequently interpreted by the GKS INTERPRET ITEM function
andor the MI workstation.
Those CGM elements which do not map to a GKS item are viewed as directives to the MI workstation itself, so that it may
correctly read the metafile contents.
A number of the elements below are specified as causing GKS state list enaies to be set, and have parameters specified in
VDC (which corresponds to GKS NDC). The GKS state list entries are in world coordinates (WC). The VDC (NDC) are
mapped by the inverse of the current normalization transformation before the GKS state list values are set.
H.6.2 Delimiter elements
Table 14 - The mapping of delimiter elements
GKS Session Metafile element I GKS Metafile Interface I item I Notes
BEGIN GKS SESSION METAFILE I I- l (1)
END METAmLE END ITEM
O (2,
BEGIN GKS SESSION
81
BEGIN SEGMENT CREATE SEGMENT
:END SEGMENT CLOSE SEGMENT 82
NOTES
1 The first CGM element interpreted by the MI workstation. The metafile description immediately follows. Its elements inform the MI
workstation how to read the metafiie.
2 No further items may be read.
10

---------------------- Page: 12 ----------------------
IS0 7942 : 1985/Amd.l: 1991 (E)
H.6.3 Metafile descriptor elements
All elements in this class contain only directives to the MI workstation, their interpretation does not correspond to the
invocation of any GKS function.
Table 15 - The mapping of metafile descriptor elements
Item
GKS Session Metafile element GKS Metafile Interface
METAFlLE VERSION
METAFTLE DESCRIPTION
VDC TYPE
INTEGER PRECISION
REAL PRECISION
COLOUR PRECISION
COLOUR INDEX PRECISION
INDEX PRECISION
MAXIMUM COLOUR INDEX
COLOUR VALUE EXTENT
METAFILE ELEMENT LIST
FONT LIST
CHARACTER SET LIST
CHARACTER CODING ANNOUNCER
NAME PRECISION
MAXIMUM VDC EXTENT
,SEGMENT PRIORITY EXTENT
NOTES
1 The value of the parameter must be 2.
2 Used to normalize colour direct values to the continuous range of real numbers [OJ].
3 Used to normalize VDC range (i.e. NDC) and to allow the proper position of the VDC EXTENT (workstation window) within the
normalized VDC range (the unit square). Applies to VDC type 'integer' or 'real'.
4 Used to normalize segment priority to the continuous range of real numbers [OJ].
H.6.4 Control elements
Table 16 - The mapping of control elements
GKS Session Metafile element I GKS Metafile Interface I Item
VDC INTEGER PRECISION I I- I
VDC REAL PRECISION
CLIP RECTANGLE CLIPPING RECTANGLE 61
VDC EXTENT WORKSTATION WINDOW 71
WORKSTATION VIEWPORT WORKSTATION VIEWPORT R
CLEAR CLEAR WORKSTATION 1
UPDATE UPDATE WORKSTAïïON 3
DEFERRAL STATE DEFERRAL STATE 4
H.6.5 Graphical primitive elements
Table 17 - The mapping of graphical primitive elements
GKS Session Metafile element GKS Metafile Interface Item
Notes
POLYLINE POLYLINE 11
POLYMARKER POLYMARKER 12
TEXT TEXT
13 (1)
POLYGON FILL AREA 14
CELL ARRAY CELL ARRAY
15 (2)
GDP GDP 16
11

---------------------- Page: 13 ----------------------
IS0 7942 : 19WAmd.l: 1991 (E)
NOTES
1 The text flag should be 'fiial'.
2 Colours are selected by indices pointing into the colour table.
H.6.6 Attribute elements
Table 18 - The mapping of attribute elements
GKS Session Metafile element GKS Metafile Interface Item
LINE BUNDLE INDEX POLYLINE INDEX 21
LINE TYPE LINE TYPE 22
LINE WIDTH LINE WIDTH SCALE FACTOR 23
LINE COLOUR POLYLINE COLOUR INDEX 24
MARKER BUNDLE INDEX POLYMARKER INDEX 25
MARKER TYPE MARKER TYPE
a5
MARKER SIZE
MARKER SIZE SCALE FACTOR 27
MARKER COLOUR POLYMARKER COLOUR INDEX
28
TEXT BUNDLE INDEX TEXT INDEX
P
TEXT FONT INDEX AND PRECISION
TEXT FONT 30
TEXT PRECISION
TEXT FONT AND PRECISION 30
CHARACTER EXPANSION FACTOR CHARACTER EXPANSION FACTOR
31
CHARACTER SPACING
CHARACTER SPACING 32
TEXT COLOUR
TEXT COLOUR INDEX 33
CHARACTER HEIGHT CHARACTER VECTORS
34
CHARACTER ORIENTATION
CHARACTERVECTORS 34
TEXT PATH
TEXT PATH 35
TEXT ALIGNMENT T
...

Questions, Comments and Discussion

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