com.sun.j3d.utils.universe
Class ViewingPlatform
java.lang.Object
|
+--javax.media.j3d.SceneGraphObject
|
+--javax.media.j3d.Node
|
+--javax.media.j3d.Group
|
+--javax.media.j3d.BranchGroup
|
+--com.sun.j3d.utils.universe.ViewingPlatform
- public class ViewingPlatform
- extends javax.media.j3d.BranchGroup
This class is used to set up the "view" side of a Java 3D scene graph.
The ViewingPlatform object contains a MultiTransformGroup node to allow
for a series of transforms to be linked together. To this structure
the ViewPlatform is added as well as any geometry to associate with this
view platform.
- See Also:
ViewPlatform
Field Summary |
protected javax.media.j3d.BranchGroup |
avatarRoot
Used to keep track of added geometry. |
protected MultiTransformGroup |
mtg
MultiTransformGroup that holds all TransformGroups between
the BranchGroup and the View object. |
protected PlatformGeometry |
platformGeometry
Cached PlatformGeometry object. |
protected javax.media.j3d.BranchGroup |
platformGeometryRoot
Used to keep track of added geometry. |
protected java.util.Hashtable |
viewerList
Table of the Viewer objects. |
protected javax.media.j3d.ViewPlatform |
viewPlatform
Cached ViewPlatform associated with this ViewingPlatform object. |
Fields inherited from class javax.media.j3d.BranchGroup |
ALLOW_DETACH |
Fields inherited from class javax.media.j3d.Group |
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE |
Fields inherited from class javax.media.j3d.Node |
ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING |
Constructor Summary |
ViewingPlatform()
Creates a default ViewingPlatform object. |
ViewingPlatform(int numTransforms)
Creates the ViewingPlatform object. |
Methods inherited from class javax.media.j3d.BranchGroup |
cloneNode, compile, detach, pickAll, pickAllSorted, pickAny, pickClosest |
Methods inherited from class javax.media.j3d.Group |
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, insertChild, moveTo, numChildren, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds |
Methods inherited from class javax.media.j3d.Node |
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable |
Methods inherited from class javax.media.j3d.SceneGraphObject |
clearCapability, duplicateSceneGraphObject, getCapability, getUserData, isCompiled, isLive, setCapability, setUserData, updateNodeReferences |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
viewPlatform
protected javax.media.j3d.ViewPlatform viewPlatform
- Cached ViewPlatform associated with this ViewingPlatform object.
mtg
protected MultiTransformGroup mtg
- MultiTransformGroup that holds all TransformGroups between
the BranchGroup and the View object.
platformGeometryRoot
protected javax.media.j3d.BranchGroup platformGeometryRoot
- Used to keep track of added geometry. When geometry
is added to the view platform, an addChild to this BranchGroup
is performed.
avatarRoot
protected javax.media.j3d.BranchGroup avatarRoot
- Used to keep track of added geometry. When geometry
is added for an avatar, an addChild to this BranchGroup
is performed.
platformGeometry
protected PlatformGeometry platformGeometry
- Cached PlatformGeometry object.
viewerList
protected java.util.Hashtable viewerList
- Table of the Viewer objects.
ViewingPlatform
public ViewingPlatform()
- Creates a default ViewingPlatform object. This consists of a
MultiTransfromGroup node with one transform and a ViewPlatform
object. The ViewPlatform is positioned at (0.0, 0.0, 0.0).
ViewingPlatform
public ViewingPlatform(int numTransforms)
- Creates the ViewingPlatform object. This consists of a
MultiTransfromGroup node with the specified number of transforms
(all initialized to the identity transform).
and a ViewPlatform object.
- Parameters:
numTransforms
- The number of transforms the MultiTransformGroup
node should contain. If this number is less than 1, 1 is assumed.
setViewPlatform
public void setViewPlatform(javax.media.j3d.ViewPlatform vp)
- Sets the ViewPlatform node for this ViewingPlatform object.
- Parameters:
vp
- The ViewPlatform node to associate with this ViewingPlatform
object.
getViewPlatform
public javax.media.j3d.ViewPlatform getViewPlatform()
- Returns the ViewPlatform node for this ViewingPlatform object.
- Returns:
- The ViewPlatform node associated with this ViewingPlatform
object.
setPlatformGeometry
public void setPlatformGeometry(PlatformGeometry pg)
- Assigns the geometry to associate with the ViewingPlatform.
PlatformGeometry is used to hold any geometry to be associated
with the ViewingPlatform. If the ViewingPlatform is to be the
inside of a car, for instance, than the PlatformGeometry could be
the dashboard of the car.
- Parameters:
pg
- The geometry to be associated with this ViewingPlatform.
Passing in null has the effect of deleting any geometry associated
with this ViewingPlatform.
getMultiTransformGroup
public MultiTransformGroup getMultiTransformGroup()
- Returns the MultitransformGroup object for this
ViewingPlatform object.
- Returns:
- The MultitransformGroup object.
getViewPlatformTransform
public javax.media.j3d.TransformGroup getViewPlatformTransform()
- Returns a reference to the "bottom most" transform in the
MultiTransformGroup that is above the ViewPlatform node.
- Returns:
- The TransformGroup that is immediately above the
ViewPlatform object.
setNominalViewingTransform
public void setNominalViewingTransform()
- Sets the nominal viewing distance in the view transform.
This is done by adding a translation of 1/(tan(fieldOfVIew/2)) to
the ViewPlatform transform.
If there is no Viewer object associated with this ViewingPlatform
object the default field of view of PI/4.0 is used.
NOTE: Support for multiple Viewer objects is not yet supported.