public abstract class TransformInterpolator extends Interpolator
Modifier and Type | Field and Description |
---|---|
protected Transform3D |
axis
The transform that defines the local coordinate
|
protected Transform3D |
axisInverse
The inverse transform that defines the local coordinate
|
protected TransformGroup |
target
The TransformGroup node affected by this transformInterpolator
|
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 |
---|
TransformInterpolator()
Constructs a TransformInterpolator node with a null alpha value and
a null target of TransformGroup
|
TransformInterpolator(Alpha alpha,
TransformGroup target)
Constructs a trivial transform interpolator with a specified alpha,
a specified target and an default axis set to Identity.
|
TransformInterpolator(Alpha alpha,
TransformGroup target,
Transform3D axisOfTransform)
Constructs a new transform interpolator that set an specified alpha,
a specified targe and a specified axisOfTransform.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
computeTransform(float alphaValue,
Transform3D transform)
Computes the new transform for this interpolator for a given
alpha value.
|
TransformGroup |
getTarget()
This method retrieves this interpolator's TransformGroup
node reference.
|
Transform3D |
getTransformAxis()
This method retrieves this interpolator's axis of transform.
|
void |
processStimulus(Enumeration criteria)
This method is invoked by the behavior scheduler every frame.
|
void |
setTarget(TransformGroup target)
This method sets the target TransformGroup node for this
interpolator.
|
void |
setTransformAxis(Transform3D axisOfTransform)
This method sets the axis of transform for this interpolator.
|
void |
updateNodeReferences(NodeReferenceTable referenceTable)
Callback used to allow a node to check if any scene graph objects
referenced
by that node have been duplicated via a call to
cloneTree . |
getAlpha, initialize, setAlpha
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, wakeupOn
cloneNode, 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
protected TransformGroup target
protected Transform3D axis
protected Transform3D axisInverse
public TransformInterpolator()
public TransformInterpolator(Alpha alpha, TransformGroup target)
alpha
- The alpha object for this transform Interpolatortarget
- The target TransformGroup for this TransformInterpolatorpublic TransformInterpolator(Alpha alpha, TransformGroup target, Transform3D axisOfTransform)
alpha
- the alpha object for this interpolatortarget
- the transformGroup node affected by this transformInterpolatoraxisOfTransform
- the transform that defines the local coordinate
system in which this interpolator operates.public void setTarget(TransformGroup target)
target
- The target TransformGrouppublic TransformGroup getTarget()
public void setTransformAxis(Transform3D axisOfTransform)
axisOfTransform
- the transform that defines the local coordinate
system in which this interpolator operatespublic Transform3D getTransformAxis()
public abstract void computeTransform(float alphaValue, Transform3D transform)
alphaValue
- alpha value between 0.0 and 1.0transform
- object that receives the computed transform for
the specified alpha valuepublic void processStimulus(Enumeration criteria)
processStimulus
in class Behavior
criteria
- an enumeration of the criteria that caused the
stimuluspublic void updateNodeReferences(NodeReferenceTable referenceTable)
cloneTree
.
This method is called by cloneTree
after all nodes in
the sub-graph have been duplicated. The cloned Leaf node's method
will be called and the Leaf node can then look up any object references
by using the getNewObjectReference
method found in the
NodeReferenceTable
object. If a match is found, a
reference to the corresponding object in the newly cloned sub-graph
is returned. If no corresponding reference is found, either a
DanglingReferenceException is thrown or a reference to the original
object is returned depending on the value of the
allowDanglingReferences
parameter passed in the
cloneTree
call.
NOTE: Applications should not call this method directly. It should only be called by the cloneTree method.
updateNodeReferences
in class Behavior
referenceTable
- a NodeReferenceTableObject that contains the
getNewObjectReference
method needed to search for
new object instances.NodeReferenceTable
,
Node.cloneTree()
,
DanglingReferenceException
Copyright © 2016–2022 SciJava. All rights reserved.