⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc965.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:

      One way to meet the aforesaid requirements is by including in an
      IGCF the means to represent object hierarchies. In such a
      hierarchy an object is a set of output primitives associated with
      a set of attribute values or a set of lower-level objects, each
      associated with a composition of transformations [12].

      Graphics segments can be used to implement objects in the lowest
      level of a hierarchy. The definition of a higher-level object can
      be represented by sequences of IGCF elements describing the
      definition process. Such a definition can be done by instantiating
      lower-level objects with specific transformation parameters. Thus
      an IGCF must incorporate brackets to mark the beginning and end of
      object definitions, object instantiations, and object
      redefinitions.


Aguilar                                                        [Page 11]



RFC 965                                                    December 1985
A Format for a Graphical Communication Protocol


      In order to complement the mechanism for object definition, an
      IGCF must permit the use of a flexible alphabet for creating
      object identifiers that ensure the uniqueness of an identifier in
      a hierarchy. The construction of the object identifiers is not
      part of an IGCF, an IGCF only has to represent the identifiers.
      Further, an identifier has to be independent of a communication
      session and a particular graphics system so that identifiers
      created at a host during one session can be used, in other
      sessions possibly involving other hosts, to recall the objects
      they label.

      We also leave to the communicating systems the implementation of
      mechanisms to resolve duplicate identifiers when merging two
      hierarchies, created in different sessions. In this paper we shall
      limit ourselves to the warning that segment numbers do not qualify
      as identifiers because they depend on the session and state of the
      system in which they are created.

      In addition to object definition and instantiation, an IGCF should
      have elements representing operations on objects. The operations
      so far identified are: transformation, deletion, display,
      disappearance, expose, and hide. Expose is used to uncover objects
      on a screen that are hidden by other objects; hide is used to
      place an object behind others on a screen.

IV.  A PROPOSED IGCF

   A. Using the GKSM as a Basis

      An IGCF must be usable to transmit all graphical actions in a
      conference session. This suggests to base an IGCF on a standard
      session-capture graphics metafile, thus ensuring compatibility
      with a large user population. We have based the proposed IGCF,
      PIGCF, on the GKSM session-capture metafile specification because
      GKSM contains many of the elements identified for an IGCF [14]. In
      addition, the audit trail orientation of GKSM permits the
      recording of interactive communication sessions for later play
      out, and this is a feature that we anticipate will be frequently
      used.

      The GKSM is a proper subset of our PIGCF and thus any graphical
      system developed to handle the PIGCF, can read a GKSM metafile.
      Conversely, the applications using the PIGCF should have an option
      for constraining session recording only to the GKSM part, possibly
      suppressing some session events.  By doing so, we will be able to
      ship a GKSM metafile to any correspondent who has GKSM



Aguilar                                                        [Page 12]



RFC 965                                                    December 1985
A Format for a Graphical Communication Protocol


      interpretation software.  Alternatively, an application with a
      GKSM interpreter but without an PIGCF interpreter can read a PIGCF
      file interpreting only the GKSM part and ignoring the rest.

      Whereas the GKSM was specified for the GKS system, we believe that
      the GKSM is a sound and general basis for all of our 2-D
      applications. We feel that the GKSM specification is not parochial
      to GKS systems but contains all the most useful items desired in a
      metafile. In the future, we expect to tackle applications
      requiring 3-D, like interactive repair and maintenance aids. When
      GKS be augmented with 3-D capabilities [13], we will extend the
      PIGCF with any necessary elements.

      We are aware that the GKSM specification is not part of the GKS
      standard itself but is an appendix recommending such a metafile
      format. Nevertheless, all the GKS vendor implementations that we
      know of, at the present time, support GKSM metafile output and
      interpretation. If this trend continues, as we expect, we will be
      able to exchange graphical files with a large base of GKS
      installations. There will indeed be many of them since GKS will be
      adopted as an standard by ISO and by many national standard bodies
      in the near future.

   B. Positional Information Coordinates

      Following the GKSM convention, the PIGCF positional information is
      in normalized device coordinates, NDC. Thus the originator of a
      conference must indicate the workstation window for the
      conference. This window is the sub-rectangle of the NDC space
      enclosing the area of interest for the conference. In most cases,
      the participating workstations will take this window as their own.
      However, the graphical systems should provide for the possibility
      of a workstation choosing a different workstation window, which
      may contain the conference window or just overlap it. Except for
      special cases, a conference originator should not state a
      conference workstation viewport. In this manner, each workstation
      can display its workstation viewport in the most convenient
      portion of the screen.

      There will be conferences where the participating workstations
      will maintain the positional information in world coordinates, WC.
      It might be necessary to reconstruct the world dimensions after
      transmission because such dimensions have a relevant meaning for
      the application, like sizes of components or distances. In this
      case, a workstation will have to map from WC to NDC before
      transmitting and from NDC to WC after receiving. At the outset,
      the conference originator has to specify the world window and the


Aguilar                                                        [Page 13]



RFC 965                                                    December 1985
A Format for a Graphical Communication Protocol


      NDC viewport used in the conference in order for the conferencing
      workstations to do such mappings. These mappings could be done by
      the presentation layer, in terms of the ISO Open Systems
      Interconnection Reference Model, in a manner that is transparent
      to the communicating application programs.

      Most often all workstations will have the same world windows and
      NDC viewports. However, the graphical systems will provide for the
      possibility of a workstation choosing a different window or
      viewport, but such workstation will have to record the conference
      ones for doing the aforesaid mappings. There are graphical
      systems, like the ACM Core, that do not provide for a workstation
      transformation. In such systems, the NDC viewport is considered to
      be the workstation window for the aforesaid mappings.

   C. Layers of the PIGCF

      There are two levels in the PIGCF a lower level L and an upper one
      U. The lower level L is just the GKSM metafile specification as
      defined in Appendix E of the proposed GKS ANSI standard [14].  We
      have excerpted most of Appendix E of [14] at the end of this RFC
      as our Appendix A.  All level L elements belong to the update
      Group-1 except: SET DEFERRAL STATE, the output primitive attribute
      elements, the workstation attribute elements, CLIPPING RECTANGLE,
      CREATE SEGMENT, CLOSE SEGMENT, RENAME SEGMENT, SET SEGMENT
      PRIORITY, and SET DETECTABILITY.

      The upper level U is those elements that we believe complement the
      GKSM for general on-line graphical exchanges. This layering
      conforms to the graphics metafile level-structure described in
      Enderle et. al [15]. Under such structuring, an application
      oriented metafile can be based on graphical metafiles.

   D. PIGCF Elements in the Level U

      The level U items are encoded as GKSM user item elements so that a
      PIGCF file will conform to the GKSM metafile specification.
      Accordingly, a PIGCF file will be a GKSM metafile in its entirety.
      We use the same formatting conventions as the GKSM specification.
      Those unfamiliar with these conventions should read the beginning
      of the appendix. The following items belong to the second update
      group: the two items for object definition, the two items for
      object redefinition, the two items for object instantiation, the
      two items for normalization transformation, SELECT COMPONENT, and
      RECALL LIBRARY. The remaining items belong to the first update
      group.



Aguilar                                                        [Page 14]



RFC 965                                                    December 1985
A Format for a Graphical Communication Protocol


      Items for Object Definition

         BEGIN DEFINITION

            | 'GKSM 120' | L |

            Indicates beginning of object definition sequence

         END DEFINITION

            | 'GKSM 121' | L | I |

            Indicates end of object definition sequence. I(Nc): object
            identifier ( N preceding c, i, r means an arbitrary number
            of characters, integers, or reals.) Objects defined
            interactively are made visible on the screen; i.e. they are
            automatically instantiated. If only the definition is to be
            kept but not the image, a DISAPPEAR item must follow.

         BEGIN REDEFINITION

            | 'GKSM 122' | L | I |

            Indicates beginning of object redefinition sequence
            I(Nc): object identifier

         END REDEFINITION

            | 'GKSM 123' | L |

            Indicates end of object redefinition sequence

      Items for Object Instantiation

         BEGIN INSTANTIATION

            | 'GKSM 124' | L | I |

            Indicates beginning of object instantiation sequence
            I(Nc): Object identifier

         END INSTANTIATION

            | 'GKSM 125' | L |

            Indicates end of object instantiation sequence



Aguilar                                                        [Page 15]



RFC 965                                                    December 1985
A Format for a Graphical Communication Protocol


      Items for Object Manipulation

         TRANSFORM OBJECT

            | 'GKSM 126' | L | C | I | M |

            Apply transformation M to object I
            C: number of characters in identifier
            I(Nc): object id
            M(6r): upper and center rows of a 3x3 matrix representing
                   a 2D homogeneous transformation [12].
                   M 11 M 12 M 13 M 21 M 22 M 23

         DELETE OBJECT

            | 'GKSM 127' | L | I |

            I(Nc): object identifier

         DISPLAY OBJECT

            | 'GKSM 128' | L | I |

            Turn on visibility of object I
            I(Nc): object identifier

         DISAPPEAR OBJECT

            | 'GKSM 129' | L | I |

            Turn off visibility of object I
            I(Nc): object identifier

         EXPOSE OBJECT

            | 'GKSM 130' | L | I |

            Redisplay object I on top of any overlapping objects
            I(c):  object identifier

         HIDE OBJECT

            | 'GKSM 131' | L | I |

            Redisplay object I behind any overlapping objects
            I(c):  object identifier



Aguilar                                                        [Page 16]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -