Homepage Demos Overview Downloads Tutorials Reference
Credits
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Search

CompareTrans< T > Class Template Reference

#include <CompareTrans.h>

Inheritance diagram for CompareTrans< T >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class T>
class CompareTrans< T >

causes a transition if a value (through a pointer) goes above a given value

You will need to specify an event mask which will be listened for. This event will then be listened for - each time it is received, CompareTrans will check the values for possible activation.

For example, if you want to transition when the IR sensor goes below, say 200, pass &state->sensors[IRDistOffset], CompareTrans::LT, 200, and EventBase(EventBase::sensorEGID,SensorSourceID::UpdatedSID,EventBase::statusETID) as the polling event. Or a timer event to just check at a certain interval.

If you pass a class as the templated type, only requires that < operator is defined for comparing inequality, == for equality, and a copy constructor (CompareTrans holds a protected copy of the value)

Passing NULL as the value to monitor will cause a transition on the first event received

Definition at line 25 of file CompareTrans.h.

Public Types

enum  Test_t {
  LT, GT, LTE, GTE,
  EQ, NE
}
 use these values to sepecify what kind of comparison should be made to test for activation More...


Public Member Functions

 CompareTrans (StateNode *source, StateNode *destination, const T *monitor, Test_t test, const T &value, const EventBase &poll)
 constructor, see class notes for information

virtual void enable ()
 starts listening

virtual void disable ()
 stops listening

virtual void processEvent (const EventBase &)
 don't care about the event, just a pulse to check the values


Protected Attributes

const T * mon
 address of value to monitor

Test_t tst
 test to make

val
 value to compare against

EventBase poller
 event to listen to, when it comes, compare the values


Private Member Functions

 CompareTrans (const CompareTrans &node)
 don't call this

CompareTrans operator= (const CompareTrans &node)
 don't call this


Member Enumeration Documentation

template<class T>
enum CompareTrans::Test_t
 

use these values to sepecify what kind of comparison should be made to test for activation

Enumeration values:
LT  less than
GT  greater than
LTE  less than or equal
GTE  greater than or equal
EQ  equal
NE  not equal

Definition at line 28 of file CompareTrans.h.


Constructor & Destructor Documentation

template<class T>
CompareTrans< T >::CompareTrans StateNode source,
StateNode destination,
const T *  monitor,
Test_t  test,
const T &  value,
const EventBase poll
[inline]
 

constructor, see class notes for information

Definition at line 38 of file CompareTrans.h.

References CompareTrans< T >::mon, CompareTrans< T >::poller, CompareTrans< T >::tst, and CompareTrans< T >::val.

template<class T>
CompareTrans< T >::CompareTrans const CompareTrans< T > &  node  )  [private]
 

don't call this


Member Function Documentation

template<class T>
virtual void CompareTrans< T >::disable  )  [inline, virtual]
 

stops listening

Implements Transition.

Definition at line 46 of file CompareTrans.h.

References erouter, and EventRouter::forgetListener().

template<class T>
virtual void CompareTrans< T >::enable  )  [inline, virtual]
 

starts listening

Implements Transition.

Definition at line 43 of file CompareTrans.h.

References EventRouter::addListener(), erouter, and CompareTrans< T >::poller.

template<class T>
CompareTrans CompareTrans< T >::operator= const CompareTrans< T > &  node  )  [private]
 

don't call this

template<class T>
virtual void CompareTrans< T >::processEvent const EventBase  )  [inline, virtual]
 

don't care about the event, just a pulse to check the values

Implements EventListener.

Reimplemented in SmoothCompareTrans< T >.

Definition at line 49 of file CompareTrans.h.

References Transition::activate(), CompareTrans< T >::EQ, CompareTrans< T >::GT, CompareTrans< T >::GTE, CompareTrans< T >::LT, CompareTrans< T >::LTE, CompareTrans< T >::mon, CompareTrans< T >::NE, CompareTrans< T >::tst, and CompareTrans< T >::val.


Member Data Documentation

template<class T>
const T* CompareTrans< T >::mon [protected]
 

address of value to monitor

Definition at line 73 of file CompareTrans.h.

template<class T>
EventBase CompareTrans< T >::poller [protected]
 

event to listen to, when it comes, compare the values

Definition at line 76 of file CompareTrans.h.

template<class T>
Test_t CompareTrans< T >::tst [protected]
 

test to make

Definition at line 74 of file CompareTrans.h.

template<class T>
T CompareTrans< T >::val [protected]
 

value to compare against

Definition at line 75 of file CompareTrans.h.


The documentation for this class was generated from the following file:
Tekkotsu v1.4
Generated Sat Jul 19 00:08:52 2003 by Doxygen 1.3.2