Package javax.media.j3d
Class ColorInterpolator
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.ColorInterpolator
Color interpolation behavior. This class defines a behavior that
modifies the ambient, emissive, diffuse, or specular color of its
target material object by linearly interpolating between a pair of
specified colors, using the value generated by the specified Alpha
object.
The behavior modifies the color specified by the
Material's colorTarget attribute, one of: AMBIENT, EMISSIVE,
DIFFUSE, SPECULAR, or AMBIENT_AND_DIFFUSE.
The ALLOW_COMPONENT_READ bit must be set in the Material object in
order for the Material's colorTarget to be read.
If the Material object's ALLOW_COMPONENT_READ bit is not set, the
diffuse component will be modified.
- See Also:
-
Field Summary
Fields inherited from class javax.media.j3d.Interpolator
defaultWakeupCriterionFields 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
ConstructorsConstructorDescriptionColorInterpolator(Alpha alpha, Material target) Constructs a trivial color interpolator with a specified target, a starting color of black, and an ending color of white.ColorInterpolator(Alpha alpha, Material target, javax.vecmath.Color3f startColor, javax.vecmath.Color3f endColor) Constructs a color interpolator with the specified target, starting color, and ending color. -
Method Summary
Modifier and TypeMethodDescriptioncloneNode(boolean forceDuplicate) Used to create a new instance of the node.voidgetEndColor(javax.vecmath.Color3f color) This method retrieves this interpolator's endColor.voidgetStartColor(javax.vecmath.Color3f color) This method retrieves this interpolator's startColor.This method retrieves this interpolator's target material component object.voidprocessStimulus(Enumeration criteria) This method is invoked by the behavior scheduler every frame.voidsetEndColor(javax.vecmath.Color3f color) This method sets the endColor for this interpolator.voidsetStartColor(javax.vecmath.Color3f color) This method sets the startColor for this interpolator.voidThis method sets the target material component object for this interpolator.voidupdateNodeReferences(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 tocloneTree.Methods inherited from class javax.media.j3d.Interpolator
getAlpha, initialize, setAlphaMethods inherited from class javax.media.j3d.Behavior
getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, postId, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, wakeupOnMethods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickableMethods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString
-
Constructor Details
-
ColorInterpolator
Constructs a trivial color interpolator with a specified target, a starting color of black, and an ending color of white.- Parameters:
alpha- the alpha object for this interpolatortarget- the material component object whose color is affected by this color interpolator
-
ColorInterpolator
public ColorInterpolator(Alpha alpha, Material target, javax.vecmath.Color3f startColor, javax.vecmath.Color3f endColor) Constructs a color interpolator with the specified target, starting color, and ending color.- Parameters:
alpha- the alpha object for this interpolatortarget- the material component object whose color is affected by this color interpolatorstartColor- the starting colorendColor- the ending color
-
-
Method Details
-
setStartColor
public void setStartColor(javax.vecmath.Color3f color) This method sets the startColor for this interpolator.- Parameters:
color- the new start color
-
getStartColor
public void getStartColor(javax.vecmath.Color3f color) This method retrieves this interpolator's startColor.- Parameters:
color- the vector that will receive the interpolator's start color
-
setEndColor
public void setEndColor(javax.vecmath.Color3f color) This method sets the endColor for this interpolator.- Parameters:
color- the new end color
-
getEndColor
public void getEndColor(javax.vecmath.Color3f color) This method retrieves this interpolator's endColor.- Parameters:
color- the vector that will receive the interpolator's end color
-
setTarget
This method sets the target material component object for this interpolator.- Parameters:
target- the material component object whose color is affected by this color interpolator
-
getTarget
This method retrieves this interpolator's target material component object.- Returns:
- the interpolator's target material component object
-
processStimulus
This method is invoked by the behavior scheduler every frame. It maps the alpha value that corresponds to the current time into a color value and updates the ambient, emissive, diffuse, or specular color (or both the ambient and diffuse color) of the specified target Material object with this new color value.- Specified by:
processStimulusin classBehavior- Parameters:
criteria- an enumeration of the criteria that caused the stimulus
-
cloneNode
Used to create a new instance of the node. This routine is called bycloneTreeto duplicate the current node. -
updateNodeReferences
Callback used to allow a node to check if any scene graph objects referenced by that node have been duplicated via a call tocloneTree. This method is called bycloneTreeafter 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 thegetNewObjectReferencemethod found in theNodeReferenceTableobject. 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 theallowDanglingReferencesparameter passed in thecloneTreecall.NOTE: Applications should not call this method directly. It should only be called by the cloneTree method.
- Overrides:
updateNodeReferencesin classBehavior- Parameters:
referenceTable- a NodeReferenceTableObject that contains thegetNewObjectReferencemethod needed to search for new object instances.- See Also:
-