29 #ifndef __KeyFrame_H__
30 #define __KeyFrame_H__
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
A 'track' in an animation sequence, i.e.
Specialised Any class which has built in arithmetic operators, but can hold only types which support ...
Concrete IteratorWrapper for const access to the underlying container.
Shared pointer implementation used to share vertex buffers.
A key frame in an animation sequence defined by an AnimationTrack.
virtual KeyFrame * _clone(AnimationTrack *newParent) const
Clone a keyframe (internal use only)
KeyFrame(const AnimationTrack *parent, Real time)
Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead.
Real getTime(void) const
Gets the time of this keyframe in the animation sequence.
const AnimationTrack * mParentTrack
Specialised KeyFrame which stores any numeric value.
KeyFrame * _clone(AnimationTrack *newParent) const
Clone a keyframe (internal use only)
virtual const AnyNumeric & getValue(void) const
Get the value at this keyframe.
NumericKeyFrame(const AnimationTrack *parent, Real time)
Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead.
virtual void setValue(const AnyNumeric &val)
Set the value at this keyframe.
Implementation of a Quaternion, i.e.
Standard 3-dimensional vector.
Concrete IteratorWrapper for nonconst access to the underlying container.
Specialised KeyFrame which stores absolute vertex positions for a complete buffer,...
VertexMorphKeyFrame(const AnimationTrack *parent, Real time)
Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead.
void setVertexBuffer(const HardwareVertexBufferSharedPtr &buf)
Sets the vertex buffer containing the source positions for this keyframe.
const HardwareVertexBufferSharedPtr & getVertexBuffer(void) const
Gets the vertex buffer containing positions for this keyframe.
HardwareVertexBufferSharedPtr mBuffer
KeyFrame * _clone(AnimationTrack *newParent) const
Clone a keyframe (internal use only)
Specialised KeyFrame which references a Mesh::Pose at a certain influence level, which stores offsets...
void removeAllPoseReferences(void)
Remove all pose references.
void addPoseReference(ushort poseIndex, Real influence)
Add a new pose reference.
VectorIterator< PoseRefList > PoseRefIterator
vector< PoseRef >::type PoseRefList
const PoseRefList & getPoseReferences(void) const
Get a const reference to the list of pose references.
PoseRefIterator getPoseReferenceIterator(void)
Get an iterator over the pose references.
void updatePoseReference(ushort poseIndex, Real influence)
Update the influence of a pose reference.
ConstVectorIterator< PoseRefList > ConstPoseRefIterator
void _applyBaseKeyFrame(const VertexPoseKeyFrame *base)
ConstPoseRefIterator getPoseReferenceIterator(void) const
Get a const iterator over the pose references.
VertexPoseKeyFrame(const AnimationTrack *parent, Real time)
Default constructor, you should not call this but use AnimationTrack::createKeyFrame instead.
KeyFrame * _clone(AnimationTrack *newParent) const
Clone a keyframe (internal use only)
void removePoseReference(ushort poseIndex)
Remove reference to a given pose.
float Real
Software floating point type.
Reference to a pose at a given influence level.
ushort poseIndex
The linked pose index.
PoseRef(ushort p, Real i)
Real influence
Influence level of the linked pose.