orientation_test_data.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // Copyright 2017 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef SERVICES_DEVICE_GENERIC_SENSOR_ORIENTATION_TEST_DATA_H_
  5. #define SERVICES_DEVICE_GENERIC_SENSOR_ORIENTATION_TEST_DATA_H_
  6. #include <cmath>
  7. #include <vector>
  8. namespace device {
  9. namespace {
  10. const double kRootTwoOverTwo = std::sqrt(2.0) / 2.0;
  11. } // namespace
  12. // The quaternion representation of an entry in
  13. // |euler_angles_in_degrees_test_values| is stored in the same index in
  14. // |quaternions_test_values|, and vice-versa.
  15. // The values in each three-element entry are: alpha, beta, gamma.
  16. const std::vector<std::vector<double>> euler_angles_in_degrees_test_values = {
  17. {0.0, -180.0, -90.0}, {0.0, -180.0, 0.0}, {0.0, -90.0, 0.0},
  18. {0.0, 0.0, -90.0}, {0.0, 0.0, 0.0}, {0.0, 90.0, 0.0},
  19. {90.0, -180.0, -90.0}, {90.0, -180.0, 0.0}, {90.0, -90.0, 0.0},
  20. {90.0, 0.0, -90.0}, {90.0, 0.0, 0.0}, {90.0, 90.0, 0.0},
  21. {180.0, -180.0, -90.0}, {180.0, -180.0, 0.0}, {180.0, -90.0, 0.0},
  22. {180.0, 0.0, -90.0}, {180.0, 0.0, 0.0}, {180.0, 90.0, 0.0},
  23. {270.0, -180.0, -90.0}, {270.0, -180.0, 0.0}, {270.0, -90.0, 0.0},
  24. {270.0, 0.0, -90.0}, {270.0, 0.0, 0.0}, {270.0, 90.0, 0.0}};
  25. // The values in each four-element entry are: x, y, z, w.
  26. const std::vector<std::vector<double>> quaternions_test_values = {
  27. {-kRootTwoOverTwo, 0.0, kRootTwoOverTwo, 0.0},
  28. {-1, 0.0, 0.0, 0.0},
  29. {-kRootTwoOverTwo, 0.0, 0.0, kRootTwoOverTwo},
  30. {0.0, -kRootTwoOverTwo, 0.0, kRootTwoOverTwo},
  31. {0.0, 0.0, 0.0, 1.0},
  32. {kRootTwoOverTwo, 0.0, 0.0, kRootTwoOverTwo},
  33. {-0.5, -0.5, 0.5, -0.5},
  34. {-kRootTwoOverTwo, -kRootTwoOverTwo, 0.0, 0.0},
  35. {-0.5, -0.5, 0.5, 0.5},
  36. {0.5, -0.5, 0.5, 0.5},
  37. {0.0, 0.0, kRootTwoOverTwo, kRootTwoOverTwo},
  38. {0.5, 0.5, 0.5, 0.5},
  39. {0.0, -kRootTwoOverTwo, 0.0, -kRootTwoOverTwo},
  40. {0.0, -1.0, 0.0, 0.0},
  41. {0.0, -kRootTwoOverTwo, kRootTwoOverTwo, 0.0},
  42. {kRootTwoOverTwo, 0.0, kRootTwoOverTwo, 0.0},
  43. {0.0, 0.0, 1.0, 0.0},
  44. {0.0, kRootTwoOverTwo, kRootTwoOverTwo, 0.0},
  45. {0.5, -0.5, -0.5, -0.5},
  46. {kRootTwoOverTwo, -kRootTwoOverTwo, 0.0, 0.0},
  47. {0.5, -0.5, 0.5, -0.5},
  48. {0.5, 0.5, 0.5, -0.5},
  49. {0.0, 0.0, kRootTwoOverTwo, -kRootTwoOverTwo},
  50. {-0.5, 0.5, 0.5, -0.5}};
  51. } // namespace device
  52. #endif // SERVICES_DEVICE_GENERIC_SENSOR_ORIENTATION_TEST_DATA_H_