Symbolic computation., Computer graphics--systems and applications.
1 Introduction --; 1.1 Object-Oriented Languages and Tools --; 1.2 Guidelines for the Design of a Graphics System --; 1.3 Overview --; 2 Object-Oriented Concepts --; 2.1 Objects and Messages --; 2.2 The Class --; 2.3 Message Passing --; 2.4 Inheritance --; 2.5 The Smalltalk-80 Programming Environment --; 2.6 Summary of the Basic Concepts --; 3 Object-Oriented Interface Architecture --; 3.1 Application Framework as Generic Application --; 3.2 The Model-View-Controller Triad --; 4 Smalltalk-80 Graphics Kernel --; 4.1 Output Primitives --; 4.2 Generation and Display of Graphics Objects --; 5 GKS and Object-Oriented System Design --; 5.1 Goals of Standardization --; 5.2 A Short Review of the Main GKS Features --; 5.3 The Structure of a GKS Program --; 5.4 Object-Oriented Modifications --; 5.5 Guidelines for an Object-Oriented Kernel --; 5.6 An Extended Layer Model --; 5.7 Assignment of Attributes --; 5.8 Summary --; 6 Graphics Part Hierarchies --; 6.1 Introduction --; 6.2 Part Hierarchies and Computer Graphics --; 6.3 MacDraw and Part Hierarchies --; 7 PHIGS and Part Hierarchies --; 7.1 Drawbacks of the GKS Model --; 7.2 Motivation for an Extended Functionality --; 7.3 PHIGS Components --; 7.4 Modeling Part Hierarchies in PHIGS --; 8 GEO++ --; 8.1 Goals and Motivation --; 8.2 GEO++ Model --; 8.3 Functional Overview by an Example --; 9 Programming Examples --; 9.1 Office Layout Application Programmed With PHIGS --; 9.2 Office Layout Application in GEO++ --; 9.3 Comparison of the PHIGS and GEO++ Solution --; 9.4 Pick Object and Assign Attribute --; 9.5 Higher Level Hierarchies --; 9.6 Interactive Editing of a PolyLine --; 9.7 Examination and Comments --; 10 Using Inheritance --; 10.1 Inheritance in GEO++ --; 10.2 Alternative Naming --; 10.3 Construction of a Part Hierarchy with Predefined Slots --; 10.4 Using Call-Backs --; 10.5 Accessing Parts --; 11 Prototypes and Delegation --; 11.1 What are Prototypes? --; 11.2 Relevance for Computer Graphics --; 11.3 A Prototype Model for GEO++ --; 12 GEO++ in Smalltalk-80 --; 12.1 Internal Representation of a Group --; 12.2 Implementation of Parts --; 13 Additional Concepts and Tools --; 13.1 Additional Semantical Concepts --; 13.2 Connectivity --; 13.3 Graphics Constraints --; 13.4 Adding Semantics to a Graphics Kernel --; 13.5 Graphics and Hybrid Knowledge Representation --; 13.6 Computer Graphics and Hybrid Systems --; 14 Towards an Object-Oriented Standard? --; 14.1 Chances for an Object-Oriented New API --; 14.2 Requirements and Problems --; 14.3 Guidelines --; References.
This book covers computer graphics programming on the basis of an object-oriented philosophy and using the object-oriented programming paradigm. It shows how a thorough investigation of object-oriented techniques leads to very powerful and flexible graphics systems, which are in sharp contrast to traditional systems such as GKS and PHIGS. An object-oriented multi-level-system system GEO++ with full editing capabilities is defined as a basis for detailed examples using Smalltalk-80 language. The advantages of inheritance are shown for a flexible extension of a predefined graphics kernel. New ways of integrating geometric modeling aspects and defining new output primitives into a prefabricated kernel are demonstrated. Prerequisites for adding rules and constraints are discussed. Requirements for a new object-oriented standard are formulated. A significant part is devoted to detailed examples, showing the progress which can be achieved with a consistent object-oriented approach. Rather than reviewing all different object-oriented approaches and prototypical developments, the book builds a bridge between traditional graphics programming systems and the object-oriented approach. The book is intended for computer scientists and programmers seeking to become familiar with graphics systems and object-oriented programming.