Mesh plugins (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

Classes | Namespaces | Defines | Enumerations | Enumerator | Functions
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::iSkeletonBlendNodeFactory::AddNode (iSkeletonAnimNodeFactory *node, float weight)=0
| Add a new sub-node to be blended into the result.
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::iSkeletonRandomNodeFactory::AddNode (iSkeletonAnimNodeFactory *node, float probability)=0
| Add a new sub-node to be played randomly.
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 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 StateID | CS::Animation::iSkeletonFSMNodeFactory::AddState ()=0
| Add a new state to the FSM and return the state identifier.
virtual StateID | CS::Animation::iSkeletonFSMNodeFactory::AddState (const char *name, iSkeletonAnimNodeFactory *nodeFact)=0
| Add a new state to the FSM and return the state identifier.
| CS::Animation::AnimatedMeshState::AnimatedMeshState ()
| Constructor.
virtual void | CS::Animation::iSkeletonAnimCallback::AnimationCycled (iSkeletonAnimNode *node)=0
| Function called when a cyclic animation cycles around.
virtual void | CS::Animation::iSkeletonAnimCallback::AnimationFinished (iSkeletonAnimNode *node)=0
| Function called when an animation node (or all its sub-nodes) finished playing.
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::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::iSkeletonAnimNode::BlendState (AnimatedMeshState *state, float baseWeight=1.0f)=0
| Blend the state of this node into the global skeleton state.
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< FactoryInterface >::ClearAnimNodeFactories ()=0
| Remove all animation node factories.
virtual void | CS::Animation::iSkeletonManager::ClearAnimPacketFactories ()=0
| Remove all animation packet factories.
virtual void | CS::Animation::iSkeletonBlendNodeFactory::ClearNodes ()=0
| Remove all sub-nodes.
virtual void | CS::Animation::iSkeletonPriorityNodeFactory::ClearNodes ()=0
| Remove all sub-nodes.
virtual void | CS::Animation::iSkeletonRandomNodeFactory::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 iSkeletonAnimation * | CS::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< FactoryInterface >::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 < iSkeletonAnimPacket > | CS::Animation::iSkeletonAnimPacketFactory::CreateInstance (iSkeleton *skeleton)=0
| Create an instance of this animation packet.
virtual csPtr< iSkeletonAnimNode > | CS::Animation::iSkeletonAnimNodeFactory::CreateInstance (iSkeletonAnimPacket *packet, iSkeleton *skeleton)=0
| Create a new animation node.
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< iSkeleton > | CS::Animation::iSkeletonFactory::CreateSkeleton ()=0
| Create a skeleton instance from this skeleton factory.
virtual iSkeletonFactory * | CS::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 iSkeletonAnimation * | CS::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< FactoryInterface >::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 iSkeletonAnimNodeFactory * | CS::Animation::iSkeletonAnimNodeFactory::FindNode (const char *name)=0
| Find a sub-node with the given name.
virtual iSkeletonAnimNode * | CS::Animation::iSkeletonAnimNode::FindNode (const char *name)=0
| Find a sub-node with the given name.
virtual iSkeletonFactory * | CS::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::iAnimatedMesh * | CS::Animation::iSkeleton::GetAnimatedMesh ()=0
| Get the animated mesh associated with this skeleton.
virtual iSkeletonAnimation * | CS::Animation::iSkeletonAnimPacketFactory::GetAnimation (size_t index)=0
| Get animation factory by index.
virtual iSkeletonAnimation * | CS::Animation::iSkeletonAnimationNodeFactory::GetAnimation () const =0
| Get the raw animation data in use.
virtual size_t | CS::Animation::iSkeletonAnimPacketFactory::GetAnimationCount () const =0
| Get the number of animation factories.
virtual iSkeletonAnimPacketFactory * | CS::Animation::iSkeletonFactory::GetAnimationPacket () const =0
| Get the animation packet associated with this skeleton.
virtual iSkeletonAnimPacket * | CS::Animation::iSkeleton::GetAnimationPacket () const =0
| Get the animation packet associated with this skeleton.
virtual iSkeletonAnimNodeFactory * | CS::Animation::iSkeletonAnimPacketFactory::GetAnimationRoot () const =0
| Get the root node for the animation mixing hierarchy.
virtual iSkeletonAnimNode * | CS::Animation::iSkeletonAnimPacket::GetAnimationRoot () const =0
| Get the root node of the animation blending tree.
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::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 float | CS::Animation::iSkeletonAnimNode::GetDuration () const =0
| Get the time length of this node, in seconds.
virtual iSkeletonAnimPacketFactory * | CS::Animation::iSkeletonAnimPacket::GetFactory () const =0
| Return the factory from which this packet was created.
virtual iSkeletonFactory * | CS::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 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::iSkeletonAnimPacketFactory::GetName () const =0
| Get the name of this animation packet factory.
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 iSkeletonAnimNodeFactory * | CS::Animation::iSkeletonBlendNodeFactory::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::iSkeletonRandomNodeFactory::GetNode (uint node)=0
| Get the sub-node at the given index.
virtual uint | CS::Animation::iSkeletonBlendNodeFactory::GetNodeCount () const =0
| Get number of sub-nodes.
virtual uint | CS::Animation::iSkeletonPriorityNodeFactory::GetNodeCount () const =0
| Get number of sub-nodes.
virtual uint | CS::Animation::iSkeletonRandomNodeFactory::GetNodeCount () const =0
| Get the 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::iSkeletonAnimNode::GetPlaybackSpeed () const =0
| Get the playback speed.
virtual float | CS::Animation::iSkeletonAnimationNodeFactory::GetPlaybackSpeed () const =0
| Get the playback speed of the animation.
const csQuaternion & | CS::Animation::AnimatedMeshState::GetQuaternion (size_t i) const
| Return the rotation quaternion of the given bone, in bone space.
csQuaternion & | CS::Animation::AnimatedMeshState::GetQuaternion (size_t i)
| Return the rotation quaternion of the given bone, in bone space.
virtual iSceneNode * | CS::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 iSkeletonAnimNodeFactory * | CS::Animation::iSkeletonFSMNodeFactory::GetStateNode (StateID id) const =0
| Get the node (sub-tree) associated with a given state.
virtual iSkeletonAnimNode * | CS::Animation::iSkeletonFSMNode::GetStateNode (StateID state) const =0
| Get the animation node of the 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.
const csVector3 & | CS::Animation::AnimatedMeshState::GetVector (size_t i) const
| Return the position vector of the given bone, in bone space.
csVector3 & | CS::Animation::AnimatedMeshState::GetVector (size_t i)
| 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::iSkeletonBlendNodeFactory::NormalizeWeights ()=0
| Normalize the sub-node weights so that the sum is 1.
virtual void | CS::Animation::iSkeletonBlendNode::NormalizeWeights ()=0
| Normalize the 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 (const char *name)=0
| Remove the animation of the given name.
virtual void | CS::Animation::iSkeletonAnimPacketFactory::RemoveAnimation (size_t index)=0
| Remove the animation of the given index.
virtual void | CS::Animation::iSkeletonAnimNode::RemoveAnimationCallback (iSkeletonAnimCallback *callback)=0
| Remove the given animation callback from this node.
virtual void | CS::Animation::iSkeletonAnimNodeManager< FactoryInterface >::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::iSkeletonFactory::SetAnimationPacket (iSkeletonAnimPacketFactory *fact)=0
| Set the animation packet associated with this skeleton.
virtual void | CS::Animation::iSkeleton::SetAnimationPacket (iSkeletonAnimPacket *packet)=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::iSkeletonPriorityNodeFactory::SetNodePriority (uint node, unsigned int priority)=0
| Set the initial priority of a specific sub-node.
virtual void | CS::Animation::iSkeletonPriorityNode::SetNodePriority (uint node, unsigned int priority)=0
| Set the priority for 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::iSkeletonBlendNodeFactory::SetNodeWeight (uint node, float weight)=0
| Set the blend weight for a specific sub-node.
virtual void | CS::Animation::iSkeletonBlendNode::SetNodeWeight (uint node, float weight)=0
| Set the blend weight for a specific node.
virtual void | CS::Animation::iSkeletonAnimNode::SetPlaybackPosition (float time)=0
| Set the current playback position, in seconds.
virtual void | CS::Animation::iSkeletonAnimNode::SetPlaybackSpeed (float speed)=0
| Set the playback speed.
virtual void | CS::Animation::iSkeletonAnimationNodeFactory::SetPlaybackSpeed (float speed)=0
| Set the playback speed of the animation.
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.
## 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.
## 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.
## Mesh factory flags
#define | CS_FACTORY_STATICSHAPE 2
| If CS_FACTORY_STATICSHAPE is set then this factory will never animate.
## Particle systems
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 | 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 | csParticleIntegrationMode { CS_PARTICLE_INTEGRATE_NONE, CS_PARTICLE_INTEGRATE_LINEAR, CS_PARTICLE_INTEGRATE_BOTH }
| Particle integration mode. More...
enum | csParticleTransformMode { CS_PARTICLE_LOCAL_MODE, CS_PARTICLE_LOCAL_EMITTER, CS_PARTICLE_WORLD_MODE }
| Particle transformation mode. 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...
## 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...
## 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 void | CS::Animation::iSkeletonFactory::RemoveBone (BoneID bone)=0
| Remove a bone from the skeleton.
virtual BoneID | CS::Animation::iSkeletonFactory::GetBoneParent (BoneID bone) const =0
| Get the ID of the parent of the given bone.
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::SetBoneName (BoneID bone, const char *name)=0
| Set a name of a bone for later identificaton.
virtual const char * | CS::Animation::iSkeletonFactory::GetBoneName (BoneID bone) const =0
| Get the name of a bone.
virtual BoneID | CS::Animation::iSkeletonFactory::GetTopBoneID () const =0
| Get the highest bone ID used in skeleton.
virtual void | CS::Animation::iSkeletonFactory::GetTransformBoneSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
| Get the transform of the bone in bone 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.
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::SetTransformAbsSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
| Set the transform of the bone in absolute space.
## Bone handling
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::SetTransformBoneSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
| Set the transform of the bone 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::SetTransformAbsSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
| Set 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::SetTransformBindSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
| Set the transform of the bone in bind space.
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::GetStateBoneSpace ()=0
| Get the state of the entire skeleton (ie all transforms) in bone space.
virtual csPtr< AnimatedMeshState > | CS::Animation::iSkeleton::GetStateBindSpace ()=0
| Get the state of the entire skeleton (ie all transforms) in bind space.

## 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,
|  |  | c
| ) |  | 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.

enum csParticleBuiltinEffectorVFType

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.

enum csParticleBuiltinEmitterPlacement

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.

enum csParticleIntegrationMode

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.

enum csParticleParameterMask

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.

enum csParticleRenderOrientation

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.

enum csParticleRotationMode

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.

enum csParticleSortMode

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.

enum csParticleTransformMode

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.

enum CS::Animation::SynchronizationMode

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]`

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]`

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]`

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::iSkeletonBlendNodeFactory::AddNode | ( | iSkeletonAnimNodeFactory * | node,
|  | float | weight
| ) |  | `[pure virtual]`

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::iSkeletonPriorityNodeFactory::AddNode | ( | iSkeletonAnimNodeFactory * | node,
|  | unsigned int | priority
| ) |  | `[pure virtual]`

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::iSkeletonRandomNodeFactory::AddNode | ( | iSkeletonAnimNodeFactory * | node,
|  | float | probability
| ) |  | `[pure virtual]`

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::iSkeletonAnimation::AddOrSetKeyFrame | ( | ChannelID | channel,
|  | float | time,
|  | const csQuaternion & | rotation
| ) |  | `[pure virtual]`

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 void CS::Animation::iSkeletonAnimation::AddOrSetKeyFrame | ( | ChannelID | channel,
|  | float | time,
|  | const csVector3 & | offset
| ) |  | `[pure virtual]`

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 StateID CS::Animation::iSkeletonFSMNodeFactory::AddState | ( |  | ) | `[pure virtual]`

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

virtual StateID CS::Animation::iSkeletonFSMNodeFactory::AddState | ( | const char * | name,
|  | iSkeletonAnimNodeFactory * | nodeFact
| ) |  | `[pure virtual]`

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

CS::Animation::AnimatedMeshState::AnimatedMeshState | ( |  | ) | `[inline]`

Constructor.

Definition at line 443 of file skeleton2.h.

virtual void CS::Animation::iSkeletonAnimCallback::AnimationCycled | ( | iSkeletonAnimNode * | node | ) | `[pure virtual]`

Function called when a cyclic animation cycles around.

virtual void CS::Animation::iSkeletonAnimCallback::AnimationFinished | ( | iSkeletonAnimNode * | node | ) | `[pure virtual]`

Function called when an animation node (or all its sub-nodes) finished playing.

virtual void CS::Animation::iSkeletonAnimation::BlendState | ( | AnimatedMeshState * | 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 | 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::iSkeletonAnimation::BlendState | ( | AnimatedMeshState * | state,
|  | float | baseWeight,
|  | float | playbackTime
| ) |  | const`[pure virtual]`

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::iSkeletonAnimNode::BlendState | ( | AnimatedMeshState * | state,
|  | float | baseWeight = `1.0f`
| ) |  | `[pure virtual]`

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::iSkeletonManager::ClearAll | ( |  | ) | `[pure virtual]`

Remove all internal data.

virtual void CS::Animation::iSkeletonAnimPacketFactory::ClearAnimations | ( |  | ) | `[pure virtual]`

Remove all animation factories.

template<class FactoryInterface>

virtual void CS::Animation::iSkeletonAnimNodeManager< FactoryInterface >::ClearAnimNodeFactories | ( |  | ) | `[pure virtual]`

Remove all animation node factories.

virtual void CS::Animation::iSkeletonManager::ClearAnimPacketFactories | ( |  | ) | `[pure virtual]`

Remove all animation packet factories.

virtual void CS::Animation::iSkeletonBlendNodeFactory::ClearNodes | ( |  | ) | `[pure virtual]`

Remove all sub-nodes.

virtual void CS::Animation::iSkeletonPriorityNodeFactory::ClearNodes | ( |  | ) | `[pure virtual]`

Remove all sub-nodes.

virtual void CS::Animation::iSkeletonRandomNodeFactory::ClearNodes | ( |  | ) | `[pure virtual]`

Remove all sub-nodes.

virtual void CS::Animation::iSkeletonManager::ClearSkeletonFactories | ( |  | ) | `[pure virtual]`

Remove all skeleton factories.

virtual void CS::Animation::iSkeletonFSMNodeFactory::ClearStates | ( |  | ) | `[pure virtual]`

Remove all states.

virtual void CS::Animation::iSkeletonAnimation::ConvertFrameSpace | ( | CS::Animation::iSkeletonFactory * | skeleton | ) | `[pure virtual]`

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]`

