Ocean
Loading...
Searching...
No Matches
TestQuaternion.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_QUATERNION_H
9#define META_OCEAN_TEST_TESTMATH_TEST_QUATERNION_H
10
12
13namespace Ocean
14{
15
16namespace Test
17{
18
19namespace TestMath
20{
21
22/**
23 * This class implements a quaternion test.
24 * @ingroup testmath
25 */
26class OCEAN_TEST_MATH_EXPORT TestQuaternion
27{
28 public:
29
30 /**
31 * Executes all quaternion tests.
32 * @param testDuration Number of seconds for each test
33 * @return True, if succeeded
34 */
35 static bool test(const double testDuration);
36
37 /**
38 * Tests the messenger function.
39 * @return True, if succeeded
40 * @tparam T The data type of the scalar value to be used
41 */
42 template <typename T>
43 static bool testWriteToMessenger();
44
45 /**
46 * Tests the constructor.
47 * @param testDuration Number of seconds for each test
48 * @return True, if succeeded
49 */
50 static bool testConstructor(const double testDuration);
51
52 /**
53 * Tests the normalization of a quaternion.
54 * @param testDuration Number of seconds for each test, with range (0, infinity)
55 * @return True, if succeeded
56 * @tparam T The data type of the scalar value to be used
57 */
58 template <typename T>
59 static bool testNormalization(const double testDuration);
60
61 /**
62 * Tests the inverting of a quaternion.
63 * @param testDuration Number of seconds for each test, with range (0, infinity)
64 * @return True, if succeeded
65 * @tparam T The data type of the scalar value to be used
66 */
67 template <typename T>
68 static bool testInverting(const double testDuration);
69
70 /**
71 * Tests the conversion from a quaternion to a rotation.
72 * @param testDuration Number of seconds for each test, with range (0, infinity)
73 * @return True, if succeeded
74 * @tparam T The data type of the scalar value to be used
75 */
76 template <typename T>
77 static bool testConversionToRotation(const double testDuration);
78
79 /**
80 * Tests the reference-offset constructor.
81 * @param testDuration Number of seconds for each test
82 * @return True, if succeeded
83 * @tparam T The data type of the scalar value to be used
84 */
85 template <typename T>
86 static bool testReferenceOffsetConstructor(const double testDuration);
87
88 /**
89 * Tests the let_Q_right functions.
90 * @param testDuration Number of seconds for each test
91 * @return True, if succeeded
92 * @tparam T The data type of the scalar value to be used
93 */
94 template <typename T>
95 static bool testLeft_Q_right(const double testDuration);
96
97 /**
98 * Tests the calculation of the Quaternion's angle.
99 * @param testDuration Number of seconds for each test
100 * @return True, if succeeded
101 * @tparam T The data type of the scalar value to be used
102 */
103 template <typename T>
104 static bool testAngle(const double testDuration);
105
106 /**
107 * Tests the slerp function.
108 * @param testDuration Number of seconds for each test
109 * @return True, if succeeded
110 * @tparam T The data type of the scalar value to be used
111 */
112 template <typename T>
113 static bool testSlerp(const double testDuration);
114};
115
116}
117
118}
119
120}
121
122#endif // META_OCEAN_TEST_TESTMATH_TEST_QUATERNION_H
This class implements a quaternion test.
Definition TestQuaternion.h:27
static bool testReferenceOffsetConstructor(const double testDuration)
Tests the reference-offset constructor.
static bool testWriteToMessenger()
Tests the messenger function.
static bool testAngle(const double testDuration)
Tests the calculation of the Quaternion's angle.
static bool testInverting(const double testDuration)
Tests the inverting of a quaternion.
static bool testLeft_Q_right(const double testDuration)
Tests the let_Q_right functions.
static bool test(const double testDuration)
Executes all quaternion tests.
static bool testNormalization(const double testDuration)
Tests the normalization of a quaternion.
static bool testConversionToRotation(const double testDuration)
Tests the conversion from a quaternion to a rotation.
static bool testConstructor(const double testDuration)
Tests the constructor.
static bool testSlerp(const double testDuration)
Tests the slerp function.
The namespace covering the entire Ocean framework.
Definition Accessor.h:15