From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/classNL3D_1_1ITrackKeyFramer.html | 1284 ++++++++++++++++++++ 1 file changed, 1284 insertions(+) create mode 100644 docs/doxygen/nel/classNL3D_1_1ITrackKeyFramer.html (limited to 'docs/doxygen/nel/classNL3D_1_1ITrackKeyFramer.html') diff --git a/docs/doxygen/nel/classNL3D_1_1ITrackKeyFramer.html b/docs/doxygen/nel/classNL3D_1_1ITrackKeyFramer.html new file mode 100644 index 00000000..bea34a3e --- /dev/null +++ b/docs/doxygen/nel/classNL3D_1_1ITrackKeyFramer.html @@ -0,0 +1,1284 @@ + + + + nevrax.org : docs + + + + + + + + + + + + + + +
# Home   # nevrax.com   
+ + + + +
Nevrax
+ + + + + + + + + + +
+ + +
+ Nevrax.org
+ + + + + + + +
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
+
+ + +
+ + +
+Docs + +
+  + + + + + +
Documentation 
+ +
+Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  
+

NL3D::ITrackKeyFramer Class Template Reference

ITrack interface for keyframer. +More... +

+#include <track_keyframer.h> +

+

Inheritance diagram for NL3D::ITrackKeyFramer: +

+ +NL3D::ITrack +NL3D::UTrackKeyframer +NLMISC::IStreamable +NL3D::UTrack +NLMISC::IClassable +NL3D::CTrackKeyFramerBezier +NL3D::CTrackKeyFramerConstBlendable +NL3D::CTrackKeyFramerConstNotBlendable +NL3D::CTrackKeyFramerLinear +NL3D::CTrackKeyFramerTCB + +List of all members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

typedef std::map< TAnimationTime,
+ CKeyT > 
TMapTimeCKey

Public Methods

 ITrackKeyFramer ()
 ctor. More...

 ~ITrackKeyFramer ()
 Destructor. More...

void addKey (const CKeyT &key, TAnimationTime time)
 Add a key in the keyframer. More...

void unlockRange (TAnimationTime begin, TAnimationTime end)
 set an explicit animation range. (see getBeginTime() / setEndTime() ). More...

void lockRange ()
 range is computed from frist and last key time (default). More...

bool isRangeLocked () const
 return true if Range is locked to first/last key. use getBeginTime and getEndTime to get the effective begin/end range times... More...

TAnimationTime getRangeDelta () const
 rangeDelta is (length of effective Range) - (length of LastKey-FirstKey). NB: if RangeLock, rangeDelta==0. More...

void setLoopMode (bool loop)
 set LoopMode. 2 mode only: "constant" (<=>false), and "loop" (<=> true). same mode for in and out... More...

virtual bool getLoopMode () const
 get LoopMode. From ITrack. More...

virtual void eval (const TAnimationTime &inDate)
 From ITrack. More...

virtual TAnimationTime getBeginTime () const
 Get the begin time of the track. More...

virtual TAnimationTime getEndTime () const
 Get the end time of the track. More...

virtual void serial (NLMISC::IStream &f) throw (NLMISC::EStream)
 Serial the template. More...

void getKeysInRange (TAnimationTime t1, TAnimationTime t2, std::vector< TAnimationTime > &result)
 From UTrackKeyframer, retrieve the keys that are in the given range [t1, t2] of the track. More...


Protected Methods

float getCompiledRangeDelta ()
 This is for Deriver compile(), because _RangeDelta (getRangeDelta()) is himself computed in compile(). More...

virtual void compile ()
 Precalc keyframe runtime infos for interpolation (OODTime...). More...

virtual void evalKey (const CKeyT *previous, const CKeyT *next, TAnimationTime datePrevious, TAnimationTime dateNext, TAnimationTime date)=0
 Evaluate the keyframe interpolation. More...


Protected Attributes

TMapTimeCKey _MapKey

Private Methods

void testAndClean () const

Private Attributes

bool _Dirty
bool _LoopMode
bool _RangeLock
float _RangeBegin
float _RangeEnd
float _RangeDelta
float _LoopStart
float _LoopEnd
float _TotalRange
float _OOTotalRange
+

Detailed Description

+

template<class CKeyT>
+ class NL3D::ITrackKeyFramer< CKeyT >

+ +ITrack interface for keyframer. +

+The ITrack and animated value types MUST match else assertions will be raised. +

+

+Author:
+Cyril 'Hulud' Corvazier , Nevrax France
+Date:
+2001
+

+ +

+Definition at line 61 of file track_keyframer.h.


Member Typedef Documentation

+

+ + + + +
+ + + + + +
+template<class CKeyT>
typedef std::map<TAnimationTime, CKeyT> NL3D::ITrackKeyFramer::TMapTimeCKey +
+
+ + + + + +
+   + + +

+ +

+Definition at line 65 of file track_keyframer.h.

