|
|||||||||
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.Behavior
javax.media.j3d.Interpolator
javax.media.j3d.TransformInterpolator
javax.media.j3d.PathInterpolator
javax.media.j3d.RotationPathInterpolator
public class RotationPathInterpolator
RotationPathInterpolator behavior. This class defines a behavior that varies the rotational component of its target TransformGroup by linearly interpolating among a series of predefined knot/orientation pairs (using the value generated by the specified Alpha object). The interpolated orientation is used to generate a rotation transform in the local coordinate system. The first knot must have a value of 0.0. The last knot must have a value of 1.0. An intermediate knot with index k must have a value strictly greater than any knot with index less than k.
Field Summary | |
---|---|
private WakeupCriterion |
passiveWakeupCriterion
|
private float |
prevAlphaValue
|
private float |
prevInterpolationValue
|
private Quat4f[] |
quats
|
private Transform3D |
rotation
|
private Quat4f |
tQuat
|
Fields inherited from class javax.media.j3d.PathInterpolator |
---|
currentInterpolationValue, currentKnotIndex |
Fields inherited from class javax.media.j3d.TransformInterpolator |
---|
axis, axisInverse, target |
Fields inherited from class javax.media.j3d.Interpolator |
---|
alpha, defaultWakeupCriterion |
Fields inherited from class javax.media.j3d.SceneGraphObject |
---|
nodeHashtable, retained |
Constructor Summary | |
---|---|
RotationPathInterpolator()
|
|
RotationPathInterpolator(Alpha alpha,
TransformGroup target,
Transform3D axisOfTransform,
float[] knots,
Quat4f[] quats)
Constructs a new RotationPathInterpolator object that varies the target TransformGroup node's transform. |
Method Summary | |
---|---|
Node |
cloneNode(boolean forceDuplicate)
Used to create a new instance of the node. |
void |
computeTransform(float alphaValue,
Transform3D transform)
Computes the new transform for this interpolator for a given alpha value. |
(package private) void |
duplicateAttributes(Node originalNode,
boolean forceDuplicate)
Copies all RotationPathInterpolator information from originalNode into
the current node. |
Transform3D |
getAxisOfRotation()
Deprecated. As of Java 3D version 1.3, replaced by TransformInterpolator.getTransformAxis() |
void |
getQuat(int index,
Quat4f quat)
Retrieves the quat value at the specified index. |
void |
getQuats(Quat4f[] quats)
Copies the array of quaternion values from this interpolator into the specified array. |
void |
setAxisOfRotation(Transform3D axisOfRotation)
Deprecated. As of Java 3D version 1.3, replaced by TransformInterpolator.seTransformAxis(Transform3D) |
void |
setPathArrays(float[] knots,
Quat4f[] quats)
Replaces the existing arrays of knot values and quaternion values with the specified arrays. |
private void |
setPathArrays(Quat4f[] quats)
|
void |
setQuat(int index,
Quat4f quat)
Sets the quat value at the specified index for this interpolator. |
Methods inherited from class javax.media.j3d.PathInterpolator |
---|
computePathInterpolation, computePathInterpolation, getArrayLengths, getKnot, getKnots, setKnot, setKnots |
Methods inherited from class javax.media.j3d.TransformInterpolator |
---|
getTarget, getTransformAxis, processStimulus, setTarget, setTransformAxis, updateNodeReferences |
Methods inherited from class javax.media.j3d.Interpolator |
---|
getAlpha, initialize, setAlpha |
Methods inherited from class javax.media.j3d.Behavior |
---|
createRetained, getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, wakeupOn |
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 javax.media.j3d.SceneGraphObject |
---|
capabilityBitsEmpty, checkForLiveOrCompiled, clearCapability, clearCapabilityIsFrequent, clearLive, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getNamePrefix, getNodeComponent, getUserData, isCompiled, isLive, isLiveOrCompiled, setCapability, setCapabilityIsFrequent, setCompiled, setDefaultReadCapabilities, setLive, setName, setUserData, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private Transform3D rotation
private Quat4f tQuat
private Quat4f[] quats
private float prevInterpolationValue
private float prevAlphaValue
private WakeupCriterion passiveWakeupCriterion
Constructor Detail |
---|
RotationPathInterpolator()
public RotationPathInterpolator(Alpha alpha, TransformGroup target, Transform3D axisOfTransform, float[] knots, Quat4f[] quats)
alpha
- the alpha object of this interpolatortarget
- the TransformGroup node affected by this interpolatoraxisOfTransform
- the transform that defines the local coordinate
system in which this interpolator operatesknots
- an array of knot values that specify interpolation pointsquats
- an array of quaternion values at the knots
java.lang.IllegalArgumentException
- if the lengths of the
knots and quats arrays are not the same.Method Detail |
---|
public void setQuat(int index, Quat4f quat)
index
- the index to be changedquat
- the new quat value at the indexpublic void getQuat(int index, Quat4f quat)
index
- the index of the value requestedquat
- the quat object that will have the
quat value at index copied into it.public void setPathArrays(float[] knots, Quat4f[] quats)
knots
- a new array of knot values that specify
interpolation pointsquats
- a new array of quaternion values at the knots
java.lang.IllegalArgumentException
- if the lengths of the
knots and quats arrays are not the same.private void setPathArrays(Quat4f[] quats)
public void getQuats(Quat4f[] quats)
quats
- array that will receive the quatspublic void setAxisOfRotation(Transform3D axisOfRotation)
TransformInterpolator.seTransformAxis(Transform3D)
public Transform3D getAxisOfRotation()
TransformInterpolator.getTransformAxis()
public void computeTransform(float alphaValue, Transform3D transform)
computeTransform
in class TransformInterpolator
alphaValue
- alpha value between 0.0 and 1.0transform
- object that receives the computed transform for
the specified alpha valuepublic Node cloneNode(boolean forceDuplicate)
cloneTree
to duplicate the current node.
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.cloneNode(boolean)
,
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
cloneNode
method which is, in turn, called by the
cloneTree
method.
duplicateAttributes
in class PathInterpolator
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.
RestrictedAccessException
- if this object is part of a live
or compiled scenegraph.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 |