#include <track.h>
Inheritance diagram for NL3D::ITrack:

The ITrack and animated value types MUST match else assertions will be raised.
Nevrax France
Definition at line 58 of file track.h.
Public Member Functions | |
| virtual void | eval (const TAnimationTime &date)=0 |
| virtual std::string | getClassName ()=0 |
| virtual bool | getLoopMode () const=0 |
| virtual const IAnimatedValue & | getValue () const=0 |
| virtual void | serial (IStream &f)=0 |
| virtual | ~ITrack () |
Time range methods. | |
| virtual TAnimationTime | getBeginTime () const=0 |
| virtual TAnimationTime | getEndTime () const=0 |
Time range methods. | |
| virtual TAnimationTime | getBeginTime () const=0 |
| virtual TAnimationTime | getEndTime () const=0 |
|
|
Virtual destructor. Definition at line 64 of file track.h.
00064 {};
|
|
|
Evaluation of the value of the track for this time. The result is internaly stored to simplify access at the polymorphic values. To get the value, call ITrack::getValue(). Implemented in NL3D::ITrackDefault, NL3D::ITrackKeyFramer< CKeyT >, NL3D::CTrackSampledQuat, NL3D::CTrackSampledVector, 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 interpolate(). |
|
|
|
Implemented in NLAIAGENT::CNumericIndex, NLAIC::IPointerGestion, NLAIC::CIdentType, and CAutomataDesc. Referenced by NLMISC::CClassRegistry::checkObject(), and NL3D::GetTextureSize(). |
|
|
|
get LoopMode. 2 mode only: "constant" (<=>false), and "loop" (<=> true). NB: same mode if time < getBeginTIme() and if time > getEndTime() 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(). |
|
|
||||||||||||
|
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.
Implements NL3D::UTrack. Definition at line 202 of file track.cpp. References NL3D::CAnimatedValueBool, eval(), getValue(), NL3D_HAUTO_UTRACK_INTERPOLATE, res, NL3D::TAnimationTime, and value.
00203 {
00204 NL3D_HAUTO_UTRACK_INTERPOLATE;
00205
00206 // Evaluate it
00207 eval (time);
00208
00209 // Get a pointer on the value
00210 const CAnimatedValueBool *value=dynamic_cast<const CAnimatedValueBool*>(&getValue ());
00211
00212 // Type is good ?
00213 if (value)
00214 {
00215 // Ok, return the value
00216 res=value->Value;
00217 return true;
00218 }
00219 else
00220 // No, return false
00221 return false;
00222 }
|
|
||||||||||||
|
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.
Implements NL3D::UTrack. Definition at line 178 of file track.cpp. References NL3D::CAnimatedValueString, eval(), getValue(), NL3D_HAUTO_UTRACK_INTERPOLATE, res, NL3D::TAnimationTime, and value.
00179 {
00180 NL3D_HAUTO_UTRACK_INTERPOLATE;
00181
00182 // Evaluate it
00183 eval (time);
00184
00185 // Get a pointer on the value
00186 const CAnimatedValueString *value=dynamic_cast<const CAnimatedValueString*>(&getValue ());
00187
00188 // Type is good ?
00189 if (value)
00190 {
00191 // Ok, return the value
00192 res=value->Value;
00193 return true;
00194 }
00195 else
00196 // No, return false
00197 return false;
00198 }
|
|
||||||||||||
|
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.
Implements NL3D::UTrack. Definition at line 154 of file track.cpp. References NL3D::CAnimatedValueQuat, eval(), getValue(), NL3D_HAUTO_UTRACK_INTERPOLATE, res, NL3D::TAnimationTime, and value.
00155 {
00156 NL3D_HAUTO_UTRACK_INTERPOLATE;
00157
00158 // Evaluate it
00159 eval (time);
00160
00161 // Get a pointer on the value
00162 const CAnimatedValueQuat *value=dynamic_cast<const CAnimatedValueQuat*>(&getValue ());
00163
00164 // Type is good ?
00165 if (value)
00166 {
00167 // Ok, return the value
00168 res=value->Value;
00169 return true;
00170 }
00171 else
00172 // No, return false
00173 return false;
00174 }
|
|
||||||||||||
|
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.
Implements NL3D::UTrack. Definition at line 130 of file track.cpp. References NL3D::CAnimatedValueVector, eval(), getValue(), NL3D_HAUTO_UTRACK_INTERPOLATE, res, NL3D::TAnimationTime, and value.
00131 {
00132 NL3D_HAUTO_UTRACK_INTERPOLATE;
00133
00134 // Evaluate it
00135 eval (time);
00136
00137 // Get a pointer on the value
00138 const CAnimatedValueVector *value=dynamic_cast<const CAnimatedValueVector*>(&getValue ());
00139
00140 // Type is good ?
00141 if (value)
00142 {
00143 // Ok, return the value
00144 res=value->Value;
00145 return true;
00146 }
00147 else
00148 // No, return false
00149 return false;
00150 }
|
|
||||||||||||
|
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.
Implements NL3D::UTrack. Definition at line 106 of file track.cpp. References NL3D::CAnimatedValueRGBA, eval(), getValue(), NL3D_HAUTO_UTRACK_INTERPOLATE, res, NL3D::TAnimationTime, and value.
00107 {
00108 NL3D_HAUTO_UTRACK_INTERPOLATE;
00109
00110 // Evaluate it
00111 eval (time);
00112
00113 // Get a pointer on the value
00114 const CAnimatedValueRGBA *value=dynamic_cast<const CAnimatedValueRGBA*>(&getValue ());
00115
00116 // Type is good ?
00117 if (value)
00118 {
00119 // Ok, return the value
00120 res=value->Value;
00121 return true;
00122 }
00123 else
00124 // No, return false
00125 return false;
00126 }
|
|
||||||||||||
|
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.
Implements NL3D::UTrack. Definition at line 82 of file track.cpp. References NL3D::CAnimatedValueInt, eval(), getValue(), NL3D_HAUTO_UTRACK_INTERPOLATE, res, sint32, NL3D::TAnimationTime, and value.
00083 {
00084 NL3D_HAUTO_UTRACK_INTERPOLATE;
00085
00086 // Evaluate it
00087 eval (time);
00088
00089 // Get a pointer on the value
00090 const CAnimatedValueInt *value=dynamic_cast<const CAnimatedValueInt*>(&getValue ());
00091
00092 // Type is good ?
00093 if (value)
00094 {
00095 // Ok, return the value
00096 res=value->Value;
00097 return true;
00098 }
00099 else
00100 // No, return false
00101 return false;
00102 }
|
|
||||||||||||
|
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.
Implements NL3D::UTrack. |
|
1.3.6