+


Constructor & Destructor Documentation

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
NL3D::ITrackKeyFramer< CKeyT >::ITrackKeyFramer   [inline]
+
+ + + + + +
+   + + +

+ctor. +

+ +

+Definition at line 69 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
NL3D::ITrackKeyFramer< CKeyT >::~ITrackKeyFramer   [inline]
+
+ + + + + +
+   + + +

+Destructor. +

+ +

+Definition at line 78 of file track_keyframer.h.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+template<class CKeyT>
void NL3D::ITrackKeyFramer< CKeyT >::addKey const CKeyT &   key,
TAnimationTime   time
[inline]
+
+ + + + + +
+   + + +

+Add a key in the keyframer. +

+The key passed is duplicated in the track.

+Parameters:
+ + + +
key  +is the key value to add in the keyframer.
time  +is the time of the key to add in the keyframer.
+
+

+Definition at line 90 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
virtual void NL3D::ITrackKeyFramer< CKeyT >::compile   [inline, protected, virtual]
+
+ + + + + +
+   + + +

+Precalc keyframe runtime infos for interpolation (OODTime...). +

+All keys should be processed. This is called by eval when necessary. Deriver should call ITrackKeyFramer::compile() first, to compile basic Key runtime info. +

+Reimplemented in NL3D::CTrackKeyFramerTCB. +

+Definition at line 302 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + + +
+template<class CKeyT>
virtual void NL3D::ITrackKeyFramer< CKeyT >::eval const TAnimationTime  inDate [inline, virtual]
+
+ + + + + +
+   + + +

+From ITrack. +

+ +

+Implements NL3D::ITrack. +

+Definition at line 137 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+template<class CKeyT>
virtual void NL3D::ITrackKeyFramer< CKeyT >::evalKey const CKeyT *   previous,
const CKeyT *   next,
TAnimationTime   datePrevious,
TAnimationTime   dateNext,
TAnimationTime   date
[protected, pure virtual]
+
+ + + + + +
+   + + +

+Evaluate the keyframe interpolation. +

+i is the keyframe with the bigger time value that is inferior or equal than date.

+Parameters:
+ + + +
previous  +is the i key in the keyframe. NULL if no key.
next  +is the i+1 key in the keyframe. NULL if no key.
+
+

+Implemented in NL3D::CTrackKeyFramerConstNotBlendable. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::eval.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
virtual TAnimationTime NL3D::ITrackKeyFramer< CKeyT >::getBeginTime   const [inline, virtual]
+
+ + + + + +
+   + + +

+Get the begin time of the track. +

+ +

+Implements NL3D::UTrack. +

+Definition at line 224 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
float NL3D::ITrackKeyFramer< CKeyT >::getCompiledRangeDelta   [inline, protected]
+
+ + + + + +
+   + + +

+This is for Deriver compile(), because _RangeDelta (getRangeDelta()) is himself computed in compile(). +

+ +

+Definition at line 291 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
virtual TAnimationTime NL3D::ITrackKeyFramer< CKeyT >::getEndTime   const [inline, virtual]
+
+ + + + + +
+   + + +

+Get the end time of the track. +

+ +

+Implements NL3D::UTrack. +

+Definition at line 231 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+template<class T>
void NL3D::ITrackKeyFramer< T >::getKeysInRange TAnimationTime   t1,
TAnimationTime   t2,
std::vector< TAnimationTime > &   result
[virtual]
+
+ + + + + +
+   + + +

+From UTrackKeyframer, retrieve the keys that are in the given range [t1, t2] of the track. +

+

+Parameters:
+ + +
result  +a vector that will be cleared, and filled with the date ofthe keys
+
+

+Implements NL3D::UTrackKeyframer. +

+Definition at line 35 of file track_keyframer.cpp. +

+References _MapKey, nlassert, and NL3D::TAnimationTime.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
virtual bool NL3D::ITrackKeyFramer< CKeyT >::getLoopMode   const [inline, virtual]
+
+ + + + + +
+   + + +

+get LoopMode. From ITrack. +

+ +

+Implements NL3D::ITrack. +

+Definition at line 133 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
TAnimationTime NL3D::ITrackKeyFramer< CKeyT >::getRangeDelta   const [inline]
+
+ + + + + +
+   + + +

+rangeDelta is (length of effective Range) - (length of LastKey-FirstKey). NB: if RangeLock, rangeDelta==0. +

+ +

+Definition at line 120 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
bool NL3D::ITrackKeyFramer< CKeyT >::isRangeLocked   const [inline]
+
+ + + + + +
+   + + +

+return true if Range is locked to first/last key. use getBeginTime and getEndTime to get the effective begin/end range times... +

+ +

+Definition at line 116 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
void NL3D::ITrackKeyFramer< CKeyT >::lockRange   [inline]
+
+ + + + + +
+   + + +

+range is computed from frist and last key time (default). +