Create a new animation factory.

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

Create an animation node.

template<class FactoryInterface>

virtual FactoryInterface* CS::Animation::iSkeletonAnimNodeManager< FactoryInterface >::CreateAnimNodeFactory | ( | const char * | name | ) | `[pure virtual]`

Create an animation node factory with the given name.

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

Create a new empty skeletal animation packet factory.

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

Create a blend node.

virtual BoneID CS::Animation::iSkeletonFactory::CreateBone | ( | BoneID | parent = `CS::Animation::InvalidBoneID` | ) | `[pure virtual]`

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]`

Create a FSM node.

virtual csPtr<iSkeletonAnimPacket> CS::Animation::iSkeletonAnimPacketFactory::CreateInstance | ( | iSkeleton * | skeleton | ) | `[pure virtual]`

Create an instance of this animation packet.

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

Create a new animation node.

Implemented in CS::Animation::SkeletonAnimNodeFactorySingle.

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

Create a priority node.

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

Create a random switching node.

virtual csPtr<iSkeleton> CS::Animation::iSkeletonFactory::CreateSkeleton | ( |  | ) | `[pure virtual]`

Create a skeleton instance from this skeleton factory.

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

Create a new empty skeleton factory.

virtual csString CS::Animation::iSkeletonFactory::Description | ( |  | ) | const`[pure virtual]`

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

virtual void CS::Animation::iSkeletonAnimCallback::DurationChanged | ( | iSkeletonAnimNode * | node | ) | `[pure virtual]`

Function called when an animation changes duration for any reason.

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

Find an already created animation factory.

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

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]`

