Ocean
Loading...
Searching...
No Matches
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
14
15namespace Ocean
16{
17
18namespace Test
19{
20
21namespace TestMath
22{
23
24/**
25 * This class tests the implementation of the Euler class.
26 * @ingroup testmath
27 */
28class OCEAN_TEST_MATH_EXPORT TestEuler
29{
30 public:
31
32 /**
33 * Tests all euler functions.
34 * @param testDuration The number of seconds for each test, with range (0, infinity)
35 * @param selector The test selector
36 * @return True, if succeeded
37 */
38 static bool test(const double testDuration, const TestSelector& selector);
39
40 /**
41 * Tests the conversion from an euler rotation to a 3x3 rotation matrix.
42 * @param testDuration Number of seconds for each test, with range (0, infinity)
43 * @return True, if succeeded
44 */
45 static bool testConversionToMatrix(const double testDuration);
46
47 /**
48 * Tests the conversion from an angle-axis rotation to an euler rotation.
49 * @param testDuration The number of seconds for each test, with range (0, infinity)
50 * @return True, if succeeded
51 */
52 static bool testConversionFromRotation(const double testDuration);
53
54 /**
55 * Tests the conversion from a 3x3 rotation matrix to an euler rotation.
56 * @param testDuration The number of seconds for each test, with range (0, infinity)
57 * @return True, if succeeded
58 */
59 static bool testConversionFromMatrix(const double testDuration);
60
61 /**
62 * Tests the decomposition of a 3x3 rotation matrix to a y, x and z angle.
63 * @param testDuration The number of seconds for each test, with range (0, infinity)
64 * @return True, if succeeded
65 */
66 static bool testDecomposeRotationMatrixToYXZ(const double testDuration);
67
68 /**
69 * Tests the decomposition of a 3x3 rotation matrix to a x, y and z angle.
70 * @param testDuration The number of seconds for each test, with range (0, infinity)
71 * @return True, if succeeded
72 */
73 static bool testDecomposeRotationMatrixToXYZ(const double testDuration);
74
75 /**
76 * Tests the adjustAngles() function.
77 * @param testDuration The number of seconds for each test, with range (0, infinity)
78 * @return True, if succeeded
79 */
80 static bool testAdjustAngles(const double testDuration);
81};
82
83}
84
85}
86
87}
88
89#endif
This class tests the implementation of the Euler class.
Definition TestEuler.h:29
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 test(const double testDuration, const TestSelector &selector)
Tests all euler functions.
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.
This class implements a test selector that parses test function strings and determines which tests sh...
Definition TestSelector.h:51
The namespace covering the entire Ocean framework.
Definition Accessor.h:15