Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

MotionSequenceMC< MAXMOVE > Class Template Reference

#include <MotionSequenceMC.h>

Inheritance diagram for MotionSequenceMC< MAXMOVE >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<unsigned int MAXMOVE>
class MotionSequenceMC< MAXMOVE >

Instantiates MotionSequenceEngines - when you want to run a motion sequence, make one of these.

Allows a compile-time variable amount of data storage through its template parameter.

See also:
MotionSequenceEngine for the majority of the usage documentation

TinyMotionSequenceMC, SmallMotionSequenceMC, MediumMotionSequenceMC, LargeMotionSequenceMC, XLargeMotionSequenceMC

Definition at line 15 of file MotionSequenceMC.h.

Public Member Functions

 MotionSequenceMC ()
 constructor
 MotionSequenceMC (const std::string &filename)
 constructor, loads from a file and then resets the playtime to beginning and begins to play
virtual ~MotionSequenceMC ()
 destructor
virtual int isDirty ()
 not used by MotionManager at the moment, but could be used to reduce recomputation, and you may find it useful
virtual int isAlive ()
 used to prune "dead" motions from the MotionManager
virtual int updateOutputs ()
 is called once per update cycle, can do any processing you need to change your priorities or set output commands on the MotionManager
virtual void clear ()
 empties out the sequence (constant time operation - faster than a series of pops)
virtual unsigned int getMaxFrames () const
 returns the maximum number of key frames (Move's) which can be stored, determined by the instantiating MotionSequenceMC's template parameter
virtual unsigned int getUsedFrames () const
 returns the number of used key frames (Move's) which have been stored by the instantiation MotionSequenceEngine subclass

Static Public Attributes

static const unsigned int CAPACITY = MAXMOVE
 allows recovery of capacity in a general way (MAXMOVE may, and probably will, be obscured by a typedef)

Protected Types

typedef ListMemBuf< Move,
MAXMOVE, Move_idx_t
list_t
 shorthand for the ListMemBuf that stores all of the movement frames

Protected Member Functions

virtual Move & getKeyFrame (Move_idx_t x)
 returns moves[x]
virtual const Move & getKeyFrame (Move_idx_t x) const
 returns moves[x]
virtual Move_idx_t newKeyFrame ()
 causes subclass to create a new Move structure, returns its index
virtual void eraseKeyFrame (Move_idx_t x)
 marks keyframe x unused
void setRange (unsigned int t, Move_idx_t &prev, Move_idx_t &next) const
 advances (or rewinds) prev and next so that t falls between them

Protected Attributes

list_t moves
 stores all of the movement keyframes


Member Typedef Documentation

template<unsigned int MAXMOVE>
typedef ListMemBuf<Move,MAXMOVE,Move_idx_t> MotionSequenceMC< MAXMOVE >::list_t [protected]
 

shorthand for the ListMemBuf that stores all of the movement frames

Definition at line 88 of file MotionSequenceMC.h.


Constructor & Destructor Documentation

template<unsigned int MAXMOVE>
MotionSequenceMC< MAXMOVE >::MotionSequenceMC  )  [inline]
 

constructor

Definition at line 20 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
MotionSequenceMC< MAXMOVE >::MotionSequenceMC const std::string &  filename  )  [inline, explicit]
 

constructor, loads from a file and then resets the playtime to beginning and begins to play

Definition at line 26 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
virtual MotionSequenceMC< MAXMOVE >::~MotionSequenceMC  )  [inline, virtual]
 

destructor

Definition at line 34 of file MotionSequenceMC.h.


Member Function Documentation

template<unsigned int MAXMOVE>
virtual void MotionSequenceMC< MAXMOVE >::clear  )  [inline, virtual]
 

empties out the sequence (constant time operation - faster than a series of pops)

Implements MotionSequenceEngine.

Definition at line 70 of file MotionSequenceMC.h.

Referenced by MotionSequenceMC< MAXMOVE >::MotionSequenceMC().

