|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.sun.j3d.utils.behaviors.interpolators.KBCubicSplineSegment
The KBCubicSplineSegment class creates the representation of a Kochanek-Bartel's (also known as the TCB or Tension-Continuity-Bias Spline. This class takes 4 key frames as its input (using KBKeyFrame). If interpolating between the ith and (i+1)th key frame then the four key frames that need to be specified are the (i-1)th, ith, (i+1)th and (i+2)th keyframes in order. The KBCubicSegmentClass then pre-computes the hermite interpolation basis coefficients if the (i+1)th frame has the linear flag set to zero. These are used to calculate the interpolated position, scale and quaternions when they requested by the user using the getInterpolated* methods. If the the (i+1)th frame's linear flag is set to 1 then the class uses linear interpolation to calculate the interpolated position, scale, heading pitch and bank it returns through the getInterpolated* methods.
Method Summary | |
float |
computeLength(float u)
Computes the length of the curve at a given point between key frames. |
float |
getInterpolatedBank(float u)
Computes the interpolated bank along the curve at a given point between key frames and returns the interpolated value as a float This routine uses linear interpolation if the (i+1)th key frame's linear value is equal to 1. |
float |
getInterpolatedHeading(float u)
Computes the interpolated heading along the curve at a given point between key frames and returns the interpolated value as a float This routine uses linear interpolation if the (i+1)th key frame's linear value is equal to 1. |
float |
getInterpolatedPitch(float u)
Computes the interpolated pitch along the curve at a given point between key frames and returns the interpolated value as a float This routine uses linear interpolation if the (i+1)th key frame's linear value is equal to 1. |
void |
getInterpolatedPosition(float u,
Point3f newPos)
Computes the interpolated position along the curve at a given point between key frames and returns a Point3f with the interpolated x, y, and z scale components. |
void |
getInterpolatedPositionVector(float u,
Vector3f newPos)
Computes the interpolated position along the curve at a given point between key frames and returns a Vector3f with the interpolated x, y, and z scale components. |
void |
getInterpolatedScale(float u,
Point3f newScale)
Computes the interpolated scale along the curve at a given point between key frames and returns a Point3f with the interpolated x, y, and z scale components. |
float |
getInterpolatedValue(float u)
Computes the ratio of the length of the spline from the ith key frame to the position specified by u to the length of the entire spline segment from the ith key frame to the (i+1) th key frame. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
public float computeLength(float u)
u
- specifies the point between keyframes where 0 <= u <= 1.public void getInterpolatedScale(float u, Point3f newScale)
u
- specifies the point between keyframes where 0 <= u <= 1.newScale
- returns the interpolated x,y,z scale value in a Point3fpublic void getInterpolatedPosition(float u, Point3f newPos)
u
- specifies the point between keyframes where 0 <= u <= 1.newPos
- returns the interpolated x,y,z position in a Point3fpublic void getInterpolatedPositionVector(float u, Vector3f newPos)
u
- specifies the point between keyframes where 0 <= u <= 1.newPos
- returns the interpolated x,y,z position in a Vector3f.public float getInterpolatedHeading(float u)
u
- specifies the point between keyframes where 0 <= u <= 1.
public float getInterpolatedPitch(float u)
u
- specifies the point between keyframes where 0 <= u <= 1.
public float getInterpolatedBank(float u)
u
- specifies the point between keyframes where 0 <= u <= 1.
public float getInterpolatedValue(float u)
u
- specifies the point between keyframes where 0 <= u <= 1.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |