CrystalSpace

Public API Reference

Mesh plugins
[Mesh support]

Classes

class  CS::Animation::AnimatedMeshState
 Holds the state of an animesh skeleton for a frame, ie the position and rotation of each bone of the skeleton. More...
struct  csParticle
 Data representation of a single particle. More...
struct  csParticleAux
 Auxiliary data per particle, not used as often. More...
struct  csParticleBuffer
 Buffer holder for particle buffers. More...
struct  csParticleParameterSet
 Parameters that can be modified based on age for the linear effector (iParticleBuiltinEffectorLinear). More...
struct  csSprite2DVertex
 A single 2D Sprite vertex. More...
struct  CS::Mesh::iAnimatedMesh
 State and setting for an instance of an animated mesh. More...
struct  CS::Mesh::iAnimatedMeshFactory
 State of an animated mesh object factory. More...
struct  CS::Mesh::iAnimatedMeshMorphTarget
 A morph target. More...
struct  CS::Mesh::iAnimatedMeshSubMesh
 Sub mesh (part) of an animated mesh. More...
struct  CS::Mesh::iAnimatedMeshSubMeshFactory
 Sub mesh (part) of an animated mesh factory. More...
struct  iAnimTimeUpdateHandler
 By default, csSpriteCal3DMeshObject::Advance() updates the model's via CalModel::update() with the elapsed time since the last advancement. More...
struct  CS::Mesh::iFurMesh
 State and setting for an instance of a fur mesh. More...
struct  CS::Mesh::iFurMeshFactory
 State of a fur mesh object factory. More...
struct  CS::Mesh::iFurMeshType
 This plugin describes a specific type of fur mesh objects. More...
struct  iGeneralFactoryState
 This interface describes the API for the general mesh factory. More...
struct  iGeneralFactorySubMesh
 A submesh of a genmesh factory. More...
struct  iGeneralFactorySubMeshObject
 An instance of a submesh of a genmesh factory. More...
struct  iGeneralMeshCommonState
 The common interface between genmesh meshes and factories. More...
struct  iGeneralMeshState
 This interface describes the API for the general mesh object. More...
struct  iGeneralMeshSubMesh
 A submesh of a genmesh. More...
struct  iGenMeshAnimationControl
 Implementing this class allows to control the animation of the vertex, texel, normal, color and bounding box data of the genmesh. More...
struct  iGenMeshAnimationControlFactory
 This class is a factory for creating animation controls. More...
struct  iGenMeshAnimationControlState
 This interface describes the API for setting up the animation control as implemented by the 'gmeshanim' plugin. More...
struct  iGenMeshAnimationControlType
 This class is the animation control type. More...
struct  iGenMeshSkeletonControlState
 This interface describes the API for setting up the skeleton animation control as implemented by the 'gmeshskelanim' plugin. More...
struct  iHazeFactoryState
 This interface describes the API for the sprite factory mesh object. More...
struct  iHazeHull
 A mesh specially meant for use by the haze. More...
struct  iHazeHullBox
 A predefined hull. More...
struct  iHazeHullCone
 A predefined hull. More...
struct  iHazeHullCreation
 This interface is implemented by the haze factory in order to be able to create the predefined haze hulls. More...
struct  iHazeState
 This interface describes the API for the sprite factory mesh object. More...
struct  iLightningFactoryState
struct  iMaterialArray
 An array of materials. More...
struct  iMeshObject
 This is a general mesh object that the engine can interact with. More...
struct  iMeshObjectDrawCallback
 Set a callback which is called just before the object is drawn. More...
struct  iMeshObjectFactory
 This object is a factory which can generate mesh objects of a certain type. More...
struct  iMeshObjectType
 This plugin describes a specific type of mesh objects. More...
struct  iNullFactoryState
 This interface describes the API for the null mesh object factory. More...
struct  iNullMeshState
 This interface describes the API for the null mesh object. More...
struct  iParticle
 A iParticle can be used in particle Systems. More...
struct  iParticleBuiltinEffectorFactory
 Factory for builtin effectors. More...
struct  iParticleBuiltinEffectorForce
 Simple force/acceleration applied to particles. More...
struct  iParticleBuiltinEffectorLight
 This effector will create and attach a iLight to each particle of the system. More...
struct  iParticleBuiltinEffectorLinColor
 Simple linear interpolation of particle color based on particle lifetime. More...
struct  iParticleBuiltinEffectorLinear
 Linear interpolation of various parameters based on particle lifetime. More...
struct  iParticleBuiltinEffectorVelocityField
 Velocity field effector. More...
struct  iParticleBuiltinEmitterBase
 Base interface for the emitters already built-in. More...
struct  iParticleBuiltinEmitterBox
 An emitter spawning the new particles around a box geometry. More...
struct  iParticleBuiltinEmitterCone
 An emitter spawning the new particles around a cone geometry. More...
struct  iParticleBuiltinEmitterCylinder
 An emitter spawning the new particles around a cylinder geometry. More...
struct  iParticleBuiltinEmitterFactory
 Factory for built-in emitters. More...
struct  iParticleBuiltinEmitterSphere
 An emitter spawning the new particles around a sphere geometry. More...
struct  iParticleEffector
 Base interface for particle effectors. More...
struct  iParticleEmitter
 A particle emitter. More...
struct  iParticleState
 This interface describes the API for the particle mesh object. More...
struct  iParticleSystem
 Properties for particle system object. More...
struct  iParticleSystemBase
 Base properties for particle system. More...
struct  iParticleSystemFactory
 Properties for particle system factory. More...
struct  iProtoFactoryState
 The proto mesh is a demonstration or tutorial mesh. More...
struct  iProtoMeshState
 This interface describes the API for the proto mesh object. More...
struct  CS::Animation::iSkeleton
 A skeleton instance defines the state of a CS::Mesh::iAnimatedMesh. More...
struct  CS::Animation::iSkeletonAnimation
 Data structure for raw skeletal animations. More...
struct  CS::Animation::iSkeletonAnimationNode
 Raw animation node. More...
struct  CS::Animation::iSkeletonAnimationNodeFactory
 Factory for raw animation nodes. More...
struct  CS::Animation::iSkeletonAnimCallback
 A callback to be implemented if you want to be notified when the state of an animation or animation tree is changed. More...
struct  CS::Animation::iSkeletonAnimNode
 Base type for the animation nodes in the hierarchical blending tree of the skeletal animation system. More...
struct  CS::Animation::iSkeletonAnimNodeFactory
 Base type for nodes in the hierarchical blending tree factory of the skeletal animation system. More...
struct  CS::Animation::iSkeletonAnimNodeManager< FactoryInterface >
 Template for an animation node manager. More...
struct  CS::Animation::iSkeletonAnimPacket
 An animation packet instance. More...
struct  CS::Animation::iSkeletonAnimPacketFactory
 Defines a factory for a skeletal animation packet (iSkeletonAnimPacket). More...
struct  CS::Animation::iSkeletonBlendNode
 An animation node that blends together the sub-nodes based on their weights. More...
struct  CS::Animation::iSkeletonBlendNodeFactory
 Factory for blend nodes, ie nodes which blend together any number of sub-nodes. More...
struct  CS::Animation::iSkeletonFactory
 A skeleton factory is an object defining the base pose and topology from which CS::Animation::iSkeleton instances can be created. More...
struct  CS::Animation::iSkeletonFSMNode
 An animation node that uses a Finite State Machine (FSM) to determine the animation to be played. More...
struct  CS::Animation::iSkeletonFSMNodeFactory
 Factory for Finite State Machine (FSM) animation nodes. More...
struct  CS::Animation::iSkeletonManager
 Skeletal system base object, representing the entire skeletal and skeletal animation system. More...
struct  CS::Animation::iSkeletonPriorityNode
 An animation node that blends together the sub-nodes based on their priority. More...
struct  CS::Animation::iSkeletonPriorityNodeFactory
 Factory for priority blend nodes, ie nodes blending sub-nodes on the base of their current priority. More...
struct  CS::Animation::iSkeletonRandomNode
 An animation node that selects randomly the sub-nodes to be played. More...
struct  CS::Animation::iSkeletonRandomNodeFactory
 Factory for blending nodes playing randomly their sub-nodes. More...
struct  iSprite2DFactoryState
 This interface describes the API for the sprite factory mesh object. More...
struct  iSprite2DState
 This interface describes the API for the sprite factory mesh object. More...
struct  iSprite2DUVAnimation
 The animation works by having all frames of an animation sequence in a texture at different (u,v) locations, hence the name. More...
struct  iSprite2DUVAnimationFrame
 This is a single frame in a UV animation. More...
struct  iSprite3DFactoryState
 This interface describes the API for the 3D sprite factory mesh object. More...
struct  iSprite3DState
 This interface describes the API for the 3D sprite mesh object. More...
struct  iSpriteAction
 An action frameset for 3D sprite animation. More...
struct  iSpriteCal3DFactoryState
 This interface describes the API for the 3D sprite factory mesh object. More...
struct  iSpriteCal3DSocket
 A socket for specifying where sprites can plug into other sprites. More...
struct  iSpriteCal3DState
 This interface describes the API for changing the Cal3D sprite mesh object's animations playing and other current traits. More...
struct  iSpriteFrame
 A frame for 3D sprite animation. More...
struct  iSpriteSocket
 A socket for specifying where sprites can plug into other sprites. More...
struct  iTerrainFactoryState
 Allows the setting of a set of generic terrain parameters outside any specific algorithm. More...
struct  iTerrainObjectState
 This will override the settings for material in the parent. More...
struct  iWaterFactoryState
 The water mesh is a simple mesh representation for a horizontal square. More...
struct  iWaterMeshState
 This interface describes the API for the water mesh object. More...

Namespaces

namespace  CS
 

Main namespace for CrystalSpace.


Defines

#define CS_SPR_LIGHT_GLOBAL   0
 Use the global value for determining which lighting level is used by the sprite.
#define CS_SPR_LIGHT_LOCAL   2
 Use the lighting quality value local to the sprite for determining which lighting level is used by the sprite.
#define CS_SPR_LIGHT_TEMPLATE   1
 Use the sprites template lighting quality value for determining which lighting level is used by the sprite.
#define CS_SPR_LOD_GLOBAL   0
 Use the global value for determining if LOD is used by the sprite, and what level it should be used at.
#define CS_SPR_LOD_LOCAL   2
 Use the LOD value local to the sprite.
#define CS_SPR_LOD_TEMPLATE   1
 Use the sprites template lod value.

Enumerations

enum  
 

Macros for the csSprite3D lighting levels.

More...

Functions

virtual void CS::Animation::iSkeletonAnimNode::AddAnimationCallback (iSkeletonAnimCallback *callback)=0
 Add a new animation callback to this node.
virtual ChannelID CS::Animation::iSkeletonAnimation::AddChannel (BoneID bone)=0
 Add a new channel associated with the given bone.
virtual void CS::Animation::iSkeletonAnimation::AddKeyFrame (ChannelID channel, float time, const csQuaternion &rotation, const csVector3 &offset)=0
 Add a key frame at the given time within the given channel.
virtual void CS::Animation::iSkeletonRandomNodeFactory::AddNode (iSkeletonAnimNodeFactory *node, float probability)=0
 Add a new sub-node to be played randomly.
