com.sun.j3d.utils.behaviors.interpolators
Class RotPosScaleTCBSplinePathInterpolator
java.lang.Object
javax.media.j3d.SceneGraphObject
javax.media.j3d.Node
javax.media.j3d.Leaf
javax.media.j3d.Behavior
javax.media.j3d.Interpolator
javax.media.j3d.TransformInterpolator
com.sun.j3d.utils.behaviors.interpolators.TCBSplinePathInterpolator
com.sun.j3d.utils.behaviors.interpolators.RotPosScaleTCBSplinePathInterpolator
public class RotPosScaleTCBSplinePathInterpolator
- extends TCBSplinePathInterpolator
RotPosScaleTCBSplinePathInterpolator behavior. This class defines a
behavior that varies the rotational, translational, and scale components
of its target TransformGroup by using the Kochanek-Bartels cubic spline
interpolation to interpolate among a series of key frames
(using the value generated by the specified Alpha object). The
interpolated position, orientation, and scale are used to generate
a transform in the local coordinate system of this interpolator.
- Since:
- Java3D 1.1
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_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING |
Constructor Summary |
RotPosScaleTCBSplinePathInterpolator(javax.media.j3d.Alpha alpha,
javax.media.j3d.TransformGroup target,
javax.media.j3d.Transform3D axisOfTransform,
TCBKeyFrame[] keys)
Constructs a new RotPosScaleTCBSplinePathInterpolator object that
varies the rotation, translation, and scale of the target
TransformGroup's transform. |
Method Summary |
javax.media.j3d.Node |
cloneNode(boolean forceDuplicate)
Used to create a new instance of the node. |
void |
computeTransform(float alphaValue,
javax.media.j3d.Transform3D transform)
Computes the new transform for this interpolator for a given
alpha value. |
void |
duplicateNode(javax.media.j3d.Node originalNode,
boolean forceDuplicate)
Copies RotPosScaleTCBSplinePathInterpolator information from
originalNode into
the current node. |
javax.media.j3d.Transform3D |
getAxisOfRotPosScale()
Deprecated. As of Java 3D version 1.3, replaced by
TransformInterpolator.getTransformAxis() |
void |
setAxisOfRotPosScale(javax.media.j3d.Transform3D axisOfRotPosScale)
Deprecated. As of Java 3D version 1.3, replaced by
TransformInterpolator.setTransformAxis(Transform3D) |
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 |
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval |
Methods inherited from class javax.media.j3d.Node |
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable |
Methods inherited from class javax.media.j3d.SceneGraphObject |
clearCapability, clearCapabilityIsFrequent, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
RotPosScaleTCBSplinePathInterpolator
public RotPosScaleTCBSplinePathInterpolator(javax.media.j3d.Alpha alpha,
javax.media.j3d.TransformGroup target,
javax.media.j3d.Transform3D axisOfTransform,
TCBKeyFrame[] keys)
- Constructs a new RotPosScaleTCBSplinePathInterpolator object that
varies the rotation, translation, and scale of the target
TransformGroup's transform. At least 2 key frames are required for
this interpolator. The first key
frame's knot must have a value of 0.0 and the last knot must have a
value of 1.0. An intermediate key frame with index k must have a
knot value strictly greater than the knot value of a key frame with
index less than k.
- Parameters:
alpha
- the alpha object for this interpolatortarget
- the TransformGroup node affected by this interpolatoraxisOfTransform
- the transform that specifies the local
coordinate system in which this interpolator operates.keys
- an array of key frames that defien the motion path
setAxisOfRotPosScale
public void setAxisOfRotPosScale(javax.media.j3d.Transform3D axisOfRotPosScale)
- Deprecated. As of Java 3D version 1.3, replaced by
TransformInterpolator.setTransformAxis(Transform3D)
getAxisOfRotPosScale
public javax.media.j3d.Transform3D getAxisOfRotPosScale()
- Deprecated. As of Java 3D version 1.3, replaced by
TransformInterpolator.getTransformAxis()
computeTransform
public void computeTransform(float alphaValue,
javax.media.j3d.Transform3D transform)
- Computes the new transform for this interpolator for a given
alpha value.
- Specified by:
computeTransform
in class javax.media.j3d.TransformInterpolator
- Parameters:
alphaValue
- alpha value between 0.0 and 1.0transform
- object that receives the computed transform for
the specified alpha value- Since:
- Java 3D 1.3
cloneNode
public javax.media.j3d.Node cloneNode(boolean forceDuplicate)
- Used to create a new instance of the node. This routine is called
by
cloneTree
to duplicate the current node.
- Overrides:
cloneNode
in class javax.media.j3d.Node
- Parameters:
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.- See Also:
Node.cloneTree()
,
Node.cloneNode(boolean)
,
Node.duplicateNode(javax.media.j3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
duplicateNode
public void duplicateNode(javax.media.j3d.Node originalNode,
boolean forceDuplicate)
- Copies RotPosScaleTCBSplinePathInterpolator information from
originalNode
into
the current node. This method is called from the
cloneNode
method which is, in turn, called by the
cloneTree
method.
- Overrides:
duplicateNode
in class TCBSplinePathInterpolator
- Parameters:
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.
- Throws:
javax.media.j3d.RestrictedAccessException
- if this object is part of a live
or compiled scenegraph.- See Also:
Node.duplicateNode(javax.media.j3d.Node, boolean)
,
Node.cloneTree()
,
NodeComponent.setDuplicateOnCloneTree(boolean)