NL3D::CAnimatedValueBlendable< NLMISC::CQuat > Class Reference

#include <animated_value.h>


Detailed Description

A QUATERNION implementation of IAnimatedValue.

Author:
Cyril 'Hulud' Corvazier

Nevrax France

Date:
2001

Definition at line 128 of file animated_value.h.

Public Member Functions

virtual void affect (const IAnimatedValue &value)
virtual void blend (const IAnimatedValue &value, float blendFactor)
 A quat blend method.


Data Fields

NLMISC::CQuat Value


Member Function Documentation

virtual void NL3D::CAnimatedValueBlendable< NLMISC::CQuat >::affect const IAnimatedValue value  )  [inline, virtual]
 

An assignation method. This method assign a values in the object.

Parameters:
value is the new value.

Definition at line 154 of file animated_value.h.

References nlassert, NL3D::CAnimatedValueBlendable< T >::Value, and value.

00155         {
00156                 // Check types of value. typeid is slow, assert only in debug
00157 #ifdef NL_DEBUG
00158                 nlassert (typeid (value)==typeid(*this));
00159 #endif
00160 
00161                 // Cast
00162                 CAnimatedValueBlendable<NLMISC::CQuat>  *pValue=(CAnimatedValueBlendable<NLMISC::CQuat>*)&value;
00163 
00164                 // Blend
00165                 Value=pValue->Value;
00166         }

virtual void NL3D::CAnimatedValueBlendable< NLMISC::CQuat >::blend const IAnimatedValue value,
float  blendFactor
[inline, virtual]
 

A quat blend method.

Definition at line 132 of file animated_value.h.

References nlassert, NLMISC::CQuatT< float >::slerp(), NL3D::CAnimatedValueBlendable< T >::Value, and value.

00133         {
00134                 // Check types of value. typeid is slow, assert only in debug
00135 #ifdef NL_DEBUG
00136                 nlassert (typeid (value)==typeid(*this));
00137 #endif
00138 
00139                 // Cast.
00140                 CAnimatedValueBlendable<NLMISC::CQuat>  *pValue=(CAnimatedValueBlendable<NLMISC::CQuat>*)&value;
00141 
00142                 // blend.
00143                 // Yoyo: no makeClosest is done, because the result seems to be better when done
00144                 // before: for all blend values, and not one after one.
00145                 Value= NLMISC::CQuat::slerp(Value, pValue->Value, 1-blendFactor);
00146 
00147         }


Field Documentation

NLMISC::CQuat NL3D::CAnimatedValueBlendable< NLMISC::CQuat >::Value
 

Definition at line 169 of file animated_value.h.


The documentation for this class was generated from the following file:
Generated on Tue Mar 16 06:44:24 2004 for NeL by doxygen 1.3.6