virtual void CS::Animation::iSkeletonPriorityNodeFactory::AddNode (iSkeletonAnimNodeFactory *node, unsigned int priority)=0
 Add a new sub-node to be blended into the result.
virtual void CS::Animation::iSkeletonBlendNodeFactory::AddNode (iSkeletonAnimNodeFactory *node, float weight)=0
 Add a new sub-node to be blended into the result.
virtual void CS::Animation::iSkeletonAnimation::AddOrSetKeyFrame (ChannelID channel, float time, const csVector3 &offset)=0
 Add or reset the position at the given time within the given channel.
virtual void CS::Animation::iSkeletonAnimation::AddOrSetKeyFrame (ChannelID channel, float time, const csQuaternion &rotation)=0
 Add or reset the rotation at the given time within the given channel.
virtual StateID CS::Animation::iSkeletonFSMNodeFactory::AddState (const char *name, iSkeletonAnimNodeFactory *nodeFact)=0
 Add a new state to the FSM and return the state identifier.
virtual StateID CS::Animation::iSkeletonFSMNodeFactory::AddState ()=0
 Add a new state to the FSM and return the state identifier.
virtual void CS::Animation::iSkeletonAnimCallback::AnimationCycled (iSkeletonAnimNode *node)=0
 Function called when a cyclic animation cycles around.
virtual void CS::Animation::iSkeletonAnimNode::BlendState (AnimatedMeshState *state, float baseWeight=1.0f)=0
 Blend the state of this node into the global skeleton state.
virtual void CS::Animation::iSkeletonAnimation::BlendState (AnimatedMeshState *state, float baseWeight, float playbackTime) const =0
 Blend the animation into an animesh state buffer at a specific playback position.
virtual void CS::Animation::iSkeletonAnimation::BlendState (AnimatedMeshState *state, float baseWeight, float playbackTime, bool isPlayingCyclic) const =0
 Blend the animation into a skeletal state buffer at a specific playback position.
virtual void CS::Animation::iSkeletonManager::ClearAll ()=0
 Remove all internal data.
virtual void CS::Animation::iSkeletonAnimPacketFactory::ClearAnimations ()=0
 Remove all animation factories.
virtual void CS::Animation::iSkeletonAnimNodeManager::ClearAnimNodeFactories ()=0
 Remove all animation node factories.
virtual void CS::Animation::iSkeletonManager::ClearAnimPacketFactories ()=0
 Remove all animation packet factories.
virtual void CS::Animation::iSkeletonRandomNodeFactory::ClearNodes ()=0
 Remove all sub-nodes.
virtual void CS::Animation::iSkeletonPriorityNodeFactory::ClearNodes ()=0
 Remove all sub-nodes.
virtual void CS::Animation::iSkeletonBlendNodeFactory::ClearNodes ()=0
 Remove all sub-nodes.
virtual void CS::Animation::iSkeletonManager::ClearSkeletonFactories ()=0
 Remove all skeleton factories.
virtual void CS::Animation::iSkeletonFSMNodeFactory::ClearStates ()=0
 Remove all states.
virtual void CS::Animation::iSkeletonAnimation::ConvertFrameSpace (CS::Animation::iSkeletonFactory *skeleton)=0
 Convert the frames from bone space to bind space if needed.
virtual iSkeletonAnimationCS::Animation::iSkeletonAnimPacketFactory::CreateAnimation (const char *name)=0
 Create a new animation factory.
virtual csPtr
< iSkeletonAnimationNodeFactory > 
CS::Animation::iSkeletonAnimPacketFactory::CreateAnimationNode (const char *name)=0
 Create an animation node.
virtual FactoryInterface * CS::Animation::iSkeletonAnimNodeManager::CreateAnimNodeFactory (const char *name)=0
 Create an animation node factory with the given name.
virtual
iSkeletonAnimPacketFactory * 
CS::Animation::iSkeletonManager::CreateAnimPacketFactory (const char *name)=0
 Create a new empty skeletal animation packet factory.
virtual csPtr
< iSkeletonBlendNodeFactory > 
CS::Animation::iSkeletonAnimPacketFactory::CreateBlendNode (const char *name)=0
 Create a blend node.
virtual csPtr
< iSkeletonFSMNodeFactory > 
CS::Animation::iSkeletonAnimPacketFactory::CreateFSMNode (const char *name)=0
 Create a FSM node.
virtual csPtr< iSkeletonAnimNode > CS::Animation::iSkeletonAnimNodeFactory::CreateInstance (iSkeletonAnimPacket *packet, iSkeleton *skeleton)=0
 Create a new animation node.
virtual csPtr
< iSkeletonAnimPacket > 
CS::Animation::iSkeletonAnimPacketFactory::CreateInstance (iSkeleton *skeleton)=0
 Create an instance of this animation packet.
virtual csPtr
< iSkeletonPriorityNodeFactory > 
CS::Animation::iSkeletonAnimPacketFactory::CreatePriorityNode (const char *name)=0
 Create a priority node.
virtual csPtr
< iSkeletonRandomNodeFactory > 
CS::Animation::iSkeletonAnimPacketFactory::CreateRandomNode (const char *name)=0
 Create a random switching node.
virtual csPtr< iSkeletonCS::Animation::iSkeletonFactory::CreateSkeleton ()=0
 Create a skeleton instance from this skeleton factory.
virtual iSkeletonFactoryCS::Animation::iSkeletonManager::CreateSkeletonFactory (const char *name)=0
 Create a new empty skeleton factory.
virtual csString CS::Animation::iSkeletonFactory::Description () const =0
 Return a textual representation of the bone tree of this skeleton factory.
virtual void CS::Animation::iSkeletonAnimCallback::DurationChanged (iSkeletonAnimNode *node)=0
 Function called when an animation changes duration for any reason.
virtual iSkeletonAnimationCS::Animation::iSkeletonAnimPacketFactory::FindAnimation (const char *name)=0
 Find an already created animation factory.
virtual size_t CS::Animation::iSkeletonAnimPacketFactory::FindAnimationIndex (const char *name)=0
 Find an already created animation factory and returns it's index.
virtual FactoryInterface * CS::Animation::iSkeletonAnimNodeManager::FindAnimNodeFactory (const char *name)=0
 Find the animation node factory with the given name.
virtual
iSkeletonAnimPacketFactory * 
CS::Animation::iSkeletonManager::FindAnimPacketFactory (const char *name)=0
 Find a skeletal animation packet factory.
virtual ChannelID CS::Animation::iSkeletonAnimation::FindChannel (BoneID bone) const =0
 Find the channel associated with a specific bone, if any.
virtual iSkeletonAnimNode * CS::Animation::iSkeletonAnimNode::FindNode (const char *name)=0
 Find a sub-node with the given name.
virtual iSkeletonAnimNodeFactory * CS::Animation::iSkeletonAnimNodeFactory::FindNode (const char *name)=0
 Find a sub-node with the given name.
virtual iSkeletonFactoryCS::Animation::iSkeletonManager::FindSkeletonFactory (const char *name)=0
 Find an already created skeleton factory.
virtual StateID CS::Animation::iSkeletonFSMNodeFactory::FindState (const char *name) const =0
 Find the state of the given name.
virtual CS::Mesh::iAnimatedMeshCS::Animation::iSkeleton::GetAnimatedMesh ()=0
 Get the animated mesh associated with this skeleton.
virtual iSkeletonAnimationCS::Animation::iSkeletonAnimationNodeFactory::GetAnimation () const =0
 Get the raw animation data in use.
virtual iSkeletonAnimationCS::Animation::iSkeletonAnimPacketFactory::GetAnimation (size_t index)=0
 Get animation factory by index.
virtual size_t CS::Animation::iSkeletonAnimPacketFactory::GetAnimationCount () const =0
 Get the number of animation factories.
virtual iSkeletonAnimPacket * CS::Animation::iSkeleton::GetAnimationPacket () const =0
 Get the animation packet associated with this skeleton.
virtual
iSkeletonAnimPacketFactory * 
CS::Animation::iSkeletonFactory::GetAnimationPacket () const =0
 Get the animation packet associated with this skeleton.
virtual iSkeletonAnimNode * CS::Animation::iSkeletonAnimPacket::GetAnimationRoot () const =0
 Get the root node of the animation blending tree.
virtual iSkeletonAnimNodeFactory * CS::Animation::iSkeletonAnimPacketFactory::GetAnimationRoot () const =0
 Get the root node for the animation mixing hierarchy.
virtual bool CS::Animation::iSkeletonAnimationNodeFactory::GetAutomaticReset () const =0
 Get whether or not the playback position should be reset to the start of the animation when this node is activated with CS::Animation::iSkeletonAnimNode::Play().
virtual bool CS::Animation::iSkeletonAnimationNodeFactory::GetAutomaticStop () const =0
 Get whether or not this animation node should be automatically stopped when the playback duration has been reached.
virtual bool CS::Animation::iSkeletonFactory::GetAutoStart ()=0
 Set whether or not the skeleton should start its animation automatically after its initialization.
size_t CS::Animation::AnimatedMeshState::GetBoneCount () const
 Return the count of bones of this skeleton state.
virtual const csArray
< CS::Animation::BoneID > & 
CS::Animation::iSkeletonFactory::GetBoneOrderList ()=0
 Return an ordered list of the bones.
virtual BoneID CS::Animation::iSkeletonAnimation::GetChannelBone (ChannelID channel) const =0
 Get the id of the bone associated with the given channel.
virtual size_t CS::Animation::iSkeletonAnimation::GetChannelCount () const =0
 Get the count of channels in this animation.
virtual iSkeletonAnimNode * CS::Animation::iSkeletonRandomNode::GetCurrentNode () const =0
 Get the sub-node which is currently selected.
virtual StateID CS::Animation::iSkeletonFSMNode::GetCurrentState () const =0
 Get the ID of the state currently playing.
virtual float CS::Animation::iSkeletonAnimNode::GetDuration () const =0
 Get the time length of this node, in seconds.
virtual float CS::Animation::iSkeletonAnimation::GetDuration () const =0
 Get the total duration of the animation, ie the difference between the first and last key frame of the animation, in seconds.
virtual iSkeletonFactoryCS::Animation::iSkeleton::GetFactory () const =0
 Get the factory used to create this skeleton instance.
virtual iSkeletonAnimNodeFactory * CS::Animation::iSkeletonAnimNode::GetFactory () const =0
 Get the factory of this node.
virtual
iSkeletonAnimPacketFactory * 
CS::Animation::iSkeletonAnimPacket::GetFactory () const =0
 Return the factory from which this packet was created.
virtual bool CS::Animation::iSkeletonAnimation::GetFramesInBindSpace () const =0
 Return whether or not the frames are defined in bind space or in bone space.
virtual void CS::Animation::iSkeletonAnimation::GetKeyFrame (ChannelID channel, KeyFrameID keyframe, BoneID &bone, float &time, csQuaternion &rotation, csVector3 &offset)=0
 Get a specific key frame within the given channel.
virtual size_t CS::Animation::iSkeletonAnimation::GetKeyFrameCount (ChannelID channel) const =0
 Get the total number of key frames in the given channel.
virtual const char * CS::Animation::iSkeletonFactory::GetName () const =0
 Get the name of the skeleton factory.
virtual const char * CS::Animation::iSkeletonAnimation::GetName () const =0
 Get the name of the animation.
virtual const char * CS::Animation::iSkeletonAnimPacketFactory::GetName () const =0
 Get the name of this animation packet factory.
virtual iSkeletonAnimNodeFactory * CS::Animation::iSkeletonRandomNodeFactory::GetNode (uint node)=0
 Get the sub-node at the given index.
virtual iSkeletonAnimNodeFactory * CS::Animation::iSkeletonPriorityNodeFactory::GetNode (uint node)=0
 Get the sub-node at the given index.
virtual iSkeletonAnimNodeFactory * CS::Animation::iSkeletonBlendNodeFactory::GetNode (uint node)=0
 Get the sub-node at the given index.
virtual uint CS::Animation::iSkeletonRandomNodeFactory::GetNodeCount () const =0
 Get the number of sub-nodes.
virtual uint CS::Animation::iSkeletonPriorityNodeFactory::GetNodeCount () const =0
 Get number of sub-nodes.
virtual uint CS::Animation::iSkeletonBlendNodeFactory::GetNodeCount () const =0
 Get number of sub-nodes.
virtual const char * CS::Animation::iSkeletonAnimNodeFactory::GetNodeName () const =0
 Get the name of this factory.
virtual float CS::Animation::iSkeletonAnimNode::GetPlaybackPosition () const =0
 Get the current playback position, in seconds (ie a time value between 0 and GetDuration()).
virtual float CS::Animation::iSkeletonAnimationNodeFactory::GetPlaybackSpeed () const =0
 Get the playback speed of the animation.
virtual float CS::Animation::iSkeletonAnimNode::GetPlaybackSpeed () const =0
 Get the playback speed.
csQuaternionCS::Animation::AnimatedMeshState::GetQuaternion (size_t i)
 Return the rotation quaternion of the given bone, in bone space.
const csQuaternionCS::Animation::AnimatedMeshState::GetQuaternion (size_t i) const
 Return the rotation quaternion of the given bone, in bone space.
virtual iSceneNodeCS::Animation::iSkeleton::GetSceneNode ()=0
 Get the scene node associated with this skeleton.
virtual unsigned int CS::Animation::iSkeleton::GetSkeletonStateVersion () const =0
 Get the skeleton update version number.
virtual StateID CS::Animation::iSkeletonFSMNodeFactory::GetStartState () const =0
 Get the ID of the state to use as first state before switching to any other states.
virtual uint CS::Animation::iSkeletonFSMNodeFactory::GetStateCount () const =0
 Get the number of states in the FSM.
virtual const char * CS::Animation::iSkeletonFSMNodeFactory::GetStateName (StateID id) const =0
 Get the name for a state (for easier later access).
virtual iSkeletonAnimNode * CS::Animation::iSkeletonFSMNode::GetStateNode (StateID state) const =0
 Get the animation node of the given state.
virtual iSkeletonAnimNodeFactory * CS::Animation::iSkeletonFSMNodeFactory::GetStateNode (StateID id) const =0
 Get the node (sub-tree) associated with a given state.
virtual SynchronizationMode CS::Animation::iSkeletonBlendNodeFactory::GetSynchronizationMode () const =0
 Get the current synchronization mode.
