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