Find the animation node factory with the given name.

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

Find a skeletal animation packet factory.

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

Find the ID of a bone from its name.

Parameters:

  name | bone name

virtual ChannelID CS::Animation::iSkeletonAnimation::FindChannel | ( | BoneID | bone | ) | const`[pure virtual]`

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

Returns:
  The associated channel, or CS::Animation::InvalidChannelID if there is none.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonAnimNodeFactory::FindNode | ( | const char * | name | ) | `[pure virtual]`

Find a sub-node with the given name.

Implemented in CS::Animation::SkeletonAnimNodeFactorySingle.

virtual iSkeletonAnimNode* CS::Animation::iSkeletonAnimNode::FindNode | ( | const char * | name | ) | `[pure virtual]`

Find a sub-node with the given name.

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

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

Find an already created skeleton factory.

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

Find the state of the given name.

virtual CS::Mesh::iAnimatedMesh* CS::Animation::iSkeleton::GetAnimatedMesh | ( |  | ) | `[pure virtual]`

Get the animated mesh associated with this skeleton.

virtual iSkeletonAnimation* CS::Animation::iSkeletonAnimPacketFactory::GetAnimation | ( | size_t | index | ) | `[pure virtual]`

Get animation factory by index.

virtual iSkeletonAnimation* CS::Animation::iSkeletonAnimationNodeFactory::GetAnimation | ( |  | ) | const`[pure virtual]`

