|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.media.j3d.SceneGraphObject
javax.media.j3d.Node
javax.media.j3d.Leaf
javax.media.j3d.ViewPlatform
public class 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. |
private static int[] |
readCapabilities
|
Fields inherited from class javax.media.j3d.SceneGraphObject |
---|
nodeHashtable, retained |
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. |
(package private) void |
createRetained()
Creates the retained mode ViewPlatformRetained object that this ViewPlatform component object will point to. |
(package private) void |
duplicateAttributes(Node originalNode,
boolean forceDuplicate)
Copies all ViewPlatform information from originalNode into
the current 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 |
---|
checkDuplicateNode, checkForCycle, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int ALLOW_POLICY_READ
public static final int ALLOW_POLICY_WRITE
private static final int[] readCapabilities
Constructor Detail |
---|
public ViewPlatform()
Method Detail |
---|
void createRetained()
createRetained
in class SceneGraphObject
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)
void duplicateAttributes(Node originalNode, boolean forceDuplicate)
originalNode
into
the current node. This method is called from the
duplicateNode
method. This routine does
the actual duplication of all "local data" (any data defined in
this object). It then will duplicate the retained side of the
tree if this method was called from its own 2 parameter
duplicateNode
method. This is designate by setting the
duplicateRetained
flag to true
.
Without this flag a duplicateNode
method would not
whether or not to duplicate the retained side of the object.
duplicateAttributes
in class Node
originalNode
- the original node to duplicate.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.duplicateRetained
- set to true
when this
method is should initiate the duplicateRetained call. This
call walks up a nodes superclasses so it should only be called
once from the class of the original node.Node.duplicateNode(javax.media.j3d.Node, boolean)
,
Node.cloneTree()
,
NodeComponent.setDuplicateOnCloneTree(boolean)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |