4.1 Scene Graph Design Issues 227
themselves involve transformations and bounding volumes, so it is natural to derive
these from
Spatial. What is not immediately clear is the choice for having both
classes
Spatial and Node. In Figure 4.1, the objects Table, Plate, Knife, Fork, and Chair
are
Geometry objects. They all are built from model data; they all occupy a portion of
space; and they are all transformable. The objects House, Room 1, and Room 2 are
grouping nodes. We could easily make all these
Spatial objects, but not Geometry
objects. In this scenario, the Spatial class must contain information to represent the
hierarchy of objects. Specifically, each object must have a link to its parent object (if
any) and links to its child objects. The links