home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2003 March / VPR0303A.ISO / AIBO / MoNet / MotionAgents / MTNAgent.h < prev    next >
C/C++ Source or Header  |  2002-12-19  |  1KB  |  63 lines

  1. //
  2. // Copyright 2002 Sony Corporation 
  3. //
  4. // Permission to use, copy, modify, and redistribute this software for
  5. // non-commercial use is hereby granted.
  6. //
  7. // This software is provided "as is" without warranty of any kind,
  8. // either expressed or implied, including but not limited to the
  9. // implied warranties of fitness for a particular purpose.
  10. //
  11.  
  12. #ifndef MTNAgent_h_DEFINED
  13. #define MTNAgent_h_DEFINED
  14.  
  15. #include <OPENR/ODataArchive.h>
  16. #include <MoNetData.h>
  17. #include <ODA.h>
  18. #include "MoNetAgent.h"
  19. #include "MTN.h"
  20.  
  21. const int DRX900_NUM_JOINTS = 15;
  22. const int DRX900_INDEX[] = {
  23.     HEAD_TILT,
  24.     HEAD_PAN,
  25.     HEAD_ROLL,
  26.     LFLEG_J1,
  27.     LFLEG_J2,
  28.     LFLEG_J3,
  29.     LRLEG_J1,
  30.     LRLEG_J2,
  31.     LRLEG_J3,
  32.     RFLEG_J1,
  33.     RFLEG_J2,
  34.     RFLEG_J3,
  35.     RRLEG_J1,
  36.     RRLEG_J2,
  37.     RRLEG_J3
  38. };    
  39.  
  40. class MTNAgent : public MoNetAgent {
  41. public:
  42.     MTNAgent();
  43.     virtual ~MTNAgent() {}
  44.  
  45.     virtual bool AreYou(MoNetAgentID agent);
  46.     virtual void Init();
  47.     virtual void NotifyCommand(const MoNetAgentCommand& command,
  48.                                MoNetAgentResult* result);
  49.     virtual void ReadyEffector(const MoNetAgentCommand& command,
  50.                                MoNetAgentResult* result);
  51.  
  52. private:
  53.     void        LoadMotionODA();
  54.     MoNetStatus SetPrimitiveID(OCommandVectorData* cmdVec, char* robotDesign);
  55.     MoNetStatus Move(OVRSyncKey syncKey);
  56.  
  57.     ODesignDataID  motionDataID;
  58.     ODA            motionODA;
  59.     MTN            mtn;
  60. };
  61.  
  62. #endif // MTNAgent_h_DEFINED
  63.