|
|||||||||
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.RotPosPathInterpolator
public class RotPosPathInterpolator
RotPosPathInterpolator behavior. This class defines a behavior that modifies the rotational and translational components of its target TransformGroup by linearly interpolating among a series of predefined knot/positon and knot/orientation pairs (using the value generated by the specified Alpha object). The interpolated position and orientation are used to generate a transform in the local coordinate system of this interpolator.
Field Summary | |
---|---|
private WakeupCriterion |
passiveWakeupCriterion
|
private Vector3f |
pos
|
private Point3f[] |
positions
|
private float |
prevAlphaValue
|
private float |
prevInterpolationValue
|
private Quat4f[] |
quats
|
private Transform3D |
rotation
|
private Matrix4d |
tMat
|
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 | |
---|---|
RotPosPathInterpolator()
|
|
RotPosPathInterpolator(Alpha alpha,
TransformGroup target,
Transform3D axisOfTransform,
float[] knots,
Quat4f[] quats,
Point3f[] positions)
Constructs a new interpolator that varies the rotation and translation of the target TransformGroup'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 RotPosPathInterpolator information from originalNode into
the current node. |
Transform3D |
getAxisOfRotPos()
Deprecated. As of Java 3D version 1.3, replaced by TransformInterpolator.getTransformAxis() |
void |
getPosition(int index,
Point3f position)
Retrieves the position value at the specified index. |
void |
getPositions(Point3f[] positions)
Copies the array of position values from this interpolator into the specified array. |
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 |
setAxisOfRotPos(Transform3D axisOfRotPos)
Deprecated. As of Java 3D version 1.3, replaced by TransformInterpolator.setTransformAxis(Transform3D) |
void |
setPathArrays(float[] knots,
Quat4f[] quats,
Point3f[] positions)
Replaces the existing arrays of knot values, quaternion values, and position values with the specified arrays. |
private void |
setPathArrays(Quat4f[] quats,
Point3f[] positions)
|
void |
setPosition(int index,
Point3f position)
Sets the position at the specified index for this interpolator. |
void |
setQuat(int index,
Quat4f quat)
Sets the quat 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 Vector3f pos
private Quat4f tQuat
private Matrix4d tMat
private Quat4f[] quats
private Point3f[] positions
private float prevInterpolationValue
private float prevAlphaValue
private WakeupCriterion passiveWakeupCriterion
Constructor Detail |
---|
RotPosPathInterpolator()
public RotPosPathInterpolator(Alpha alpha, TransformGroup target, Transform3D axisOfTransform, float[] knots, Quat4f[] quats, Point3f[] positions)
alpha
- the alpha object for this interpolatortarget
- the TransformGroup node affected by this translatoraxisOfTransform
- the transform that defines the local coordinate
system in which this interpolator operatesknots
- an array of knot values that specify interpolation points.quats
- an array of quaternion values at the knots.positions
- an array of position values at the knots.
java.lang.IllegalArgumentException
- if the lengths of the
knots, quats, and positions arrays are not all the same.Method Detail |
---|
public void setQuat(int index, Quat4f quat)
index
- the index to be changedquat
- the new quat valuepublic void getQuat(int index, Quat4f quat)
index
- the index of the value requestedquat
- the quat to receive the quat value at the indexpublic void setPosition(int index, Point3f position)
index
- the index to be changedposition
- the new position valuepublic void getPosition(int index, Point3f position)
index
- the index of the value requestedposition
- the position to receive the position value at the indexpublic void setPathArrays(float[] knots, Quat4f[] quats, Point3f[] positions)
knots
- a new array of knot values that specify
interpolation points.quats
- a new array of quaternion values at the knots.positions
- a new array of position values at the knots.
java.lang.IllegalArgumentException
- if the lengths of the
knots, quats, and positions arrays are not all the same.private void setPathArrays(Quat4f[] quats, Point3f[] positions)
public void getQuats(Quat4f[] quats)
quats
- array that will receive the quats.public void getPositions(Point3f[] positions)
positions
- array that will receive the positions.public void setAxisOfRotPos(Transform3D axisOfRotPos)
TransformInterpolator.setTransformAxis(Transform3D)
public Transform3D getAxisOfRotPos()
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 |