TBasicAnimationMethod Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicAnimationMethod:
I3DExAnimationMethod TBasicDataExchanger IMCUnknown TBasicUnknown IExDataExchanger TMCObject IMCUnknown IMCUnknown

List of all members.

Public Member Functions

 TBasicAnimationMethod ()
 ~TBasicAnimationMethod ()
virtual MCCOMErr MCCOMAPI QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI AddRef ()
virtual MCCOMErr MCCOMAPI SetTree (I3DShTreeElement *tree)
virtual boolean MCCOMAPI GetTransform (TTreeTransform &transform)
virtual boolean MCCOMAPI GetInitialTransform (TTreeTransform &transform)
virtual MCCOMErr MCCOMAPI SetTransform (const TTreeTransform &transform)
virtual boolean MCCOMAPI OffsetAnimation (const TTreeTransform &offset)
virtual boolean MCCOMAPI TransformIsLocal ()
virtual MCCOMErr MCCOMAPI GetAnimationKeyTimes (real inAccuracy, TMCArray< MicroTick > &outKeyTimes, boolean &outAutoGetKeyFrames, boolean &outAutoCurveAnalysis)
virtual boolean MCCOMAPI NeedConvert ()
virtual MCCOMErr MCCOMAPI BeginConvert (I3DShAnimationMethod *source)
virtual MCCOMErr MCCOMAPI Convert (I3DShAnimationMethod *source, const TTreeTransform &transform)
virtual MCCOMErr MCCOMAPI EndConvert (I3DShAnimationMethod *source)
virtual MCCOMErr MCCOMAPI GetXTranslationAnimationTrack (I3DShParamTimeLine **animationTrack)
virtual MCCOMErr MCCOMAPI GetYTranslationAnimationTrack (I3DShParamTimeLine **animationTrack)
virtual MCCOMErr MCCOMAPI GetZTranslationAnimationTrack (I3DShParamTimeLine **animationTrack)
virtual MCCOMErr MCCOMAPI GetHotPointAnimationTrack (I3DShParamTimeLine **animationTrack)
virtual MCCOMErr MCCOMAPI GetUniformScalingAnimationTrack (I3DShParamTimeLine **animationTrack)
virtual MCCOMErr MCCOMAPI GetRotationAnimationTrack (I3DShParamTimeLine **animationTrack)
virtual MCCOMErr MCCOMAPI GetRotationAnimationTrack (I3DShParamTimeLine **xAnimationTrack, I3DShParamTimeLine **yAnimationTrack, I3DShParamTimeLine **zAnimationTrack, I3DShParamTimeLine **mirrorAnimationTrack, EEulerAnglesOrder &anglesOrder)
virtual MCCOMErr MCCOMAPI GetXScalingAnimationTrack (I3DShParamTimeLine **animationTrack)
virtual MCCOMErr MCCOMAPI GetYScalingAnimationTrack (I3DShParamTimeLine **animationTrack)
virtual MCCOMErr MCCOMAPI GetZScalingAnimationTrack (I3DShParamTimeLine **animationTrack)

Protected Attributes

I3DShTreeElementfTree

Detailed Description

Basic Animation Method class. Derive from this for a default implementation of I3DExAnimationMethod.

See also:
I3DExAnimationMethod

Constructor & Destructor Documentation

TBasicAnimationMethod::TBasicAnimationMethod (  ) 
TBasicAnimationMethod::~TBasicAnimationMethod (  ) 

Member Function Documentation

virtual uint32 MCCOMAPI TBasicAnimationMethod::AddRef (  )  [inline, virtual]

Increments the reference count of the object

Reimplemented from TBasicDataExchanger.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::BeginConvert ( I3DShAnimationMethod source  )  [virtual]

Starts the conversion from one animation method to another.

Note that this method is only called if the GetXTranslationAnimationTrack are not implemented.

Parameters:
source The source animation method.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::Convert ( I3DShAnimationMethod source,
const TTreeTransform transform 
) [virtual]

Converts one position (transform) at the current time from one animation method to another. This method is called for each of the times returned by GetAnimationKeyTimes().

Parameters:
source The source animation method.
transform The transform at the current time from the source animation method.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::EndConvert ( I3DShAnimationMethod source  )  [virtual]