virtual void CS::Animation::iSkeletonAnimation::GetTwoKeyFrames (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 the given time.
csVector3CS::Animation::AnimatedMeshState::GetVector (size_t i)
 Return the position vector of the given bone, in bone space.
const csVector3CS::Animation::AnimatedMeshState::GetVector (size_t i) const
 Return the position vector of the given bone, in bone space.
virtual bool CS::Animation::iSkeletonAnimNode::IsActive () const =0
 Return whether or not this node is currently playing and needs any blending.
bool CS::Animation::AnimatedMeshState::IsBoneUsed (BoneID bone) const
 Return true if the position and rotation values have been set for the given bone, false otherwise (last position and rotation values which have been set for this bone will therefore be kept).
virtual bool CS::Animation::iSkeletonAnimationNodeFactory::IsCyclic () const =0
 Get whether or not the animation has to be played cyclically.
virtual void CS::Animation::iSkeletonBlendNode::NormalizeWeights ()=0
 Normalize the node weights so that the sum is 1.
virtual void CS::Animation::iSkeletonBlendNodeFactory::NormalizeWeights ()=0
 Normalize the sub-node weights so that the sum is 1.
virtual void CS::Animation::iSkeletonAnimNode::Play ()=0
 Start playing the node, it will therefore start modifying the state of the skeleton.
virtual void CS::Animation::iSkeletonAnimCallback::PlayStateChanged (iSkeletonAnimNode *node, bool isPlaying)=0
 Function called when animation play state changes.
virtual void CS::Animation::iSkeleton::RecreateSkeleton ()=0
 Recreate the structure of the skeleton from the definition of the factory.
virtual void CS::Animation::iSkeletonAnimPacketFactory::RemoveAnimation (size_t index)=0
 Remove the animation of the given index.
virtual void CS::Animation::iSkeletonAnimPacketFactory::RemoveAnimation (const char *name)=0
 Remove the animation of the given name.
virtual void CS::Animation::iSkeletonAnimNode::RemoveAnimationCallback (iSkeletonAnimCallback *callback)=0
 Remove the given animation callback from this node.
virtual void CS::Animation::iSkeletonAnimNodeManager::RemoveAnimNodeFactory (const char *name)=0
 Remove the animation node factory of the given name.
virtual void CS::Animation::iSkeletonAnimation::RemoveChannel (ChannelID channel)=0
 Remove the given channel from this animation.
void CS::Animation::AnimatedMeshState::Reset ()
 Mark all bones as not used.
virtual void CS::Animation::iSkeleton::ResetSkeletonState ()=0
 Reset the transform of all the bones of the skeleton to the ones of the skeleton factory.
virtual void CS::Animation::iSkeleton::SetAnimatedMesh (CS::Mesh::iAnimatedMesh *animesh)=0
 Set the animated mesh associated with this skeleton.
virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetAnimation (iSkeletonAnimation *animation)=0
 Set the raw animation data to be used.
virtual void CS::Animation::iSkeleton::SetAnimationPacket (iSkeletonAnimPacket *packet)=0
 Set the animation packet associated with this skeleton.
virtual void CS::Animation::iSkeletonFactory::SetAnimationPacket (iSkeletonAnimPacketFactory *fact)=0
 Set the animation packet associated with this skeleton.
virtual void CS::Animation::iSkeletonAnimPacketFactory::SetAnimationRoot (iSkeletonAnimNodeFactory *root)=0
 Set the root node for the animation mixing hierarchy.
virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetAutomaticReset (bool reset)=0
 Set whether or not the playback position should be reset to the start of the animation when this node is activated with CS::Animation::iSkeletonAnimNode::Play().
virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetAutomaticStop (bool enabed)=0
 Set whether or not this animation node should be automatically stopped when the playback duration has been reached.
virtual void CS::Animation::iSkeletonRandomNodeFactory::SetAutomaticSwitch (bool automatic)=0
 Set that the node should automatically switch to next one upon completion of the current one, otherwise it will stop after the first sub-node has been played.
virtual void CS::Animation::iSkeletonFSMNodeFactory::SetAutomaticTransition (StateID fromState, StateID toState, bool automatic)=0
 The transition between the two states will be followed automatically if there are no other target state to switch to when it is the end of the animation played by the state with ID fromState.
virtual void CS::Animation::iSkeletonFactory::SetAutoStart (bool autostart)=0
 Set whether or not the skeleton should start its animation automatically after its initialization.
void CS::Animation::AnimatedMeshState::SetBoneUsed (BoneID bone)
 Mark that the position and rotation values have been set for the given bone.
virtual void CS::Animation::iSkeletonAnimation::SetChannelBone (ChannelID channel, BoneID bone)=0
 Set the id of the bone associated with the given channel.
virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetCyclic (bool cyclic)=0
 Set whether or not the animation has to be played cyclically.
virtual void CS::Animation::iSkeletonAnimation::SetFramesInBindSpace (bool isBindSpace)=0
 Set whether the data defined with AddKeyFrame() are in bind space or in bone space.
virtual void CS::Animation::iSkeletonAnimation::SetKeyFrame (ChannelID channel, KeyFrameID keyframe, const csQuaternion &rotation, const csVector3 &offset)=0
 Reset the rotation and position values of a given key frame.
virtual void CS::Animation::iSkeletonPriorityNode::SetNodePriority (uint node, unsigned int priority)=0
 Set the priority for a specific sub-node.
virtual void CS::Animation::iSkeletonPriorityNodeFactory::SetNodePriority (uint node, unsigned int priority)=0
 Set the initial priority of a specific sub-node.
virtual void CS::Animation::iSkeletonRandomNodeFactory::SetNodeProbability (uint node, float weight)=0
 Set the selection probability for a specific node.
virtual void CS::Animation::iSkeletonBlendNode::SetNodeWeight (uint node, float weight)=0
 Set the blend weight for a specific node.
virtual void CS::Animation::iSkeletonBlendNodeFactory::SetNodeWeight (uint node, float weight)=0
 Set the blend weight for a specific sub-node.
virtual void CS::Animation::iSkeletonAnimNode::SetPlaybackPosition (float time)=0
 Set the current playback position, in seconds.
virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetPlaybackSpeed (float speed)=0
 Set the playback speed of the animation.
virtual void CS::Animation::iSkeletonAnimNode::SetPlaybackSpeed (float speed)=0
 Set the playback speed.
virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStartState (StateID id)=0
 Set the ID of the state to use as first state before switching to any other states.
virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStateName (StateID id, const char *name)=0
 Set a name for a state (for easier later access).
virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStateNode (StateID id, iSkeletonAnimNodeFactory *nodeFact)=0
 Set the node (sub-tree) associated with a given state.
virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStateTransition (StateID fromState, StateID toState, iSkeletonAnimNodeFactory *fact)=0
 Set a node (sub-tree) to use when transitioning between two states.
virtual void CS::Animation::iSkeletonBlendNodeFactory::SetSynchronizationMode (SynchronizationMode mode)=0
 Set the synchronization mode.
virtual void CS::Animation::iSkeletonFSMNodeFactory::SetTransitionCrossfade (StateID fromState, StateID toState, float time1, float time2)=0
 Set the transition cross-fade times.
void CS::Animation::AnimatedMeshState::Setup (size_t numBones)
 Initialize the skeleton state.
virtual void CS::Animation::iSkeletonAnimNode::Stop ()=0
 Stop playing the node, it will no longer modify the state of the skeleton.
virtual void CS::Animation::iSkeletonRandomNode::Switch ()=0
 Switch to next sub-node.
virtual void CS::Animation::iSkeletonFSMNode::SwitchToState (StateID newState)=0
 Switch to a new state.
virtual void CS::Animation::iSkeletonAnimNode::TickAnimation (float dt)=0
 Update the state of the animation generated by this node.
virtual void CS::Animation::iSkeleton::UpdateSkeleton (float dt)=0
 Update the state skeleton.
virtual CS::Animation::AnimatedMeshState::~AnimatedMeshState ()
 Destructor.

Default particle system effectors



enum  csParticleBuiltinEffectorVFType { CS_PARTICLE_BUILTIN_SPIRAL, CS_PARTICLE_BUILTIN_RADIALPOINT }
 

Velocity field effector types Determine the ODE the velocity field effector will solve to get new particle positions from current ones.

More...
enum  csParticleParameterMask {
  CS_PARTICLE_MASK_MASS = 1, CS_PARTICLE_MASK_LINEARVELOCITY = 2, CS_PARTICLE_MASK_ANGULARVELOCITY = 4, CS_PARTICLE_MASK_COLOR = 8,
  CS_PARTICLE_MASK_PARTICLESIZE = 16, CS_PARTICLE_MASK_ALL
}
 

Mask to influence which parameters we will interpolate in the linear effector (iParticleBuiltinEffectorLinear).

More...

Default particle system emitters



enum  csParticleBuiltinEmitterPlacement { CS_PARTICLE_BUILTIN_CENTER, CS_PARTICLE_BUILTIN_VOLUME, CS_PARTICLE_BUILTIN_SURFACE }
 

Set where in the emitter the builtin emitters should spawn their particles.

More...

Particle systems



enum  csParticleIntegrationMode { CS_PARTICLE_INTEGRATE_NONE, CS_PARTICLE_INTEGRATE_LINEAR, CS_PARTICLE_INTEGRATE_BOTH }
 

Particle integration mode.

More...
enum  csParticleRenderOrientation {
  CS_PARTICLE_CAMERAFACE, CS_PARTICLE_CAMERAFACE_APPROX, CS_PARTICLE_ORIENT_COMMON, CS_PARTICLE_ORIENT_COMMON_APPROX,
  CS_PARTICLE_ORIENT_VELOCITY, CS_PARTICLE_ORIENT_SELF, CS_PARTICLE_ORIENT_SELF_FORWARD
}
 

Particle orientation.

More...
enum  csParticleRotationMode { CS_PARTICLE_ROTATE_NONE, CS_PARTICLE_ROTATE_TEXCOORD, CS_PARTICLE_ROTATE_VERTICES }
 

Rotation mode.

More...
enum  csParticleSortMode { CS_PARTICLE_SORT_NONE, CS_PARTICLE_SORT_DISTANCE, CS_PARTICLE_SORT_DOT }
 

Sorting modes to be used by the particle renderer.

More...
enum  csParticleTransformMode { CS_PARTICLE_LOCAL_MODE, CS_PARTICLE_LOCAL_EMITTER, CS_PARTICLE_WORLD_MODE }
 

Particle transformation mode.

More...

Skeletal animation



enum  CS::Animation::SynchronizationMode { CS::Animation::SYNC_NONE, CS::Animation::SYNC_FIRSTFRAME }
 

Different synchronization modes.

More...
typedef unsigned int CS::Animation::ChannelID
 Identifier for a channel within an animation.
typedef unsigned int CS::Animation::KeyFrameID
 Identifier for a keyframe within an animation channel.
typedef unsigned int CS::Animation::StateID
 Identifier for a state within a FSM animation node.
static const ChannelID CS::Animation::InvalidChannelID = (ChannelID)~0
 ID for an invalid channel.
static const KeyFrameID CS::Animation::InvalidKeyframeID = (KeyFrameID)~0
 ID for an invalid keyframe number.
static const StateID CS::Animation::InvalidStateID = (StateID)~0
 ID for an invalid state.
#define SCF_ISKELETONANIMNODEMANAGER_INTERFACE(Name, a, b, c)   SCF_INTERFACE (Name, ((0*10)+(a)), (b), (c))
 Different synchronization modes.

Skeleton



typedef size_t CS::Animation::BoneID
 Identifier for single bone data.
static const BoneID CS::Animation::InvalidBoneID = (BoneID)~0
 ID for an invalid bone.

Bone handling



virtual BoneID CS::Animation::iSkeletonFactory::CreateBone (BoneID parent=CS::Animation::InvalidBoneID)=0
 Create a new bone with the given parent bone.
virtual BoneID CS::Animation::iSkeletonFactory::FindBone (const char *name) const =0
 Find the ID of a bone from its name.
virtual const char * CS::Animation::iSkeletonFactory::GetBoneName (BoneID bone) const =0
 Get the name of a bone.
virtual BoneID CS::Animation::iSkeletonFactory::GetBoneParent (BoneID bone) const =0
 Get the ID of the parent of the given bone.
virtual BoneID CS::Animation::iSkeletonFactory::GetTopBoneID () const =0
 Get the highest bone ID used in skeleton.
virtual void CS::Animation::iSkeletonFactory::GetTransformAbsSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
 Get the transform of the bone in absolute space.
virtual void CS::Animation::iSkeletonFactory::GetTransformBoneSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
 Get the transform of the bone in bone space.
virtual bool CS::Animation::iSkeletonFactory::HasBone (BoneID bone) const =0
 Return true if the bone with the given ID exists within this skeleton factory.
virtual void CS::Animation::iSkeletonFactory::RemoveBone (BoneID bone)=0
 Remove a bone from the skeleton.
virtual void CS::Animation::iSkeletonFactory::SetBoneName (BoneID bone, const char *name)=0
 Set a name of a bone for later identificaton.
virtual void CS::Animation::iSkeletonFactory::SetTransformAbsSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
 Set the transform of the bone in absolute space.
virtual void CS::Animation::iSkeletonFactory::SetTransformBoneSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
 Set the transform of the bone in bone space.

Bone handling



virtual csPtr< AnimatedMeshState > CS::Animation::iSkeleton::GetStateAbsSpace ()=0
 Get the state of the entire skeleton (ie all transforms) in absolute space.
virtual csPtr< AnimatedMeshState > CS::Animation::iSkeleton::GetStateBindSpace ()=0
 Get the state of the entire skeleton (ie all transforms) in bind space.
virtual csPtr< AnimatedMeshState > CS::Animation::iSkeleton::GetStateBoneSpace ()=0
 Get the state of the entire skeleton (ie all transforms) in bone space.
virtual void CS::Animation::iSkeleton::GetTransformAbsSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
 Get the transform of the bone in absolute space.
virtual void CS::Animation::iSkeleton::GetTransformBindSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
 Get the transform of the bone in bind space.
virtual void CS::Animation::iSkeleton::GetTransformBoneSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
 Get the transform of the bone in bone space.
virtual void CS::Animation::iSkeleton::SetTransformAbsSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
 Set the transform of the bone in absolute space.
virtual void CS::Animation::iSkeleton::SetTransformBindSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
 Set the transform of the bone in bind space.
virtual void CS::Animation::iSkeleton::SetTransformBoneSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
 Set the transform of the bone in bone space.

Mesh factory flags



#define CS_FACTORY_STATICSHAPE   2
 If CS_FACTORY_STATICSHAPE is set then this factory will never animate.

Mesh object flags



#define CS_MESH_STATICPOS   1
 If CS_MESH_STATICPOS is set then this mesh will never move.
#define CS_MESH_STATICSHAPE   2
 If CS_MESH_STATICSHAPE is set then this mesh will never animate.

Define Documentation

#define CS_FACTORY_STATICSHAPE   2

If CS_FACTORY_STATICSHAPE is set then this factory will never animate.

This is a hint for the engine. The mesh factory itself can also use this flag to optimize internal data structures.

Definition at line 83 of file object.h.

#define CS_MESH_STATICPOS   1

If CS_MESH_STATICPOS is set then this mesh will never move.

This is a hint for the engine. The mesh object itself can also use this flag to optimize internal data structures.

Definition at line 66 of file object.h.

#define CS_MESH_STATICSHAPE   2

If CS_MESH_STATICSHAPE is set then this mesh will never animate.

This is a hint for the engine. The mesh object itself can also use this flag to optimize internal data structures.

Definition at line 73 of file object.h.

#define CS_SPR_LIGHT_GLOBAL   0

Use the global value for determining which lighting level is used by the sprite.

Definition at line 57 of file sprite3d.h.

#define CS_SPR_LIGHT_LOCAL   2

Use the lighting quality value local to the sprite for determining which lighting level is used by the sprite.

Definition at line 69 of file sprite3d.h.

#define CS_SPR_LIGHT_TEMPLATE   1

Use the sprites template lighting quality value for determining which lighting level is used by the sprite.

Definition at line 63 of file sprite3d.h.

#define CS_SPR_LOD_GLOBAL   0

Use the global value for determining if LOD is used by the sprite, and what level it should be used at.

Definition at line 75 of file sprite3d.h.

#define CS_SPR_LOD_LOCAL   2

Use the LOD value local to the sprite.

Definition at line 85 of file sprite3d.h.

#define CS_SPR_LOD_TEMPLATE   1

Use the sprites template lod value.

Definition at line 80 of file sprite3d.h.

#define SCF_ISKELETONANIMNODEMANAGER_INTERFACE ( Name,
a,
b,
 )     SCF_INTERFACE (Name, ((0*10)+(a)), (b), (c))

Different synchronization modes.

Definition at line 1174 of file skeleton2anim.h.


Typedef Documentation

typedef size_t CS::Animation::BoneID

Identifier for single bone data.

Definition at line 64 of file skeleton2.h.

typedef unsigned int CS::Animation::ChannelID

Identifier for a channel within an animation.

Definition at line 74 of file skeleton2anim.h.

typedef unsigned int CS::Animation::KeyFrameID

Identifier for a keyframe within an animation channel.

Definition at line 77 of file skeleton2anim.h.

typedef unsigned int CS::Animation::StateID

Identifier for a state within a FSM animation node.

Definition at line 80 of file skeleton2anim.h.


Enumeration Type Documentation

anonymous enum

Macros for the csSprite3D lighting levels.

Definition at line 45 of file sprite3d.h.

Velocity field effector types Determine the ODE the velocity field effector will solve to get new particle positions from current ones.

Enumerator:
CS_PARTICLE_BUILTIN_SPIRAL 

Spiral around a given line.

ODE: pl = closest point on line defined by vparam[0] + t*vparam[1] p' = vparam[2] * p-pl x vparam[1] + (p-pl) * fparam[0] + vparam[3]

CS_PARTICLE_BUILTIN_RADIALPOINT 

Exhort a radial movement relative to a given point.

ODE: p' = p-vparam[0] / |p-vparam[0]| * (fparam[0] + fparam[1] * sin(t))

Definition at line 793 of file particles.h.

Set where in the emitter the builtin emitters should spawn their particles.

Enumerator:
CS_PARTICLE_BUILTIN_CENTER 

In the center.

CS_PARTICLE_BUILTIN_VOLUME 

Anywhere in the volume.

CS_PARTICLE_BUILTIN_SURFACE 

On the surface of the volume.

Definition at line 539 of file particles.h.

Particle integration mode.

Specifies how the velocity-to-position integration is done. Default is CS_PARTICLE_INTEGRATE_LINEAR

Enumerator:
CS_PARTICLE_INTEGRATE_NONE 

Perform no integration.

CS_PARTICLE_INTEGRATE_LINEAR 

Integrate linear velocity into linear position.

CS_PARTICLE_INTEGRATE_BOTH 

Integrate both linear and angular velocity into pose.

Notice that the angular integration is rather performance heavy so use only when needed.

Definition at line 129 of file particles.h.

Mask to influence which parameters we will interpolate in the linear effector (iParticleBuiltinEffectorLinear).

Enumerator:
CS_PARTICLE_MASK_MASS 

Mass.

CS_PARTICLE_MASK_LINEARVELOCITY 

Linear velocity.

CS_PARTICLE_MASK_ANGULARVELOCITY 

Angular velocity.

