📄 rfc965.txt
字号:
redefinitions.Aguilar [Page 11]RFC 965 December 1985A 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 GKSMAguilar [Page 12]RFC 965 December 1985A 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 theAguilar [Page 13]RFC 965 December 1985A 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 1985A 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 sequenceAguilar [Page 15]RFC 965 December 1985A 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 identifierAguilar [Page 16]RFC 965 December 1985A Format for a Graphical Communication Protocol SELECT COMPONENT | 'GKSM 132' | L | I | P | Select component P of object I I(c): object identifier P(i): pick id of component This is used to select a group of output primitives identified by P in a segment associated with I. ERASE COMPONENT | 'GKSM 133' | L | I | P |
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -