Users Guide to this applet






The basic idea of this applet is to create hierarchies of objects in order to demonstrate the concept of hierarchical modeling and prototype some complex objects by creating some sample hierarchies. The basic menu allows you to move up and down the hierarchy and modify the attributes of the current object. These attributes include its scaling translation and rotation as well as the basic object that the object is made up of and its children. When the scaling, translation and/or rotation are modified, these changes are also applied to the children in a hierarchical manner. When the basic object that makes up the current object is modified, it will be updated immediately. When a child is added, it will immediately be created in the center of the world as a default box. Children can also be duplicated. This operation creates a duplicate of the entire structure that that object represents. Linking, on the other hand, creates a copy, but the entire substructure of children is not duplicated. Instead, the "linked" copy simply points to the original substructure. This allows changes made in the original to be instantly transfered to the copy.

A key feature of hierarchical modeling is that once complex objects are created, they can be recycled and duplicated for several purposes. A wheel, for example may have a torus as a wheel, a sphere as a hub, and several spokes. Once this structure is created, the wheel can be reused - either by duplicating it expressly or by "linking" a virtual duplicate of it. This link actually has the property that if the original wheel is modified somehow, the copy will receive the same corrections.

Usage Example



What follows is a description of each of the buttons that appears on the interface of the applet.


Back Button

The Back button takes you to the object that is the parent of the current object.

Add Button

The Add button adds a child to the current object.

Name Button

The Name button changes the name of the currently selected child object.

Duplicate Button

The Duplicate button copies the selected child object and copies it and its entire substructure into a new child object.

Link Button

The Link button creates a new child object that points to the substructure of the current child object. Thus, when the original object is modified, the "linked" object will also change in appearance.

Delete Button

The Delete button removes the current child object. If it is a master copy to which there are linkds, it will remove those links as well.

Children List Box

The Children list box lists the children of the current object. Selecting children will enable some of the buttons that pertain to specific objects. Double clicking on a child will make that child the current object.

Model List Box

The Model list box determines the basic object that the current object represents. By selecting a different model, the user can immediately see the effect of changing that object. One object of particular note is the container object. It does not contain any visible points. Its sole purpose is to contain a hierarchy of child objects.

X,Y,Z Scale Fields

The Scale fields scale the current object (and its subhierarchy) by the entered scale factor.

X,Y,Z Translate Fields

The Translate fields translate the current object (and its subhierarchy) by the entered translation.

Camera Distance Field

The Camera Distance field allows the user to set the distance the camera is from the world-space origin.

View Distance Field

The View Distance Field allows the user to set the distance the view plane is from the camera. The view plane is assumed to be normal to the line from the camera to the world-space origin.

Theta and Phi Fields

Theta and Phi are the angles the current object (and its subhierarchy) are rotated about the z axis and x axis.

Changing the Camera Position

Changing the camera distance has already been described. Changing its angle, however is done by dragging the mouse in the viewing canvas. Use the red,green, and blue line segments as references for orientation. Additionally, in the lower left-hand corner, the current viewing space angles are displayed for convenience.