# TBasicTweener Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicTweener:

List of all members.

## Public Member Functions
virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI | AddRef ()
virtual MCCOMErr MCCOMAPI | SimpleTween (real &result, int32 time, int32 time1, int32 time2)
virtual MCCOMErr MCCOMAPI | Tween (I3DShKeyFrame *res, int32 time, I3DShTweenerChainLink *alink)
virtual MCCOMErr MCCOMAPI | Derivate (I3DShKeyFrame *res, int32 time, I3DShTweenerChainLink *alink)
virtual boolean MCCOMAPI | NeedKeyFrameTangents () const

## Detailed Description

Basic Tweener class. Derive from this for a default implementation of I3DExTweener

See also:
  I3DExTweener

## Member Function Documentation

virtual uint32 MCCOMAPI TBasicTweener::AddRef | ( |  | ) | `[inline, virtual]`

Increments the reference count of the object

Reimplemented from TBasicDataExchanger.

virtual MCCOMErr MCCOMAPI TBasicTweener::Derivate | ( | I3DShKeyFrame * | res,
|  | int32 | time,
|  | I3DShTweenerChainLink * | alink |
| ) |  |  | `[virtual]`

Calculate the first derivative of the value as a function of time. This function is used for motion blur and should be implemented so that your tweener is compatible with the motion blur.

Parameters:

  | res | : keyFrame where the result is stored
  | time | : time at which the tweener should be evaluated
  | alink | : link between the two keyframes where time is located

Returns:
  MC_S_OK if it executed properly. MC_E_NOTIMPL if it is not implemented

Implements I3DExTweener.

virtual boolean MCCOMAPI TBasicTweener::NeedKeyFrameTangents | ( |  | ) | const`[inline, virtual]`

Returns true if the tweener need to have tangents on the keyframes.

Implements I3DExTweener.

virtual MCCOMErr MCCOMAPI TBasicTweener::QueryInterface | ( | const MCIID & | riid,
|  | void ** | ppvObj |
| ) |  |  | `[virtual]`

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:

  | riid | GUID of the interface
  | ppvObj | A pointer to the pointer being returned.

Reimplemented from TBasicDataExchanger.

virtual MCCOMErr MCCOMAPI TBasicTweener::SimpleTween | ( | real & | result,
|  | int32 | time,
|  | int32 | time1,
|  | int32 | time2 |
| ) |  |  | `[virtual]`

Implements I3DExTweener.

virtual MCCOMErr MCCOMAPI TBasicTweener::Tween | ( | I3DShKeyFrame * | res,
|  | int32 | time,
|  | I3DShTweenerChainLink * | alink |
| ) |  |  | `[virtual]`

Interpolates a value between two keyframes.

Parameters:

  | res | : keyFrame where the result is stored
  | time | : time at which the tweener should be evaluated
  | alink | : link between the two keyframes where time is located

-Returns:

MC_S_OK if it executed properly. MC_E_NOTIMPL if it is not implemented

Implements I3DExTweener.

The documentation for this class was generated from the following file:

- Basic3DCOMImplementations.h