Minimally, you must have a view object in an Object Graphics display. However, it is likely that you will use a combination of the following display objects in any display. The Object Graphics Display Hierarchy shows the relationship between these objects as a tree structure.

The advantage of organizing graphic objects into a tree structure is that by manipulating any of the branches of the tree, all of the sub-branches of that branch can be altered simultaneously. In this figure, changes to the spatial transformation associated with the model containing two graphics atoms will affect both of the visualization objects. Similarly, calling a window or printer object’s Draw method on the scene object will render all of the objects in the tree to that window or printer.

Object

Description

IDLgrScene

A scene, or instance of the IDLgrScene class, is the root-level object of most graphics trees. Instances of the IDLgrScene class have Add and Remove methods, which allow you to include or remove IDLgrView or IDLgrViewgroup objects in a scene. A scene object is one of the possible arguments for a destination object’s Draw method.

It is not necessary to create a scene object if your graphics tree contains only one view object; in that case, the view can serve as the root of the tree.

IDLgrViewgroup

A viewgroup, or instance of the IDLgrViewgroup class, is a simple container object, similar to the Scene object. The Viewgroup differs from the Scene in two ways:

  1. It will not cause an erase to occur on a destination when the destination object’s Draw method is called.
  2. It can contain objects which do not have Draw methods.

Viewgroups are designed to be placed within a scene, and therefor do not typically serve as the root-level object of a graphics tree. However, a viewgroup object can be an argument for a destination object’s Draw method. Instances of the IDLgrViewgroup class have Add and Remove methods, which allow you to include or remove objects in a viewgroup.

IDLgrView

A view, or instance of the IDLgrView class, can serve as the root-level object of a graphics tree. Instances of the IDLgrView class have Add and Remove methods, which allow you to include or remove IDLgrModel objects in a view. A view object is one of the possible arguments for a destination object’s Draw method.

Every graphics tree must contain at least one view object. Often, it is convenient to divide the objects being rendered into separate views, which are then contained by a viewgroup or scene object.

IDLgrModel

A model, or instance of the IDLgrModel class, serves as containers for individual graphic objects (plot lines, axes, text, and so on) and for other model objects. Model objects include a three-dimensional transformation matrix that describes how the model and all of its components are positioned in space.

Altering the model’s transformation matrix changes the position and orientation of any objects the model contains. If a model object contains another model object, the contained model is positioned according to both its own transformation matrix and that of its container.

See Creating an Object Graphics Display for an example that introduces the use of these objects. Rendering Objects provides additional information.

Note: When creating an iTool display, there is no need to manually configure a window object or destination objects. This is automatically done for you.