NL3D::UTrack Class Reference

#include <u_track.h>

Inheritance diagram for NL3D::UTrack:

NL3D::ITrack NL3D::CTrackSampledCommon NL3D::ITrackDefault NL3D::ITrackKeyFramer< CKeyT > NL3D::ITrackKeyFramer< CKeyBezierFloat > NL3D::ITrackKeyFramer< CKeyBezierQuat > NL3D::ITrackKeyFramer< CKeyBezierVector > NL3D::ITrackKeyFramer< CKeyBool > NL3D::ITrackKeyFramer< CKeyFloat > NL3D::ITrackKeyFramer< CKeyInt > NL3D::ITrackKeyFramer< CKeyQuat > NL3D::ITrackKeyFramer< CKeyRGBA > NL3D::ITrackKeyFramer< CKeyString > NL3D::ITrackKeyFramer< CKeyTCBFloat > NL3D::ITrackKeyFramer< CKeyTCBQuat > NL3D::ITrackKeyFramer< CKeyTCBVector > NL3D::ITrackKeyFramer< CKeyVector >

Detailed Description

A track is a fonction that interpolate a value over the time.

Kind of interpolation is hidden to the user. It can be Bezier, TCB, linear, noise interpolation. This interface give access to the interpolation fonction.

Author:
Cyril 'Hulud' Corvazier

Nevrax France

Date:
2001

Definition at line 53 of file u_track.h.

Public Member Functions

Interpolation methods.
virtual bool interpolate (TAnimationTime time, bool &res)=0
virtual bool interpolate (TAnimationTime time, std::string &res)=0
virtual bool interpolate (TAnimationTime time, NLMISC::CQuat &res)=0
virtual bool interpolate (TAnimationTime time, NLMISC::CVector &res)=0
virtual bool interpolate (TAnimationTime time, NLMISC::CRGBA &res)=0
virtual bool interpolate (TAnimationTime time, sint32 &res)=0
virtual bool interpolate (TAnimationTime time, float &res)=0


Member Function Documentation

virtual TAnimationTime NL3D::UTrack::getBeginTime  )  const [pure virtual]
 

Get the begin time of the track

Implemented in NL3D::ITrackDefault, NL3D::ITrackKeyFramer< CKeyT >, NL3D::CTrackSampledCommon, NL3D::ITrackKeyFramer< CKeyBezierVector >, NL3D::ITrackKeyFramer< CKeyTCBVector >, NL3D::ITrackKeyFramer< CKeyVector >, NL3D::ITrackKeyFramer< CKeyTCBQuat >, NL3D::ITrackKeyFramer< CKeyRGBA >, NL3D::ITrackKeyFramer< CKeyInt >, NL3D::ITrackKeyFramer< CKeyBool >, NL3D::ITrackKeyFramer< CKeyFloat >, NL3D::ITrackKeyFramer< CKeyQuat >, NL3D::ITrackKeyFramer< CKeyBezierFloat >, NL3D::ITrackKeyFramer< CKeyTCBFloat >, NL3D::ITrackKeyFramer< CKeyString >, and NL3D::ITrackKeyFramer< CKeyBezierQuat >.

Referenced by NL3D::CAnimationOptimizer::optimizeTrack().

virtual TAnimationTime NL3D::UTrack::getEndTime  )  const [pure virtual]
 

Get the end time of the track

Implemented in NL3D::ITrackDefault, NL3D::ITrackKeyFramer< CKeyT >, NL3D::CTrackSampledCommon, NL3D::ITrackKeyFramer< CKeyBezierVector >, NL3D::ITrackKeyFramer< CKeyTCBVector >, NL3D::ITrackKeyFramer< CKeyVector >, NL3D::ITrackKeyFramer< CKeyTCBQuat >, NL3D::ITrackKeyFramer< CKeyRGBA >, NL3D::ITrackKeyFramer< CKeyInt >, NL3D::ITrackKeyFramer< CKeyBool >, NL3D::ITrackKeyFramer< CKeyFloat >, NL3D::ITrackKeyFramer< CKeyQuat >, NL3D::ITrackKeyFramer< CKeyBezierFloat >, NL3D::ITrackKeyFramer< CKeyTCBFloat >, NL3D::ITrackKeyFramer< CKeyString >, and NL3D::ITrackKeyFramer< CKeyBezierQuat >.

Referenced by NL3D::CAnimationOptimizer::optimizeTrack().

