CrystalSpace

Public API Reference

iSkeletonAnimation2 Struct Reference
[Mesh plugins]

Factory for skeletal animations. More...

#include <imesh/skeleton2anim.h>

Inheritance diagram for iSkeletonAnimation2:

List of all members.

Public Member Functions

virtual CS::Animation::ChannelID AddChannel (BoneID bone)=0
 Add a new channel associated with bone.
virtual void AddKeyFrame (CS::Animation::ChannelID channel, float time, const csQuaternion &rotation, const csVector3 &offset)=0
 Add a key frame at given time within channel.
virtual void BlendState (csSkeletalState2 *state, float baseWeight, float playbackTime, bool isPlayingCyclic) const =0
 Blend the animation into a skeletal state buffer at a specific playback position.
virtual CS::Animation::ChannelID FindChannel (BoneID bone) const =0
 Find the channel associated with a specific bone, if any.
virtual float GetDuration () const =0
 Get the total duration of the animation.
virtual void GetKeyFrame (CS::Animation::ChannelID channel, CS::Animation::KeyFrameID keyframe, BoneID &bone, float &time, csQuaternion &rotation, csVector3 &offset)=0
 Get a specific key frame within channel.
virtual size_t GetKeyFrameCount (CS::Animation::ChannelID channel) const =0
 Get total number of key frames in channel.
virtual const char * GetName () const =0
 Get the animation name.
virtual void GetTwoKeyFrames (CS::Animation::ChannelID channel, float time, BoneID &bone, float &timeBefore, csQuaternion &beforeRot, csVector3 &beforeOffset, float &timeAfter, csQuaternion &afterRot, csVector3 &afterOffset)=0
 Get the two key frames on "either side" of time.

Detailed Description

Factory for skeletal animations.

Defines the key frames but not the current playing state. Each animation is made up of one or more channels, where a channel is a set of key frames associated with a specific bone.

Definition at line 202 of file skeleton2anim.h.


Member Function Documentation

virtual CS::Animation::ChannelID iSkeletonAnimation2::AddChannel ( BoneID  bone  )  [pure virtual]

Add a new channel associated with bone.

If a channel already exists, it will be returned.

Parameters:
bone bone id to associate channel with.
virtual void iSkeletonAnimation2::AddKeyFrame ( CS::Animation::ChannelID  channel,
float  time,
const csQuaternion rotation,
const csVector3 offset 
) [pure virtual]

Add a key frame at given time within channel.

Parameters:
channel channel id
time key frame time
key key frame data
virtual void iSkeletonAnimation2::BlendState ( csSkeletalState2 *  state,
float  baseWeight,
float  playbackTime,
bool  isPlayingCyclic 
) const [pure virtual]

Blend the animation into a skeletal state buffer at a specific playback position.

Parameters:
state result state object
baseWeight base weight for blending
playbackTime current playback time
isPlayingCyclic if the playing should be cyclic
virtual CS::Animation::ChannelID iSkeletonAnimation2::FindChannel ( BoneID  bone  )  const [pure virtual]

Find the channel associated with a specific bone, if any.

virtual float iSkeletonAnimation2::GetDuration (  )  const [pure virtual]

Get the total duration of the animation.

virtual void iSkeletonAnimation2::GetKeyFrame ( CS::Animation::ChannelID  channel,
CS::Animation::KeyFrameID  keyframe,
BoneID bone,
float &  time,
csQuaternion rotation,
csVector3 offset 
) [pure virtual]

Get a specific key frame within channel.

Parameters:
channel channel id
keyframe key frame number to get
bone bone id associated with channel
time time associated with key frame
key key frame data
virtual size_t iSkeletonAnimation2::GetKeyFrameCount ( CS::Animation::ChannelID  channel  )  const [pure virtual]

Get total number of key frames in channel.

Parameters:
channel channel id
virtual const char* iSkeletonAnimation2::GetName (  )  const [pure virtual]

Get the animation name.

virtual void iSkeletonAnimation2::GetTwoKeyFrames ( CS::Animation::ChannelID  channel,
float  time,
BoneID bone,
float &  timeBefore,
csQuaternion beforeRot,
csVector3 beforeOffset,
float &  timeAfter,
csQuaternion afterRot,
csVector3 afterOffset 
) [pure virtual]

Get the two key frames on "either side" of time.

Parameters:
channel channel id
time time to get key frames for
bone bone id associated with channel
timeBefore time associated with key frame before given time
before key frame data before given time
timeAfter time associated with key frame after given time
after key frame data after given time

The documentation for this struct was generated from the following file:

Generated for Crystal Space 1.4.1 by doxygen 1.7.1