|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javax.media.j3d.SceneGraphObject | +--javax.media.j3d.Node | +--javax.media.j3d.Leaf | +--javax.media.j3d.ViewPlatform
The ViewPlatform leaf node object controls the position, orientation and scale of the viewer. It is the node in the scene graph that a View object connects to. A viewer navigates through the virtual universe by changing the transform in the scene graph hierarchy above the ViewPlatform.
The View Attach Policy
The actual view that Java 3D's renderer draws depends on the view attach policy specified within the currently attached ViewPlatform. The view attach policy, set by the setViewAttachPolicy method, is one of the following:
Activation Radius
The ViewPlatform's activation radius defines an activation volume surrounding the center of the ViewPlatform. This activation volume is a spherical region that intersects with the scheduling regions and application regions of other leaf node objects to determine which of those objects may affect rendering. Only active view platforms--that is, view platforms attached to a View--will be used to schedule or select other leaf nodes.
Different leaf objects interact with the ViewPlatform's activation volume differently. The Background, Clip, and Soundscape leaf objects each define a set of attributes and an application region in which those attributes are applied. If more than one node of a given type (Background, Clip, or Soundscape) intersects an active ViewPlatform's activation volume, the "most appropriate" node is selected for that View. Sound leaf objects and Behavior objects become active when their scheduling region intersects an active ViewPlatform's activation volume.
The activation radius is in view platform coordinates. For the default screen scale policy of SCALE_SCREEN_SIZE, the activationRadius parameter value is multiplied by half the monitor screen size to derive the actual activation radius. For example, for the default screen size of 0.35 meters, and the default activation radius value of 62, the actual activation radius would be 10.85 meters.
62 * 0.35 / 2 = 10.85
View
Field Summary | |
static int |
ALLOW_POLICY_READ
Specifies that the ViewPlatform allows read access to its view attach policy information at runtime. |
static int |
ALLOW_POLICY_WRITE
Specifies that the ViewPlatform allows write access to its view attach policy information at runtime. |
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 | |
ViewPlatform()
Constructs a ViewPlatform object with default parameters. |
Method Summary | |
Node |
cloneNode(boolean forceDuplicate)
Used to create a new instance of the node. |
float |
getActivationRadius()
Get the ViewPlatform's activation radius. |
int |
getViewAttachPolicy()
Returns the current coexistence center in virtual-world policy. |
void |
setActivationRadius(float activationRadius)
Set the ViewPlatform's activation radius which defines an activation volume around the view platform. |
void |
setViewAttachPolicy(int policy)
Sets the view attach policy that determines the coexistence center in the virtual world. |
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, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData, updateNodeReferences |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int ALLOW_POLICY_READ
public static final int ALLOW_POLICY_WRITE
Constructor Detail |
public ViewPlatform()
Method Detail |
public void setViewAttachPolicy(int policy)
policy
- the new policy
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphView.NOMINAL_SCREEN
,
View.NOMINAL_HEAD
,
View.NOMINAL_FEET
public int getViewAttachPolicy()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setActivationRadius(float activationRadius)
activationRadius
- the new activation radiuspublic float getActivationRadius()
public Node cloneNode(boolean forceDuplicate)
cloneTree
to duplicate the current node.
cloneNode
should be overridden by any user subclassed
objects. All subclasses must have their cloneNode
method consist of the following lines:
public Node cloneNode(boolean forceDuplicate) { UserSubClass usc = new UserSubClass(); usc.duplicateNode(this, forceDuplicate); return usc; }
cloneNode
in class Node
forceDuplicate
- when set to true
, causes the
duplicateOnCloneTree
flag to be ignored. When
false
, the value of each node's
duplicateOnCloneTree
variable determines whether
NodeComponent data is duplicated or copied.Node.cloneTree()
,
Node.duplicateNode(javax.media.j3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |