|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | 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.Behavior | +--javax.media.j3d.LOD | +--javax.media.j3d.DistanceLOD
This class defines a distance-based LOD behavior node that operates on a Switch group node to select one of the children of that Switch node based on the distance of this LOD node from the viewer. An array of n monotonically increasing distance values is specified, such that distances[0] is associated with the highest level of detail and distances[n-1] is associated with the lowest level of detail. Based on the actual distance from the viewer to this DistanceLOD node, these n distance values [0, n-1] select from among n+1 levels of detail [0, n]. If d is the distance from the viewer to the LOD node, then the equation for determining which level of detail (child of the Switch node) is selected is:
Note that both the position and the array of distances are specified in the local coordinate system of this node.
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 | |
DistanceLOD()
Constructs and initializes a DistanceLOD node with default values. |
|
DistanceLOD(float[] distances)
Constructs and initializes a DistanceLOD node with the specified array of distances and a default position of (0,0,0). |
|
DistanceLOD(float[] distances,
Point3f position)
Constructs and initializes a DistanceLOD node with the specified array of distances and the specified position. |
Method Summary | |
Node |
cloneNode(boolean forceDuplicate)
Used to create a new instance of the node. |
double |
getDistance(int whichDistance)
Returns a particular LOD cut-off distance. |
void |
getPosition(Point3f position)
Retrieves the current position of this LOD node. |
void |
initialize()
Initialize method that sets up initial wakeup criteria. |
int |
numDistances()
Returns a count of the number of LOD distance cut-off parameters. |
void |
processStimulus(java.util.Enumeration criteria)
Process stimulus method that computes appropriate level of detail. |
void |
setDistance(int whichDistance,
double distance)
Sets a particular LOD cut-off distance. |
void |
setPosition(Point3f position)
Sets the position of this LOD node. |
Methods inherited from class javax.media.j3d.LOD |
addSwitch,
getAllSwitches,
getSwitch,
insertSwitch,
numSwitches,
removeSwitch,
setSwitch,
updateNodeReferences |
Methods inherited from class javax.media.j3d.Behavior |
getEnable,
getSchedulingBoundingLeaf,
getSchedulingBounds,
getView,
postId,
setEnable,
setSchedulingBoundingLeaf,
setSchedulingBounds,
wakeupOn |
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 |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public DistanceLOD()
public DistanceLOD(float[] distances)
distances
- an array of values representing LOD cutoff distancespublic DistanceLOD(float[] distances, Point3f position)
distances
- an array of values representing LOD cutoff distancesposition
- the position of this LOD nodeMethod Detail |
public void setPosition(Point3f position)
position
- the new positionpublic void getPosition(Point3f position)
position
- the object that will receive the current positionpublic int numDistances()
public double getDistance(int whichDistance)
whichDistance
- an index specifying which LOD distance to returnpublic void setDistance(int whichDistance, double distance)
whichDistance
- an index specifying which LOD distance to modifydistance
- the cut-off distance associated with the index providedpublic void initialize()
public void processStimulus(java.util.Enumeration criteria)
criteria
- an enumeration of the criteria that caused the
stimuluspublic Node cloneNode(boolean forceDuplicate)
cloneTree
to duplicate the current 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.cloneNode(boolean)
,
Node.duplicateNode(javax.media.j3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |