|
|
|
|
@ -60,6 +60,7 @@ struct DualQuaternionTest: Corrade::TestSuite::Tester {
|
|
|
|
|
explicit DualQuaternionTest(); |
|
|
|
|
|
|
|
|
|
void construct(); |
|
|
|
|
void constructVectorScalar(); |
|
|
|
|
void constructIdentity(); |
|
|
|
|
void constructZero(); |
|
|
|
|
void constructNoInit(); |
|
|
|
|
@ -102,6 +103,7 @@ typedef Math::Vector3<Float> Vector3;
|
|
|
|
|
|
|
|
|
|
DualQuaternionTest::DualQuaternionTest() { |
|
|
|
|
addTests({&DualQuaternionTest::construct, |
|
|
|
|
&DualQuaternionTest::constructVectorScalar, |
|
|
|
|
&DualQuaternionTest::constructIdentity, |
|
|
|
|
&DualQuaternionTest::constructZero, |
|
|
|
|
&DualQuaternionTest::constructNoInit, |
|
|
|
|
@ -148,6 +150,17 @@ void DualQuaternionTest::construct() {
|
|
|
|
|
CORRADE_COMPARE(d, DualQuaternion({{1.0f, 2.0f, 3.0f}, -4.0f}, {{0.0f, 0.0f, 0.0f}, 0.0f})); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void DualQuaternionTest::constructVectorScalar() { |
|
|
|
|
constexpr DualQuaternion a = {{{1.0f, 2.0f, 3.0f}, {0.5f, -3.1f, 3.3f}}, {-4.0f, 2.0f}}; |
|
|
|
|
CORRADE_COMPARE(a, DualQuaternion({{1.0f, 2.0f, 3.0f}, -4.0f}, {{0.5f, -3.1f, 3.3f}, 2.0f})); |
|
|
|
|
|
|
|
|
|
constexpr Quaternion b = a.real(); |
|
|
|
|
CORRADE_COMPARE(b, Quaternion({1.0f, 2.0f, 3.0f}, -4.0f)); |
|
|
|
|
|
|
|
|
|
constexpr Quaternion c = a.dual(); |
|
|
|
|
CORRADE_COMPARE(c, Quaternion({0.5f, -3.1f, 3.3f}, 2.0f)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void DualQuaternionTest::constructIdentity() { |
|
|
|
|
constexpr DualQuaternion a; |
|
|
|
|
constexpr DualQuaternion b{IdentityInit}; |
|
|
|
|
|