NL3D::CKeyBezier< T > Class Template Reference

#include <key.h>

Inheritance diagram for NL3D::CKeyBezier< T >:

NL3D::CKey< T >

Detailed Description

template<class T>
class NL3D::CKeyBezier< T >

Implementation of CKey for Bezier keyframer.

Author:
Cyril 'Hulud' Corvazier

Nevrax France

Date:
2001

Definition at line 137 of file key.h.

Public Types

typedef T TValueType
 synonym for T.


Public Member Functions

void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 Serial.


Data Fields

float OODeltaTime
Value
 The key value.

Tangents.
InTan
OutTan
bool Step


Member Typedef Documentation

template<class T>
typedef T NL3D::CKey< T >::TValueType [inherited]
 

synonym for T.

Definition at line 54 of file key.h.


Member Function Documentation

template<class T>
void NL3D::CKeyBezier< T >::serial NLMISC::IStream f  )  throw (NLMISC::EStream) [inline]
 

Serial.

Reimplemented from NL3D::CKey< T >.

Definition at line 142 of file key.h.

References NL3D::CKeyBezier< T >::InTan, NL3D::CKeyBezier< T >::OutTan, and NL3D::CKeyBezier< T >::Step.

00143         {
00144                 // Version number
00145                 (void)f.serialVersion (0);
00146 
00147                 // Serial the value
00148                 f.serial (Value);
00149                 f.serial (InTan);
00150                 f.serial (OutTan);
00151                 f.serial (Step);
00152         };


Field Documentation

template<class T>
T NL3D::CKeyBezier< T >::InTan
 

Those are NOT the true Bezier control points: they are tangents relative to Value, and relative to keyTime: CPIn= Value + InTan * dt0/3;
CPOut= Value + OutTan * dt1/3;
where: dt0= curKey.time - prevKey.time
dt1= nextKey.time - curKey.time

and when not possible (first/last key), dt= getRangeDelta() is used.

Definition at line 165 of file key.h.

Referenced by NL3D::CTCBTools< CKeyTCBFloat, sint32, std::map< TAnimationTime, CKeyTCBFloat > >::computeTCBFactors(), and NL3D::CKeyBezier< T >::serial().

template<class T>
float NL3D::CKey< T >::OODeltaTime [inherited]
 

Definition at line 76 of file key.h.

Referenced by NL3D::CTrackKeyFramerLinear< CKeyRGBA, NLMISC::CRGBA >::evalKey(), and NL3D::CTrackKeyFramerLinear< CKeyQuat, CQuat >::evalKey().

template<class T>
T NL3D::CKeyBezier< T >::OutTan
 

Those are NOT the true Bezier control points: they are tangents relative to Value, and relative to keyTime: CPIn= Value + InTan * dt0/3;
CPOut= Value + OutTan * dt1/3;
where: dt0= curKey.time - prevKey.time
dt1= nextKey.time - curKey.time

and when not possible (first/last key), dt= getRangeDelta() is used.

Definition at line 166 of file key.h.

Referenced by NL3D::CTCBTools< CKeyTCBFloat, sint32, std::map< TAnimationTime, CKeyTCBFloat > >::computeTCBFactors(), and NL3D::CKeyBezier< T >::serial().

template<class T>
bool NL3D::CKeyBezier< T >::Step
 

Those are NOT the true Bezier control points: they are tangents relative to Value, and relative to keyTime: CPIn= Value + InTan * dt0/3;
CPOut= Value + OutTan * dt1/3;
where: dt0= curKey.time - prevKey.time
dt1= nextKey.time - curKey.time

and when not possible (first/last key), dt= getRangeDelta() is used.

Definition at line 167 of file key.h.

Referenced by NL3D::CTCBTools< CKeyTCBFloat, sint32, std::map< TAnimationTime, CKeyTCBFloat > >::computeTCBFactors(), and NL3D::CKeyBezier< T >::serial().

template<class T>
T NL3D::CKey< T >::Value [inherited]
 

The key value.

Definition at line 69 of file key.h.

Referenced by NL3D::CTCBTools< CKeyTCBFloat, sint32, std::map< TAnimationTime, CKeyTCBFloat > >::computeTCBFactors(), NL3D::CTrackKeyFramerLinear< CKeyRGBA, NLMISC::CRGBA >::evalKey(), and NL3D::CTrackKeyFramerLinear< CKeyQuat, CQuat >::evalKey().


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