Browse Source

DebugTools: don't use CORRADE_INTERNAL_ASSERT() for user-triggered error.

What was I thinking... Also updated the documentation to warn about it.
pull/7/head
Vladimír Vondruš 13 years ago
parent
commit
55477b98fe
  1. 2
      src/DebugTools/ShapeRenderer.cpp
  2. 4
      src/DebugTools/ShapeRenderer.h

2
src/DebugTools/ShapeRenderer.cpp

@ -68,7 +68,7 @@ template<> void createDebugMesh(ShapeRenderer<3>* renderer, Physics::AbstractSha
#endif
template<std::uint8_t dimensions> ShapeRenderer<dimensions>::ShapeRenderer(Physics::ObjectShape<dimensions>* shape, ResourceKey options, SceneGraph::DrawableGroup<dimensions>* drawables): SceneGraph::Drawable<dimensions>(shape->object(), drawables), options(ResourceManager::instance()->get<ShapeRendererOptions>(options)) {
CORRADE_INTERNAL_ASSERT(shape->shape() != nullptr);
CORRADE_ASSERT(shape->shape() != nullptr, "DebugTools::ShapeRenderer: cannot create renderer for empty shape", );
Implementation::createDebugMesh(this, shape->shape());
}

4
src/DebugTools/ShapeRenderer.h

@ -90,7 +90,7 @@ template<std::uint8_t dimensions> class MAGNUM_DEBUGTOOLS_EXPORT ShapeRenderer:
public:
/**
* @brief Constructor
* @param shape Shape for which to create debug renderer
* @param shape Object for which to create debug renderer
* @param options Options resource key. See
* @ref ShapeRenderer-usage "class documentation" for more
* information.
@ -98,6 +98,8 @@ template<std::uint8_t dimensions> class MAGNUM_DEBUGTOOLS_EXPORT ShapeRenderer:
*
* The renderer is automatically added to shape's object features,
* @p shape must be available for the whole lifetime of the renderer.
*
* @attention Passed object must have assigned shape.
*/
explicit ShapeRenderer(Physics::ObjectShape<dimensions>* shape, ResourceKey options = ResourceKey(), SceneGraph::DrawableGroup<dimensions>* drawables = nullptr);

Loading…
Cancel
Save