public class RotPosScalePathInterpolator extends PathInterpolator
currentInterpolationValue, currentKnotIndex
axis, axisInverse, target
defaultWakeupCriterion
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 |
---|
RotPosScalePathInterpolator(Alpha alpha,
TransformGroup target,
Transform3D axisOfTransform,
float[] knots,
Quat4f[] quats,
Point3f[] positions,
float[] scales)
Constructs a new RotPosScalePathInterpolator object that varies the
rotation, translation, and scale of the target TransformGroup's
transform.
|
Modifier and Type | Method and Description |
---|---|
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.
|
Transform3D |
getAxisOfRotPosScale()
Deprecated.
As of Java 3D version 1.3, replaced by
TransformInterpolator.geTransformAxis() |
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.
|
float |
getScale(int index)
Retrieves the scale at the specified index.
|
void |
getScales(float[] scales)
Copies the array of scale values from this interpolator
into the specified array.
|
void |
setAxisOfRotPosScale(Transform3D axisOfRotPosScale)
Deprecated.
As of Java 3D version 1.3, replaced by
TransformInterpolator.setTransformAxis(Transform3D) |
void |
setPathArrays(float[] knots,
Quat4f[] quats,
Point3f[] positions,
float[] scales)
Replaces the existing arrays of knot values, quaternion
values, position values, and scale values with the specified arrays.
|
void |
setPosition(int index,
Point3f position)
Sets the position value at the specified index for
this interpolator.
|
void |
setQuat(int index,
Quat4f quat)
Sets the quat value at the specified index for this
interpolator.
|
void |
setScale(int index,
float scale)
Sets the scale at the specified index for this
interpolator.
|
computePathInterpolation, computePathInterpolation, getArrayLengths, getKnot, getKnots, setKnot, setKnots
getTarget, getTransformAxis, processStimulus, setTarget, setTransformAxis, updateNodeReferences
getAlpha, initialize, setAlpha
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, wakeupOn
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
public RotPosScalePathInterpolator(Alpha alpha, TransformGroup target, Transform3D axisOfTransform, float[] knots, Quat4f[] quats, Point3f[] positions, float[] scales)
alpha
- the alpha object for this interpolator.target
- the TransformGroup node affected by this interpolator.axisOfTransform
- the transform that specifies the local
coordinate system in which this interpolator operates.knots
- 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.scales
- an array of scale component values at the knots.IllegalArgumentException
- if the lengths of the
knots, quats, positions, and scales arrays are not all the same.public void setQuat(int index, Quat4f quat)
index
- the index to be changedquat
- the new quat value at indexpublic void getQuat(int index, Quat4f quat)
index
- the index of the value requestedquat
- returns the interpolator's quat value at the indexpublic void setPosition(int index, Point3f position)
index
- the index to be changedposition
- the new position value at indexpublic void getPosition(int index, Point3f position)
index
- the index of the value requestedposition
- returns the interpolator's position value at the indexpublic void setScale(int index, float scale)
index
- the index to be changedscale
- the new scale at indexpublic float getScale(int index)
index
- the index of the value requestedpublic void setPathArrays(float[] knots, Quat4f[] quats, Point3f[] positions, float[] scales)
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.scales
- a new array of scale component values at the knots.IllegalArgumentException
- if the lengths of the
knots, quats, positions, and scales arrays are not all the same.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 getScales(float[] scales)
scales
- array that will receive the scales.public void setAxisOfRotPosScale(Transform3D axisOfRotPosScale)
TransformInterpolator.setTransformAxis(Transform3D)
public Transform3D getAxisOfRotPosScale()
TransformInterpolator.geTransformAxis()
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(org.scijava.java3d.Node, boolean)
,
NodeComponent.setDuplicateOnCloneTree(boolean)
Copyright © 2016–2022 SciJava. All rights reserved.