Interpolators provide a way of storing actions and applying them to objects with automatic calculation of in-between values. With an interpolator you can blend colors, move objects smoothly between positions, morph meshes, and perform many other transformations.
A Direct3DRMFrame3 object can be attached to a Direct3DRMFrameInterpolator object. For more information on interpolators, see Interpolators in Further Reading.
Direct3DRMFrameInterpolator contains the following methods.
Attaching objects AttachObject DetachObject GetAttachedObjects Background SetSceneBackground SetSceneBackgroundRGB Color SetColor SetColorRGB Fog SetSceneFogColor SetSceneFogParams Interpolating GetIndex Interpolate SetIndex Positioning and movement SetOrientation SetPosition SetQuaternion SetRotation SetVelocity
In addition, Direct3DRMFrameInterpolator inherits the following methods from the Direct3DRMObject interface.
Connects an object to the interpolator.
Syntax
object.AttachObject(mObject As Direct3DRMObject)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- mObject
- Direct3DRMObject object to attach to the interpolator.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Remarks
The attached object can be another interpolator or an object of type x where the interpolator is of type xInterpolator. For example, a Direct3DRMFrame3 object can be attached to a Direct3DRMFrameInterpolator object.
Detaches an object from the interpolator.
Syntax
object.DetachObject(mObject As Direct3DRMObject)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- mObject
- Direct3DRMObject object to detach from the interpolator.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Retrieves the objects currently attached to the interpolator.
Syntax
object.GetAttachedObjects( ) As Direct3DRMObjectArray
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
Return Value
Returns a Direct3DRMObjectArray object.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Retrieves the interpolator's current internal index (time).
Syntax
object.GetIndex( ) As Single
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
Return Value
Returns a value that contains the interpolator's current internal index.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Remarks
Every key stored in an interpolator has an index value. When a key is recorded (by using a method), the key is stamped with the current interpolator index value. The key's index value does not change after being stamped.
Generates a series of actions by interpolating between keys stored in the interpolator. The actions are then applied to the specified object. If no object is specified, the actions are applied to the currently attached objects.
Syntax
object.Interpolate(val As Single, mObject As Direct3DRMObject, options As CONST_D3DRMINTERPOLATIONFLAGS)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- val
- Value that contains the interpolator's current internal index.
- mObject
- Direct3DRMObject object that will be assigned interpolated values for all properties stored in the interpolator. Can be NOTHING, in which case the property values of all attached objects will be set to interpolated values.
- options
- One of the values from the CONST_D3DRMINTERPOLATIONFLAGS enumerated type that controls the kind of interpolation done.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Adds a color key to a Direct3DRMFrameInterpolator object.
Syntax
object.SetColor(c As Long)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- c
- New color for the frame. Be sure to set the alpha component as well as the red, green, and blue color components or your objects might not be visible. To specify an object's color, including the alpha component, call the CreateColorRGBA method from the DirectX7 interface on the object.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Adds an RGB color key to a Direct3DRMFrameInterpolator object.
Syntax
object.SetColorRGB(r As Single, g As Single, b As Single)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- r, g, b
- New color for the frame. Each component of the color should be in the range 0.0 to 1.0.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Sets the interpolator's internal index (time) to the specified value. If other interpolators are attached to the interpolator, this method recursively synchronizes their indices to the same value.
Syntax
object.SetIndex(val As Single)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- val
- Time to set for the interpolator's internal index.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Remarks
Every key stored in an interpolator has an index value. When a key is recorded (by using a method), the key is stamped with the current interpolator index value. The key's index value does not change after being stamped.
Adds an orientation key to a Direct3DRMFrameInterpolator object.
Syntax
object.SetOrientation(reference As Direct3DRMFrame3, dx As Single, dy As Single, dz As Single, ux As Single, uy As Single, uz As Single)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- reference
- Variable that represents the Direct3DRMFrame3 object to be used as the reference.
- dx, dy, dz
- New z-axis for the frame. Each component of the vector should be in the range 1.0 to 1.0.
- ux, uy, uz
- New y-axis for the frame. Each component of the vector should be in the range 1.0 to 1.0.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Remarks
The default orientation of a frame has a direction vector of [0, 0, 1] and an up vector of [0, 1, 0].
If [ux, uy, uz] is parallel to [dx, dy, dz], the D3DRMERR_BADVALUE error value is returned; otherwise, the [ux, uy, uz] vector passed is projected onto the plane that is perpendicular to [dx, dy, dz].
Adds a position key to a Direct3DRMFrameInterpolator object.
Syntax
object.SetPosition(reference As Direct3DRMFrame3, x As Single, y As Single, z As Single)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- reference
- Variable that represents the Direct3DRMFrame3 object to be used as the reference.
- x, y, z
- New position for the frame. Position has no units. Use the viewing frustum to choose reasonable numbers.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Sets a frame's orientation relative to a reference frame, using a unit quaternion.
Syntax
object.SetQuaternion(reference As Direct3DRMFrame3, quat As D3DRMQUATERNION)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- reference
- Variable that represents the Direct3DRMFrame3 object to be used as the reference.
- quat
- D3DRMQUATERNION type used to set the frame's orientation.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Remarks
A quaternion is a four-valued vector that can be used to represent any rotation and has properties that are useful when interpolating between orientations. A quaternion is a unit quaternion if
s**2 + x**2 + y**2 + z**2 = 1
.
Sets a frame rotating by the given angle around the given vector at each call to the Direct3DRM3.Tick or Direct3DRMFrame3.Move method. The direction vector [x, y, z] is defined in the reference frame.
Syntax
object.SetRotation(reference As Direct3DRMFrame3, x As Single, y As Single, z As Single, theta As Single)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- reference
- Variable that represents the Direct3DRMFrame3 object to be used as the reference.
- x, y, z
- Vector about which rotation occurs. Valid values are in the range 1.0 to 1.0.
- theta
- Rotation angle, in radians. The larger the angle, the faster an object rotates. The Move and Tick methods scale this value.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Remarks
The specified rotation changes the matrix with every render tick.
Adds a background color key to a Direct3DRMFrameInterpolator object.
Syntax
object.SetSceneBackground(c As Long)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- c
- New color for the background. To specify an object's color, including the alpha component, call the CreateColorRGBA method from the DirectX7 interface on the object.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Adds a background RGB color key to a Direct3DRMFrameInterpolator object.
Syntax
object.SetSceneBackgroundRGB(r As Single, g As Single, b As Single)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- r, g, b
- New color for the background. Each red, green, and blue component of the color should be in the range 0.0 to 1.0.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Adds a fog color key to a Direct3DRMRFrameInterpolator object.
Syntax
object.SetSceneFogColor(c As Long)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- c
- New color for the fog.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Adds a fog parameters key to a Direct3DRMRFrameInterpolator object.
Syntax
object.SetSceneFogParams(start As Single, End As Single, density As Single)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- start, End
- Fog start and end points for linear fog mode. These settings determine the distance from the camera at which fog effects first become visible, and the distance at which fog reaches its maximum density.
- density
- Fog density for the exponential fog modes. This value should be in the range 0 through 1.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Sets the velocity of the given frame relative to the reference frame. The frame will be moved by the vector [x, y, z] with respect to the reference frame at each successive call to the Direct3DRM3.Tick or Direct3DRMFrame3.Move method.
Syntax
object.SetVelocity(reference As Direct3DRMFrame3, x As Single, y As Single, z As Single, with_rotation As CONST_DBOOLFLAGS)
Parts
- object
- Object expression that resolves to a Direct3DRMFrameInterpolator object.
- reference
- Direct3DRMFrame3 object to be used as the reference.
- x, y, z
- New velocity for the frame. Rotational velocity has no units and can be any value. The Move and Tick methods scale this value.
- with_rotation
- Flag specifying whether the rotational velocity of the object is taken into account when setting the linear velocity. If set to D_TRUE, the object's rotational velocity is included in the calculation; otherwise, set to D_FALSE.
Error Values
For a list of possible errors, see Direct3D Retained Mode Error Values.
Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.