Ocean
TestEuler.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_TEST_TESTMATH_TEST_EULER_H
9 #define META_OCEAN_TEST_TESTMATH_TEST_EULER_H
10 
12 
13 namespace Ocean
14 {
15 
16 namespace Test
17 {
18 
19 namespace TestMath
20 {
21 
22 /**
23  * This class tests the implementation of the Euler class.
24  * @ingroup testmath
25  */
26 class OCEAN_TEST_MATH_EXPORT TestEuler
27 {
28  public:
29 
30  /**
31  * Tests all euler functions.
32  * @param testDuration The number of seconds for each test, with range (0, infinity)
33  * @return True, if succeeded
34  */
35  static bool test(const double testDuration);
36 
37  /**
38  * Tests the conversion from an euler rotation to a 3x3 rotation matrix.
39  * @param testDuration Number of seconds for each test, with range (0, infinity)
40  * @return True, if succeeded
41  */
42  static bool testConversionToMatrix(const double testDuration);
43 
44  /**
45  * Tests the conversion from an angle-axis rotation to an euler rotation.
46  * @param testDuration The number of seconds for each test, with range (0, infinity)
47  * @return True, if succeeded
48  */
49  static bool testConversionFromRotation(const double testDuration);
50 
51  /**
52  * Tests the conversion from a 3x3 rotation matrix to an euler rotation.
53  * @param testDuration The number of seconds for each test, with range (0, infinity)
54  * @return True, if succeeded
55  */
56  static bool testConversionFromMatrix(const double testDuration);
57 
58  /**
59  * Tests the decomposition of a 3x3 rotation matrix to a y, x and z angle.
60  * @param testDuration The number of seconds for each test, with range (0, infinity)
61  * @return True, if succeeded
62  */
63  static bool testDecomposeRotationMatrixToYXZ(const double testDuration);
64 
65  /**
66  * Tests the decomposition of a 3x3 rotation matrix to a x, y and z angle.
67  * @param testDuration The number of seconds for each test, with range (0, infinity)
68  * @return True, if succeeded
69  */
70  static bool testDecomposeRotationMatrixToXYZ(const double testDuration);
71 
72  /**
73  * Tests the adjustAngles() function.
74  * @param testDuration The number of seconds for each test, with range (0, infinity)
75  * @return True, if succeeded
76  */
77  static bool testAdjustAngles(const double testDuration);
78 };
79 
80 }
81 
82 }
83 
84 }
85 
86 #endif
This class tests the implementation of the Euler class.
Definition: TestEuler.h:27
static bool test(const double testDuration)
Tests all euler functions.
static bool testDecomposeRotationMatrixToYXZ(const double testDuration)
Tests the decomposition of a 3x3 rotation matrix to a y, x and z angle.
static bool testConversionToMatrix(const double testDuration)
Tests the conversion from an euler rotation to a 3x3 rotation matrix.
static bool testAdjustAngles(const double testDuration)
Tests the adjustAngles() function.
static bool testConversionFromMatrix(const double testDuration)
Tests the conversion from a 3x3 rotation matrix to an euler rotation.
static bool testDecomposeRotationMatrixToXYZ(const double testDuration)
Tests the decomposition of a 3x3 rotation matrix to a x, y and z angle.
static bool testConversionFromRotation(const double testDuration)
Tests the conversion from an angle-axis rotation to an euler rotation.
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15