1

Defect Report Number: 8632-1/064

2

Submitter: Henderson/Gebhardt

3

Addressed to: JTC1/SC 24/WG 6 Rapporteur Group on ISO/IEC 8632, CGM

4

WG secretariat: NNI

5

Date Circulated by WG secretariat: 21 July 1998

6

Deadline on response from editor: : 3 August 1998

7

Defect Report concerning IS 8632:1992 Computer Graphics: Metafile for the storage and transfer of picture description information (CGM) Part 1, Functional

specification.

8

Qualifier (e.g. error, omission, clarification required): Omission

9

References in document (e.g. page, clause, figure and/or table numbers): Application structure elements, clause 4.13 (p.17 of AM2:1995), Begin Application Structure, clause 5.2.18 (p.19 of AM2:1995).

10

Nature of defect (complete, concise explanation of the perceived problem):

The definition of Version 4 Application Structures (APS) provides no way to continue the definition of an application structure, or "reopen" an application structure once an END APPLICATION STRUCTURE element has been encountered for a given identifier. Since the sequence of graphical primitives determines the display order, and the appearance of the picture, it is impossible, in general, to group primitives into an application structure without the potential of changing the graphical representation of the picture. This has created complications, for example, in cases where a picture is the projection to 2D of a 3D graphic. A single graphical object which can be defined by a sequence of contiguous elements in 3D, may in fact be represented in 2D by multiple disjoint subsequences of contiguous elements.

This was an oversight which was not appreciated in the original design of Version 4 CGM.

This problem could be mitigated in some cases by the existence of a Continue APS or Reopen APS functionality. Such a functionality could be realized in an upwardly compatible manner, without the addition of new CGM elements, as follows: the APS ‘identifier’ parameter need not be unique for all application structures within a picture. In the case that a second and possibly subsequent occurrences of an APS with a previously used identifier are encountered within a picture, then these occurrances are construed as continuing the definition of the APS where the identifier was first encountered. This solution is straighforward in the case of context-dependent APSs (inheritance flag = ‘state list’) as the graphical context is not affected by the presence of APSs. However, in the case of context-independent APSs (inheritance flag=’application structure’), the graphical context must be reset appropriately for subsequent occurrences of such an APS.

11

Solution proposed by the submitter (optional):

Change the definition of Application Structures so that the identifier parameter may be non-unique within a picture, and this is construed as continuing the definition of the Application Structure.

Specific changes for Part 1, Functional Specification:

  1. Application structure elements, clause 4.13 (p.17 of AM2:1995). In 4.13.1, delete "unique" from the third paragraph and add a new paragraph to the end: "If a BEGIN APPLICATION STRUCTURE element is encountered with an ‘identifier’ parameter which matches the identifier of another BEGIN APPLICATION STRUCTURE in the same picture, then the second (and any subsequent) occurrence shall be construed as continuing the definition of the APS begun by the first occurrence. The location of the APS in any possible hierarchy of Application Structures shall be defined by the first occurrence of a BEGIN APPLICATION STRUCTURE element with the given identifier. An APS with a given identifier may not be nested within an APS with the same identifier. An APS with a given identifier shall not match the identifier of an APS in another picture in the same metafile. The 'type' and 'inheritance' parameters of the BEGIN APPLICATION STRUCTURE element of any continued APS shall match the values present on the first occurrence of the APS."
  2. In 4.13.2, add to the end of the third sentence "(see 4.13.1 regarding the mechanism of continuing the definition of Application Structures)".
  3. In 4.13.4, Change the first sentence to: "The graphic primitive context at the beginning of an APS is determined by the value of the inheritance flag parameter of the BEGIN APPLICATION STRUCTURE element of the first occurrence of the APS with a given identifier." Add the following sentence immediately before the penultimate sentence: "The graphic primitive context at the beginning of subsequent occurrences of a context-independent APS with the same value of the identifier parameter shall be the graphic primitive context at the occurrence of the END APPLICATION STRUCTURE element of the immediately prior APS with the same identifier value."
  4. Add a paragraph to the end of 4.13.5: "In the case that the definition an Application Structure is continued across several disjoint APS fragments in the metafile (see 4.13.1), APPLICATION STRUCTURE ATTRIBUTE elements may occur in the header sections of any of the APS fragments. Such continued or fragmented APS definitions shall ultimately define a single logical application structure. APS attributes shall be construed as associated with the entire structure, i.e., no APPLICATION STRUCTURE ATTRIBUTE element shall be construed as applying only to the fragment in which it occurs."
  5. Begin Application Structure, clause 5.2.18 (p.19 of AM2:1995). Add after the third sentence, "See 4.13.1 regarding the mechanism for continuing the definition of Application Structures, by repeating the use of the unique APS identifier on subsequent BEGIN APPLICATION STRUCTURE elements within the same picture." Add after the penultimate sentence, "See 4.13.4 regarding the inheritance of graphic primitive context in Application Structures with continued definitions."
  6. End Application Structure, clause 5.2.20 (p.20 of AM2:1995) Add after the second sentence, "However, the definition of an Application Structure may be continued using the mechanism described in 4.13.1".

12

Editor's response (any material proposed for processing as a technical corrigendum to, an amendment to, or a commentary on the International Standard or DIS final text is attached separately to this completed report):

Amend the standard as proposed above.