DanceFoot.h 1.6 KB

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