+ +

+Definition at line 109 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + + +
+template<class CKeyT>
virtual void NL3D::ITrackKeyFramer< CKeyT >::serial NLMISC::IStream  f throw (NLMISC::EStream) [inline, virtual]
+
+ + + + + +
+   + + +

+Serial the template. +

+ +

+Implements NLMISC::IStreamable. +

+Definition at line 241 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + + +
+template<class CKeyT>
void NL3D::ITrackKeyFramer< CKeyT >::setLoopMode bool   loop [inline]
+
+ + + + + +
+   + + +

+set LoopMode. 2 mode only: "constant" (<=>false), and "loop" (<=> true). same mode for in and out... +

+ +

+Definition at line 130 of file track_keyframer.h.

+

+ + + + +
+ + + + + + + + + + + + +
+template<class CKeyT>
void NL3D::ITrackKeyFramer< CKeyT >::testAndClean   const [inline, private]
+
+ + + + + +
+   + + +

+ +

+Definition at line 275 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::eval, NL3D::ITrackKeyFramer< CKeyBezierQuat >::getBeginTime, NL3D::ITrackKeyFramer< CKeyBezierQuat >::getEndTime, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::getRangeDelta.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
+template<class CKeyT>
void NL3D::ITrackKeyFramer< CKeyT >::unlockRange TAnimationTime   begin,
TAnimationTime   end
[inline]
+
+ + + + + +
+   + + +

+set an explicit animation range. (see getBeginTime() / setEndTime() ). +

+ +

+Definition at line 100 of file track_keyframer.h.

+


Member Data Documentation

+

+ + + + +
+ + + + + +
+template<class CKeyT>
bool NL3D::ITrackKeyFramer::_Dirty [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 261 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::addKey, NL3D::ITrackKeyFramer< CKeyBezierQuat >::ITrackKeyFramer, NL3D::ITrackKeyFramer< CKeyBezierQuat >::lockRange, NL3D::ITrackKeyFramer< CKeyBezierQuat >::serial, NL3D::ITrackKeyFramer< CKeyBezierQuat >::setLoopMode, NL3D::ITrackKeyFramer< CKeyBezierQuat >::testAndClean, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::unlockRange.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
float NL3D::ITrackKeyFramer::_LoopEnd [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 269 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::compile, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::eval.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
bool NL3D::ITrackKeyFramer::_LoopMode [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 262 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::eval, NL3D::ITrackKeyFramer< CKeyBezierQuat >::getLoopMode, NL3D::ITrackKeyFramer< CKeyBezierQuat >::ITrackKeyFramer, NL3D::ITrackKeyFramer< CKeyBezierQuat >::serial, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::setLoopMode.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
float NL3D::ITrackKeyFramer::_LoopStart [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 268 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::compile, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::eval.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
TMapTimeCKey NL3D::ITrackKeyFramer::_MapKey [protected] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 287 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::addKey, NL3D::ITrackKeyFramer< CKeyBezierQuat >::compile, NL3D::ITrackKeyFramer< CKeyBezierQuat >::eval, getKeysInRange, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::serial.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
float NL3D::ITrackKeyFramer::_OOTotalRange [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 271 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::compile, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::eval.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
float NL3D::ITrackKeyFramer::_RangeBegin [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 264 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::compile, NL3D::ITrackKeyFramer< CKeyBezierQuat >::getBeginTime, NL3D::ITrackKeyFramer< CKeyBezierQuat >::serial, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::unlockRange.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
float NL3D::ITrackKeyFramer::_RangeDelta [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 267 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::compile, NL3D::ITrackKeyFramer< CKeyBezierQuat >::getCompiledRangeDelta, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::getRangeDelta.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
float NL3D::ITrackKeyFramer::_RangeEnd [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 265 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::compile, NL3D::ITrackKeyFramer< CKeyBezierQuat >::getEndTime, NL3D::ITrackKeyFramer< CKeyBezierQuat >::serial, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::unlockRange.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
bool NL3D::ITrackKeyFramer::_RangeLock [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 263 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::isRangeLocked, NL3D::ITrackKeyFramer< CKeyBezierQuat >::ITrackKeyFramer, NL3D::ITrackKeyFramer< CKeyBezierQuat >::lockRange, NL3D::ITrackKeyFramer< CKeyBezierQuat >::serial, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::unlockRange.

+

+ + + + +
+ + + + + +
+template<class CKeyT>
float NL3D::ITrackKeyFramer::_TotalRange [private] +
+
+ + + + + +
+   + + +

+ +

+Definition at line 270 of file track_keyframer.h. +

+Referenced by NL3D::ITrackKeyFramer< CKeyBezierQuat >::compile, and NL3D::ITrackKeyFramer< CKeyBezierQuat >::eval.

+


The documentation for this class was generated from the following files: + + + +
                                                                                                                                                                    +
+ + -- cgit v1.2.1