Get the raw animation data in use.

virtual size_t CS::Animation::iSkeletonAnimPacketFactory::GetAnimationCount | ( |  | ) | const`[pure virtual]`

Get the number of animation factories.

virtual iSkeletonAnimPacketFactory* CS::Animation::iSkeletonFactory::GetAnimationPacket | ( |  | ) | const`[pure virtual]`

Get the animation packet associated with this skeleton.

virtual iSkeletonAnimPacket* CS::Animation::iSkeleton::GetAnimationPacket | ( |  | ) | const`[pure virtual]`

Get the animation packet associated with this skeleton.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonAnimPacketFactory::GetAnimationRoot | ( |  | ) | const`[pure virtual]`

Get the root node for the animation mixing hierarchy.

virtual iSkeletonAnimNode* CS::Animation::iSkeletonAnimPacket::GetAnimationRoot | ( |  | ) | const`[pure virtual]`

Get the root node of the animation blending tree.

virtual bool CS::Animation::iSkeletonAnimationNodeFactory::GetAutomaticReset | ( |  | ) | const`[pure virtual]`

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]`

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]`

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

size_t CS::Animation::AnimatedMeshState::GetBoneCount | ( |  | ) | const`[inline]`

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]`

Get the name of a bone.

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

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]`

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]`

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

virtual size_t CS::Animation::iSkeletonAnimation::GetChannelCount | ( |  | ) | const`[pure virtual]`

Get the count of channels in this animation.

virtual iSkeletonAnimNode* CS::Animation::iSkeletonRandomNode::GetCurrentNode | ( |  | ) | const`[pure virtual]`

Get the sub-node which is currently selected.

virtual StateID CS::Animation::iSkeletonFSMNode::GetCurrentState | ( |  | ) | const`[pure virtual]`

Get the ID of the state currently playing.

virtual float CS::Animation::iSkeletonAnimation::GetDuration | ( |  | ) | const`[pure virtual]`

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

virtual float CS::Animation::iSkeletonAnimNode::GetDuration | ( |  | ) | const`[pure virtual]`

Get the time length of this node, in seconds.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual iSkeletonAnimPacketFactory* CS::Animation::iSkeletonAnimPacket::GetFactory | ( |  | ) | const`[pure virtual]`

Return the factory from which this packet was created.

virtual iSkeletonFactory* CS::Animation::iSkeleton::GetFactory | ( |  | ) | const`[pure virtual]`

Get the factory used to create this skeleton instance.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonAnimNode::GetFactory | ( |  | ) | const`[pure virtual]`

Get the factory of this node.

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

virtual bool CS::Animation::iSkeletonAnimation::GetFramesInBindSpace | ( |  | ) | const`[pure virtual]`

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]`

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]`

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

Parameters:

  channel | The id of the channel.

virtual const char* CS::Animation::iSkeletonAnimPacketFactory::GetName | ( |  | ) | const`[pure virtual]`

Get the name of this animation packet factory.

virtual const char* CS::Animation::iSkeletonFactory::GetName | ( |  | ) | const`[pure virtual]`

Get the name of the skeleton factory.

virtual const char* CS::Animation::iSkeletonAnimation::GetName | ( |  | ) | const`[pure virtual]`

Get the name of the animation.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonBlendNodeFactory::GetNode | ( | uint | node | ) | `[pure virtual]`

Get the sub-node at the given index.

Parameters:

  node | node index

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonPriorityNodeFactory::GetNode | ( | uint | node | ) | `[pure virtual]`

Get the sub-node at the given index.

Parameters:

  node | node index

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonRandomNodeFactory::GetNode | ( | uint | node | ) | `[pure virtual]`

Get the sub-node at the given index.

Parameters:

  node | node index

virtual uint CS::Animation::iSkeletonBlendNodeFactory::GetNodeCount | ( |  | ) | const`[pure virtual]`

Get number of sub-nodes.

virtual uint CS::Animation::iSkeletonPriorityNodeFactory::GetNodeCount | ( |  | ) | const`[pure virtual]`

Get number of sub-nodes.

virtual uint CS::Animation::iSkeletonRandomNodeFactory::GetNodeCount | ( |  | ) | const`[pure virtual]`

Get the number of sub-nodes.

virtual const char* CS::Animation::iSkeletonAnimNodeFactory::GetNodeName | ( |  | ) | const`[pure virtual]`

Get the name of this factory.

Implemented in CS::Animation::SkeletonAnimNodeFactory.

virtual float CS::Animation::iSkeletonAnimNode::GetPlaybackPosition | ( |  | ) | const`[pure virtual]`

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

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual float CS::Animation::iSkeletonAnimNode::GetPlaybackSpeed | ( |  | ) | const`[pure virtual]`

Get the playback speed.

The default value is 1.0.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual float CS::Animation::iSkeletonAnimationNodeFactory::GetPlaybackSpeed | ( |  | ) | const`[pure virtual]`

Get the playback speed of the animation.

const csQuaternion& CS::Animation::AnimatedMeshState::GetQuaternion | ( | size_t | i | ) | const`[inline]`

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.

csQuaternion& CS::Animation::AnimatedMeshState::GetQuaternion | ( | size_t | i | ) | `[inline]`

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.

virtual iSceneNode* CS::Animation::iSkeleton::GetSceneNode | ( |  | ) | `[pure virtual]`

Get the scene node associated with this skeleton.

virtual unsigned int CS::Animation::iSkeleton::GetSkeletonStateVersion | ( |  | ) | const`[pure virtual]`

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]`

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]`

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

virtual csPtr<AnimatedMeshState> CS::Animation::iSkeleton::GetStateBindSpace | ( |  | ) | `[pure virtual]`

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

virtual csPtr<AnimatedMeshState> CS::Animation::iSkeleton::GetStateBoneSpace | ( |  | ) | `[pure virtual]`

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

virtual uint CS::Animation::iSkeletonFSMNodeFactory::GetStateCount | ( |  | ) | const`[pure virtual]`

Get the number of states in the FSM.

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

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

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

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

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

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

Get the animation node of the given state.

virtual SynchronizationMode CS::Animation::iSkeletonBlendNodeFactory::GetSynchronizationMode | ( |  | ) | const`[pure virtual]`

Get the current synchronization mode.

virtual BoneID CS::Animation::iSkeletonFactory::GetTopBoneID | ( |  | ) | const`[pure virtual]`

Get the highest bone ID used in skeleton.

virtual void CS::Animation::iSkeletonFactory::GetTransformAbsSpace | ( | BoneID | bone,
|  | csQuaternion & | rot,
|  | csVector3 & | offset
| ) |  | const`[pure virtual]`

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::GetTransformAbsSpace | ( | BoneID | bone,
|  | csQuaternion & | rot,
|  | csVector3 & | offset
| ) |  | const`[pure virtual]`

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]`

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::iSkeletonFactory::GetTransformBoneSpace | ( | BoneID | bone,
|  | csQuaternion & | rot,
|  | csVector3 & | offset
| ) |  | const`[pure virtual]`

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::iSkeleton::GetTransformBoneSpace | ( | BoneID | bone,
|  | csQuaternion & | rot,
|  | csVector3 & | offset
| ) |  | const`[pure virtual]`

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]`

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.

const csVector3& CS::Animation::AnimatedMeshState::GetVector | ( | size_t | i | ) | const`[inline]`

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.

csVector3& CS::Animation::AnimatedMeshState::GetVector | ( | size_t | i | ) | `[inline]`

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.

virtual bool CS::Animation::iSkeletonFactory::HasBone | ( | BoneID | bone | ) | const`[pure virtual]`

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

virtual bool CS::Animation::iSkeletonAnimNode::IsActive | ( |  | ) | const`[pure virtual]`

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]`

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]`

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

virtual void CS::Animation::iSkeletonBlendNodeFactory::NormalizeWeights | ( |  | ) | `[pure virtual]`

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

Calling this is not mandatory.

virtual void CS::Animation::iSkeletonBlendNode::NormalizeWeights | ( |  | ) | `[pure virtual]`

Normalize the node weights so that the sum is 1.

virtual void CS::Animation::iSkeletonAnimNode::Play | ( |  | ) | `[pure virtual]`

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]`

