|
j3d.org Code | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.j3d.util.interpolator.Interpolator org.j3d.util.interpolator.ColorInterpolator
public class ColorInterpolator
An interpolator that works with color components.
The interpolation routine is just a simple linear interpolation between each of the points. The interpolator may take arbitrarily spaced keyframes and compute correct values.
Color interpolation can be done in the standard RGB space (LINEAR) or using the additional type of HSV_LINEAR. This internally converts all color values to HSV space and then interpolates over that instead.
The RGB<->HSV color space conversions have been taken from Foley & van Dam Computer Graphics Principles and Practice, 2nd Edition, Addison Wesley, 1990.
Internationalisation Resource Names
Field Summary | |
---|---|
static int |
HSV_SPACE
The interpolator should be in HSV color space |
static int |
RGB_SPACE
The interpolator should be RGB color space |
Fields inherited from class org.j3d.util.interpolator.Interpolator |
---|
allocatedSize, ARRAY_INCREMENT, currentSize, DEFAULT_SIZE, interpolationType, keys, LINEAR, STEP |
Constructor Summary | |
---|---|
ColorInterpolator()
Create a new linear interpolator instance with the default size for the number of key values and running in RGB color space. |
|
ColorInterpolator(int size)
Create an linear RGB interpolator with the given basic size. |
|
ColorInterpolator(int size,
int colorSpace)
Create a new linear interpolator instance with the default size for the number of key values and selectable color space. |
|
ColorInterpolator(int size,
int colorSpace,
int type)
Create a interpolator with the given basic size using the interpolation type and color space to interpolate over. |
Method Summary | |
---|---|
void |
addHSVKeyFrame(float key,
javax.vecmath.Color4f pt)
Add a key frame set of values at the given key point. |
void |
addHSVKeyFrame(float key,
float h,
float s,
float v,
float a)
Add a key frame set of values at the given key point. |
void |
addRGBKeyFrame(float key,
javax.vecmath.Color4f pt)
Add a key frame set of values at the given key point. |
void |
addRGBKeyFrame(float key,
float r,
float g,
float b,
float a)
Add a key frame set of values at the given key point. |
float[] |
floatHSVValue(float key)
Get the interpolated value of the point at the given key value as an RGB value. |
float[] |
floatRGBValue(float key)
Get the interpolated value of the point at the given key value as an RGB value. |
javax.vecmath.Color4f |
pointHSVValue(float key)
Get the interpolated value of the point at the given key value. |
javax.vecmath.Color4f |
pointRGBValue(float key)
Get the interpolated HSV value of the point at the given key value. |
java.lang.String |
toString()
Create a string representation of this interpolator's values |
Methods inherited from class org.j3d.util.interpolator.Interpolator |
---|
clear, findKeyIndex |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int HSV_SPACE
public static final int RGB_SPACE
Constructor Detail |
---|
public ColorInterpolator()
public ColorInterpolator(int size)
size
- The starting number of items in interpolatorpublic ColorInterpolator(int size, int colorSpace)
public ColorInterpolator(int size, int colorSpace, int type)
size
- The starting number of items in interpolatortype
- The type of interpolation scheme to useMethod Detail |
---|
public void addRGBKeyFrame(float key, float r, float g, float b, float a)
key
- The value of the key to user
- The r component of the color at this keyg
- The g component of the color at this keyb
- The b component of the color at this keya
- The alpha component of the color at this keypublic void addHSVKeyFrame(float key, float h, float s, float v, float a)
key
- The value of the key to useh
- The h component of the color at this keys
- The s component of the color at this keyv
- The v component of the color at this keya
- The alpha component of the color at this key
java.lang.IllegalArgumentException
- s is zero and h is not NaNpublic void addRGBKeyFrame(float key, javax.vecmath.Color4f pt)
key
- The value of the key to usept
- The point data to take information frompublic void addHSVKeyFrame(float key, javax.vecmath.Color4f pt)
key
- The value of the key to usept
- The point data to take information from
java.lang.IllegalArgumentException
- s is zero and h is not NaNpublic float[] floatRGBValue(float key)
The value will be interpolated according to the colorspace that was specified in the constructor.
key
- The key value to get the color for
public javax.vecmath.Color4f pointRGBValue(float key)
The value will be interpolated according to the colorspace that was specified in the constructor.
key
- The key value to get the color for
public float[] floatHSVValue(float key)
The value will be interpolated according to the colorspace that was specified in the constructor.
key
- The key value to get the color for
public javax.vecmath.Color4f pointHSVValue(float key)
key
- The key value to get the color for
public java.lang.String toString()
toString
in class java.lang.Object
|
j3d.org Code | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |