public class ViewPlatform extends Leaf
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
Modifier and Type | Field and Description |
---|---|
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.
|
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 and Description |
---|
ViewPlatform()
Constructs a ViewPlatform object with default parameters.
|
Modifier and Type | Method and Description |
---|---|
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.
|
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString, updateNodeReferences
public static final int ALLOW_POLICY_READ
public static final int ALLOW_POLICY_WRITE
public ViewPlatform()
public void setViewAttachPolicy(int policy)
policy
- the new policyCapabilityNotSetException
- 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(org.scijava.java3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
Copyright © 2016–2022 SciJava. All rights reserved.