Parameterizable animation track. More...
#include <mitsuba/core/track.h>
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 |