Function called when animation play state changes.

virtual void CS::Animation::iSkeleton::RecreateSkeleton | ( |  | ) | `[pure virtual]`

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

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

Remove the animation of the given name.

virtual void CS::Animation::iSkeletonAnimPacketFactory::RemoveAnimation | ( | size_t | index | ) | `[pure virtual]`

Remove the animation of the given index.

virtual void CS::Animation::iSkeletonAnimNode::RemoveAnimationCallback | ( | iSkeletonAnimCallback * | callback | ) | `[pure virtual]`

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]`

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]`

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]`

Remove the given channel from this animation.

Warning:
  This will alter the ID of the successive channels.

void CS::Animation::AnimatedMeshState::Reset | ( |  | ) | `[inline]`

Mark all bones as not used.

Definition at line 540 of file skeleton2.h.

virtual void CS::Animation::iSkeleton::ResetSkeletonState | ( |  | ) | `[pure virtual]`

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]`

Set the animated mesh associated with this skeleton.

virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetAnimation | ( | iSkeletonAnimation * | animation | ) | `[pure virtual]`

Set the raw animation data to be used.

virtual void CS::Animation::iSkeletonFactory::SetAnimationPacket | ( | iSkeletonAnimPacketFactory * | fact | ) | `[pure virtual]`