Called at the end of the conversion from one animation method to another. See BeginConvert() and Convert() for details.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetAnimationKeyTimes ( real  inAccuracy,
TMCArray< MicroTick > &  outKeyTimes,
boolean outAutoGetKeyFrames,
boolean outAutoCurveAnalysis 
) [virtual]

Returns a set of key times that approximates the trajectory of the object with a given accuracy. This is used when converting an animation method to key frames.

Note that by setting outAutoCurveAnalysis or outAutoGetKeyFrames to true, you can tell the Shell to use a default implementation to evaluate the keyframes so that you do not have to provide an implementation of this method

Parameters:
inAccuracy The accuray of the conversion (0 is the lowest accuracy, 1 means 100%)
outKeyTimes The returned sampling times.
outAutoGetKeyFrames Returns true if the keyframes of the animation method should be used instead.
outAutoCurveAnalysis Retursn true if a default curve analysis method should be used instead.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetHotPointAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the hot point. This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual boolean MCCOMAPI TBasicAnimationMethod::GetInitialTransform ( TTreeTransform transform  )  [virtual]

Returns the initial transform of the object (transform at time 0).

Parameters:
transform A reference to the transform where the result should be stored.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetRotationAnimationTrack ( I3DShParamTimeLine **  xAnimationTrack,
I3DShParamTimeLine **  yAnimationTrack,
I3DShParamTimeLine **  zAnimationTrack,
I3DShParamTimeLine **  mirrorAnimationTrack,
EEulerAnglesOrder anglesOrder 
) [virtual]

Returns the time line corresponding to the animation of the rotation (as Euler angles). This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetRotationAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the rotation (as a matrix). This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual boolean MCCOMAPI TBasicAnimationMethod::GetTransform ( TTreeTransform transform  )  [virtual]

Returns the current transform of the object.

Parameters:
transform A reference to the transform where the result should be stored.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetUniformScalingAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the uniform scaling. This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetXScalingAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the X parameter of the scaling. This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetXTranslationAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the X parameter of position. This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetYScalingAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the Y parameter of the scaling. This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetYTranslationAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the Y parameter of position. This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetZScalingAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the Z parameter of the scaling. This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::GetZTranslationAnimationTrack ( I3DShParamTimeLine **  animationTrack  )  [virtual]

Returns the time line corresponding to the animation of the Z parameter of position. This is used to make exact conversions between animation methods when it is possible. When it is not implemented then the animation method is sampled. (See GetAnimationKeyTimes() and BeginConvert())

Parameters:
animationTrack A pointer to the time line that is returned.

Implements I3DExAnimationMethod.

virtual boolean MCCOMAPI TBasicAnimationMethod::NeedConvert (  )  [inline, virtual]

Returns true if needs to force a convertion.

Implements I3DExAnimationMethod.

virtual boolean MCCOMAPI TBasicAnimationMethod::OffsetAnimation ( const TTreeTransform offset  )  [virtual]

Offset the transform of the whole animation

Parameters:
offset The offset to add

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::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 TBasicAnimationMethod::SetTransform ( const TTreeTransform transform  )  [virtual]

Sets transform of the object at the current time.

Parameters:
transform The transform of the object.

Implements I3DExAnimationMethod.

virtual MCCOMErr MCCOMAPI TBasicAnimationMethod::SetTree ( I3DShTreeElement tree  )  [virtual]

Sets the Tree Element whose position is controled by this animation method.

Parameters:
tree The tree that is controlled by this animation method.

Implements I3DExAnimationMethod.

virtual boolean MCCOMAPI TBasicAnimationMethod::TransformIsLocal (  )  [virtual]

Returns true if the animation method defines the local transform of the object (meaning that the transform should be multiplied by the parent global transform to obtain the global transform of the object).

By default transforms are local but it can be useful to have an object hierarchy in which the last object's position is defined in global coordinates (eg motion path)

Returns:
true if the transform is local

Implements I3DExAnimationMethod.


Member Data Documentation


The documentation for this class was generated from the following file:
Generated on Mon Apr 26 22:47:54 2010 for Carrara SDK Doc by  doxygen 1.6.3