Object-oriented graphics : from GKS and PHIGS to object-oriented systems
Author(s)
Bibliographic Information
Object-oriented graphics : from GKS and PHIGS to object-oriented systems
(Symbolic computation, . Computer graphics--systems and applications)
Springer-Verlag, c1990
- : gw
- : us
Available at 26 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Note
Includes bibliographical references and index
Description and Table of Contents
Description
At present, object-oriented programming is emerging from the research labora- tories and invading into the field of industrial applications. More and more products have been implemented with the aid of object-oriented programming techniques and tools, usually as extensions of traditional languages in hybrid development systems. Some of the better known examples are OSF-Motif, News, Objective-C on the NeXT computer, the C extension C++, and CLOS an object- oriented extension of LISP. All of these developments incorporate interactive graphics. Effective object-oriented systems in combination with a graphics kernel- does it mean that the field of computer graphics has now become merely an aspect of the object-oriented world? We do not think so. In spite of interesting individual developments, there are still no sound object-oriented graphics sys- tems available. If it is desired to develop a complex graphics application embed- ded in a window-oriented system then it is still necessary to work with elemen- tary tools.
What is to be displayed and interactively modified inside a window must be specified with a set of graphics primitives at a low level, or has to be written with a standardized graphics kernel system such as GKS or PHIGS, i. e. , by kernels specified and implemented in a non-object-oriented style. With the terms GKS and PHIGS we enter the world of international graphics standards. GKS and PHIGS constitute systems, not mere collections of graphics primitives.
Table of Contents
1 Introduction.- 1.1 Object-Oriented Languages and Tools.- 1.1.1 Support of Graphics.- 1.2 Guidelines for the Design of a Graphics System.- 1.2.1 Transforming the Mental Model into Programming Code.- 1.2.2 Using the Advantages of the Object-Oriented Approach.- 1.3 Overview.- 1.3.1 What Does the Book Concentrate on?.- 2 Object-Oriented Concepts.- 2.1 Objects and Messages.- 2.2 The Class.- 2.2.1 Implementation Descriptions.- 2.3 Message Passing.- 2.3.1 How Can an Object Call Itself?.- 2.3.2 Additional Mechanisms for Message Passing.- 2.3.3 Polymorphism.- 2.4 Inheritance.- 2.4.1 Hierarchical Inheritance.- 2.4.2 Multiple Inheritance.- 2.5 The Smalltalk-80 Programming Environment.- 2.5.1 Programmers' Support in Smalltalk-80.- 2.5.2 Frequently Used Classes and Methods.- 2.5.3 Messages Understood by All Objects.- 2.5.4 Multiple References, Copy Methods.- 2.6 Summary of the Basic Concepts.- 3 Object-Oriented Interface Architecture.- 3.1 Application Framework as Generic Application.- 3.1.1 Disadvantages of Conventional Toolboxes.- 3.1.2 Modification of an Existing Application.- 3.1.3 The Generic Application.- 3.1.4 GINA - A Generic Interactive Application.- 3.1.5 Generic Applications and Graphics Systems.- 3.2 The Model-View-Controller Triad.- 3.2.1 Separation of the Interface.- 3.2.2 Building up the MVC Triad.- 3.2.3 Predefined Classes.- 3.2.4 Establishing Communication.- 3.2.5 The Example of a Counter.- 4 Smalltalk-80 Graphics Kernel.- 4.1 Output Primitives.- 4.1.1 Generation and Instantiation of Primitives.- 4.1.2 Editing and Inquiry Methods.- 4.1.3 Merge Constraint.- 4.1.4 Examples.- 4.1.5 Derivation of New Primitives.- 4.1.6 Primitive Attributes.- 4.2 Generation and Display of Graphics Objects.- 4.2.1 Posting.- 4.2.2 Graphics Input.- 4.2.3 Interactive Generation of an Output Primitive.- 4.2.4 Limitations of Hierarchical Inheritance.- 4.2.5 Comments.- 5 GKS and Object-Oriented System Design.- 5.1 Goals of Standardization.- 5.2 A Short Review of the Main GKS Features.- 5.2.1 The GKS Layer Model.- 5.2.2 Output Primitives.- 5.2.3 Segments.- 5.2.4 Assignment of Primitive Attributes.- 5.2.5 Conceptual Differences Between Primitives and Segments.- 5.2.6 Graphics Input.- 5.3 The Structure of a GKS Program.- 5.3.1 One-to-One GKS Language Binding for Smalltalk-80.- 5.4 Object-Oriented Modifications.- 5.4.1 Segments as Objects.- 5.4.2 Output Primitives as Objects.- 5.5 Guidelines for an Object-Oriented Kernel.- 5.6 An Extended Layer Model.- 5.6.1 Using Inheritance.- 5.6.2 Communication Between Application and Kernel.- 5.7 Assignment of Attributes.- 5.7.1 Attribute Assignment in GKS and PHIGS.- 5.7.2 Facilities of Object-Oriented Systems.- 5.8 Summary.- 6 Graphics Part Hierarchies.- 6.1 Introduction.- 6.2 Part Hierarchies and Computer Graphics.- 6.2.1 Requirements.- 6.2.2 Criteria for Ideal System Support.- 6.2.3 Combination With Other Semantics.- 6.2.4 Manipulation of Part Hierarchies.- 6.3 MacDraw and Part Hierarchies.- 6.3.1 Main Features.- 6.3.2 Semantics of the Part Hierarchy.- 6.3.3 Generation and Editing of Primitives.- 6.3.4 Discussion.- 7 PHIGS and Part Hierarchies.- 7.1 Drawbacks of the GKS Model.- 7.2 Motivation for an Extended Functionality.- 7.3 PHIGS Components.- 7.3.1 Construction and Editing Structure Networks.- 7.3.2 References to Substructures.- 7.3.3 Posting.- 7.3.4 Assignment of Primitive Attributes.- 7.3.5 Transformations.- 7.3.6 Visibility, Detectability, Highlighting.- 7.3.7 Interaction.- 7.3.8 Centralized Structure Store.- 7.4 Modeling Part Hierarchies in PHIGS.- 8 GEO++.- 8.1 Goals and Motivation.- 8.1.1 Integration in the Extended Layer Model.- 8.1.2 Support for Part Hierarchies.- 8.2 GEO++ Model.- 8.2.1 Parts.- 8.2.2 Building Patterns.- 8.2.3 Construction of Parts and Navigation.- 8.2.4 Attributes.- 8.2.5 Editing.- 8.3 Functional Overview by an Example.- 8.3.1 The Insert Process.- 8.3.2 Parts.- 8.3.3 Navigation.- 8.3.4 Attributes for Primitives, Groups and Parts.- 8.3.5 Set Operations.- 8.3.6 Editing.- 8.3.7 Partial Instantiation, Merge.- 8.3.8 Copy Operation.- 8.3.9 Graphics Input.- 8.3.10 Additional Remarks.- 9 Programming Examples.- 9.1 Office Layout Application Programmed With PHIGS.- 9.1.1 Construction of the Screen Layout.- 9.1.2 Interaction.- 9.2 Office Layout Application in GEO++.- 9.2.1 Construction of the Screen Layout.- 9.2.2 Interaction.- 9.3 Comparison of the PHIGS and GEO++ Solution.- 9.3.1 Filter Handling.- 9.3.2 Picking.- 9.4 Pick Object and Assign Attribute.- 9.4.1 Assigning the Selected Attribute in PHIGS.- 9.4.2 Assigning the Selected Attribute in GEO++.- 9.5 Higher Level Hierarchies.- 9.5.1 Desk_Chair in PHIGS.- 9.5.2 Desk_Chair in GEO++.- 9.5.3 Radio Example.- 9.5.4 On the Analogy Between PHIGS and GEO++.- 9.5.5 Redesigning the Building Blocks in PHIGS and GEO++.- 9.5.6 Controlling the Radio.- 9.6 Interactive Editing of a PolyLine.- 9.7 Examination and Comments.- 9.7.1 Overall Structure of PHIGS and GEO++.- 9.7.2 Dynamics.- 9.7.3 Type Checking.- 10 Using Inheritance.- 10.1 Inheritance in GEO++.- 10.2 Alternative Naming.- 10.2.1 Index and Route.- 10.2.2 Advantages of Inheritance.- 10.3 Construction of a Part Hierarchy with Predefined Slots.- 10.3.1 Organization and Protocol.- 10.3.2 The Subclasses FrontPanel, Switchboard, Button.- 10.3.3 Methods for the Parts.- 10.4 Using Call-Backs.- 10.5 Accessing Parts.- 10.5.1 Censored Messages.- 11 Prototypes and Delegation.- 11.1 What are Prototypes?.- 11.2 Relevance for Computer Graphics.- 11.2.1 Why Does GEO++ Work?.- 11.3 A Prototype Model for GEO++.- 11.3.1 Prototype, Descendant, Copy.- 12 GEO++ in Smalltalk-80.- 12.1 Internal Representation of a Group.- 12.1.1 The Acyclic Graph of Contents.- 12.2 Implementation of Parts.- 12.2.1 Comparison with PHIGS.- 12.2.2 Realization of the Internal Representation.- 12.2.3 GEO++ Allows Parallel Posting.- 13 Additional Concepts and Tools.- 13.1 Additional Semantical Concepts.- 13.2 Connectivity.- 13.3 Graphics Constraints.- 13.3.1 What are Constraints?.- 13.3.2 Geometrical Relations Between Visual Objects.- 13.4 Adding Semantics to a Graphics Kernel.- 13.5 Graphics and Hybrid Knowledge Representation.- 13.5.1 Semantic Networks.- 13.6 Computer Graphics and Hybrid Systems.- 13.6.1 Is Computer Graphics an Appropriate Candidate?.- 14 Towards an Object-Oriented Standard?.- 14.1 Chances for an Object-Oriented New API.- 14.1.1 Historical Remarks.- 14.1.2 Why do we Need an Object-Oriented Standard?.- 14.1.3 General Advances - Short Summary.- 14.2 Requirements and Problems.- 14.3 Guidelines.- 14.3.1 Language Independence.- 14.3.2 Different Types of Inheritance in the Extended Layer Model.- 14.3.3 Part Hierarchies and Constraints.- 14.3.4 How can Portability be Achieved?.- 14.3.5 Resume.- References.
by "Nielsen BookData"