o09AxisCSBridge.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using UnityEngine;
  2. using o0.Bow;
  3. using System.Linq;
  4. public class o09AxisCSBridge {
  5. public o09AxisCS o09AxisCS = new o09AxisCS();
  6. public Quaternion Update_f(Vector3 AccOld, Vector3 GyrOld, Vector3 MagOld, long TimeGapOld) {
  7. return o09AxisCS.Update(AccOld, GyrOld, MagOld, TimeGapOld);
  8. }
  9. public void SetIdentity() {
  10. o09AxisCS.SetIdentity();
  11. }
  12. public Vector3 GetGyrOld_f() {
  13. return o09AxisCS.States.LastOrDefault().Gyr;
  14. }
  15. public o09Axis.State GetLastState_f() {
  16. o09AxisCS.State s = o09AxisCS.getLastState();
  17. o09Axis.State state = new o09Axis.State();
  18. state.TimeGap = System.Convert.ToInt32(s.TimeGap);
  19. state.Acc = s.Acc;
  20. state.AccSmooth = s.AccSmooth;
  21. state.AccVariance = (float) s.AccVariance;
  22. state.Gyr = s.Gyr;
  23. state.Mag = s.Mag;
  24. state.MagSmooth = s.MagSmooth;
  25. state.Qua = s.Qua;
  26. state.QuaSmooth = s.QuaSmooth;
  27. state.Variance = (float) s.AccVariance;
  28. return state;
  29. }
  30. public Vector3 GetAccIdentity_f() {
  31. return o09AxisCS.AccIdentity;
  32. }
  33. public Vector3 GetMagIdentity_f() {
  34. return o09AxisCS.MagIdentity;
  35. }
  36. public void SetAccIdentity(o09Axis.Vector3D value) {
  37. o09AxisCS.AccIdentity.x = (float) value.x;
  38. o09AxisCS.AccIdentity.y = (float) value.y;
  39. o09AxisCS.AccIdentity.z = (float) value.z;
  40. }
  41. public void SetMagIdentity(o09Axis.Vector3D value) {
  42. o09AxisCS.MagIdentity.x = (float) value.x;
  43. o09AxisCS.MagIdentity.y = (float) value.y;
  44. o09AxisCS.MagIdentity.z = (float) value.z;
  45. }
  46. }