Browse Source

DebugTools: simplified also 2D ForceRenderer transformation computation.

Also removed unneeded tests, as they don't reflect the code in any way.
pull/23/head
Vladimír Vondruš 13 years ago
parent
commit
f48ed0af13
  1. 2
      src/DebugTools/Implementation/ForceRendererTransformation.h
  2. 20
      src/DebugTools/Test/ForceRendererTest.cpp

2
src/DebugTools/Implementation/ForceRendererTransformation.h

@ -35,7 +35,7 @@ namespace Magnum { namespace DebugTools { namespace Implementation {
template<UnsignedInt dimensions> typename DimensionTraits<dimensions, Float>::MatrixType forceRendererTransformation(const typename DimensionTraits<dimensions, Float>::VectorType& forcePosition, const typename DimensionTraits<dimensions, Float>::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) {

20
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);

Loading…
Cancel
Save