Package 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
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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected BranchGroup
Used to keep track of added geometry.protected BranchGroup
Used to keep track of behaviors.protected MultiTransformGroup
MultiTransformGroup that holds all TransformGroups between the BranchGroup and the View object.protected PlatformGeometry
Cached PlatformGeometry object.protected BranchGroup
Used to keep track of added geometry.protected SimpleUniverse
The universe to which this viewing platform is attachedprotected Hashtable
Table of the Viewer objects.protected 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_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a default ViewingPlatform object.ViewingPlatform
(int numTransforms) Creates the ViewingPlatform object. -
Method Summary
Modifier and TypeMethodDescriptionReturns the MultitransformGroup object for this ViewingPlatform object.Returns the PlatformGeometry associated with this ViewingPlatformReturns the Universe to which this ViewingPlatform is attachedViewer[]
Returns the Viewers attached to this ViewingPlatformReturns the ViewPlatform node for this ViewingPlatform object.Returns the ViewPlatformBehaviorReturns a reference to the "bottom most" transform in the MultiTransformGroup that is above the ViewPlatform node.void
Sets the nominal viewing distance in the ViewPlatform transform based on the current field of view.void
Assigns the geometry to associate with the ViewingPlatform.void
setUniverse
(SimpleUniverse universe) Sets the Universe to which this ViewingPlatform is attachedvoid
Sets the ViewPlatform node for this ViewingPlatform object.void
setViewPlatformBehavior
(ViewPlatformBehavior behavior) Sets the ViewPlatformBehavior which will operate on the ViewPlatform transform (the TransformGroup returned by ViewingPlatform.getViewPlatformTransform()).Methods inherited from class javax.media.j3d.BranchGroup
cloneNode, compile, detach, pickAll, pickAll, pickAllSorted, pickAllSorted, pickAny, pickAny, pickClosest, pickClosest
Methods inherited from class javax.media.j3d.Group
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
-
Field Details
-
viewPlatform
Cached ViewPlatform associated with this ViewingPlatform object. -
mtg
MultiTransformGroup that holds all TransformGroups between the BranchGroup and the View object. -
platformGeometryRoot
Used to keep track of added geometry. When geometry is added to the view platform, an addChild to this BranchGroup is performed. -
avatarRoot
Used to keep track of added geometry. When geometry is added for an avatar, an addChild to this BranchGroup is performed. -
platformGeometry
Cached PlatformGeometry object. -
viewerList
Table of the Viewer objects. -
behaviors
Used to keep track of behaviors.- Since:
- Java 3D 1.2.1
-
universe
The universe to which this viewing platform is attached- Since:
- Java 3D 1.3
-
-
Constructor Details
-
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.
-
-
Method Details
-
setViewPlatform
Sets the ViewPlatform node for this ViewingPlatform object.- Parameters:
vp
- The ViewPlatform node to associate with this ViewingPlatform object.
-
getViewPlatform
Returns the ViewPlatform node for this ViewingPlatform object.- Returns:
- The ViewPlatform node associated with this ViewingPlatform object.
-
setPlatformGeometry
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.
-
getPlatformGeometry
Returns the PlatformGeometry associated with this ViewingPlatform- Returns:
- The PlatformGeometry associated with this ViewingPlatform
-
getMultiTransformGroup
Returns the MultitransformGroup object for this ViewingPlatform object.- Returns:
- The MultitransformGroup object.
-
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 ViewPlatform transform based on the current field of view. If the ViewAttachPolicy is not the default of View.NOMINAL_HEAD, then this method has no effect.The ViewPlatform is moved back along Z so that objects at the origin spanning the normalized X range of -1.0 to +1.0 can be fully viewed across the width of the window. This is done by setting a translation of 1/(tan(fieldOfView/2)) in 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 available. If multiple viewers are attached to this ViewingPlatform than a RuntimeException will be thrown.
-
setViewPlatformBehavior
Sets the ViewPlatformBehavior which will operate on the ViewPlatform transform (the TransformGroup returned by ViewingPlatform.getViewPlatformTransform()). The ViewPlatformBehavior may be set after the ViewingPlatform is setLive(). If a behavior is already present, it will be detached and it's setViewingPlatform method will be called with a parameter of null.- Parameters:
behavior
- The ViewPlatformBehavior to add to the ViewingPlatform. null will remove the ViewingPlatform behavior.- Since:
- Java 3D 1.2.1
-
getViewPlatformBehavior
Returns the ViewPlatformBehavior- Returns:
- the ViewPlatformBehavior for the ViewingPlatform. Returns null if there is no ViewPlatformBehavior set.
- Since:
- Java 3D 1.2.1
-
getViewers
Returns the Viewers attached to this ViewingPlatform- Returns:
- the Viewers attached to this viewing platform
- Since:
- Java 3D 1.3
-
getUniverse
Returns the Universe to which this ViewingPlatform is attached- Returns:
- the Universe to which this ViewingPlatform is attached
- Since:
- Java 3D 1.3
-
setUniverse
Sets the Universe to which this ViewingPlatform is attached- Parameters:
universe
- the Universe to which this ViewingPlatform is attached- Since:
- Java 3D 1.3
-