From b5c1052c961e6760fb5c4c25bff5806b7936b0af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 27 Feb 2013 23:45:08 +0100 Subject: [PATCH] DebugTools: using new type aliases in whole DebugTools namespace. --- src/DebugTools/DebugTools.h | 6 +++--- .../Implementation/AbstractBoxRenderer.h | 2 +- .../Implementation/AbstractShapeRenderer.cpp | 10 +++++----- .../Implementation/AbstractShapeRenderer.h | 4 ++-- .../Implementation/AxisAlignedBoxRenderer.cpp | 4 ++-- .../Implementation/AxisAlignedBoxRenderer.h | 2 +- src/DebugTools/Implementation/BoxRenderer.cpp | 4 ++-- src/DebugTools/Implementation/BoxRenderer.h | 2 +- .../Implementation/PointRenderer.cpp | 10 +++++----- src/DebugTools/Implementation/PointRenderer.h | 2 +- src/DebugTools/ObjectRenderer.cpp | 12 ++++++------ src/DebugTools/ObjectRenderer.h | 12 ++++++------ src/DebugTools/Profiler.h | 3 ++- src/DebugTools/ShapeRenderer.cpp | 6 +++--- src/DebugTools/ShapeRenderer.h | 18 +++++++++--------- 15 files changed, 49 insertions(+), 48 deletions(-) diff --git a/src/DebugTools/DebugTools.h b/src/DebugTools/DebugTools.h index 31fddcd58..1cac85e90 100644 --- a/src/DebugTools/DebugTools.h +++ b/src/DebugTools/DebugTools.h @@ -19,13 +19,13 @@ * @brief Forward declarations for Magnum::DebugTools namespace */ -#include +#include "Types.h" namespace Magnum { namespace DebugTools { /** @todoc Remove `ifndef` when Doxygen is sane again */ #ifndef DOXYGEN_GENERATING_OUTPUT -template class ObjectRenderer; +template class ObjectRenderer; typedef ObjectRenderer<2> ObjectRenderer2D; typedef ObjectRenderer<3> ObjectRenderer3D; class ObjectRendererOptions; @@ -33,7 +33,7 @@ class ObjectRendererOptions; class Profiler; class ResourceManager; -template class ShapeRenderer; +template class ShapeRenderer; typedef ShapeRenderer<2> ShapeRenderer2D; typedef ShapeRenderer<3> ShapeRenderer3D; class ShapeRendererOptions; diff --git a/src/DebugTools/Implementation/AbstractBoxRenderer.h b/src/DebugTools/Implementation/AbstractBoxRenderer.h index cc6f2a9a4..f5d494e8f 100644 --- a/src/DebugTools/Implementation/AbstractBoxRenderer.h +++ b/src/DebugTools/Implementation/AbstractBoxRenderer.h @@ -24,7 +24,7 @@ namespace Magnum { namespace DebugTools { namespace Implementation { -template class AbstractBoxRenderer; +template class AbstractBoxRenderer; template<> class AbstractBoxRenderer<2>: public AbstractShapeRenderer<2> { public: diff --git a/src/DebugTools/Implementation/AbstractShapeRenderer.cpp b/src/DebugTools/Implementation/AbstractShapeRenderer.cpp index b32dc0c1f..b461cac31 100644 --- a/src/DebugTools/Implementation/AbstractShapeRenderer.cpp +++ b/src/DebugTools/Implementation/AbstractShapeRenderer.cpp @@ -28,11 +28,11 @@ namespace Magnum { namespace DebugTools { namespace Implementation { namespace { -template ResourceKey shaderKey(); +template ResourceKey shaderKey(); template<> inline ResourceKey shaderKey<2>() { return ResourceKey("FlatShader2D"); } template<> inline ResourceKey shaderKey<3>() { return ResourceKey("FlatShader3D"); } -template void create(typename MeshData::Type&, Resource&, Resource&, Resource&); +template void create(typename MeshData::Type&, Resource&, Resource&, Resource&); template<> void create<2>(Trade::MeshData2D& data, Resource& meshResource, Resource& vertexBufferResource, Resource& indexBufferResource) { /* Vertex buffer */ @@ -80,7 +80,7 @@ template<> void create<3>(Trade::MeshData3D& data, Resource& meshResource, } -template AbstractShapeRenderer::AbstractShapeRenderer(ResourceKey meshKey, ResourceKey vertexBufferKey, ResourceKey indexBufferKey) { +template AbstractShapeRenderer::AbstractShapeRenderer(ResourceKey meshKey, ResourceKey vertexBufferKey, ResourceKey indexBufferKey) { shader = ResourceManager::instance()->get>(shaderKey()); mesh = ResourceManager::instance()->get(meshKey); vertexBuffer = ResourceManager::instance()->get(vertexBufferKey); @@ -90,9 +90,9 @@ template AbstractShapeRenderer::AbstractSha new Shaders::FlatShader, ResourceDataState::Final, ResourcePolicy::Resident); } -template AbstractShapeRenderer::~AbstractShapeRenderer() {} +template AbstractShapeRenderer::~AbstractShapeRenderer() {} -template void AbstractShapeRenderer::createResources(typename MeshData::Type data) { +template void AbstractShapeRenderer::createResources(typename MeshData::Type data) { create(data, this->mesh, this->vertexBuffer, this->indexBuffer); } diff --git a/src/DebugTools/Implementation/AbstractShapeRenderer.h b/src/DebugTools/Implementation/AbstractShapeRenderer.h index 1f530a86f..6e3b80be1 100644 --- a/src/DebugTools/Implementation/AbstractShapeRenderer.h +++ b/src/DebugTools/Implementation/AbstractShapeRenderer.h @@ -24,12 +24,12 @@ namespace Magnum { namespace DebugTools { namespace Implementation { -template struct MeshData; +template struct MeshData; template<> struct MeshData<2> { typedef Trade::MeshData2D Type; }; template<> struct MeshData<3> { typedef Trade::MeshData3D Type; }; -template class AbstractShapeRenderer { +template class AbstractShapeRenderer { public: AbstractShapeRenderer(ResourceKey mesh, ResourceKey vertexBuffer, ResourceKey indexBuffer); virtual ~AbstractShapeRenderer(); diff --git a/src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp b/src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp index 87b7ab1b6..cfbda116a 100644 --- a/src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp +++ b/src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp @@ -22,9 +22,9 @@ namespace Magnum { namespace DebugTools { namespace Implementation { -template AxisAlignedBoxRenderer::AxisAlignedBoxRenderer(Physics::AxisAlignedBox& axisAlignedBox): axisAlignedBox(axisAlignedBox) {} +template AxisAlignedBoxRenderer::AxisAlignedBoxRenderer(Physics::AxisAlignedBox& axisAlignedBox): axisAlignedBox(axisAlignedBox) {} -template void AxisAlignedBoxRenderer::draw(Resource& options, const typename DimensionTraits::MatrixType& projectionMatrix) { +template void AxisAlignedBoxRenderer::draw(Resource& options, const typename DimensionTraits::MatrixType& projectionMatrix) { /* Half scale, because the box is 2x2(x2) */ typename DimensionTraits::MatrixType transformation = DimensionTraits::MatrixType::translation((axisAlignedBox.transformedMin()+axisAlignedBox.transformedMax())/2)* diff --git a/src/DebugTools/Implementation/AxisAlignedBoxRenderer.h b/src/DebugTools/Implementation/AxisAlignedBoxRenderer.h index c826a24dc..75d6a93af 100644 --- a/src/DebugTools/Implementation/AxisAlignedBoxRenderer.h +++ b/src/DebugTools/Implementation/AxisAlignedBoxRenderer.h @@ -23,7 +23,7 @@ namespace Magnum { namespace DebugTools { namespace Implementation { -template class AxisAlignedBoxRenderer: public AbstractBoxRenderer { +template class AxisAlignedBoxRenderer: public AbstractBoxRenderer { public: AxisAlignedBoxRenderer(Physics::AxisAlignedBox& axisAlignedBox); diff --git a/src/DebugTools/Implementation/BoxRenderer.cpp b/src/DebugTools/Implementation/BoxRenderer.cpp index 291019d2d..fa42567c4 100644 --- a/src/DebugTools/Implementation/BoxRenderer.cpp +++ b/src/DebugTools/Implementation/BoxRenderer.cpp @@ -22,9 +22,9 @@ namespace Magnum { namespace DebugTools { namespace Implementation { -template BoxRenderer::BoxRenderer(Physics::Box& box): box(box) {} +template BoxRenderer::BoxRenderer(Physics::Box& box): box(box) {} -template void BoxRenderer::draw(Resource& options, const typename DimensionTraits::MatrixType& projectionMatrix) { +template void BoxRenderer::draw(Resource& options, const typename DimensionTraits::MatrixType& projectionMatrix) { /* Half scale, because the box is 2x2(x2) */ this->shader->setTransformationProjectionMatrix(projectionMatrix*box.transformedTransformation()* DimensionTraits::MatrixType::scaling(typename DimensionTraits::VectorType(0.5f))) diff --git a/src/DebugTools/Implementation/BoxRenderer.h b/src/DebugTools/Implementation/BoxRenderer.h index 6330ad519..7225471fa 100644 --- a/src/DebugTools/Implementation/BoxRenderer.h +++ b/src/DebugTools/Implementation/BoxRenderer.h @@ -23,7 +23,7 @@ namespace Magnum { namespace DebugTools { namespace Implementation { -template class BoxRenderer: public AbstractBoxRenderer { +template class BoxRenderer: public AbstractBoxRenderer { public: BoxRenderer(Physics::Box& box); diff --git a/src/DebugTools/Implementation/PointRenderer.cpp b/src/DebugTools/Implementation/PointRenderer.cpp index b13f9456b..3a658bbcb 100644 --- a/src/DebugTools/Implementation/PointRenderer.cpp +++ b/src/DebugTools/Implementation/PointRenderer.cpp @@ -26,24 +26,24 @@ namespace Magnum { namespace DebugTools { namespace Implementation { namespace { - template ResourceKey meshKey(); + template ResourceKey meshKey(); template<> inline ResourceKey meshKey<2>() { return ResourceKey("point2d"); } template<> inline ResourceKey meshKey<3>() { return ResourceKey("point3d"); } - template ResourceKey vertexBufferKey(); + template ResourceKey vertexBufferKey(); template<> inline ResourceKey vertexBufferKey<2>() { return ResourceKey("point2d-vertices"); } template<> inline ResourceKey vertexBufferKey<3>() { return ResourceKey("point3d-vertices"); } - template typename MeshData::Type meshData(); + template typename MeshData::Type meshData(); template<> inline Trade::MeshData2D meshData<2>() { return Primitives::Crosshair2D::wireframe(); } template<> inline Trade::MeshData3D meshData<3>() { return Primitives::Crosshair3D::wireframe(); } } -template PointRenderer::PointRenderer(Physics::Point& point): AbstractShapeRenderer(meshKey(), vertexBufferKey(), {}), point(point) { +template PointRenderer::PointRenderer(Physics::Point& point): AbstractShapeRenderer(meshKey(), vertexBufferKey(), {}), point(point) { if(!this->mesh) this->createResources(meshData()); } -template void PointRenderer::draw(Resource& options, const typename DimensionTraits::MatrixType& projectionMatrix) { +template void PointRenderer::draw(Resource& options, const typename DimensionTraits::MatrixType& projectionMatrix) { /* Half scale, because the point is 2x2(x2) */ this->shader->setTransformationProjectionMatrix(projectionMatrix* DimensionTraits::MatrixType::translation(point.transformedPosition())* diff --git a/src/DebugTools/Implementation/PointRenderer.h b/src/DebugTools/Implementation/PointRenderer.h index 31e22c746..820098191 100644 --- a/src/DebugTools/Implementation/PointRenderer.h +++ b/src/DebugTools/Implementation/PointRenderer.h @@ -23,7 +23,7 @@ namespace Magnum { namespace DebugTools { namespace Implementation { -template class PointRenderer: public AbstractShapeRenderer { +template class PointRenderer: public AbstractShapeRenderer { public: PointRenderer(Physics::Point& point); diff --git a/src/DebugTools/ObjectRenderer.cpp b/src/DebugTools/ObjectRenderer.cpp index 3deac8cdc..007dae13e 100644 --- a/src/DebugTools/ObjectRenderer.cpp +++ b/src/DebugTools/ObjectRenderer.cpp @@ -25,7 +25,7 @@ namespace Magnum { namespace DebugTools { namespace { -template struct Renderer; +template struct Renderer; template<> struct Renderer<2> { inline static ResourceKey shader() { return {"VertexColorShader2D"}; } @@ -35,7 +35,7 @@ template<> struct Renderer<2> { static const std::array positions; static const std::array, 8> colors; - static const std::array indices; + static const std::array indices; }; const std::array Renderer<2>::positions{{ @@ -62,7 +62,7 @@ const std::array, 8> Renderer<2>::colors{{ {0.0f, 1.0f, 0.0f}, }}; -const std::array Renderer<2>::indices{{ +const std::array Renderer<2>::indices{{ 0, 1, 1, 2, /* X axis */ 1, 3, @@ -117,7 +117,7 @@ const std::array, 12> Renderer<3>::colors{{ {0.0f, 0.0f, 1.0f} }}; -const std::array Renderer<3>::indices{{ +const std::array Renderer<3>::indices{{ 0, 1, 1, 2, /* X axis */ 1, 3, @@ -133,7 +133,7 @@ const std::array Renderer<3>::indices{{ } -template ObjectRenderer::ObjectRenderer(SceneGraph::AbstractObject* object, ResourceKey options, SceneGraph::DrawableGroup* drawables): SceneGraph::Drawable(object, drawables), options(ResourceManager::instance()->get(options)) { +template ObjectRenderer::ObjectRenderer(SceneGraph::AbstractObject* object, ResourceKey options, SceneGraph::DrawableGroup* drawables): SceneGraph::Drawable(object, drawables), options(ResourceManager::instance()->get(options)) { /* Shader */ shader = ResourceManager::instance()->get>(Renderer::shader()); if(!shader) ResourceManager::instance()->set(shader.key(), @@ -165,7 +165,7 @@ template ObjectRenderer::ObjectRenderer(Sce ResourceManager::instance()->set(this->mesh.key(), mesh, ResourceDataState::Final, ResourcePolicy::Manual); } -template void ObjectRenderer::draw(const typename DimensionTraits::MatrixType& transformationMatrix, SceneGraph::AbstractCamera* camera) { +template void ObjectRenderer::draw(const typename DimensionTraits::MatrixType& transformationMatrix, SceneGraph::AbstractCamera* camera) { shader->setTransformationProjectionMatrix(camera->projectionMatrix()*transformationMatrix*DimensionTraits::MatrixType::scaling(typename DimensionTraits::VectorType(options->size()))) ->use(); diff --git a/src/DebugTools/ObjectRenderer.h b/src/DebugTools/ObjectRenderer.h index 8aab17f1d..3391d4e7e 100644 --- a/src/DebugTools/ObjectRenderer.h +++ b/src/DebugTools/ObjectRenderer.h @@ -37,7 +37,7 @@ class ObjectRendererOptions { inline constexpr ObjectRendererOptions(): _size(1.0f) {} /** @brief Size of the rendered axes */ - inline constexpr GLfloat size() const { return _size; } + inline constexpr Float size() const { return _size; } /** * @brief Set size of the rendered axes @@ -45,13 +45,13 @@ class ObjectRendererOptions { * * Default is `1.0f`. */ - inline ObjectRendererOptions* setSize(GLfloat size) { + inline ObjectRendererOptions* setSize(Float size) { _size = size; return this; } private: - GLfloat _size; + Float _size; }; /** @@ -75,7 +75,7 @@ new DebugTools::ObjectRenderer2D(object, "my", debugDrawables); @see ObjectRenderer2D, ObjectRenderer3D */ -template class MAGNUM_DEBUGTOOLS_EXPORT ObjectRenderer: public SceneGraph::Drawable { +template class MAGNUM_DEBUGTOOLS_EXPORT ObjectRenderer: public SceneGraph::Drawable { public: /** * @brief Constructor @@ -90,8 +90,8 @@ template class MAGNUM_DEBUGTOOLS_EXPORT ObjectRenderer: explicit ObjectRenderer(SceneGraph::AbstractObject* object, ResourceKey options = ResourceKey(), SceneGraph::DrawableGroup* drawables = nullptr); protected: - /** @todoc Remove GLfloat when Doxygen properly treats this as override */ - void draw(const typename DimensionTraits::MatrixType& transformationMatrix, SceneGraph::AbstractCamera* camera) override; + /** @todoc Remove Float when Doxygen properly treats this as override */ + void draw(const typename DimensionTraits::MatrixType& transformationMatrix, SceneGraph::AbstractCamera* camera) override; private: Resource options; diff --git a/src/DebugTools/Profiler.h b/src/DebugTools/Profiler.h index 29f541f0a..03cb85e16 100644 --- a/src/DebugTools/Profiler.h +++ b/src/DebugTools/Profiler.h @@ -24,6 +24,7 @@ #include #include +#include "Types.h" #include "magnumDebugToolsVisibility.h" namespace Magnum { namespace DebugTools { @@ -95,7 +96,7 @@ class MAGNUM_DEBUGTOOLS_EXPORT Profiler { * * @see otherSection, addSection(), start(Section) */ - typedef std::uint32_t Section; + typedef UnsignedInt Section; /** * @brief Default section diff --git a/src/DebugTools/ShapeRenderer.cpp b/src/DebugTools/ShapeRenderer.cpp index 54a6cf21a..5b7cfb4a4 100644 --- a/src/DebugTools/ShapeRenderer.cpp +++ b/src/DebugTools/ShapeRenderer.cpp @@ -78,16 +78,16 @@ template<> void createDebugMesh(ShapeRenderer<3>* renderer, Physics::AbstractSha } #endif -template ShapeRenderer::ShapeRenderer(Physics::ObjectShape* shape, ResourceKey options, SceneGraph::DrawableGroup* drawables): SceneGraph::Drawable(shape->object(), drawables), options(ResourceManager::instance()->get(options)) { +template ShapeRenderer::ShapeRenderer(Physics::ObjectShape* shape, ResourceKey options, SceneGraph::DrawableGroup* drawables): SceneGraph::Drawable(shape->object(), drawables), options(ResourceManager::instance()->get(options)) { CORRADE_ASSERT(shape->shape() != nullptr, "DebugTools::ShapeRenderer: cannot create renderer for empty shape", ); Implementation::createDebugMesh(this, shape->shape()); } -template ShapeRenderer::~ShapeRenderer() { +template ShapeRenderer::~ShapeRenderer() { for(auto i: renderers) delete i; } -template void ShapeRenderer::draw(const typename DimensionTraits::MatrixType&, SceneGraph::AbstractCamera* camera) { +template void ShapeRenderer::draw(const typename DimensionTraits::MatrixType&, SceneGraph::AbstractCamera* camera) { typename DimensionTraits::MatrixType projectionMatrix = camera->projectionMatrix()*camera->cameraMatrix(); for(auto i: renderers) i->draw(options, projectionMatrix); } diff --git a/src/DebugTools/ShapeRenderer.h b/src/DebugTools/ShapeRenderer.h index 20b280e47..15db2c090 100644 --- a/src/DebugTools/ShapeRenderer.h +++ b/src/DebugTools/ShapeRenderer.h @@ -30,14 +30,14 @@ namespace Magnum { namespace DebugTools { /** @todoc Remove `ifndef` when Doxygen is sane again */ #ifndef DOXYGEN_GENERATING_OUTPUT -template class ShapeRenderer; +template class ShapeRenderer; #endif #ifndef DOXYGEN_GENERATING_OUTPUT namespace Implementation { - template class AbstractShapeRenderer; + template class AbstractShapeRenderer; - template void createDebugMesh(ShapeRenderer* renderer, Physics::AbstractShape* shape); + template void createDebugMesh(ShapeRenderer* renderer, Physics::AbstractShape* shape); } #endif @@ -65,7 +65,7 @@ class ShapeRendererOptions { } /** @brief Point size */ - inline constexpr GLfloat pointSize() const { return _pointSize; } + inline constexpr Float pointSize() const { return _pointSize; } /** * @brief Set point size @@ -74,14 +74,14 @@ class ShapeRendererOptions { * Size of rendered crosshairs, representing Physics::Point shapes. * Default is `0.25f`. */ - inline ShapeRendererOptions* setPointSize(GLfloat size) { + inline ShapeRendererOptions* setPointSize(Float size) { _pointSize = size; return this; } private: Color3<> _color; - GLfloat _pointSize; + Float _pointSize; }; /** @@ -105,7 +105,7 @@ new DebugTools::ShapeRenderer2D(shape, "red", debugDrawables); @see ShapeRenderer2D, ShapeRenderer3D */ -template class MAGNUM_DEBUGTOOLS_EXPORT ShapeRenderer: public SceneGraph::Drawable { +template class MAGNUM_DEBUGTOOLS_EXPORT ShapeRenderer: public SceneGraph::Drawable { #ifndef DOXYGEN_GENERATING_OUTPUT friend void Implementation::createDebugMesh<>(ShapeRenderer*, Physics::AbstractShape*); #endif @@ -129,8 +129,8 @@ template class MAGNUM_DEBUGTOOLS_EXPORT ShapeRenderer: ~ShapeRenderer(); protected: - /** @todoc Remove GLfloat when Doxygen properly treats this as override */ - void draw(const typename DimensionTraits::MatrixType& transformationMatrix, SceneGraph::AbstractCamera* camera) override; + /** @todoc Remove Float when Doxygen properly treats this as override */ + void draw(const typename DimensionTraits::MatrixType& transformationMatrix, SceneGraph::AbstractCamera* camera) override; private: Resource options;