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.