CS_PARTICLE_MASK_COLOR 

Color.

CS_PARTICLE_MASK_PARTICLESIZE 

Particle size.

CS_PARTICLE_MASK_ALL 

All parameters.

Definition at line 894 of file particles.h.

Particle orientation.

The particle type defines how the billboard is setup in relation to the particle position, direction and the camera.

Enumerator:
CS_PARTICLE_CAMERAFACE 

Billboard always facing the camera, with exact computation per particle.

This is what you usually expect from a billboard.

CS_PARTICLE_CAMERAFACE_APPROX 

Billboard always facing the camera direction.

This is approximately the same as CS_PARTICLE_CAMERAFACE, but is a bit optimized by utilizing the camera direction instead of the exact direction from particle to the camera,

CS_PARTICLE_ORIENT_COMMON 

Orient billboard around a common direction (y/up direction), facing the camera.

All particles will use the same common direction.

CS_PARTICLE_ORIENT_COMMON_APPROX 

Orient billboard around a common direction (y/up direction), facing the camera.

This is approximately the same as CS_PARTICLE_ORIENT_SAME_APPROX, but is a bit optimized by utilizing the camera direction instead of the exact direction from particle to the camera,

CS_PARTICLE_ORIENT_VELOCITY 

Orient billboard around a common direction (y/up direction), facing the camera.

The particles will use their direction (velocity) vector as common direction.

CS_PARTICLE_ORIENT_SELF 

Orient the particles according to their internal rotation.

The billboard will be aligned so that the normal is along the z axis and the particle in the xy plane of the base specified.

CS_PARTICLE_ORIENT_SELF_FORWARD 

Orient the particles according to their internal rotation.

The billboard will be aligned so that the normal is along the z axis and the particle in the xy plane of the base specified. This differs from CS_PARTICLE_ORIENT_SELF in the sense that the particles will always have their "forward" side towards the camera

Definition at line 62 of file particles.h.

Rotation mode.

Specifies how particle rotation is handled.

Enumerator:
CS_PARTICLE_ROTATE_NONE 

Do not take rotation into account at all.

CS_PARTICLE_ROTATE_TEXCOORD 

Rotate texture coordinates.

CS_PARTICLE_ROTATE_VERTICES 

Rotate particle vertices in the billboard plane.

Definition at line 114 of file particles.h.

Sorting modes to be used by the particle renderer.

Enumerator:
CS_PARTICLE_SORT_NONE 

No sorting at all.

CS_PARTICLE_SORT_DISTANCE 

Sort by the distance to the camera.

CS_PARTICLE_SORT_DOT 

Sort by the dot product of the normalized camera vector and the particle direction.

Definition at line 47 of file particles.h.

Particle transformation mode.

Controls how and when particles are transformed, and thereby also controls the coordinate system for particles, emitters and effectors.

Enumerator:
CS_PARTICLE_LOCAL_MODE 

Fully local mode.

All positions and coordinates are relative to particle system.

CS_PARTICLE_LOCAL_EMITTER 

Mixed coordinate mode.

Particle position and effectors are specified in world space, while emitters operate in local mode.

Warning:
Do note that this mode will introduce extra overhead compared to the other two modes and use only when neccesary.
CS_PARTICLE_WORLD_MODE 

Fully global mode.

All coordinates are in world space (absolute space).

Definition at line 147 of file particles.h.

Different synchronization modes.

Enumerator:
SYNC_NONE 

No syncing at all.

SYNC_FIRSTFRAME 

Synchronize on the first frame.

Definition at line 92 of file skeleton2anim.h.


Function Documentation

virtual void CS::Animation::iSkeletonAnimNode::AddAnimationCallback ( iSkeletonAnimCallback callback  )  [pure virtual, inherited]

Add a new animation callback to this node.

Parameters:
callback The callback object

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual ChannelID CS::Animation::iSkeletonAnimation::AddChannel ( BoneID  bone  )  [pure virtual, inherited]

Add a new channel associated with the given bone.

If a channel already exists, then it will be returned.

Parameters:
bone The bone id associated to the channel.
Returns:
The channel associated to the bone.
virtual void CS::Animation::iSkeletonAnimation::AddKeyFrame ( ChannelID  channel,
float  time,
const csQuaternion rotation,
const csVector3 offset 
) [pure virtual, inherited]

Add a key frame at the given time within the given channel.

Parameters:
channel Id of the channel.
time The time of the key frame, in seconds.
rotation The rotation of the bone for the key frame.
offset The position of the bone for the key frame.
Remarks:
The rotation and offset must be in the space defined by GetFramesInBoneSpace().
virtual void CS::Animation::iSkeletonRandomNodeFactory::AddNode ( iSkeletonAnimNodeFactory node,
float  probability 
) [pure virtual, inherited]

Add a new sub-node to be played randomly.

Parameters:
node the node to add
probability probability that the node will be selected to be played next when switching. The probability can be of any arbitrary scale, this is the proportion between the probabilities of all nodes that matters.
Warning:
If you use sub-nodes of type CS::Animation::iSkeletonAnimationNodeFactory, you must ensure to set CS::Animation::iSkeletonAnimationNodeFactory::SetAutomaticReset() and SetAutomaticReset::SetAutomaticStop(), otherwise the sub-nodes won't restart playing once they are selected again. Take also care to not use CS::Animation::iSkeletonAnimationNodeFactory::SetCyclic() otherwise this node will get in a deadlock.
virtual void CS::Animation::iSkeletonPriorityNodeFactory::AddNode ( iSkeletonAnimNodeFactory node,
unsigned int  priority 
) [pure virtual, inherited]

Add a new sub-node to be blended into the result.

Parameters:
node the node to add
priority priority to use for the node
virtual void CS::Animation::iSkeletonBlendNodeFactory::AddNode ( iSkeletonAnimNodeFactory node,
float  weight 
) [pure virtual, inherited]

Add a new sub-node to be blended into the result.

Parameters:
node the sub-node to add
weight the blend weight to use for this node
virtual void CS::Animation::iSkeletonAnimation::AddOrSetKeyFrame ( ChannelID  channel,
float  time,
const csVector3 offset 
) [pure virtual, inherited]

Add or reset the position at the given time within the given channel.

Parameters:
channel Id of the channel.
time The time of the key frame, in seconds.
offset The position of the bone for the key frame.
Remarks:
The offset must be in the space defined by GetFramesInBoneSpace().
virtual void CS::Animation::iSkeletonAnimation::AddOrSetKeyFrame ( ChannelID  channel,
float  time,
const csQuaternion rotation 
) [pure virtual, inherited]

Add or reset the rotation at the given time within the given channel.

Parameters:
channel Id of the channel.
time The time of the key frame, in seconds.
rotation The rotation of the bone for the key frame.
Remarks:
The rotation must be in the space defined by GetFramesInBoneSpace().
virtual StateID CS::Animation::iSkeletonFSMNodeFactory::AddState ( const char *  name,
iSkeletonAnimNodeFactory nodeFact 
) [pure virtual, inherited]

Add a new state to the FSM and return the state identifier.

virtual StateID CS::Animation::iSkeletonFSMNodeFactory::AddState (  )  [pure virtual, inherited]

Add a new state to the FSM and return the state identifier.

virtual void CS::Animation::iSkeletonAnimCallback::AnimationCycled ( iSkeletonAnimNode node  )  [pure virtual, inherited]

Function called when a cyclic animation cycles around.

virtual void CS::Animation::iSkeletonAnimNode::BlendState ( AnimatedMeshState state,
float  baseWeight = 1.0f 
) [pure virtual, inherited]

Blend the state of this node into the global skeleton state.

Parameters:
state The global blend state to blend into
baseWeight Global weight for the blending of this node

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual void CS::Animation::iSkeletonAnimation::BlendState ( AnimatedMeshState state,
float  baseWeight,
float  playbackTime 
) const [pure virtual, inherited]

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

Parameters:
state The skeletal state where the result will be blended.
baseWeight The base weight to be used for blending.
playbackTime The current playback time, in seconds.
Warning:
The playbackTime will be shifted if there is any key frame defined with a negative time stamp in the animation. The amount of time shifted is equal to the smallest negative time stamp of the animation. As a result, the total time range available for the playback ranges from zero to GetDuration().
virtual void CS::Animation::iSkeletonAnimation::BlendState ( AnimatedMeshState state,
float  baseWeight,
float  playbackTime,
bool  isPlayingCyclic 
) const [pure virtual, inherited]

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

Parameters:
state The skeletal state where the result will be blended.
baseWeight The base weight to be used for blending.
playbackTime The current playback time.
isPlayingCyclic If the playing should be cyclic or not. This parameter is now ignored.
virtual void CS::Animation::iSkeletonManager::ClearAll (  )  [pure virtual, inherited]

Remove all internal data.

virtual void CS::Animation::iSkeletonAnimPacketFactory::ClearAnimations (  )  [pure virtual, inherited]

Remove all animation factories.

template<class FactoryInterface>
virtual void CS::Animation::iSkeletonAnimNodeManager< FactoryInterface >::ClearAnimNodeFactories (  )  [pure virtual, inherited]

Remove all animation node factories.

virtual void CS::Animation::iSkeletonManager::ClearAnimPacketFactories (  )  [pure virtual, inherited]

Remove all animation packet factories.

virtual void CS::Animation::iSkeletonRandomNodeFactory::ClearNodes (  )  [pure virtual, inherited]

Remove all sub-nodes.

virtual void CS::Animation::iSkeletonPriorityNodeFactory::ClearNodes (  )  [pure virtual, inherited]

Remove all sub-nodes.

virtual void CS::Animation::iSkeletonBlendNodeFactory::ClearNodes (  )  [pure virtual, inherited]

Remove all sub-nodes.

virtual void CS::Animation::iSkeletonManager::ClearSkeletonFactories (  )  [pure virtual, inherited]

Remove all skeleton factories.

virtual void CS::Animation::iSkeletonFSMNodeFactory::ClearStates (  )  [pure virtual, inherited]

Remove all states.

virtual void CS::Animation::iSkeletonAnimation::ConvertFrameSpace ( CS::Animation::iSkeletonFactory skeleton  )  [pure virtual, inherited]

Convert the frames from bone space to bind space if needed.

GetFramesInBindSpace() will now return true.

virtual iSkeletonAnimation* CS::Animation::iSkeletonAnimPacketFactory::CreateAnimation ( const char *  name  )  [pure virtual, inherited]

Create a new animation factory.

virtual csPtr<iSkeletonAnimationNodeFactory> CS::Animation::iSkeletonAnimPacketFactory::CreateAnimationNode ( const char *  name  )  [pure virtual, inherited]

Create an animation node.

template<class FactoryInterface>
virtual FactoryInterface* CS::Animation::iSkeletonAnimNodeManager< FactoryInterface >::CreateAnimNodeFactory ( const char *  name  )  [pure virtual, inherited]

Create an animation node factory with the given name.

virtual iSkeletonAnimPacketFactory* CS::Animation::iSkeletonManager::CreateAnimPacketFactory ( const char *  name  )  [pure virtual, inherited]

Create a new empty skeletal animation packet factory.

virtual csPtr<iSkeletonBlendNodeFactory> CS::Animation::iSkeletonAnimPacketFactory::CreateBlendNode ( const char *  name  )  [pure virtual, inherited]

Create a blend node.