Set the animation packet associated with this skeleton.

virtual void CS::Animation::iSkeleton::SetAnimationPacket | ( | iSkeletonAnimPacket * | packet | ) | `[pure virtual]`

Set the animation packet associated with this skeleton.

virtual void CS::Animation::iSkeletonAnimPacketFactory::SetAnimationRoot | ( | iSkeletonAnimNodeFactory * | root | ) | `[pure virtual]`

Set the root node for the animation mixing hierarchy.

virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetAutomaticReset | ( | bool | reset | ) | `[pure virtual]`

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]`

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]`

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]`

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]`

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]`

Set a name of a bone for later identificaton.

void CS::Animation::AnimatedMeshState::SetBoneUsed | ( | BoneID | bone | ) | `[inline]`

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]`

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]`

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]`

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]`

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::iSkeletonPriorityNodeFactory::SetNodePriority | ( | uint | node,
|  | unsigned int | priority
| ) |  | `[pure virtual]`

Set the initial priority of a specific sub-node.

virtual void CS::Animation::iSkeletonPriorityNode::SetNodePriority | ( | uint | node,
|  | unsigned int | priority
| ) |  | `[pure virtual]`

Set the priority for a specific sub-node.

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

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::iSkeletonBlendNodeFactory::SetNodeWeight | ( | uint | node,
|  | float | weight
| ) |  | `[pure virtual]`

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::iSkeletonBlendNode::SetNodeWeight | ( | uint | node,
|  | float | weight
| ) |  | `[pure virtual]`

Set the blend weight for a specific node.

virtual void CS::Animation::iSkeletonAnimNode::SetPlaybackPosition | ( | float | time | ) | `[pure virtual]`

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::iSkeletonAnimNode::SetPlaybackSpeed | ( | float | speed | ) | `[pure virtual]`

Set the playback speed.

Implemented in CS::Animation::SkeletonAnimNodeSingleBase.

virtual void CS::Animation::iSkeletonAnimationNodeFactory::SetPlaybackSpeed | ( | float | speed | ) | `[pure virtual]`

Set the playback speed of the animation.

The default value is 1.0. Negative values are allowed.

virtual void CS::Animation::iSkeletonFSMNodeFactory::SetStartState | ( | StateID | id | ) | `[pure virtual]`

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]`

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

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

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]`

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]`

Set the synchronization mode.

virtual void CS::Animation::iSkeletonFactory::SetTransformAbsSpace | ( | BoneID | bone,
|  | const csQuaternion & | rot,
|  | const csVector3 & | offset
| ) |  | `[pure virtual]`

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::SetTransformAbsSpace | ( | BoneID | bone,
|  | const csQuaternion & | rot,
|  | const csVector3 & | offset
| ) |  | `[pure virtual]`

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::iSkeleton::SetTransformBindSpace | ( | BoneID | bone,
|  | const csQuaternion & | rot,
|  | const csVector3 & | offset
| ) |  | `[pure virtual]`

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::iSkeletonFactory::SetTransformBoneSpace | ( | BoneID | bone,
|  | const csQuaternion & | rot,
|  | const csVector3 & | offset
| ) |  | `[pure virtual]`

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::iSkeleton::SetTransformBoneSpace | ( | BoneID | bone,
|  | const csQuaternion & | rot,
|  | const csVector3 & | offset
| ) |  | `[pure virtual]`

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]`

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]`

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]`

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]`

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]`

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]`

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]`

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]`

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.