CS::Animation::iSkeletonFSMNodeFactory Struct Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

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

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions
CS::Animation::iSkeletonFSMNodeFactory Struct Reference
Mesh plugins

Factory for Finite State Machine (FSM) animation nodes. More...

`#include <imesh/animnode/skeleton2anim.h>`

Inheritance diagram for CS::Animation::iSkeletonFSMNodeFactory:

List of all members.

## Public Member Functions
virtual StateID | AddState ()=0
| Add a new state to the FSM and return the state identifier.
virtual StateID | AddState (const char *name, iSkeletonAnimNodeFactory *nodeFact)=0
| Add a new state to the FSM and return the state identifier.
virtual void | ClearStates ()=0
| Remove all states.
virtual StateID | FindState (const char *name) const =0
| Find the state of the given name.
virtual StateID | GetStartState () const =0
| Get the ID of the state to use as first state before switching to any other states.
virtual uint | GetStateCount () const =0
| Get the number of states in the FSM.
virtual const char * | GetStateName (StateID id) const =0
| Get the name for a state (for easier later access)
virtual iSkeletonAnimNodeFactory * | GetStateNode (StateID id) const =0
| Get the node (sub-tree) associated with a given state.
virtual void | 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 | SetStartState (StateID id)=0
| Set the ID of the state to use as first state before switching to any other states.
virtual void | SetStateName (StateID id, const char *name)=0
| Set a name for a state (for easier later access)
virtual void | SetStateNode (StateID id, iSkeletonAnimNodeFactory *nodeFact)=0
| Set the node (sub-tree) associated with a given state.
virtual void | SetStateTransition (StateID fromState, StateID toState, iSkeletonAnimNodeFactory *fact)=0
| Set a node (sub-tree) to use when transitioning between two states.
virtual void | SetTransitionCrossfade (StateID fromState, StateID toState, float time1, float time2)=0
| Set the transition cross-fade times.

## Detailed Description

Factory for Finite State Machine (FSM) animation nodes.

It defines instances of CS::Animation::iSkeletonFSMNode.

Each state of the FSM corresponds to an animation sub-node. A crossfade and a transition sub-node can also be defined between the states of the FSM. They will be used when the FSM is switched between the two states. Automatic transitions can also be defined, they will be followed automatically at the end of the current playing state if no other state has been asked by the user to switch to.

Main creators of instances implementing this interface:

- CS::Animation::iSkeletonAnimPacketFactory::CreateFSMNode()

Main ways to get pointers to this interface:

- CS::Animation::iSkeletonFSMNode::GetFactory()
- CS::Animation::iSkeletonAnimNodeFactory::FindNode()

Main users of this interface:

- CS::Animation::iSkeletonFactory

Definition at line 998 of file skeleton2anim.h.

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

- imesh/animnode/skeleton2anim.h