1.0 Introduction

2.0 The Model/View/Operator Paradigm

3.0 The MVO Paradigm and HOOPS/3dGS

4.0 Implementing the MVO Paradigm  

5.0 MVO's HOOPS/3dGS Segment Structure


1.0 Introduction

This section introduces the the Model/View/Operator paradigm, its relationship to the HOOPS 3D Graphics System, and its implementation using HOOPS/3dGS including the HOOPS/3dGS segment structure it generates.

2.0 The Model/View/Operator Paradigm

While the architecture of HOOPS-based applications vary depending on their specific needs, there are some fundamental architectural relationships that serve most applications quite well. One in particular is the object-oriented model/view/operator paradigm. 

The model/view/operator paradigm partitions the architecture of software application into three distinct areas: 

The user of the application operates on the model via the views of the model. Views are designed specifically to facilitate a given model interaction such as data creation or editing. Views can "look at" multiple models and models can "be seen" by multiple views (a many to many mapping). Operators are associated with views.

3.0 The MVO Paradigm and HOOPS

In HOOPS, 3D objects are organized into segments containing geometry, attributes and sub-segments. For each application, the 3D model maps to some section of the HOOPS segment tree, typically in the Include Library. Views are mapped to HOOPS driver instance segments with camera and window attributes. The model is either directly built under the driver instance segment or included from another spot in the segment tree. This relationship of HOOPS model to HOOPS views is generic and applicable to most applications built with HOOPS. 

Operators consist of the application code that manipulates the application data. When building HOOPS-MVO applications, the operators use the HOOPS API, along with other component or application-specific APIs, to manipulate the data stored in both HOOPS and application-specific data structures.

 

4.0 Implementing the MVO Paradigm 

The HOOPS/MVO Classes provide a HOOPS-specific implementation of the  model/view/operator paradigm, which may be directly incorporated into an application and extended. 

Figure 1: This diagram illustrates the relationship of the vaious HOOPS/MVO Class

5.0 MVO's HOOPS 3dGS Segment Structure

The class library builds higher level objects for the model and view out of HOOPS segment structures. The HBaseModel object is built out of the include library and the HBaseView object is built out of HOOPS driver segment instances. View objects also build an initial segment structure for managing the inclusion of model objects, interacting with user input, lighting of the scene, etc...

Figure 2: This diagram illustrates the HOOPS segment structure built by HOOPS/MVO Objects.