Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

RandomTrans Class Reference

#include <RandomTrans.h>

Inheritance diagram for RandomTrans:

List of all members.


Detailed Description

A transition that fires immediately, randomly choosing one destination node to activate.

This class should be extended in the following way:

setHistoryLength(int n) to maintain a history of recent choices that are not to be reused, i.e., drawing without replacement

Definition at line 16 of file RandomTrans.h.


Public Member Functions

 RandomTrans (StateNode *destination, float weight=1)
 constructor
 RandomTrans (const std::string &name, StateNode *destination, float weight=1)
 constructor
virtual void addDestination (StateNode *destination)
 Add a destination node with weight==1 (see addDestination(StateNode* dest, float weight) to specify a different weight).
void addDestination (StateNode *destination, float weight)
 Add a destination node with an specified weight (other version of addDestination() assumes weight==1).
virtual void fire ()

Protected Member Functions

 RandomTrans (const std::string &classname, const std::string &instancename, StateNode *destination, float weight=1)
 constructor, only to be called by subclasses (which need to specify their own classname)

Private Member Functions

void addWeight (float weight)
 adds a weight entry to the back of the queue

Private Attributes

std::vector< float > weights
 the probably of selection for each source

Constructor & Destructor Documentation

RandomTrans::RandomTrans ( StateNode destination,
float  weight = 1 
)

constructor

Definition at line 11 of file RandomTrans.cc.

RandomTrans::RandomTrans ( const std::string &  name,
StateNode destination,
float  weight = 1 
)

constructor

Definition at line 15 of file RandomTrans.cc.

RandomTrans::RandomTrans ( const std::string &  classname,
const std::string &  instancename,
StateNode destination,
float  weight = 1 
) [protected]

constructor, only to be called by subclasses (which need to specify their own classname)

Definition at line 19 of file RandomTrans.cc.


Member Function Documentation

virtual void RandomTrans::addDestination ( StateNode destination  )  [inline, virtual]

Add a destination node with weight==1 (see addDestination(StateNode* dest, float weight) to specify a different weight).

Reimplemented from Transition.

Definition at line 25 of file RandomTrans.h.

void RandomTrans::addDestination ( StateNode destination,
float  weight 
)

Add a destination node with an specified weight (other version of addDestination() assumes weight==1).

Definition at line 25 of file RandomTrans.cc.

void RandomTrans::fire (  )  [virtual]

Firing this type of transition activates one destination node at random, instead of all nodes.

Reimplemented from Transition.

Definition at line 34 of file RandomTrans.cc.

void RandomTrans::addWeight ( float  weight  )  [private]

adds a weight entry to the back of the queue

Definition at line 30 of file RandomTrans.cc.

Referenced by addDestination(), and RandomTrans().


Member Data Documentation

std::vector<float> RandomTrans::weights [private]

the probably of selection for each source

Definition at line 42 of file RandomTrans.h.

Referenced by addWeight(), and fire().


The documentation for this class was generated from the following files:

Tekkotsu v4.0
Generated Thu Nov 22 00:58:37 2007 by Doxygen 1.5.4