From f48ed0af13a2fd65ad7c4003e8287007432e26fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 19 Aug 2013 23:49:58 +0200 Subject: [PATCH] DebugTools: simplified also 2D ForceRenderer transformation computation. Also removed unneeded tests, as they don't reflect the code in any way. --- .../ForceRendererTransformation.h | 2 +- src/DebugTools/Test/ForceRendererTest.cpp | 20 +++---------------- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/src/DebugTools/Implementation/ForceRendererTransformation.h b/src/DebugTools/Implementation/ForceRendererTransformation.h index fa4cdaf60..8674cbafa 100644 --- a/src/DebugTools/Implementation/ForceRendererTransformation.h +++ b/src/DebugTools/Implementation/ForceRendererTransformation.h @@ -35,7 +35,7 @@ namespace Magnum { namespace DebugTools { namespace Implementation { template typename DimensionTraits::MatrixType forceRendererTransformation(const typename DimensionTraits::VectorType& forcePosition, const typename DimensionTraits::VectorType& force); template<> inline Matrix3 forceRendererTransformation<2>(const Vector2& forcePosition, const Vector2& force) { - return Matrix3::from({force, Vector2(-force.y(), force.x())}, forcePosition); + return Matrix3::from({force, force.perpendicular()}, forcePosition); } template<> Matrix4 forceRendererTransformation<3>(const Vector3& forcePosition, const Vector3& force) { diff --git a/src/DebugTools/Test/ForceRendererTest.cpp b/src/DebugTools/Test/ForceRendererTest.cpp index e7e645221..d560e8e38 100644 --- a/src/DebugTools/Test/ForceRendererTest.cpp +++ b/src/DebugTools/Test/ForceRendererTest.cpp @@ -33,9 +33,7 @@ class ForceRendererTest: public TestSuite::Tester { explicit ForceRendererTest(); void zero2D(); - void parallel2D(); - void antiParallel2D(); - void arbitrary2D(); + void common2D(); void zero3D(); void parallel3D(); @@ -45,9 +43,7 @@ class ForceRendererTest: public TestSuite::Tester { ForceRendererTest::ForceRendererTest() { addTests({&ForceRendererTest::zero2D, - &ForceRendererTest::parallel2D, - &ForceRendererTest::antiParallel2D, - &ForceRendererTest::arbitrary2D, + &ForceRendererTest::common2D, &ForceRendererTest::zero3D, &ForceRendererTest::parallel3D, @@ -60,17 +56,7 @@ void ForceRendererTest::zero2D() { Matrix3::translation({0.5f, -3.0f})*Matrix3::scaling(Vector2(0.0f))); } -void ForceRendererTest::parallel2D() { - CORRADE_COMPARE(Implementation::forceRendererTransformation<2>({0.5f, -3.0f}, Vector2::xAxis(2.5f)), - Matrix3::translation({0.5f, -3.0f})*Matrix3::scaling(Vector2(2.5f))); -} - -void ForceRendererTest::antiParallel2D() { - CORRADE_COMPARE(Implementation::forceRendererTransformation<2>({0.5f, -3.0f}, Vector2::xAxis(-2.5f)), - Matrix3::translation({0.5f, -3.0f})*Matrix3::scaling(Vector2(-2.5f))); -} - -void ForceRendererTest::arbitrary2D() { +void ForceRendererTest::common2D() { Vector2 force(2.7f, -11.5f); Matrix3 m = Implementation::forceRendererTransformation<2>({0.5f, -3.0f}, force);