NL3D::CTCBTools< CKeyT, T, TMapTimeCKey > Class Template Reference

#include <track_keyframer.h>

Inheritance diagram for NL3D::CTCBTools< CKeyT, T, TMapTimeCKey >:

NL3D::CTrackKeyFramerTCB< CKeyT, T > NL3D::CTrackKeyFramerTCB< CKeyTCBFloat, float > NL3D::CTrackKeyFramerTCB< CKeyTCBFloat, sint32 > NL3D::CTrackKeyFramerTCB< CKeyTCBQuat, NLMISC::CAngleAxis > NL3D::CTrackKeyFramerTCB< CKeyTCBQuat, NLMISC::CAngleAxis > NL3D::CTrackKeyFramerTCB< CKeyTCBVector, CVector > NL3D::CTrackKeyFramerTCB< CKeyTCBVector, NLMISC::CRGBA > NL3D::CTrackKeyFramerTCBQuat NL3D::CTrackKeyFramerTCBRGBA NL3D::CTrackKeyFramerTCBFloat NL3D::CTrackKeyFramerTCBInt NL3D::CTrackKeyFramerTCBVector

Detailed Description

template<class CKeyT, class T, class TMapTimeCKey>
class NL3D::CTCBTools< CKeyT, T, TMapTimeCKey >

TCB Track tools (for both normal TCB, and quat TCB). internal use.

Author:
Cyril 'Hulud' Corvazier

Nevrax France

Date:
2001

Definition at line 707 of file track_keyframer.h.

Protected Types

typedef TMapTimeCKey::iterator TMapTimeCKeyIterator

Protected Member Functions

void compileTCBEase (TMapTimeCKey &mapKey, bool loopMode)
 compute TCB ease information.

void computeHermiteBasis (float d, float hb[4])
void computeTCBFactors (const CKeyT &key, float timeBefore, float time, float timeAfter, float rangeDelta, bool firstKey, bool endKey, bool isLoop, float &ksm, float &ksp, float &kdm, float &kdp)
float ease (const CKeyT *key, float d)


Member Typedef Documentation

template<class CKeyT, class T, class TMapTimeCKey>
typedef TMapTimeCKey::iterator NL3D::CTCBTools< CKeyT, T, TMapTimeCKey >::TMapTimeCKeyIterator [protected]
 

Definition at line 710 of file track_keyframer.h.


Member Function Documentation

template<class CKeyT, class T, class TMapTimeCKey>
void NL3D::CTCBTools< CKeyT, T, TMapTimeCKey >::compileTCBEase TMapTimeCKey &  mapKey,
bool  loopMode
[inline, protected]
 

compute TCB ease information.

Definition at line 715 of file track_keyframer.h.

