DanceFoot.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #pragma once
  2. #ifndef __dance_foot_h__
  3. #define __dance_foot_h__
  4. #include "pub.h"
  5. class DanceFoot
  6. {
  7. public:
  8. DanceFoot(int LEFT_OR_RIGHT);
  9. DanceFoot() {};//Ìí¼ÓÒ»¸öȱʡ¹¹Ô캯Êý
  10. int setPosOffset(float Pos[3]);
  11. int setPosGlobal(float Pos[3]);
  12. int setAttitude(float att[3]);
  13. int setFootZupt(int zupt);
  14. int setFootRssi(int rssi);
  15. int setMaxRssi(int rssi);
  16. int setMinRssi(int rssi);
  17. int isMoveRssi(int rssi, int zupt);
  18. int calGlobalPos(float pos[3], int rssi, int zupt);
  19. int posBoundary(float pos[3]);
  20. int isGlobalZero(float pos[3], float pos_offset[3], int rssi);
  21. int getDirection(float pos[3], float pos_offset[3], int rssi);
  22. int getDirectionCorner(float pos[3], float pos_offset[3]);
  23. int getDirectionLine(float pos[3], float pos_offset[3]);
  24. int getGameDiretion(float pos[3]);
  25. void printPosData(vector<posData> data);
  26. int isMove(vector<posData> data);
  27. void setLastPos(float* lastPos);
  28. void setLastZupt(int lastZupt);
  29. void setDanceTraj(float* traj);
  30. float calSlope(vector<posData> data);
  31. float getGamePos(int index);
  32. private:
  33. float gamePos[3];
  34. float last_pos[2];
  35. int last_zupt;
  36. float danceTraj[2];
  37. float rotate_err;
  38. float rotateCor[4];
  39. float last_pos_g[2] = { 0, 0 };
  40. float pos[2] = { 0, 0 };
  41. vector<posData> data;
  42. int left_or_right;
  43. int foot_rssi;
  44. int foot_zupt;
  45. int rssi_zupt;
  46. int max_rssi;
  47. int min_rssi;
  48. float attitude[3];
  49. float globalPos[3];
  50. float offsetPos[3];
  51. };
  52. #endif