virtual BoneID CS::Animation::iSkeletonFactory::CreateBone ( BoneID  parent = CS::Animation::InvalidBoneID  )  [pure virtual, inherited]

Create a new bone with the given parent bone.

Parameters:
parent bone The ID of the parent bone, or CS::Animation::InvalidBoneID if there are no parent (ie, this is one of the root bones). Theoritically, there can be more than one root bone, but this is not recommanded.
virtual csPtr<iSkeletonFSMNodeFactory> CS::Animation::iSkeletonAnimPacketFactory::CreateFSMNode ( const char *  name  )  [pure virtual, inherited]

Create a FSM node.

virtual csPtr<iSkeletonAnimNode> CS::Animation::iSkeletonAnimNodeFactory::CreateInstance ( iSkeletonAnimPacket packet,
iSkeleton skeleton 
) [pure virtual, inherited]

Create a new animation node.

Implemented in CS::Animation::SkeletonAnimNodeFactorySingle.

virtual csPtr<iSkeletonAnimPacket> CS::Animation::iSkeletonAnimPacketFactory::CreateInstance ( iSkeleton skeleton  )  [pure virtual, inherited]

Create an instance of this animation packet.

virtual csPtr<iSkeletonPriorityNodeFactory> CS::Animation::iSkeletonAnimPacketFactory::CreatePriorityNode ( const char *  name  )  [pure virtual, inherited]

Create a priority node.

virtual csPtr<iSkeletonRandomNodeFactory> CS::Animation::iSkeletonAnimPacketFactory::CreateRandomNode ( const char *  name  )  [pure virtual, inherited]

Create a random switching node.

virtual csPtr<iSkeleton> CS::Animation::iSkeletonFactory::CreateSkeleton (  )  [pure virtual, inherited]

Create a skeleton instance from this skeleton factory.

virtual iSkeletonFactory* CS::Animation::iSkeletonManager::CreateSkeletonFactory ( const char *  name  )  [pure virtual, inherited]

Create a new empty skeleton factory.

virtual csString CS::Animation::iSkeletonFactory::Description (  )  const [pure virtual, inherited]

Return a textual representation of the bone tree of this skeleton factory.

virtual void CS::Animation::iSkeletonAnimCallback::DurationChanged ( iSkeletonAnimNode node  )  [pure virtual, inherited]

Function called when an animation changes duration for any reason.

virtual iSkeletonAnimation* CS::Animation::iSkeletonAnimPacketFactory::FindAnimation ( const char *  name  )  [pure virtual, inherited]

Find an already created animation factory.

virtual size_t CS::Animation::iSkeletonAnimPacketFactory::FindAnimationIndex ( const char *  name  )  [pure virtual, inherited]

Find an already created animation factory and returns it's index.

Parameters:
name The name of the animation to search for.
Returns:
The index of the animation, if found, else (size_t) -1.
template<class FactoryInterface>
virtual FactoryInterface* CS::Animation::iSkeletonAnimNodeManager< FactoryInterface >::FindAnimNodeFactory ( const char *  name  )  [pure virtual, inherited]

Find the animation node factory with the given name.

virtual iSkeletonAnimPacketFactory* CS::Animation::iSkeletonManager::FindAnimPacketFactory ( const char *  name  )  [pure virtual, inherited]

Find a skeletal animation packet factory.

virtual BoneID CS::Animation::iSkeletonFactory::FindBone ( const char *  name  )  const [pure virtual, inherited]

Find the ID of a bone from its name.

Parameters:
name bone name
virtual ChannelID CS::Animation::iSkeletonAnimation::FindChannel ( BoneID  bone  )  const [pure virtual, inherited]

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

Returns:
The associated channel, or CS::Animation::InvalidChannelID if there is none.
virtual iSkeletonAnimNode* CS::Animation::iSkeletonAnimNode::FindNode ( const char *  name  )  [pure virtual, inherited]

Find a sub-node with the given name.

Implemented in CS::Animation::SkeletonAnimNodeSingle< FactoryType >.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonAnimNodeFactory::FindNode ( const char *  name  )  [pure virtual, inherited]

Find a sub-node with the given name.

Implemented in CS::Animation::SkeletonAnimNodeFactorySingle.

virtual iSkeletonFactory* CS::Animation::iSkeletonManager::FindSkeletonFactory ( const char *  name  )  [pure virtual, inherited]

Find an already created skeleton factory.

virtual StateID CS::Animation::iSkeletonFSMNodeFactory::FindState ( const char *  name  )  const [pure virtual, inherited]

Find the state of the given name.

virtual CS::Mesh::iAnimatedMesh* CS::Animation::iSkeleton::GetAnimatedMesh (  )  [pure virtual, inherited]

Get the animated mesh associated with this skeleton.

virtual iSkeletonAnimation* CS::Animation::iSkeletonAnimationNodeFactory::GetAnimation (  )  const [pure virtual, inherited]

Get the raw animation data in use.

virtual iSkeletonAnimation* CS::Animation::iSkeletonAnimPacketFactory::GetAnimation ( size_t  index  )  [pure virtual, inherited]

Get animation factory by index.

virtual size_t CS::Animation::iSkeletonAnimPacketFactory::GetAnimationCount (  )  const [pure virtual, inherited]

Get the number of animation factories.

virtual iSkeletonAnimPacket* CS::Animation::iSkeleton::GetAnimationPacket (  )  const [pure virtual, inherited]

Get the animation packet associated with this skeleton.

virtual iSkeletonAnimPacketFactory* CS::Animation::iSkeletonFactory::GetAnimationPacket (  )  const [pure virtual, inherited]

Get the animation packet associated with this skeleton.

virtual iSkeletonAnimNode* CS::Animation::iSkeletonAnimPacket::GetAnimationRoot (  )  const [pure virtual, inherited]

Get the root node of the animation blending tree.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonAnimPacketFactory::GetAnimationRoot (  )  const [pure virtual, inherited]

Get the root node for the animation mixing hierarchy.

virtual bool CS::Animation::iSkeletonAnimationNodeFactory::GetAutomaticReset (  )  const [pure virtual, inherited]

Get whether or not the playback position should be reset to the start of the animation when this node is activated with CS::Animation::iSkeletonAnimNode::Play().

virtual bool CS::Animation::iSkeletonAnimationNodeFactory::GetAutomaticStop (  )  const [pure virtual, inherited]

Get whether or not this animation node should be automatically stopped when the playback duration has been reached.

virtual bool CS::Animation::iSkeletonFactory::GetAutoStart (  )  [pure virtual, inherited]

Set whether or not the skeleton should start its animation automatically after its initialization.

size_t CS::Animation::AnimatedMeshState::GetBoneCount (  )  const [inline, inherited]

Return the count of bones of this skeleton state.

Definition at line 513 of file skeleton2.h.

virtual const char* CS::Animation::iSkeletonFactory::GetBoneName ( BoneID  bone  )  const [pure virtual, inherited]

Get the name of a bone.

virtual const csArray<CS::Animation::BoneID>& CS::Animation::iSkeletonFactory::GetBoneOrderList (  )  [pure virtual, inherited]

Return an ordered list of the bones.

In this list, it is guaranteed that for a given bone, all children and sub-children bones are placed after the bone.

virtual BoneID CS::Animation::iSkeletonFactory::GetBoneParent ( BoneID  bone  )  const [pure virtual, inherited]

Get the ID of the parent of the given bone.

Returns:
The ID of the parent on success. Non existing bones or bones without parent will return CS::Animation::InvalidBoneID.
Parameters:
bone The ID of the bone
virtual BoneID CS::Animation::iSkeletonAnimation::GetChannelBone ( ChannelID  channel  )  const [pure virtual, inherited]

Get the id of the bone associated with the given channel.

virtual size_t CS::Animation::iSkeletonAnimation::GetChannelCount (  )  const [pure virtual, inherited]

Get the count of channels in this animation.

virtual iSkeletonAnimNode* CS::Animation::iSkeletonRandomNode::GetCurrentNode (  )  const [pure virtual, inherited]

Get the sub-node which is currently selected.

virtual StateID CS::Animation::iSkeletonFSMNode::GetCurrentState (  )  const [pure virtual, inherited]

Get the ID of the state currently playing.

virtual float CS::Animation::iSkeletonAnimNode::GetDuration (  )  const [pure virtual, inherited]

Get the time length of this node, in seconds.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual float CS::Animation::iSkeletonAnimation::GetDuration (  )  const [pure virtual, inherited]

Get the total duration of the animation, ie the difference between the first and last key frame of the animation, in seconds.

virtual iSkeletonFactory* CS::Animation::iSkeleton::GetFactory (  )  const [pure virtual, inherited]

Get the factory used to create this skeleton instance.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonAnimNode::GetFactory (  )  const [pure virtual, inherited]

Get the factory of this node.

Implemented in CS::Animation::SkeletonAnimNodeSingle< FactoryType >.

virtual iSkeletonAnimPacketFactory* CS::Animation::iSkeletonAnimPacket::GetFactory (  )  const [pure virtual, inherited]

Return the factory from which this packet was created.

virtual bool CS::Animation::iSkeletonAnimation::GetFramesInBindSpace (  )  const [pure virtual, inherited]

Return whether or not the frames are defined in bind space or in bone space.

Returns:
True if the frames are in bind space, false if they are in bone space.
virtual void CS::Animation::iSkeletonAnimation::GetKeyFrame ( ChannelID  channel,
KeyFrameID  keyframe,
BoneID bone,
float &  time,
csQuaternion rotation,
csVector3 offset 
) [pure virtual, inherited]

Get a specific key frame within the given channel.

Parameters:
channel The id of the channel.
keyframe The index of the key frame to get.
bone The id of the bone associated with the channel.
time The time associated with the key frame, in seconds.
rotation The rotation of the bone for the key frame.
offset The position of the bone for the key frame.
virtual size_t CS::Animation::iSkeletonAnimation::GetKeyFrameCount ( ChannelID  channel  )  const [pure virtual, inherited]

Get the total number of key frames in the given channel.

Parameters:
channel The id of the channel.
virtual const char* CS::Animation::iSkeletonFactory::GetName (  )  const [pure virtual, inherited]

Get the name of the skeleton factory.

virtual const char* CS::Animation::iSkeletonAnimation::GetName (  )  const [pure virtual, inherited]

Get the name of the animation.

virtual const char* CS::Animation::iSkeletonAnimPacketFactory::GetName (  )  const [pure virtual, inherited]

Get the name of this animation packet factory.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonRandomNodeFactory::GetNode ( uint  node  )  [pure virtual, inherited]

Get the sub-node at the given index.

Parameters:
node node index
virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonPriorityNodeFactory::GetNode ( uint  node  )  [pure virtual, inherited]

Get the sub-node at the given index.

Parameters:
node node index
virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonBlendNodeFactory::GetNode ( uint  node  )  [pure virtual, inherited]

Get the sub-node at the given index.

Parameters:
node node index
virtual uint CS::Animation::iSkeletonRandomNodeFactory::GetNodeCount (  )  const [pure virtual, inherited]

Get the number of sub-nodes.

virtual uint CS::Animation::iSkeletonPriorityNodeFactory::GetNodeCount (  )  const [pure virtual, inherited]

Get number of sub-nodes.

virtual uint CS::Animation::iSkeletonBlendNodeFactory::GetNodeCount (  )  const [pure virtual, inherited]

Get number of sub-nodes.

virtual const char* CS::Animation::iSkeletonAnimNodeFactory::GetNodeName (  )  const [pure virtual, inherited]

Get the name of this factory.

Implemented in CS::Animation::SkeletonAnimNodeFactory.

virtual float CS::Animation::iSkeletonAnimNode::GetPlaybackPosition (  )  const [pure virtual, inherited]

Get the current playback position, in seconds (ie a time value between 0 and GetDuration()).

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual float CS::Animation::iSkeletonAnimationNodeFactory::GetPlaybackSpeed (  )  const [pure virtual, inherited]

Get the playback speed of the animation.

virtual float CS::Animation::iSkeletonAnimNode::GetPlaybackSpeed (  )  const [pure virtual, inherited]

Get the playback speed.

The default value is 1.0.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

csQuaternion& CS::Animation::AnimatedMeshState::GetQuaternion ( size_t  i  )  [inline, inherited]

Return the rotation quaternion of the given bone, in bone space.

Parameters:
i The CS::Animation::BoneID of the bone.

Definition at line 486 of file skeleton2.h.

const csQuaternion& CS::Animation::AnimatedMeshState::GetQuaternion ( size_t  i  )  const [inline, inherited]

Return the rotation quaternion of the given bone, in bone space.

Parameters:
i The CS::Animation::BoneID of the bone.

Definition at line 477 of file skeleton2.h.

virtual iSceneNode* CS::Animation::iSkeleton::GetSceneNode (  )  [pure virtual, inherited]

Get the scene node associated with this skeleton.

virtual unsigned int CS::Animation::iSkeleton::GetSkeletonStateVersion (  )  const [pure virtual, inherited]

Get the skeleton update version number.

This number is incremented each time that a effective transformation has been made to the state of the skeleton.

virtual StateID CS::Animation::iSkeletonFSMNodeFactory::GetStartState (  )  const [pure virtual, inherited]

Get the ID of the state to use as first state before switching to any other states.

virtual csPtr<AnimatedMeshState> CS::Animation::iSkeleton::GetStateAbsSpace (  )  [pure virtual, inherited]

Get the state of the entire skeleton (ie all transforms) in absolute space.

virtual csPtr<AnimatedMeshState> CS::Animation::iSkeleton::GetStateBindSpace (  )  [pure virtual, inherited]

Get the state of the entire skeleton (ie all transforms) in bind space.

virtual csPtr<AnimatedMeshState> CS::Animation::iSkeleton::GetStateBoneSpace (  )  [pure virtual, inherited]

Get the state of the entire skeleton (ie all transforms) in bone space.

virtual uint CS::Animation::iSkeletonFSMNodeFactory::GetStateCount (  )  const [pure virtual, inherited]

Get the number of states in the FSM.

virtual const char* CS::Animation::iSkeletonFSMNodeFactory::GetStateName ( StateID  id  )  const [pure virtual, inherited]

Get the name for a state (for easier later access).

virtual iSkeletonAnimNode* CS::Animation::iSkeletonFSMNode::GetStateNode ( StateID  state  )  const [pure virtual, inherited]

Get the animation node of the given state.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonFSMNodeFactory::GetStateNode ( StateID  id  )  const [pure virtual, inherited]

Get the node (sub-tree) associated with a given state.

The sub node will be played once the state is switched to.

virtual SynchronizationMode CS::Animation::iSkeletonBlendNodeFactory::GetSynchronizationMode (  )  const [pure virtual, inherited]

Get the current synchronization mode.

virtual BoneID CS::Animation::iSkeletonFactory::GetTopBoneID (  )  const [pure virtual, inherited]

Get the highest bone ID used in skeleton.

virtual void CS::Animation::iSkeleton::GetTransformAbsSpace ( BoneID  bone,
csQuaternion rot,
csVector3 offset 
) const [pure virtual, inherited]

Get the transform of the bone in absolute space.

Parameters:
bone The ID of the bone to get the transform for
rot The rotation quaternion provided as a result
offset The position offset provided as a result
virtual void CS::Animation::iSkeletonFactory::GetTransformAbsSpace ( BoneID  bone,
csQuaternion rot,
csVector3 offset 
) const [pure virtual, inherited]

Get the transform of the bone in absolute space.

Parameters:
bone The ID of the bone to get the transform for
rot The rotation quaternion provided as a result
offset The position offset provided as a result
virtual void CS::Animation::iSkeleton::GetTransformBindSpace ( BoneID  bone,
csQuaternion rot,
csVector3 offset 
) const [pure virtual, inherited]

Get the transform of the bone in bind space.

Parameters:
bone The ID of the bone to get the transform for
rot The rotation quaternion provided as a result
offset The position offset provided as a result
virtual void CS::Animation::iSkeleton::GetTransformBoneSpace ( BoneID  bone,
csQuaternion rot,
csVector3 offset 
) const [pure virtual, inherited]

Get the transform of the bone in bone space.

Parameters:
bone The ID of the bone to get the transform for
rot The rotation quaternion provided as a result
offset The position offset provided as a result
virtual void CS::Animation::iSkeletonFactory::GetTransformBoneSpace ( BoneID  bone,
csQuaternion rot,
csVector3 offset 
) const [pure virtual, inherited]

Get the transform of the bone in bone space.

Parameters:
bone The ID of the bone to get the transform for
rot The rotation quaternion provided as a result
offset The position offset provided as a result
virtual void CS::Animation::iSkeletonAnimation::GetTwoKeyFrames ( ChannelID  channel,
float  time,
BoneID bone,
float &  timeBefore,
csQuaternion beforeRot,
csVector3 beforeOffset,
float &  timeAfter,
csQuaternion afterRot,
csVector3 afterOffset 
) [pure virtual, inherited]

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

Parameters:
channel The id of the channel.
time The time to get the key frames for.
bone The id of the bone associated with the channel.
timeBefore The time associated with the key frame before the given time.
beforeRot The rotation of the bone for the key frame before the given time.
beforeOffset The position of the bone for the key frame before the given time.
timeAfter The time associated with the key frame after the given time
afterRot The rotation of the bone for the key frame after the given time.
afterOffset The position of the bone for the key frame after the given time.
csVector3& CS::Animation::AnimatedMeshState::GetVector ( size_t  i  )  [inline, inherited]

Return the position vector of the given bone, in bone space.

Parameters:
i The CS::Animation::BoneID of the bone.

Definition at line 467 of file skeleton2.h.

const csVector3& CS::Animation::AnimatedMeshState::GetVector ( size_t  i  )  const [inline, inherited]

Return the position vector of the given bone, in bone space.

Parameters:
i The CS::Animation::BoneID of the bone.

Definition at line 458 of file skeleton2.h.

virtual bool CS::Animation::iSkeletonFactory::HasBone ( BoneID  bone  )  const [pure virtual, inherited]

Return true if the bone with the given ID exists within this skeleton factory.

virtual bool CS::Animation::iSkeletonAnimNode::IsActive (  )  const [pure virtual, inherited]

Return whether or not this node is currently playing and needs any blending.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

bool CS::Animation::AnimatedMeshState::IsBoneUsed ( BoneID  bone  )  const [inline, inherited]

Return true if the position and rotation values have been set for the given bone, false otherwise (last position and rotation values which have been set for this bone will therefore be kept).

Definition at line 496 of file skeleton2.h.

virtual bool CS::Animation::iSkeletonAnimationNodeFactory::IsCyclic (  )  const [pure virtual, inherited]

Get whether or not the animation has to be played cyclically.

virtual void CS::Animation::iSkeletonBlendNode::NormalizeWeights (  )  [pure virtual, inherited]

Normalize the node weights so that the sum is 1.

virtual void CS::Animation::iSkeletonBlendNodeFactory::NormalizeWeights (  )  [pure virtual, inherited]

Normalize the sub-node weights so that the sum is 1.

Calling this is not mandatory.

virtual void CS::Animation::iSkeletonAnimNode::Play (  )  [pure virtual, inherited]

Start playing the node, it will therefore start modifying the state of the skeleton.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual void CS::Animation::iSkeletonAnimCallback::PlayStateChanged ( iSkeletonAnimNode node,
bool  isPlaying 
) [pure virtual, inherited]

Function called when animation play state changes.

virtual void CS::Animation::iSkeleton::RecreateSkeleton (  )  [pure virtual, inherited]

Recreate the structure of the skeleton from the definition of the factory.

virtual void CS::Animation::iSkeletonAnimPacketFactory::RemoveAnimation ( size_t  index  )  [pure virtual, inherited]

Remove the animation of the given index.

virtual void CS::Animation::iSkeletonAnimPacketFactory::RemoveAnimation ( const char *  name  )  [pure virtual, inherited]

Remove the animation of the given name.

virtual void CS::Animation::iSkeletonAnimNode::RemoveAnimationCallback ( iSkeletonAnimCallback callback  )  [pure virtual, inherited]

Remove the given animation callback from this node.

Parameters:
callback The callback object

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

template<class FactoryInterface>
virtual void CS::Animation::iSkeletonAnimNodeManager< FactoryInterface >::RemoveAnimNodeFactory ( const char *  name  )  [pure virtual, inherited]

Remove the animation node factory of the given name.

It will no longer hold any reference to this factory.

virtual void CS::Animation::iSkeletonFactory::RemoveBone ( BoneID  bone  )  [pure virtual, inherited]

Remove a bone from the skeleton.

Any bones having the removed bone as parent will be reparented one step up the chain.

Parameters:
bone bone id of bone to remove
virtual void CS::Animation::iSkeletonAnimation::RemoveChannel ( ChannelID  channel  )  [pure virtual, inherited]

Remove the given channel from this animation.

Warning:
This will alter the ID of the successive channels.
void CS::Animation::AnimatedMeshState::Reset (  )  [inline, inherited]

Mark all bones as not used.

Definition at line 540 of file skeleton2.h.

virtual void CS::Animation::iSkeleton::ResetSkeletonState (  )  [pure virtual, inherited]

Reset the transform of all the bones of the skeleton to the ones of the skeleton factory.

virtual void CS::Animation::iSkeleton::SetAnimatedMesh ( CS::Mesh::iAnimatedMesh animesh  )  [pure virtual, inherited]

Set the animated mesh associated with this skeleton.

virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetAnimation ( iSkeletonAnimation animation  )  [pure virtual, inherited]

Set the raw animation data to be used.

virtual void CS::Animation::iSkeleton::SetAnimationPacket ( iSkeletonAnimPacket packet  )  [pure virtual, inherited]

Set the animation packet associated with this skeleton.

virtual void CS::Animation::iSkeletonFactory::SetAnimationPacket ( iSkeletonAnimPacketFactory fact  )  [pure virtual, inherited]

Set the animation packet associated with this skeleton.

virtual void CS::Animation::iSkeletonAnimPacketFactory::SetAnimationRoot ( iSkeletonAnimNodeFactory root  )  [pure virtual, inherited]

Set the root node for the animation mixing hierarchy.

virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetAutomaticReset ( bool  reset  )  [pure virtual, inherited]

Set whether or not the playback position should be reset to the start of the animation when this node is activated with CS::Animation::iSkeletonAnimNode::Play().

The default value is false.

virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetAutomaticStop ( bool  enabed  )  [pure virtual, inherited]