00718         {
00719                 CKeyFloat       k;
00720                 k.Value= key.Value;
00721                 addKey(k, key.Time);
00722                 return true;
00723         }       
00724 };
00725 class CTrackKeyFramerLinearVector : public CTrackKeyFramerLinear<CKeyVector, CVector>
00726 {
00727 public:
00728         NLMISC_DECLARE_CLASS (CTrackKeyFramerLinearVector);
00729 };
00730 class CTrackKeyFramerLinearQuat : public CTrackKeyFramerLinear<CKeyQuat, CQuat>
00731 {
00732 public:
00733         NLMISC_DECLARE_CLASS (CTrackKeyFramerLinearQuat);
00734 };
00735 class CTrackKeyFramerLinearInt : public CTrackKeyFramerLinear<CKeyInt, sint32>
00736 {
00737 public:
00738         NLMISC_DECLARE_CLASS (CTrackKeyFramerLinearInt);
00739 };
00740 class CTrackKeyFramerLinearRGBA : public CTrackKeyFramerLinear<CKeyRGBA, NLMISC::CRGBA>
00741 {
00742 public:
00743         NLMISC_DECLARE_CLASS (CTrackKeyFramerLinearRGBA);
00744 };
00745 
00746 
00747 // TCB tracks.
00748 class CTrackKeyFramerTCBFloat : public CTrackKeyFramerTCB<CKeyTCBFloat, float>
00749 {
00750 public:
00751         NLMISC_DECLARE_CLASS (CTrackKeyFramerTCBFloat);
00752 
00753         virtual bool    addTCBFloatKey(const UKeyTCBFloat &key)
00754         {
00755                 CKeyTCBFloat    k;
00756                 k.Value= key.Value;
00757                 k.Bias= key.Bias;
00758                 k.Continuity= key.Continuity;
00759                 k.Tension= key.Tension;

template<class CKeyT, class T, class TMapTimeCKey>
void NL3D::CTCBTools< CKeyT, T, TMapTimeCKey >::computeHermiteBasis float  d,
float  hb[4]
[inline, protected]
 

Definition at line 780 of file track_keyframer.h.

00782                              : public CTrackKeyFramerTCB<CKeyTCBVector, NLMISC::CRGBA>
00783 {
00784 public:
00785         NLMISC_DECLARE_CLASS (CTrackKeyFramerTCBRGBA);
00786 };
00787 
00788 
00789 // Bezier tracks.
00790 class CTrackKeyFramerBezierFloat : public CTrackKeyFramerBezier<CKeyBezierFloat, float>
00791 {

template<class CKeyT, class T, class TMapTimeCKey>
void NL3D::CTCBTools< CKeyT, T, TMapTimeCKey >::computeTCBFactors const CKeyT &  key,
float  timeBefore,
float  time,
float  timeAfter,
float  rangeDelta,
bool  firstKey,
bool  endKey,
bool  isLoop,
float &  ksm,
float &  ksp,
float &  kdm,
float &  kdp
[inline, protected]
 

Definition at line 795 of file track_keyframer.h.

00796         {
00797                 CKeyBezierFloat k;
00798                 k.Value= key.Value;
00799                 k.InTan= key.TanIn;
00800                 k.OutTan= key.TanOut;
00801                 k.Step= key.Step;
00802                 addKey(k, key.Time);
00803                 return true;
00804         }       
00805 };
00806 class CTrackKeyFramerBezierVector : public CTrackKeyFramerBezier<CKeyBezierVector, CVector>
00807 {
00808 public:
00809         NLMISC_DECLARE_CLASS (CTrackKeyFramerBezierVector);
00810 };
00811 class CTrackKeyFramerBezierQuat : public CTrackKeyFramerBezier<CKeyBezierQuat, CQuat>
00812 {
00813 public:
00814         NLMISC_DECLARE_CLASS (CTrackKeyFramerBezierQuat);
00815 };
00816 class CTrackKeyFramerBezierInt : public CTrackKeyFramerBezier<CKeyBezierFloat, sint32>
00817 {
00818 public:
00819         NLMISC_DECLARE_CLASS (CTrackKeyFramerBezierInt);
00820 };
00821 class CTrackKeyFramerBezierRGBA : public CTrackKeyFramerBezier<CKeyBezierVector, NLMISC::CRGBA>
00822 {
00823 public:
00824         NLMISC_DECLARE_CLASS (CTrackKeyFramerBezierRGBA);
00825 };
00826 
00827 
00828 
00829 
00830 
00831 } // NL3D
00832 
00833 
00834 #endif // NL_TRACK_KEYFRAMER_H
00835 
00836 /* End of track_keyframer.h */
00837 /* End of track_keyframer.h */

template<class CKeyT, class T, class TMapTimeCKey>
float NL3D::CTCBTools< CKeyT, T, TMapTimeCKey >::ease const CKeyT *  key,
float  d
[inline, protected]
 

Definition at line 762 of file track_keyframer.h.

00767                                : public CTrackKeyFramerTCB<CKeyTCBVector, CVector>
00768 {
00769 public:
00770         NLMISC_DECLARE_CLASS (CTrackKeyFramerTCBVector);
00771 };
00772 class CTrackKeyFramerTCBQuat : public CTrackKeyFramerTCB<CKeyTCBQuat, NLMISC::CAngleAxis>
00773 {
00774 public:
00775         NLMISC_DECLARE_CLASS (CTrackKeyFramerTCBQuat);
00776 };
00777 class CTrackKeyFramerTCBInt : public CTrackKeyFramerTCB<CKeyTCBFloat, sint32>


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