template<unsigned int MAXMOVE>
virtual void MotionSequenceMC< MAXMOVE >::eraseKeyFrame Move_idx_t  x  )  [inline, protected, virtual]
 

marks keyframe x unused

Definition at line 102 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
virtual const Move& MotionSequenceMC< MAXMOVE >::getKeyFrame Move_idx_t  x  )  const [inline, protected, virtual]
 

returns moves[x]

Definition at line 94 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
virtual Move& MotionSequenceMC< MAXMOVE >::getKeyFrame Move_idx_t  x  )  [inline, protected, virtual]
 

returns moves[x]

Definition at line 93 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
virtual unsigned int MotionSequenceMC< MAXMOVE >::getMaxFrames  )  const [inline, virtual]
 

returns the maximum number of key frames (Move's) which can be stored, determined by the instantiating MotionSequenceMC's template parameter

Implements MotionSequenceEngine.

Definition at line 83 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
virtual unsigned int MotionSequenceMC< MAXMOVE >::getUsedFrames  )  const [inline, virtual]
 

returns the number of used key frames (Move's) which have been stored by the instantiation MotionSequenceEngine subclass

Implements MotionSequenceEngine.

Definition at line 84 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
virtual int MotionSequenceMC< MAXMOVE >::isAlive  )  [inline, virtual]
 

used to prune "dead" motions from the MotionManager

note that a motion could be "paused" or inactive and therefore not dirty, but still alive, biding its time to "strike" ;)

Returns:
zero if the motion is still processing, non-zero otherwise

Implements MotionCommand.

Definition at line 37 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
virtual int MotionSequenceMC< MAXMOVE >::isDirty  )  [inline, virtual]
 

not used by MotionManager at the moment, but could be used to reduce recomputation, and you may find it useful

Returns:
zero if none of the commands have changed since last getJointCmd(), else non-zero

Implements MotionCommand.

Definition at line 36 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
virtual Move_idx_t MotionSequenceMC< MAXMOVE >::newKeyFrame  )  [inline, protected, virtual]
 

causes subclass to create a new Move structure, returns its index

Implements MotionSequenceEngine.

Definition at line 95 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
void MotionSequenceMC< MAXMOVE >::setRange unsigned int  t,
Move_idx_t prev,
Move_idx_t next
const [inline, protected]
 

advances (or rewinds) prev and next so that t falls between them

Definition at line 104 of file MotionSequenceMC.h.

Referenced by MotionSequenceMC< MAXMOVE >::updateOutputs().

template<unsigned int MAXMOVE>
virtual int MotionSequenceMC< MAXMOVE >::updateOutputs  )  [inline, virtual]
 

is called once per update cycle, can do any processing you need to change your priorities or set output commands on the MotionManager

Returns:
zero if no changes were made, non-zero otherwise
See also:
RobotInfo::NumFrames

RobotInfo::FrameTime

Implements MotionCommand.

Definition at line 40 of file MotionSequenceMC.h.


Member Data Documentation

template<unsigned int MAXMOVE>
const unsigned int MotionSequenceMC< MAXMOVE >::CAPACITY = MAXMOVE [static]
 

allows recovery of capacity in a general way (MAXMOVE may, and probably will, be obscured by a typedef)

Definition at line 17 of file MotionSequenceMC.h.

template<unsigned int MAXMOVE>
list_t MotionSequenceMC< MAXMOVE >::moves [protected]
 

stores all of the movement keyframes

Definition at line 91 of file MotionSequenceMC.h.

Referenced by MotionSequenceMC< MAXMOVE >::clear(), MotionSequenceMC< MAXMOVE >::eraseKeyFrame(), MotionSequenceMC< MAXMOVE >::getKeyFrame(), MotionSequenceMC< MAXMOVE >::getMaxFrames(), MotionSequenceMC< MAXMOVE >::getUsedFrames(), MotionSequenceMC< MAXMOVE >::newKeyFrame(), MotionSequenceMC< MAXMOVE >::setRange(), and MotionSequenceMC< MAXMOVE >::updateOutputs().


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

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