Browse Source

Math: Use _degf in DualQuaternionTest and DualComplexTest

Signed-off-by: Squareys <squareys@googlemail.com>
pull/471/head
Squareys 6 years ago
parent
commit
2e0884d1e5
  1. 28
      src/Magnum/Math/Test/DualComplexTest.cpp
  2. 38
      src/Magnum/Math/Test/DualQuaternionTest.cpp

28
src/Magnum/Math/Test/DualComplexTest.cpp

@ -283,7 +283,7 @@ void DualComplexTest::data() {
void DualComplexTest::isNormalized() { void DualComplexTest::isNormalized() {
CORRADE_VERIFY(!DualComplex({2.0f, 1.0f}, {}).isNormalized()); CORRADE_VERIFY(!DualComplex({2.0f, 1.0f}, {}).isNormalized());
CORRADE_VERIFY((DualComplex::rotation(Deg(23.0f))*DualComplex::translation({6.0f, 3.0f})).isNormalized()); CORRADE_VERIFY((DualComplex::rotation(23.0_degf)*DualComplex::translation({6.0f, 3.0f})).isNormalized());
} }
template<class T> void DualComplexTest::isNormalizedEpsilonRotation() { template<class T> void DualComplexTest::isNormalizedEpsilonRotation() {
@ -392,10 +392,10 @@ void DualComplexTest::invertedNormalizedNotNormalized() {
} }
void DualComplexTest::rotation() { void DualComplexTest::rotation() {
DualComplex a = DualComplex::rotation(Deg(120.0f)); DualComplex a = DualComplex::rotation(120.0_degf);
CORRADE_COMPARE(a.length(), 1.0f); CORRADE_COMPARE(a.length(), 1.0f);
CORRADE_COMPARE(a, DualComplex({-0.5f, 0.8660254f}, {0.0f, 0.0f})); CORRADE_COMPARE(a, DualComplex({-0.5f, 0.8660254f}, {0.0f, 0.0f}));
CORRADE_COMPARE_AS(a.rotation().angle(), Deg(120.0f), Rad); CORRADE_COMPARE_AS(a.rotation().angle(), 120.0_degf, Rad);
/* Constexpr access to rotation */ /* Constexpr access to rotation */
constexpr DualComplex b({-1.0f, 2.0f}, {}); constexpr DualComplex b({-1.0f, 2.0f}, {});
@ -416,18 +416,18 @@ void DualComplexTest::translation() {
void DualComplexTest::combinedTransformParts() { void DualComplexTest::combinedTransformParts() {
Vector2 translation = Vector2(-1.5f, 2.75f); Vector2 translation = Vector2(-1.5f, 2.75f);
DualComplex a = DualComplex::translation(translation)*DualComplex::rotation(Deg(23.0f)); DualComplex a = DualComplex::translation(translation)*DualComplex::rotation(23.0_degf);
DualComplex b = DualComplex::rotation(Deg(23.0f))*DualComplex::translation(translation); DualComplex b = DualComplex::rotation(23.0_degf)*DualComplex::translation(translation);
CORRADE_COMPARE_AS(a.rotation().angle(), Deg(23.0f), Rad); CORRADE_COMPARE_AS(a.rotation().angle(), 23.0_degf, Rad);
CORRADE_COMPARE_AS(b.rotation().angle(), Deg(23.0f), Rad); CORRADE_COMPARE_AS(b.rotation().angle(), 23.0_degf, Rad);
CORRADE_COMPARE(a.translation(), translation); CORRADE_COMPARE(a.translation(), translation);
CORRADE_COMPARE(b.translation(), Complex::rotation(Deg(23.0f)).transformVector(translation)); CORRADE_COMPARE(b.translation(), Complex::rotation(23.0_degf).transformVector(translation));
} }
void DualComplexTest::matrix() { void DualComplexTest::matrix() {
DualComplex a = DualComplex::rotation(Deg(23.0f))*DualComplex::translation({2.0f, 3.0f}); DualComplex a = DualComplex::rotation(23.0_degf)*DualComplex::translation({2.0f, 3.0f});
Matrix3 m = Matrix3::rotation(Deg(23.0f))*Matrix3::translation({2.0f, 3.0f}); Matrix3 m = Matrix3::rotation(23.0_degf)*Matrix3::translation({2.0f, 3.0f});
CORRADE_COMPARE(a.toMatrix(), m); CORRADE_COMPARE(a.toMatrix(), m);
CORRADE_COMPARE(DualComplex::fromMatrix(m), a); CORRADE_COMPARE(DualComplex::fromMatrix(m), a);
@ -461,10 +461,10 @@ void DualComplexTest::transformVector() {
} }
void DualComplexTest::transformPoint() { void DualComplexTest::transformPoint() {
DualComplex a = DualComplex::translation({2.0f, 3.0f})*DualComplex::rotation(Deg(23.0f)); DualComplex a = DualComplex::translation({2.0f, 3.0f})*DualComplex::rotation(23.0_degf);
DualComplex b = DualComplex::rotation(Deg(23.0f))*DualComplex::translation({2.0f, 3.0f}); DualComplex b = DualComplex::rotation(23.0_degf)*DualComplex::translation({2.0f, 3.0f});
Matrix3 m = Matrix3::translation({2.0f, 3.0f})*Matrix3::rotation(Deg(23.0f)); Matrix3 m = Matrix3::translation({2.0f, 3.0f})*Matrix3::rotation(23.0_degf);
Matrix3 n = Matrix3::rotation(Deg(23.0f))*Matrix3::translation({2.0f, 3.0f}); Matrix3 n = Matrix3::rotation(23.0_degf)*Matrix3::translation({2.0f, 3.0f});
Vector2 v(-3.6f, 0.7f); Vector2 v(-3.6f, 0.7f);
Vector2 transformedA = a.transformPoint(v); Vector2 transformedA = a.transformPoint(v);

38
src/Magnum/Math/Test/DualQuaternionTest.cpp

@ -320,7 +320,7 @@ void DualQuaternionTest::data() {
void DualQuaternionTest::isNormalized() { void DualQuaternionTest::isNormalized() {
CORRADE_VERIFY(!DualQuaternion({{1.0f, 2.0f, 3.0f}, 4.0f}, {}).isNormalized()); CORRADE_VERIFY(!DualQuaternion({{1.0f, 2.0f, 3.0f}, 4.0f}, {}).isNormalized());
CORRADE_VERIFY((DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis())*DualQuaternion::translation({0.9f, -1.0f, -0.5f})).isNormalized()); CORRADE_VERIFY((DualQuaternion::rotation(23.0_degf, Vector3::xAxis())*DualQuaternion::translation({0.9f, -1.0f, -0.5f})).isNormalized());
} }
template<class T> void DualQuaternionTest::isNormalizedEpsilonRotation() { template<class T> void DualQuaternionTest::isNormalizedEpsilonRotation() {
@ -434,10 +434,10 @@ void DualQuaternionTest::invertedNormalizedNotNormalized() {
void DualQuaternionTest::rotation() { void DualQuaternionTest::rotation() {
Vector3 axis(1.0f/Constants<Float>::sqrt3()); Vector3 axis(1.0f/Constants<Float>::sqrt3());
DualQuaternion q = DualQuaternion::rotation(Deg(120.0f), axis); DualQuaternion q = DualQuaternion::rotation(120.0_degf, axis);
CORRADE_COMPARE(q.length(), 1.0f); CORRADE_COMPARE(q.length(), 1.0f);
CORRADE_COMPARE(q, DualQuaternion({Vector3(0.5f, 0.5f, 0.5f), 0.5f}, {{}, 0.0f})); CORRADE_COMPARE(q, DualQuaternion({Vector3(0.5f, 0.5f, 0.5f), 0.5f}, {{}, 0.0f}));
CORRADE_COMPARE_AS(q.rotation().angle(), Deg(120.0f), Deg); CORRADE_COMPARE_AS(q.rotation().angle(), 120.0_degf, Deg);
CORRADE_COMPARE(q.rotation().axis(), axis); CORRADE_COMPARE(q.rotation().axis(), axis);
/* Constexpr access to rotation */ /* Constexpr access to rotation */
@ -471,21 +471,21 @@ void DualQuaternionTest::translation() {
void DualQuaternionTest::combinedTransformParts() { void DualQuaternionTest::combinedTransformParts() {
Vector3 translation = Vector3(-1.0f, 2.0f, 3.0f); Vector3 translation = Vector3(-1.0f, 2.0f, 3.0f);
DualQuaternion a = DualQuaternion::translation(translation)*DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis()); DualQuaternion a = DualQuaternion::translation(translation)*DualQuaternion::rotation(23.0_degf, Vector3::xAxis());
DualQuaternion b = DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis())*DualQuaternion::translation(translation); DualQuaternion b = DualQuaternion::rotation(23.0_degf, Vector3::xAxis())*DualQuaternion::translation(translation);
CORRADE_COMPARE(a.rotation().axis(), Vector3::xAxis()); CORRADE_COMPARE(a.rotation().axis(), Vector3::xAxis());
CORRADE_COMPARE(b.rotation().axis(), Vector3::xAxis()); CORRADE_COMPARE(b.rotation().axis(), Vector3::xAxis());
CORRADE_COMPARE_AS(a.rotation().angle(), Deg(23.0f), Rad); CORRADE_COMPARE_AS(a.rotation().angle(), 23.0_degf, Rad);
CORRADE_COMPARE_AS(b.rotation().angle(), Deg(23.0f), Rad); CORRADE_COMPARE_AS(b.rotation().angle(), 23.0_degf, Rad);
CORRADE_COMPARE(a.translation(), translation); CORRADE_COMPARE(a.translation(), translation);
CORRADE_COMPARE(b.translation(), Quaternion::rotation(Deg(23.0f), Vector3::xAxis()).transformVector(translation)); CORRADE_COMPARE(b.translation(), Quaternion::rotation(23.0_degf, Vector3::xAxis()).transformVector(translation));
} }
void DualQuaternionTest::matrix() { void DualQuaternionTest::matrix() {
DualQuaternion q = DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis())*DualQuaternion::translation({-1.0f, 2.0f, 3.0f}); DualQuaternion q = DualQuaternion::rotation(23.0_degf, Vector3::xAxis())*DualQuaternion::translation({-1.0f, 2.0f, 3.0f});
Matrix4 m = Matrix4::rotationX(Deg(23.0f))*Matrix4::translation({-1.0f, 2.0f, 3.0f}); Matrix4 m = Matrix4::rotationX(23.0_degf)*Matrix4::translation({-1.0f, 2.0f, 3.0f});
/* Verify that negated dual quaternion gives the same transformation */ /* Verify that negated dual quaternion gives the same transformation */
CORRADE_COMPARE(q.toMatrix(), m); CORRADE_COMPARE(q.toMatrix(), m);
@ -548,10 +548,10 @@ void DualQuaternionTest::transformVectorNormalizedNotNormalized() {
} }
void DualQuaternionTest::transformPoint() { void DualQuaternionTest::transformPoint() {
DualQuaternion a = DualQuaternion::translation({-1.0f, 2.0f, 3.0f})*DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis()); DualQuaternion a = DualQuaternion::translation({-1.0f, 2.0f, 3.0f})*DualQuaternion::rotation(23.0_degf, Vector3::xAxis());
DualQuaternion b = DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis())*DualQuaternion::translation({-1.0f, 2.0f, 3.0f}); DualQuaternion b = DualQuaternion::rotation(23.0_degf, Vector3::xAxis())*DualQuaternion::translation({-1.0f, 2.0f, 3.0f});
Matrix4 m = Matrix4::translation({-1.0f, 2.0f, 3.0f})*Matrix4::rotationX(Deg(23.0f)); Matrix4 m = Matrix4::translation({-1.0f, 2.0f, 3.0f})*Matrix4::rotationX(23.0_degf);
Matrix4 n = Matrix4::rotationX(Deg(23.0f))*Matrix4::translation({-1.0f, 2.0f, 3.0f}); Matrix4 n = Matrix4::rotationX(23.0_degf)*Matrix4::translation({-1.0f, 2.0f, 3.0f});
Vector3 v(0.0f, -3.6f, 0.7f); Vector3 v(0.0f, -3.6f, 0.7f);
Vector3 transformedA = (a*Dual(2)).transformPoint(v); Vector3 transformedA = (a*Dual(2)).transformPoint(v);
@ -564,10 +564,10 @@ void DualQuaternionTest::transformPoint() {
} }
void DualQuaternionTest::transformPointNormalized() { void DualQuaternionTest::transformPointNormalized() {
DualQuaternion a = DualQuaternion::translation({-1.0f, 2.0f, 3.0f})*DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis()); DualQuaternion a = DualQuaternion::translation({-1.0f, 2.0f, 3.0f})*DualQuaternion::rotation(23.0_degf, Vector3::xAxis());
DualQuaternion b = DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis())*DualQuaternion::translation({-1.0f, 2.0f, 3.0f}); DualQuaternion b = DualQuaternion::rotation(23.0_degf, Vector3::xAxis())*DualQuaternion::translation({-1.0f, 2.0f, 3.0f});
Matrix4 m = Matrix4::translation({-1.0f, 2.0f, 3.0f})*Matrix4::rotationX(Deg(23.0f)); Matrix4 m = Matrix4::translation({-1.0f, 2.0f, 3.0f})*Matrix4::rotationX(23.0_degf);
Matrix4 n = Matrix4::rotationX(Deg(23.0f))*Matrix4::translation({-1.0f, 2.0f, 3.0f}); Matrix4 n = Matrix4::rotationX(23.0_degf)*Matrix4::translation({-1.0f, 2.0f, 3.0f});
Vector3 v(0.0f, -3.6f, 0.7f); Vector3 v(0.0f, -3.6f, 0.7f);
Vector3 transformedA = a.transformPointNormalized(v); Vector3 transformedA = a.transformPointNormalized(v);
@ -587,7 +587,7 @@ void DualQuaternionTest::transformPointNormalizedNotNormalized() {
std::ostringstream out; std::ostringstream out;
Error redirectError{&out}; Error redirectError{&out};
DualQuaternion a = DualQuaternion::translation({-1.0f, 2.0f, 3.0f})*DualQuaternion::rotation(Deg(23.0f), Vector3::xAxis()); DualQuaternion a = DualQuaternion::translation({-1.0f, 2.0f, 3.0f})*DualQuaternion::rotation(23.0_degf, Vector3::xAxis());
(a*Dual(2)).transformPointNormalized({}); (a*Dual(2)).transformPointNormalized({});
CORRADE_COMPARE(out.str(), "Math::DualQuaternion::transformPointNormalized(): DualQuaternion({{0.398736, 0, 0}, 1.95985}, {{-0.979925, 2.55795, 2.54104}, 0.199368}) is not normalized\n"); CORRADE_COMPARE(out.str(), "Math::DualQuaternion::transformPointNormalized(): DualQuaternion({{0.398736, 0, 0}, 1.95985}, {{-0.979925, 2.55795, 2.54104}, 0.199368}) is not normalized\n");
} }

Loading…
Cancel
Save