00001 /** 00002 * @file JointDataSequencer.h 00003 * 00004 * Definition of class JointDataSequencer. 00005 * 00006 * @author Max Risler 00007 */ 00008 00009 #ifndef __JOINTDATASEQUENCER_H__ 00010 #define __JOINTDATASEQUENCER_H__ 00011 00012 #include "Representations/Motion/JointDataSequence.h" 00013 00014 /** 00015 * @class JointDataSequencer 00016 * A class executing JointDataSequences. 00017 * It derives from JointDataSequence but adds methods to execute the sequence. 00018 */ 00019 class JointDataSequencer : public JointDataSequence 00020 { 00021 public: 00022 /** Constructor */ 00023 JointDataSequencer(); 00024 00025 /** Assignment operator */ 00026 JointDataSequencer& operator=(const JointDataSequence& other); 00027 00028 /** write next data from current sequent to jointData */ 00029 void nextSequenceData(JointData& jointData); 00030 00031 /** start executing the sequence */ 00032 void start(); 00033 00034 /** stop executing the sequence */ 00035 void stop(); 00036 00037 /** returns true if the sequence is being executed */ 00038 bool isRunning(); 00039 00040 protected: 00041 00042 /** interpolate joint data 00043 * @param jointData stores interpolated data 00044 * @param from data to start from 00045 * @param to data to interpolate to 00046 * @param step index of interpolation step 00047 * @param len length of interpolation 00048 */ 00049 void interpolateJointData( 00050 JointData& jointData, 00051 const JointData& from, const JointData& to, int step, int len 00052 ); 00053 00054 /** true if the sequence is being executed */ 00055 bool running; 00056 00057 /** current position in sequence */ 00058 int sequencePos; 00059 00060 /** counter for repetition of current sequence line */ 00061 int repetitionCounter; 00062 00063 }; 00064 00065 #endif //__JOINTDATASEQUENCER_H__ 00066 00067 /* 00068 * Change log : 00069 * 00070 * $Log: JointDataSequencer.h,v $ 00071 * Revision 1.1.1.1 2004/05/22 17:35:56 cvsadm 00072 * created new repository GT2004_WM 00073 * 00074 * Revision 1.1 2003/10/07 10:13:21 cvsadm 00075 * Created GT2004 (M.J.) 00076 * 00077 * Revision 1.2 2003/09/26 15:28:10 juengel 00078 * Renamed DataTypes to representations. 00079 * 00080 * Revision 1.1 2003/09/26 11:40:40 juengel 00081 * - sorted tools 00082 * - clean-up in DataTypes 00083 * 00084 * Revision 1.1.1.1 2003/07/02 09:40:28 cvsadm 00085 * created new repository for the competitions in Padova from the 00086 * tamara CVS (Tuesday 2:00 pm) 00087 * 00088 * removed unused solutions 00089 * 00090 * Revision 1.2 2002/11/27 13:52:17 dueffert 00091 * doxygen docu corrected 00092 * 00093 * Revision 1.1 2002/09/10 15:53:58 cvsadm 00094 * Created new project GT2003 (M.L.) 00095 * - Cleaned up the /Src/DataTypes directory 00096 * - Removed challenge related source code 00097 * - Removed processing of incoming audio data 00098 * - Renamed AcousticMessage to SoundRequest 00099 * 00100 * Revision 1.1.1.1 2002/05/10 12:40:32 cvsadm 00101 * Moved GT2002 Project from ute to tamara. 00102 * 00103 * Revision 1.3 2002/02/21 18:02:51 risler 00104 * added assignment operator 00105 * 00106 * Revision 1.2 2002/02/21 17:02:11 risler 00107 * added comments 00108 * 00109 * Revision 1.1 2002/02/21 16:29:21 risler 00110 * added JointDataSequencer 00111 * 00112 * 00113 */