From 196c68ccf19fe28d17fff08829c82d879da6ef0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 21 Jan 2013 00:23:04 +0100 Subject: [PATCH] DebugTools: added missing 3D alternatives. They are implemented internally, but I somehow forgot to add them to the switch. --- src/DebugTools/ShapeRenderer.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/DebugTools/ShapeRenderer.cpp b/src/DebugTools/ShapeRenderer.cpp index bb5f6fe6a..75048b220 100644 --- a/src/DebugTools/ShapeRenderer.cpp +++ b/src/DebugTools/ShapeRenderer.cpp @@ -47,8 +47,18 @@ template<> void createDebugMesh(ShapeRenderer<2>* renderer, Physics::AbstractSha } } -template<> void createDebugMesh(ShapeRenderer<3>*, Physics::AbstractShape<3>* shape) { +template<> void createDebugMesh(ShapeRenderer<3>* renderer, Physics::AbstractShape<3>* shape) { switch(shape->type()) { + case Physics::AbstractShape3D::Type::AxisAlignedBox: + renderer->renderers.push_back(new Implementation::AxisAlignedBoxRenderer<3>(*static_cast(shape))); + case Physics::AbstractShape3D::Type::Box: + renderer->renderers.push_back(new Implementation::BoxRenderer<3>(*static_cast(shape))); + break; + case Physics::AbstractShape3D::Type::ShapeGroup: { + Physics::ShapeGroup3D* group = static_cast(shape); + if(group->first()) createDebugMesh(renderer, group->first()); + if(group->second()) createDebugMesh(renderer, group->second()); + } break; default: Warning() << "DebugTools::ShapeRenderer3D::createShapeRenderer(): type" << shape->type() << "not implemented"; }