Transition Class Reference#include <Transition.h>
Inheritance diagram for Transition:
[legend]List of all members.
Detailed Description
Represents a transition between StateNodes.
This is an abstract class - you'll want to subclass it to put conditions on the transitions. Transitions are "smart" - they are behaviors in and of themselves and can listen for events and use the standard DoStart/DoStop interface. Based on the events they receive, they can fire() themselves and cause a state transition.
DoStart() will be called when this transition is 'active' - it should listen/monitor for the transition it represents until DoStop() is called.
If the conditions are satisified for a transition, you should call fire() to do the appropriate notifications.
Also note that a transition can have multiple sources and destinations. See fire().
When setting up, the flow of additions follows the flow of control. In other words, you add a transition to a source, and you add a destination to a transition. This makes the code simpler because it doesn't have to worry about recursive looping depending whether the source was added to the transition or the transition was added to the source. Confusing? Exactly.
Definition at line 36 of file Transition.h.
|
Public Member Functions |
| Transition () |
| constructor
|
| Transition (StateNode *destination) |
| constructor, specify destination StateNode (ignores NULL)
|
| Transition (const Transition &t) |
| copy constructor, just in case you need it
|
Transition & | operator= (const Transition &t) |
| assignment operator (only does shallow copy)
|
virtual | ~Transition () |
| destructor
|
virtual void | fire () |
| call this when the transition should be made, base class version simply calls StateNode::DoStop() on each active of srcs and StateNode::DoStart() on each inactive of dsts, but you can override.
|
virtual void | activate () |
| deprecated: use fire() instead
|
virtual std::vector< StateNode * > & | getSources () |
| returns a user-modifiable reference to the current source list
|
virtual const std::vector<
StateNode * > & | getSources () const |
| returns a const reference to the current source list
|
virtual void | addDestination (StateNode *destination) |
| if destination is non-null, add it to the destination list
|
virtual std::vector< StateNode * > & | getDestinations () |
| returns a user-modifiable reference to the current destination list
|
virtual const std::vector<
StateNode * > & | getDestinations () const |
| returns a const reference to the current destination list
|
virtual void | setSound (const std::string &snd) |
| set a sound file to be played upon activation; you might want to preload this in the parent node; empty string to turn off
|
virtual std::string | getSound () |
| returns the current sound file
|
Protected Member Functions |
virtual void | addSource (StateNode *source) |
| if source is non-null, add it to the source list
|
Protected Attributes |
std::vector< StateNode * > | srcs |
| the node being transitioned from
|
std::vector< StateNode * > | dsts |
| the node being transitioned to
|
std::string | sound |
| sound to play on transitioning
|
Friends |
class | StateNode |
Constructor & Destructor Documentation
Transition::Transition |
( |
|
) |
[inline] |
|
Transition::Transition |
( |
StateNode * |
destination |
) |
[inline] |
|
Transition::Transition |
( |
const Transition & |
t |
) |
[inline] |
|
|
copy constructor, just in case you need it
Definition at line 46 of file Transition.h. |
virtual Transition::~Transition |
( |
|
) |
[inline, virtual] |
|
Member Function Documentation
virtual void Transition::activate |
( |
|
) |
[inline, virtual] |
|
virtual void Transition::addDestination |
( |
StateNode * |
destination |
) |
[inline, virtual] |
|
|
if destination is non-null, add it to the destination list
Definition at line 66 of file Transition.h.
Referenced by Transition(). |
virtual void Transition::addSource |
( |
StateNode * |
source |
) |
[inline, protected, virtual] |
|
void Transition::fire |
( |
|
) |
[virtual] |
|
virtual const std::vector<StateNode*>& Transition::getDestinations |
( |
|
) |
const [inline, virtual] |
|
|
returns a const reference to the current destination list
Definition at line 68 of file Transition.h. |
virtual std::vector<StateNode*>& Transition::getDestinations |
( |
|
) |
[inline, virtual] |
|
|
returns a user-modifiable reference to the current destination list
Definition at line 67 of file Transition.h. |
virtual std::string Transition::getSound |
( |
|
) |
[inline, virtual] |
|
|
returns the current sound file
Definition at line 71 of file Transition.h. |
virtual const std::vector<StateNode*>& Transition::getSources |
( |
|
) |
const [inline, virtual] |
|
|
returns a const reference to the current source list
Definition at line 64 of file Transition.h. |
virtual std::vector<StateNode*>& Transition::getSources |
( |
|
) |
[inline, virtual] |
|
|
assignment operator (only does shallow copy)
Definition at line 49 of file Transition.h. |
virtual void Transition::setSound |
( |
const std::string & |
snd |
) |
[inline, virtual] |
|
|
set a sound file to be played upon activation; you might want to preload this in the parent node; empty string to turn off
Definition at line 70 of file Transition.h.
Referenced by PaceTargetsMachine::setup(). |
Friends And Related Function Documentation
Member Data Documentation
The documentation for this class was generated from the following files:
|