Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

HeadPointControllerBehavior Class Reference

#include <HeadPointControllerBehavior.h>

Inheritance diagram for HeadPointControllerBehavior:

Inheritance graph
[legend]
List of all members.

Detailed Description

Listens to control commands coming in from the command port for remotely controlling the head.

Definition at line 14 of file HeadPointControllerBehavior.h.

Public Member Functions

 HeadPointControllerBehavior ()
 constructor
virtual ~HeadPointControllerBehavior ()
 destructor
virtual void DoStart ()
 By default, merely adds to the reference counter (through AddReference()); Note you should still call this from your overriding methods.
virtual void DoStop ()
 By default, subtracts from the reference counter (RemoveReference()), and thus may deletex if zero; Don't forget to still call this when you override this; Warning: call this at the end of your DoStop(), not beginning (it might delete this ).
virtual std::string getDescription () const
 Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis).

Static Public Member Functions

static int mechacmd_callback (char *buf, int bytes)
 called by wireless when there's new data
static std::string getClassDescription ()
 Gives a short description of what this class of behaviors does... you should override this (but don't have to).

Static Public Attributes

static HeadPointControllerBehaviortheOne = NULL

Protected Attributes

MotionManager::MC_ID head_id
 the HeadPointerMC to use

Private Member Functions

void runCommand (unsigned char *command)
 Executes a command. Called by mechacmd_callback.
 HeadPointControllerBehavior (const HeadPointControllerBehavior &)
 don't call
HeadPointControllerBehavior operator= (const HeadPointControllerBehavior &)
 don't call

Private Attributes

float t
 head parameter
float p
 head parameter
float r
 head parameter
HeadPointControllerBehaviortheLastOne
Socketcmdsock
 The input command stream socket.

Static Private Attributes

Command Bytes
static const char CMD_tilt = 't'
 handy symbol for matching incoming communication
static const char CMD_pan = 'p'
 handy symbol for matching incoming communication
static const char CMD_roll = 'r'
 handy symbol for matching incoming communication


Constructor & Destructor Documentation

HeadPointControllerBehavior::HeadPointControllerBehavior const HeadPointControllerBehavior  )  [private]
 

don't call

HeadPointControllerBehavior::HeadPointControllerBehavior  )  [inline]
 

constructor

Definition at line 55 of file HeadPointControllerBehavior.h.

virtual HeadPointControllerBehavior::~HeadPointControllerBehavior  )  [inline, virtual]
 

destructor

Definition at line 63 of file HeadPointControllerBehavior.h.


Member Function Documentation

void HeadPointControllerBehavior::DoStart  )  [virtual]
 

By default, merely adds to the reference counter (through AddReference()); Note you should still call this from your overriding methods.

Reimplemented from BehaviorBase.

Definition at line 49 of file HeadPointControllerBehavior.cc.

void HeadPointControllerBehavior::DoStop  )  [virtual]
 

By default, subtracts from the reference counter (RemoveReference()), and thus may deletex if zero; Don't forget to still call this when you override this; Warning: call this at the end of your DoStop(), not beginning (it might delete this ).

Reimplemented from BehaviorBase.

Definition at line 65 of file HeadPointControllerBehavior.cc.

static std::string HeadPointControllerBehavior::getClassDescription  )  [inline, static]
 

Gives a short description of what this class of behaviors does... you should override this (but don't have to).

If you do override this, also consider overriding getDescription() to return it

Reimplemented from BehaviorBase.

Definition at line 69 of file HeadPointControllerBehavior.h.

Referenced by getDescription().

virtual std::string HeadPointControllerBehavior::getDescription  )  const [inline, virtual]
 

Gives a short description of what this particular instantiation does (in case a more specific description is needed on an individual basis).

By default simply returns getName(), because any calls from a BehaviorBase function to getClassDescription() are going to call BehaviorBase::getClassDescription(), not ~YourSubClass~getClassDescription(), because static functions can't be virtual in C++ (doh!)

This means that getDescription called on a pointer to a BehaviorBase of unknown subtype would always return an empty string, which is pretty useless. So instead we return the name in this situation. If you want getDescription to return getClassDescription, you'll have to override it in your subclass to do so.

Reimplemented from BehaviorBase.

Definition at line 74 of file HeadPointControllerBehavior.h.

int HeadPointControllerBehavior::mechacmd_callback char *  buf,
int  bytes
[static]
 

called by wireless when there's new data

Definition at line 81 of file HeadPointControllerBehavior.cc.

Referenced by DoStart().

HeadPointControllerBehavior HeadPointControllerBehavior::operator= const HeadPointControllerBehavior  )  [private]
 

don't call

void HeadPointControllerBehavior::runCommand unsigned char *  command  )  [private]
 

Executes a command. Called by mechacmd_callback.

Definition at line 8 of file HeadPointControllerBehavior.cc.

Referenced by mechacmd_callback().


Member Data Documentation

const char HeadPointControllerBehavior::CMD_pan = 'p' [static, private]
 

handy symbol for matching incoming communication

Definition at line 29 of file HeadPointControllerBehavior.h.

Referenced by runCommand().

const char HeadPointControllerBehavior::CMD_roll = 'r' [static, private]
 

handy symbol for matching incoming communication

Definition at line 30 of file HeadPointControllerBehavior.h.

Referenced by runCommand().

const char HeadPointControllerBehavior::CMD_tilt = 't' [static, private]
 

handy symbol for matching incoming communication

Definition at line 28 of file HeadPointControllerBehavior.h.

Referenced by runCommand().

Socket* HeadPointControllerBehavior::cmdsock [private]
 

The input command stream socket.

Definition at line 45 of file HeadPointControllerBehavior.h.

Referenced by DoStart(), and DoStop().

MotionManager::MC_ID HeadPointControllerBehavior::head_id [protected]
 

the HeadPointerMC to use

Definition at line 24 of file HeadPointControllerBehavior.h.

Referenced by DoStart(), DoStop(), and runCommand().

float HeadPointControllerBehavior::p [private]
 

head parameter

Definition at line 34 of file HeadPointControllerBehavior.h.

Referenced by runCommand().

float HeadPointControllerBehavior::r [private]
 

head parameter

Definition at line 35 of file HeadPointControllerBehavior.h.

Referenced by runCommand().

float HeadPointControllerBehavior::t [private]
 

head parameter

Definition at line 33 of file HeadPointControllerBehavior.h.

Referenced by runCommand().

HeadPointControllerBehavior* HeadPointControllerBehavior::theLastOne [private]
 

The last HPCB object that was theOne, so we can restore it to prominence when we die. This is a nice gesture, but it doesn't really make sense since we're all using the same port. But just in case something changes and we don't do that, this mechanism is in place.

Definition at line 42 of file HeadPointControllerBehavior.h.

Referenced by DoStart(), DoStop(), and ~HeadPointControllerBehavior().

HeadPointControllerBehavior * HeadPointControllerBehavior::theOne = NULL [static]
 

Points to the one HeadPointControllerBehavior object that the input command stream is talking to. A kludge. Dunno how you're gonna make sure you're not using this uninitialized.

Definition at line 20 of file HeadPointControllerBehavior.h.

Referenced by DoStart(), DoStop(), and ~HeadPointControllerBehavior().


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

Tekkotsu v2.4.1
Generated Tue Aug 16 16:35:02 2005 by Doxygen 1.4.4