virtual bool NL3D::UTrack::interpolate TAnimationTime  time,
bool &  res
[pure virtual]
 

Interplation a bool value. You should be sure that the track you use to interpolate your value is a bool track! An assertion will be raised in debug if the type is wrong.

Parameters:
time is the time you want the evaluate the value. If time higher than the time gived by getEndTime (), the value returned is the interpolation value at getEndTime (). If time smaller than the time gived by getBeginTime (), the value returned is the interpolation value at getBeginTime ().
res is the reference on the value to get the result.
Returns:
true if interplation is successful. false if the type asked is wrong.

Implemented in NL3D::ITrack.

virtual bool NL3D::UTrack::interpolate TAnimationTime  time,
std::string &  res
[pure virtual]
 

Interplation a string value. You should be sure that the track you use to interpolate your value is a string track! An assertion will be raised in debug if the type is wrong.

Parameters:
time is the time you want the evaluate the value. If time higher than the time gived by getEndTime (), the value returned is the interpolation value at getEndTime (). If time smaller than the time gived by getBeginTime (), the value returned is the interpolation value at getBeginTime ().
res is the reference on the value to get the result.
Returns:
true if interplation is successful. false if the type asked is wrong.

Implemented in NL3D::ITrack.

virtual bool NL3D::UTrack::interpolate TAnimationTime  time,
NLMISC::CQuat res
[pure virtual]
 

Interplation a CQuat value. You should be sure that the track you use to interpolate your value is a CQuat track! An assertion will be raised in debug if the type is wrong.

Parameters:
time is the time you want the evaluate the value. If time higher than the time gived by getEndTime (), the value returned is the interpolation value at getEndTime (). If time smaller than the time gived by getBeginTime (), the value returned is the interpolation value at getBeginTime ().
res is the reference on the value to get the result.
Returns:
true if interplation is successful. false if the type asked is wrong.

Implemented in NL3D::ITrack.

virtual bool NL3D::UTrack::interpolate TAnimationTime  time,
NLMISC::CVector res
[pure virtual]
 

Interplation a CVector value. You should be sure that the track you use to interpolate your value is a CVector track! An assertion will be raised in debug if the type is wrong.

Parameters:
time is the time you want the evaluate the value. If time higher than the time gived by getEndTime (), the value returned is the interpolation value at getEndTime (). If time smaller than the time gived by getBeginTime (), the value returned is the interpolation value at getBeginTime ().
res is the reference on the value to get the result.
Returns:
true if interplation is successful. false if the type asked is wrong.

Implemented in NL3D::ITrack.

virtual bool NL3D::UTrack::interpolate TAnimationTime  time,
NLMISC::CRGBA res
[pure virtual]
 

Interplation a CRGBA value. You should be sure that the track you use to interpolate your value is an CRGBA track! An assertion will be raised in debug if the type is wrong.

Parameters:
time is the time you want the evaluate the value. If time higher than the time gived by getEndTime (), the value returned is the interpolation value at getEndTime (). If time smaller than the time gived by getBeginTime (), the value returned is the interpolation value at getBeginTime ().
res is the reference on the value to get the result.
Returns:
true if interplation is successful. false if the type asked is wrong.

Implemented in NL3D::ITrack.

virtual bool NL3D::UTrack::interpolate TAnimationTime  time,
sint32 res
[pure virtual]
 

Interplation an integer value. You should be sure that the track you use to interpolate your value is an integer track! An assertion will be raised in debug if the type is wrong.

Parameters:
time is the time you want the evaluate the value. If time higher than the time gived by getEndTime (), the value returned is the interpolation value at getEndTime (). If time smaller than the time gived by getBeginTime (), the value returned is the interpolation value at getBeginTime ().
res is the reference on the value to get the result.
Returns:
true if interplation is successful. false if the type asked is wrong.

Implemented in NL3D::ITrack.

virtual bool NL3D::UTrack::interpolate TAnimationTime  time,
float &  res
[pure virtual]
 

Interplation a float value. You should be sure that the track you use to interpolate your value is a float track! An assertion will be raised in debug if the type is wrong.

Parameters:
time is the time you want the evaluate the value. If time higher than the time gived by getEndTime (), the value returned is the interpolation value at getEndTime (). If time smaller than the time gived by getBeginTime (), the value returned is the interpolation value at getBeginTime ().
res is the reference on the value to get the result.
Returns:
true if interplation is successful. false if the type asked is wrong.

Implemented in NL3D::ITrack.


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