Parameterizable animation track. More...
#include <mitsuba/core/track.h>
Inheritance diagram for mitsuba::AnimationTrack< T >:Public Types | |
| typedef T | ValueType |
Public Types inherited from mitsuba::AbstractAnimationTrack | |
| enum | EType { EInvalid = 0, ETranslationX = 1, ETranslationY = 2, ETranslationZ = 3, ETranslationXYZ = 4, EScaleX = 5, EScaleY = 6, EScaleZ = 7, EScaleXYZ = 8, ERotationX = 9, ERotationY = 10, ERotationZ = 11, ERotationQuat = 12 } |
Public Member Functions | |
| AnimationTrack (EType type, size_t nKeyframes=0) | |
| AnimationTrack (EType type, Stream *stream) | |
| AnimationTrack (const AnimationTrack *track) | |
| Copy constructor. More... | |
| void | setValue (size_t idx, const ValueType &value) |
| Set the value of a certain keyframe. More... | |
| const ValueType & | getValue (size_t idx) const |
| Return the value of a certain keyframe. More... | |
| void | reserve (size_t count) |
| Reserve space for a certain number of entries. More... | |
| void | append (Float time, const ValueType &value) |
| Append a value. More... | |
| AbstractAnimationTrack * | clone () const |
| Clone this instance. More... | |
| void | prependTransformation (const ValueType &value) |
| Prepend a transformation to every entry of this track. More... | |
| void | appendTransformation (const ValueType &value) |
| Append a transformation to every entry of this track. More... | |
| void | serialize (Stream *stream) const |
| Serialize to a binary data stream. More... | |
| ValueType | eval (Float time) const |
| Evaluate the animation track at an arbitrary time value. More... | |
| bool | sortAndSimplify () |
| Sort all animation tracks and remove unnecessary data (for user-provided input) More... | |
Public Member Functions inherited from mitsuba::AbstractAnimationTrack | |
| EType | getType () const |
| Return the type of this track. More... | |
| void | setTime (size_t idx, Float time) |
| Set the time value of a certain keyframe. More... | |
| Float | getTime (size_t idx) const |
| Return the time value of a certain keyframe. More... | |
| size_t | getSize () const |
| Return the number of keyframes. More... | |
| virtual const Class * | getClass () const |
| Retrieve this object's class. More... | |
Public Member Functions inherited from Object | |
| Object () | |
| Construct a new object. More... | |
| int | getRefCount () const |
| Return the current reference count. More... | |
| void | incRef () const |
| Increase the reference count of the object by one. More... | |
| void | decRef (bool autoDeallocate=true) const |
| Decrease the reference count of the object and possibly deallocate it. More... | |
| virtual std::string | toString () const |
| Return a human-readable string representation of the object's contents. More... | |
Protected Member Functions | |
| ValueType | lerp (size_t idx0, size_t idx1, Float t) const |
| Evaluate the animation track using linear interpolation. More... | |
| bool | isNoOp (const ValueType &value) const |
| Is this a "no-op" transformation? More... | |
| ValueType | concatenateTransformations (const ValueType &value1, const ValueType &value2) const |
| Concatenate two transformations. More... | |
| void | unserialize (Stream *stream, ValueType &value) |
| void | serialize (Stream *stream, const ValueType &value) const |
Protected Member Functions inherited from mitsuba::AbstractAnimationTrack | |
| AbstractAnimationTrack (EType type, size_t nKeyframes) | |
| virtual | ~AbstractAnimationTrack () |
Protected Member Functions inherited from Object | |
| virtual | ~Object () |
| Virtual private deconstructor. (Will only be called by ref) More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Object | |
| static void | staticInitialization () |
| Initializes the built-in reference count debugger (if enabled) More... | |
| static void | staticShutdown () |
| Free the memory taken by staticInitialization() More... | |
Static Public Attributes inherited from mitsuba::AbstractAnimationTrack | |
| static Class * | m_theClass |
Static Public Attributes inherited from Object | |
| static Class * | m_theClass |
| Pointer to the object's class descriptor. More... | |
Protected Attributes inherited from mitsuba::AbstractAnimationTrack | |
| EType | m_type |
| std::vector< Float > | m_times |
Parameterizable animation track.
| typedef T mitsuba::AnimationTrack< T >::ValueType |
|
inline |
|
inline |
|
inline |
Copy constructor.
|
inline |
Append a value.
|
inline |
Append a transformation to every entry of this track.
|
inlinevirtual |
Clone this instance.
Implements mitsuba::AbstractAnimationTrack.
|
inlineprotected |
Concatenate two transformations.
|
inline |
Evaluate the animation track at an arbitrary time value.
|
inline |
Return the value of a certain keyframe.
|
inlineprotected |
Is this a "no-op" transformation?
|
inlineprotected |
Evaluate the animation track using linear interpolation.
|
inline |
Prepend a transformation to every entry of this track.
|
inline |
Reserve space for a certain number of entries.
|
inlinevirtual |
Serialize to a binary data stream.
Implements mitsuba::AbstractAnimationTrack.
|
inlineprotected |
|
inline |
Set the value of a certain keyframe.
|
inline |
Sort all animation tracks and remove unnecessary data (for user-provided input)
false if this animation track was deemed to be "trivial" after the cleanup (for instance, it only contains (0,0,0) translation operations)
|
inlineprotected |