Set whether or not this animation node should be automatically stopped when the playback duration has been reached.

The default value is true.

virtual void CS::Animation::iSkeletonRandomNodeFactory::SetAutomaticSwitch ( bool  automatic  )  [pure virtual, inherited]

Set that the node should automatically switch to next one upon completion of the current one, otherwise it will stop after the first sub-node has been played.

Default value is 'true'.

virtual void CS::Animation::iSkeletonFSMNodeFactory::SetAutomaticTransition ( StateID  fromState,
StateID  toState,
bool  automatic 
) [pure virtual, inherited]

The transition between the two states will be followed automatically if there are no other target state to switch to when it is the end of the animation played by the state with ID fromState.

If there are more than one automatic transition defined from this state, then no transition will be followed.

virtual void CS::Animation::iSkeletonFactory::SetAutoStart ( bool  autostart  )  [pure virtual, inherited]

Set whether or not the skeleton should start its animation automatically after its initialization.

Default value is true.

Remarks:
The animation will be effectively started at the first frame subsequent to the creation of the CS::Mesh::iAnimatedMesh. You may therefore still need to start manually the animation nodes, eg if you want to have the rigid bodies created directly by the ragdoll animation node.
virtual void CS::Animation::iSkeletonFactory::SetBoneName ( BoneID  bone,
const char *  name 
) [pure virtual, inherited]

Set a name of a bone for later identificaton.

void CS::Animation::AnimatedMeshState::SetBoneUsed ( BoneID  bone  )  [inline, inherited]

Mark that the position and rotation values have been set for the given bone.

Both position and rotation must therefore be set.

Definition at line 505 of file skeleton2.h.

virtual void CS::Animation::iSkeletonAnimation::SetChannelBone ( ChannelID  channel,
BoneID  bone 
) [pure virtual, inherited]

Set the id of the bone associated with the given channel.

Warning:
Leaving an animation with more than one channel per bone is inconsistent and may lead to a random behaviour.
virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetCyclic ( bool  cyclic  )  [pure virtual, inherited]

Set whether or not the animation has to be played cyclically.

The default value is false.

virtual void CS::Animation::iSkeletonAnimation::SetFramesInBindSpace ( bool  isBindSpace  )  [pure virtual, inherited]

Set whether the data defined with AddKeyFrame() are in bind space or in bone space.

By default the data will be in bone space, but it is more efficient to introduce them directly in bind space.

Parameters:
isBindSpace True if the data are in bind space, false if they are in bone space.
See also:
ConvertFrameSpace()
virtual void CS::Animation::iSkeletonAnimation::SetKeyFrame ( ChannelID  channel,
KeyFrameID  keyframe,
const csQuaternion rotation,
const csVector3 offset 
) [pure virtual, inherited]

Reset the rotation and position values of a given key frame.

Parameters:
channel The id of the channel.
keyframe The index of the key frame to set.
rotation The rotation of the bone for the key frame.
offset The position of the bone for the key frame.
virtual void CS::Animation::iSkeletonPriorityNode::SetNodePriority ( uint  node,
unsigned int  priority 
) [pure virtual, inherited]

Set the priority for a specific sub-node.

virtual void CS::Animation::iSkeletonPriorityNodeFactory::SetNodePriority ( uint  node,
unsigned int  priority 
) [pure virtual, inherited]

Set the initial priority of a specific sub-node.

virtual void CS::Animation::iSkeletonRandomNodeFactory::SetNodeProbability ( uint  node,
float  weight 
) [pure virtual, inherited]

Set the selection probability for a specific node.

The probability can be of any arbitrary scale, this is the proportion between the probabilities of all nodes that matters.

virtual void CS::Animation::iSkeletonBlendNode::SetNodeWeight ( uint  node,
float  weight 
) [pure virtual, inherited]

Set the blend weight for a specific node.

virtual void CS::Animation::iSkeletonBlendNodeFactory::SetNodeWeight ( uint  node,
float  weight 
) [pure virtual, inherited]

Set the blend weight for a specific sub-node.

The weight can be of any arbitrary scale, this is the proportion between all sub-nodes that matters.

virtual void CS::Animation::iSkeletonAnimNode::SetPlaybackPosition ( float  time  )  [pure virtual, inherited]

Set the current playback position, in seconds.

If time is set beyond the end of the animation then it will be capped.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetPlaybackSpeed ( float  speed  )  [pure virtual, inherited]

Set the playback speed of the animation.

The default value is 1.0. Negative values are allowed.

virtual void CS::Animation::iSkeletonAnimNode::SetPlaybackSpeed ( float  speed  )  [pure virtual, inherited]

Set the playback speed.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStartState ( StateID  id  )  [pure virtual, inherited]

Set the ID of the state to use as first state before switching to any other states.

virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStateName ( StateID  id,
const char *  name 
) [pure virtual, inherited]

Set a name for a state (for easier later access).

virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStateNode ( StateID  id,
iSkeletonAnimNodeFactory nodeFact 
) [pure virtual, inherited]

Set the node (sub-tree) associated with a given state.

The sub-node will be played once the state is switched to.

virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStateTransition ( StateID  fromState,
StateID  toState,
iSkeletonAnimNodeFactory fact 
) [pure virtual, inherited]

Set a node (sub-tree) to use when transitioning between two states.

The sub-tree should not be cyclic or a deadlock of the FSM will happen.

Parameters:
fromState the originating state in the transition
toState the target state in the transition
fact node factory to use for the transition animation
virtual void CS::Animation::iSkeletonBlendNodeFactory::SetSynchronizationMode ( SynchronizationMode  mode  )  [pure virtual, inherited]

Set the synchronization mode.

virtual void CS::Animation::iSkeleton::SetTransformAbsSpace ( BoneID  bone,
const csQuaternion rot,
const csVector3 offset 
) [pure virtual, inherited]

Set the transform of the bone in absolute space.

Parameters:
bone The ID of the bone to set the transform for
rot The rotation quaternion of the bone
offset The position offset of the bone
Warning:
The transform of the parent bones must have already been set. This means that, if you are changing several bones in a row, you must be sure to set at first the transform of a parent bone before any of its children. Failing to do so will have the transform of the child bones corrupted by the previous transform of the parent bone. One good way to manage this is to use the method iSkeletonFactory::GetBoneOrderList() in order to iterate correctly on the bones.
virtual void CS::Animation::iSkeletonFactory::SetTransformAbsSpace ( BoneID  bone,
const csQuaternion rot,
const csVector3 offset 
) [pure virtual, inherited]

Set the transform of the bone in absolute space.

Parameters:
bone The ID of the bone to set the transform for
rot The rotation quaternion of the bone
offset The position offset of the bone
Warning:
The transform of the parent bones must have already been set. This means that, if you are changing several bones in a row, you must be sure to set at first the transform of a parent bone before any of its children. Failing to do so will have the transform of the child bones corrupted by the previous transform of the parent bone. One good way to manage this is to use the method GetBoneOrderList() in order to iterate correctly on the bones.
virtual void CS::Animation::iSkeleton::SetTransformBindSpace ( BoneID  bone,
const csQuaternion rot,
const csVector3 offset 
) [pure virtual, inherited]

Set the transform of the bone in bind space.

Parameters:
bone The ID of the bone to set the transform for
rot The rotation quaternion of the bone
offset The position offset of the bone
Warning:
The transform of the parent bones must have already been set. This means that, if you are changing several bones in a row, you must be sure to set at first the transform of a parent bone before any of its children. Failing to do so will have the transform of the child bones corrupted by the previous transform of the parent bone. One good way to manage this is to use the method iSkeletonFactory::GetBoneOrderList() in order to iterate correctly on the bones.
virtual void CS::Animation::iSkeleton::SetTransformBoneSpace ( BoneID  bone,
const csQuaternion rot,
const csVector3 offset 
) [pure virtual, inherited]

Set the transform of the bone in bone space.

Parameters:
bone The ID of the bone to set the transform for
rot The rotation quaternion of the bone
offset The position offset of the bone
virtual void CS::Animation::iSkeletonFactory::SetTransformBoneSpace ( BoneID  bone,
const csQuaternion rot,
const csVector3 offset 
) [pure virtual, inherited]

Set the transform of the bone in bone space.

Parameters:
bone The ID of the bone to set the transform for
rot The rotation quaternion of the bone
offset The position offset of the bone
virtual void CS::Animation::iSkeletonFSMNodeFactory::SetTransitionCrossfade ( StateID  fromState,
StateID  toState,
float  time1,
float  time2 
) [pure virtual, inherited]

Set the transition cross-fade times.

Parameters:
fromState the originating state in the transition
toState the target state in the transition
time1 first cross-fade time, before transition animation (if any)
time2 second cross-fade time, after transition animation if any is in use (otherwise ignored)
void CS::Animation::AnimatedMeshState::Setup ( size_t  numBones  )  [inline, inherited]

Initialize the skeleton state.

Parameters:
numBones The count of bones of the animesh skeleton.

Definition at line 522 of file skeleton2.h.

virtual void CS::Animation::iSkeletonAnimNode::Stop (  )  [pure virtual, inherited]

Stop playing the node, it will no longer modify the state of the skeleton.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual void CS::Animation::iSkeletonRandomNode::Switch (  )  [pure virtual, inherited]

Switch to next sub-node.

This next node may not be played if CS::Animation::iSkeletonRandomNodeFactory::SetAutomaticSwitch() is not set.

virtual void CS::Animation::iSkeletonFSMNode::SwitchToState ( StateID  newState  )  [pure virtual, inherited]

Switch to a new state.

If there are some crossfade or transition sub-node defined for the transition between the current state and the new state, then they will be used. If no successive call to SwitchToState() is made by the user, then the FSM will follow any automatic transitions from the new state at the end of its animation.

Note that you can switch with this method from any state to any other state without the need to have defined a transition in the CS::Animation::iSkeletonFSMNodeFactory.

virtual void CS::Animation::iSkeletonAnimNode::TickAnimation ( float  dt  )  [pure virtual, inherited]

Update the state of the animation generated by this node.

Parameters:
dt The time since the last update, in seconds

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual void CS::Animation::iSkeleton::UpdateSkeleton ( float  dt  )  [pure virtual, inherited]

Update the state skeleton.

The animation blending tree will be stepped with the given duration.

Parameters:
dt The duration to step the animation, in seconds
See also:
CS::Animation::iSkeletonAnimNode::TickAnimation()
virtual CS::Animation::AnimatedMeshState::~AnimatedMeshState (  )  [inline, virtual, inherited]

Destructor.

Definition at line 448 of file skeleton2.h.


Variable Documentation

const BoneID CS::Animation::InvalidBoneID = (BoneID)~0 [static]

ID for an invalid bone.

Definition at line 67 of file skeleton2.h.

const ChannelID CS::Animation::InvalidChannelID = (ChannelID)~0 [static]

ID for an invalid channel.

Definition at line 83 of file skeleton2anim.h.

const KeyFrameID CS::Animation::InvalidKeyframeID = (KeyFrameID)~0 [static]

ID for an invalid keyframe number.

Definition at line 86 of file skeleton2anim.h.

const StateID CS::Animation::InvalidStateID = (StateID)~0 [static]

ID for an invalid state.

Definition at line 89 of file skeleton2anim.h.


Generated for Crystal Space 2.0 by doxygen 1.6.1