Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

VectorInterpolator Class Reference

VectorInterpolator takes in a fraction value which it applies to the keys and keyValues to produce a set of output values interpolated according to type. More...

Inheritance diagram for VectorInterpolator:

VectorInterpolatorNode ChildNode Node Object List of all members.

Detailed Description

VectorInterpolator takes in a fraction value which it applies to the keys and keyValues to produce a set of output values interpolated according to type.

Authoring Interface:

        VectorInterpolator {
                // from VectorInterpolatorNode
            field MFFloat   key         [ ]
            field MFFloat   keyValue    [ ]
            field SFString  type        "LINEAR"
        
            field SFFloat   fraction    0
        
            eventOut MFFloat value
        }

Parameters:
key is an array of floats which identifies interpolation keys. Each keyframe value corresponds to one key. Default value: [ ]
keyValue is an array of floats which contains the keyframe values. Each value is made up of a sequence of consecutive floats. The number of floats per keyframe value is determined by keyValue.length / key.length. The number of values returned in from the evaluate() function is equal to this number. Default value: [ ]
type is string identifying the type of interpolation to be done. Allowed values are:
"LINEAR"Treat each floating point value as an independent linear interpolation. Mostly for interpolating position.

"SPHERICAL"Each set of 4 floats is considered to be a rotation value. Do a slerp to interpolate between them.

"RGB"Each set of 3 floats is considered to be an RGB value. Interpolate in HSV space.

"RGBA"Each set of 4 floats is considered to be an RGBA value. Interpolate RGB in HSV space and linearly interpolate alpha.

"NORMAL"Each set of 3 floats is considered to be a normal vector. These are converted to quaternion values, slerp is used to interpolate and then the result is converted back to a normal vector.

"FAST_NORMAL"Each set of 3 floats is considered to be a normal vector. But instead of doing the precise slerp operation, a much faster linear interpolation is performed. The result is then normalized. This is less accurate than slerp, but for normals animating over a small range (like a flag waving) it gives good results.

"MATRIX2D"Each set of 6 floats is consider to be a 2D matrix (a 2x2 matrix plus x,y position). The 2x2 matrix is decomposed into rotation and scale values which are linearly interpolated (the rotation is a single angle value so it can be accurately interpolated in this way) and the position is linearly interpolated.
Default value: "LINEAR"
fraction is the value used to compute the interpolation. For each fraction input, a set of values is output. Default value: 0
value is the set of output values emitted when a fraction is received.

Functionality:

XXX


Generated on Sat Apr 1 06:08:08 2006 for Emma Content Development Kit by  doxygen 1.4.3