From a60f35a026540cedb6bc99a8c7c4da9a6daecfcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 18:26:01 +0100 Subject: [PATCH 01/12] Fixed a few typos in docs (ahem). --- src/DebugTools/Profiler.h | 2 +- src/SceneGraph/FeatureGroup.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/DebugTools/Profiler.h b/src/DebugTools/Profiler.h index 1477d65d9..f3a4745b0 100644 --- a/src/DebugTools/Profiler.h +++ b/src/DebugTools/Profiler.h @@ -63,7 +63,7 @@ p.enable(); void MyApplication::drawEvent() { p.start(); - // ... misc stuff belogning to "Other" section + // ... misc stuff belonging to "Other" section p.start(sections.ai); diff --git a/src/SceneGraph/FeatureGroup.h b/src/SceneGraph/FeatureGroup.h index 36da1d463..bbf622566 100644 --- a/src/SceneGraph/FeatureGroup.h +++ b/src/SceneGraph/FeatureGroup.h @@ -56,7 +56,7 @@ class FeatureGroup { /** * @brief Destructor * - * Removes all features belogning to this group, but not deletes them. + * Removes all features belonging to this group, but not deletes them. */ inline virtual ~FeatureGroup() { for(auto i: features) i->_group = nullptr; From 7b140db3ed7107945cb5dd6cdd518b650037da3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 18:29:21 +0100 Subject: [PATCH 02/12] Properly test swizzle() constexpr. Removed constExpressions() test case and merged it to others, reducing duplicate code. --- src/Math/Test/SwizzleTest.cpp | 28 ++++++++------------ src/Test/SwizzleTest.cpp | 48 ++++++++++++++++++++++++----------- 2 files changed, 44 insertions(+), 32 deletions(-) diff --git a/src/Math/Test/SwizzleTest.cpp b/src/Math/Test/SwizzleTest.cpp index cb7596beb..5f01b4e62 100644 --- a/src/Math/Test/SwizzleTest.cpp +++ b/src/Math/Test/SwizzleTest.cpp @@ -35,7 +35,6 @@ class SwizzleTest: public Corrade::TestSuite::Tester { void components(); void constants(); void sizes(); - void constExpressions(); }; typedef Vector<4, Int> Vector4i; @@ -43,33 +42,28 @@ typedef Vector<4, Int> Vector4i; SwizzleTest::SwizzleTest() { addTests({&SwizzleTest::components, &SwizzleTest::constants, - &SwizzleTest::sizes, - &SwizzleTest::constExpressions}); + &SwizzleTest::sizes}); } void SwizzleTest::components() { - CORRADE_COMPARE((swizzle<'z', 'x', 'w', 'y'>(Vector4i(2, 4, 5, 7))), Vector4i(5, 2, 7, 4)); + constexpr auto a = swizzle<'z', 'x', 'w', 'y'>(Vector4i(2, 4, 5, 7)); + CORRADE_COMPARE(a, Vector4i(5, 2, 7, 4)); } void SwizzleTest::constants() { - CORRADE_COMPARE((swizzle<'1', 'w', '0', 'y'>(Vector4i(2, 4, 5, 7))), Vector4i(1, 7, 0, 4)); + constexpr auto a = swizzle<'1', 'w', '0', 'y'>(Vector4i(2, 4, 5, 7)); + CORRADE_COMPARE(a, Vector4i(1, 7, 0, 4)); } void SwizzleTest::sizes() { - CORRADE_COMPARE((swizzle<'y', 'x', 'x'>(Math::Vector<2, Int>(1, 2))), - (Math::Vector<3, Int>(2, 1, 1))); - CORRADE_COMPARE(swizzle<'z'>(Vector4i(1, 2, 3, 4)), - (Math::Vector<1, Int>(3))); - CORRADE_COMPARE((swizzle<'z', 'x', 'w', 'y', 'z', 'y', 'x'>(Vector4i(1, 2, 3, 4))), - (Math::Vector<7, Int>(3, 1, 4, 2, 3, 2, 1))); -} + constexpr auto a = swizzle<'y', 'x', 'x'>(Math::Vector<2, Int>(1, 2)); + CORRADE_COMPARE(a, (Math::Vector<3, Int>(2, 1, 1))); -void SwizzleTest::constExpressions() { - constexpr auto a = swizzle<'z', 'x', 'w', 'y'>(Vector4i(2, 4, 5, 7)); - CORRADE_COMPARE(a, Vector4i(5, 2, 7, 4)); + constexpr auto b = swizzle<'z'>(Vector4i(1, 2, 3, 4)); + CORRADE_COMPARE(b, (Math::Vector<1, Int>(3))); - constexpr auto b = swizzle<'1', 'w', '0', 'y'>(Vector4i(2, 4, 5, 7)); - CORRADE_COMPARE(b, Vector4i(1, 7, 0, 4)); + constexpr auto c = swizzle<'z', 'x', 'w', 'y', 'z', 'y', 'x'>(Vector4i(1, 2, 3, 4)); + CORRADE_COMPARE(c, (Math::Vector<7, Int>(3, 1, 4, 2, 3, 2, 1))); } }}} diff --git a/src/Test/SwizzleTest.cpp b/src/Test/SwizzleTest.cpp index 75d281c44..e340c3fa8 100644 --- a/src/Test/SwizzleTest.cpp +++ b/src/Test/SwizzleTest.cpp @@ -44,27 +44,45 @@ SwizzleTest::SwizzleTest() { } void SwizzleTest::rgba() { - CORRADE_COMPARE((swizzle<'b', 'r', 'a', 'g'>(Vector4i(2, 4, 5, 7))), Vector4i(5, 2, 7, 4)); + constexpr auto a = swizzle<'b', 'r', 'a', 'g'>(Vector4i(2, 4, 5, 7)); + CORRADE_COMPARE(a, Vector4i(5, 2, 7, 4)); } void SwizzleTest::type() { - Vector4i orig; - CORRADE_VERIFY((std::is_same(orig)), Vector2i>::value)); - CORRADE_VERIFY((std::is_same(orig)), Vector3i>::value)); - CORRADE_VERIFY((std::is_same(orig)), Vector4i>::value)); - - Color3 origColor3; - Color4 origColor4; - CORRADE_VERIFY((std::is_same(origColor3)), Color3>::value)); - CORRADE_VERIFY((std::is_same(origColor4)), Color3>::value)); - CORRADE_VERIFY((std::is_same(origColor3)), Color4>::value)); - CORRADE_VERIFY((std::is_same(origColor4)), Color4>::value)); + constexpr Vector4i orig; + constexpr Color3 origColor3; + constexpr Color4 origColor4; + + constexpr auto a = swizzle<'y', 'a'>(orig); + CORRADE_VERIFY((std::is_same::value)); + + constexpr auto b = swizzle<'y', 'z', 'a'>(orig); + CORRADE_VERIFY((std::is_same::value)); + + constexpr auto c = swizzle<'y', 'a', 'y', 'x'>(orig); + CORRADE_VERIFY((std::is_same::value)); + + constexpr auto d = swizzle<'y', 'z', 'r'>(origColor3); + CORRADE_VERIFY((std::is_same>::value)); + + constexpr auto e = swizzle<'y', 'z', 'a'>(origColor4); + CORRADE_VERIFY((std::is_same>::value)); + + constexpr auto f = swizzle<'y', 'z', 'y', 'x'>(origColor3); + CORRADE_VERIFY((std::is_same>::value)); + + constexpr auto g = swizzle<'y', 'a', 'y', 'x'>(origColor4); + CORRADE_VERIFY((std::is_same>::value)); } void SwizzleTest::defaultType() { - Vector4i orig(1, 2, 3, 4); - CORRADE_COMPARE(swizzle<'b'>(orig), (Math::Vector<1, Int>(3))); - CORRADE_COMPARE((swizzle<'b', 'r', 'a', 'g', 'z', 'y', 'x'>(orig)), (Math::Vector<7, Int>(3, 1, 4, 2, 3, 2, 1))); + constexpr Vector4i orig(1, 2, 3, 4); + + constexpr auto a = swizzle<'b'>(orig); + CORRADE_COMPARE(a, (Math::Vector<1, Int>(3))); + + constexpr auto b = swizzle<'b', 'r', 'a', 'g', 'z', 'y', 'x'>(orig); + CORRADE_COMPARE(b, (Math::Vector<7, Int>(3, 1, 4, 2, 3, 2, 1))); } }} From ba105b1cf66a62770a3488aeca039f9b1de4b2e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 18:30:20 +0100 Subject: [PATCH 03/12] Math: test constexpr vector conversion. --- src/Math/Test/VectorTest.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Math/Test/VectorTest.cpp b/src/Math/Test/VectorTest.cpp index 9b492efcd..dc6b94449 100644 --- a/src/Math/Test/VectorTest.cpp +++ b/src/Math/Test/VectorTest.cpp @@ -37,11 +37,11 @@ namespace Magnum { namespace Math { namespace Implementation { template<> struct VectorConverter<3, float, Vec3> { - inline static Vector<3, Float> from(const Vec3& other) { + inline constexpr static Vector<3, Float> from(const Vec3& other) { return {other.x, other.y, other.z}; } - inline static Vec3 to(const Vector<3, Float>& other) { + inline constexpr static Vec3 to(const Vector<3, Float>& other) { return {other[0], other[1], other[2]}; } }; @@ -198,12 +198,16 @@ void VectorTest::isNormalized() { } void VectorTest::convert() { - Vec3 a{1.5f, 2.0f, -3.5f}; - Vector3 b(1.5f, 2.0f, -3.5f); - CORRADE_COMPARE(Vector3(a), b); - CORRADE_COMPARE(Vec3(b).x, a.x); - CORRADE_COMPARE(Vec3(b).y, a.y); - CORRADE_COMPARE(Vec3(b).z, a.z); + constexpr Vec3 a{1.5f, 2.0f, -3.5f}; + constexpr Vector3 b(1.5f, 2.0f, -3.5f); + + constexpr Vector3 c(a); + CORRADE_COMPARE(c, b); + + constexpr Vec3 d(b); + CORRADE_COMPARE(d.x, a.x); + CORRADE_COMPARE(d.y, a.y); + CORRADE_COMPARE(d.z, a.z); } void VectorTest::data() { From 7bb580e03b3566754038f2ceb53b87f57c013097 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 18:42:12 +0100 Subject: [PATCH 04/12] GCC 4.6 compatibility: this can't be constexpr, don't know why. --- src/DebugTools/ForceRenderer.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/DebugTools/ForceRenderer.cpp b/src/DebugTools/ForceRenderer.cpp index 9b9fdd25a..63583685a 100644 --- a/src/DebugTools/ForceRenderer.cpp +++ b/src/DebugTools/ForceRenderer.cpp @@ -40,14 +40,23 @@ template ResourceKey shaderKey(); template<> inline ResourceKey shaderKey<2>() { return ResourceKey("FlatShader2D"); } template<> inline ResourceKey shaderKey<3>() { return ResourceKey("FlatShader3D"); } +/** @bug Why this is not constexpr under GCC 4.6? */ +#ifndef CORRADE_GCC46_COMPATIBILITY constexpr std::array positions{{ +#else +const std::array positions{{ +#endif {0.0f, 0.0f}, {1.0f, 0.0f}, {0.9f, 0.1f}, {0.9f, -0.1f} }}; +#ifndef CORRADE_GCC46_COMPATIBILITY constexpr std::array indices{{ +#else +const std::array indices{{ +#endif 0, 1, 1, 2, 1, 3 From 999b7d55c0b79a9a120d1c0e186fd236155072b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 18:43:07 +0100 Subject: [PATCH 05/12] GCC 4.6 compatibility: no delegating constructors. Don't know why the corresponding conversion operator can't be constexpr. --- src/Math/Test/VectorTest.cpp | 8 ++++++++ src/Math/Vector.h | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/src/Math/Test/VectorTest.cpp b/src/Math/Test/VectorTest.cpp index dc6b94449..b8069ffb2 100644 --- a/src/Math/Test/VectorTest.cpp +++ b/src/Math/Test/VectorTest.cpp @@ -201,10 +201,18 @@ void VectorTest::convert() { constexpr Vec3 a{1.5f, 2.0f, -3.5f}; constexpr Vector3 b(1.5f, 2.0f, -3.5f); + #ifndef CORRADE_GCC46_COMPATIBILITY constexpr Vector3 c(a); + #else + Vector3 c(a); /* Not constexpr under GCC < 4.7 */ + #endif CORRADE_COMPARE(c, b); + #ifndef CORRADE_GCC46_COMPATIBILITY constexpr Vec3 d(b); + #else + Vec3 d(b); /* Not constexpr under GCC < 4.7 */ + #endif CORRADE_COMPARE(d.x, a.x); CORRADE_COMPARE(d.y, a.y); CORRADE_COMPARE(d.z, a.z); diff --git a/src/Math/Vector.h b/src/Math/Vector.h index 5ef5b508a..9e333dfdc 100644 --- a/src/Math/Vector.h +++ b/src/Math/Vector.h @@ -162,7 +162,13 @@ template class Vector { #endif /** @brief Construct vector from external representation */ + #ifndef CORRADE_GCC46_COMPATIBILITY template::from(std::declval()))> inline constexpr explicit Vector(const U& other): Vector(Implementation::VectorConverter::from(other)) {} + #else + template::from(std::declval()))> inline explicit Vector(const U& other) { + *this = Vector(Implementation::VectorConverter::from(other)); + } + #endif /** @brief Copy constructor */ inline constexpr Vector(const Vector&) = default; @@ -172,6 +178,7 @@ template class Vector { /** @brief Convert vector to external representation */ template::to(std::declval>()))> inline constexpr explicit operator U() const { + /** @bug Why this is not constexpr under GCC 4.6? */ return Implementation::VectorConverter::to(*this); } From 2d92d497d9a1b20c9ff83e386b58745955204d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 20:45:06 +0100 Subject: [PATCH 06/12] GCC 4.6 compatibility: can't list-initialize array of classes. Awesome bug. In GCC 4.6 it throws plenty of ungoogleable `-pedantic` warnings and in GCC 4.5 it fails directly with "error: bad array initializer". Fallback to initialization using for-cycle. Hello, performance? You can go home now. --- src/Math/RectangularMatrix.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Math/RectangularMatrix.h b/src/Math/RectangularMatrix.h index fb869992d..8fa5ac663 100644 --- a/src/Math/RectangularMatrix.h +++ b/src/Math/RectangularMatrix.h @@ -106,7 +106,12 @@ template class RectangularMatrix { * * @todo Creating matrix from arbitrary combination of matrices with n rows */ + #ifndef CORRADE_GCC46_COMPATIBILITY template inline constexpr /*implicit*/ RectangularMatrix(const Vector& first, const U&... next): _data{first, next...} { + #else + template inline /*implicit*/ RectangularMatrix(const Vector& first, const U&... next): _data() { + constructInternal({first, next...}); + #endif static_assert(sizeof...(next)+1 == cols, "Improper number of arguments passed to RectangularMatrix constructor"); } @@ -443,7 +448,21 @@ template class RectangularMatrix { private: /* Implementation for RectangularMatrix::RectangularMatrix(const RectangularMatrix&) */ + #ifndef CORRADE_GCC46_COMPATIBILITY template inline constexpr explicit RectangularMatrix(Implementation::Sequence, const RectangularMatrix& matrix): _data{Vector(matrix[sequence])...} {} + #else + template inline constexpr explicit RectangularMatrix(Implementation::Sequence, const RectangularMatrix& matrix): _data() { + constructInternal({Vector(matrix[sequence])...}); + } + #endif + + #ifdef CORRADE_GCC46_COMPATIBILITY + /* GCC < 4.7 workaround for a ton of warnings / "error: bad array initializer" */ + inline void constructInternal(std::initializer_list> data) { + for(std::size_t i = 0; i != data.size(); ++i) + _data[i] = *(data.begin() + i); + } + #endif Vector _data[cols]; }; From 4bb919e13807c7539c309a629939b0aa6843ee21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 20:48:18 +0100 Subject: [PATCH 07/12] Don't define Query constructors & destructors in header. AbstractQuery is virtual class, thus the constructors & destructors are heavier than it looks. --- src/Query.cpp | 24 ++++++++++++++++++++++++ src/Query.h | 24 +++++++----------------- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/Query.cpp b/src/Query.cpp index 072fad307..df80395fa 100644 --- a/src/Query.cpp +++ b/src/Query.cpp @@ -26,6 +26,20 @@ namespace Magnum { +AbstractQuery::AbstractQuery() { + /** @todo Get some extension wrangler instead to avoid undeclared glGenQueries() on ES2 */ + #ifndef MAGNUM_TARGET_GLES2 + glGenQueries(1, &_id); + #endif +} + +AbstractQuery::~AbstractQuery() { + /** @todo Get some extension wrangler instead to avoid undeclared glGenQueries() on ES2 */ + #ifndef MAGNUM_TARGET_GLES2 + glDeleteQueries(1, &_id); + #endif +} + bool AbstractQuery::resultAvailable() { /** @todo Re-enable when extension wrangler is available for ES */ #ifndef MAGNUM_TARGET_GLES2 @@ -79,6 +93,10 @@ template<> Long AbstractQuery::result() { } #endif +Query::Query(): target(nullptr) {} + +Query::~Query() { delete target; } + #ifndef MAGNUM_TARGET_GLES2 void Query::begin(Query::Target target) { glBeginQuery(static_cast(target), id()); @@ -94,6 +112,10 @@ void Query::end() { } #endif +SampleQuery::SampleQuery(): target(nullptr) {} + +SampleQuery::~SampleQuery() { delete target; } + void SampleQuery::begin(SampleQuery::Target target) { /** @todo Re-enable when extension wrangler is available for ES */ #ifndef MAGNUM_TARGET_GLES2 @@ -113,4 +135,6 @@ void SampleQuery::end() { target = nullptr; } +TimeQuery::TimeQuery() = default; + } diff --git a/src/Query.h b/src/Query.h index 76ad04a55..11f597ff9 100644 --- a/src/Query.h +++ b/src/Query.h @@ -49,12 +49,7 @@ class MAGNUM_EXPORT AbstractQuery { * Generates one OpenGL query. * @see @fn_gl{GenQueries} */ - inline explicit AbstractQuery() { - /** @todo Get some extension wrangler instead to avoid undeclared glGenQueries() on ES2 */ - #ifndef MAGNUM_TARGET_GLES2 - glGenQueries(1, &_id); - #endif - } + explicit AbstractQuery(); /** * @brief Destructor @@ -62,12 +57,7 @@ class MAGNUM_EXPORT AbstractQuery { * Deletes assigned OpenGL query. * @see @fn_gl{DeleteQueries} */ - virtual inline ~AbstractQuery() { - /** @todo Get some extension wrangler instead to avoid undeclared glGenQueries() on ES2 */ - #ifndef MAGNUM_TARGET_GLES2 - glDeleteQueries(1, &_id); - #endif - } + virtual ~AbstractQuery() = 0; /** @brief OpenGL query ID */ inline GLuint id() const { return _id; } @@ -163,9 +153,9 @@ class MAGNUM_EXPORT Query: public AbstractQuery { #endif }; - inline explicit Query(): target(nullptr) {} + explicit Query(); - inline ~Query() { delete target; } + ~Query(); /** * @brief Begin query @@ -294,9 +284,9 @@ class MAGNUM_EXPORT SampleQuery: public AbstractQuery { }; #endif - inline explicit SampleQuery(): target(nullptr) {} + explicit SampleQuery(); - inline ~SampleQuery() { delete target; } + ~SampleQuery(); /** @copydoc Query::begin() */ void begin(Target target); @@ -369,7 +359,7 @@ Using this query results in fewer OpenGL calls when doing more measures. */ class TimeQuery: public AbstractQuery { public: - explicit TimeQuery() = default; + explicit TimeQuery(); /** * @brief Query timestamp From 5db0861b826034f5adbe8588598bd303ec782556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 20:52:47 +0100 Subject: [PATCH 08/12] Trade: don't define AbstractImporter constructors in header. They are heavier than it seems due to inheritance and virtual functions. --- src/Trade/AbstractImporter.cpp | 4 ++++ src/Trade/AbstractImporter.h | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Trade/AbstractImporter.cpp b/src/Trade/AbstractImporter.cpp index 79f7a9098..5d7dcf24d 100644 --- a/src/Trade/AbstractImporter.cpp +++ b/src/Trade/AbstractImporter.cpp @@ -30,6 +30,10 @@ namespace Magnum { namespace Trade { +AbstractImporter::AbstractImporter() = default; + +AbstractImporter::AbstractImporter(Corrade::PluginManager::AbstractPluginManager* manager, std::string plugin): AbstractPlugin(manager, std::move(plugin)) {} + bool AbstractImporter::open(const std::string&) { Error() << plugin() << "doesn't support opening files"; return false; diff --git a/src/Trade/AbstractImporter.h b/src/Trade/AbstractImporter.h index 566a9ae46..1c6f1f754 100644 --- a/src/Trade/AbstractImporter.h +++ b/src/Trade/AbstractImporter.h @@ -71,10 +71,10 @@ class MAGNUM_EXPORT AbstractImporter: public Corrade::PluginManager::AbstractPlu typedef Corrade::Containers::EnumSet Features; /** @brief Default constructor */ - inline explicit AbstractImporter() = default; + explicit AbstractImporter(); /** @brief Plugin manager constructor */ - inline explicit AbstractImporter(Corrade::PluginManager::AbstractPluginManager* manager, std::string plugin): AbstractPlugin(manager, std::move(plugin)) {} + explicit AbstractImporter(Corrade::PluginManager::AbstractPluginManager* manager, std::string plugin); /** @brief Features supported by this importer */ virtual Features features() const = 0; From e76543703f90bffae916340891ac6c0ab98326fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 20:54:42 +0100 Subject: [PATCH 09/12] Trade: don't define MeshData constructor etc. in header. The class has heavy construction/destruction due to all the vectors. --- src/Trade/MeshData2D.cpp | 6 ++++++ src/Trade/MeshData2D.h | 6 +++--- src/Trade/MeshData3D.cpp | 6 ++++++ src/Trade/MeshData3D.h | 6 +++--- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/Trade/MeshData2D.cpp b/src/Trade/MeshData2D.cpp index dc665bc37..57cde771b 100644 --- a/src/Trade/MeshData2D.cpp +++ b/src/Trade/MeshData2D.cpp @@ -28,6 +28,12 @@ namespace Magnum { namespace Trade { +MeshData2D::MeshData2D(Mesh::Primitive primitive, std::vector* indices, std::vector*> positions, std::vector*> textureCoords2D): _primitive(primitive), _indices(indices), _positions(std::move(positions)), _textureCoords2D(std::move(textureCoords2D)) {} + +MeshData2D::MeshData2D(MeshData2D&&) = default; + +MeshData2D& MeshData2D::operator=(MeshData2D&&) = default; + MeshData2D::~MeshData2D() { delete _indices; for(auto i: _positions) delete i; diff --git a/src/Trade/MeshData2D.h b/src/Trade/MeshData2D.h index 4c52fa326..cb48f55b4 100644 --- a/src/Trade/MeshData2D.h +++ b/src/Trade/MeshData2D.h @@ -56,16 +56,16 @@ class MAGNUM_EXPORT MeshData2D { * @param textureCoords2D Array with two-dimensional texture * coordinate arrays or empty array */ - inline MeshData2D(Mesh::Primitive primitive, std::vector* indices, std::vector*> positions, std::vector*> textureCoords2D): _primitive(primitive), _indices(indices), _positions(positions), _textureCoords2D(textureCoords2D) {} + MeshData2D(Mesh::Primitive primitive, std::vector* indices, std::vector*> positions, std::vector*> textureCoords2D); /** @brief Move constructor */ - MeshData2D(MeshData2D&&) = default; + MeshData2D(MeshData2D&&); /** @brief Destructor */ ~MeshData2D(); /** @brief Move assignment */ - MeshData2D& operator=(MeshData2D&&) = default; + MeshData2D& operator=(MeshData2D&&); /** @brief Primitive */ inline Mesh::Primitive primitive() const { return _primitive; } diff --git a/src/Trade/MeshData3D.cpp b/src/Trade/MeshData3D.cpp index cd85af98d..ee6e27253 100644 --- a/src/Trade/MeshData3D.cpp +++ b/src/Trade/MeshData3D.cpp @@ -28,6 +28,12 @@ namespace Magnum { namespace Trade { +MeshData3D::MeshData3D(Mesh::Primitive primitive, std::vector* indices, std::vector*> positions, std::vector*> normals, std::vector*> textureCoords2D): _primitive(primitive), _indices(indices), _positions(std::move(positions)), _normals(std::move(normals)), _textureCoords2D(std::move(textureCoords2D)) {} + +MeshData3D::MeshData3D(MeshData3D&&) = default; + +MeshData3D& MeshData3D::operator=(MeshData3D&&) = default; + MeshData3D::~MeshData3D() { delete _indices; for(auto i: _positions) delete i; diff --git a/src/Trade/MeshData3D.h b/src/Trade/MeshData3D.h index 0a41f02d6..94a3996d1 100644 --- a/src/Trade/MeshData3D.h +++ b/src/Trade/MeshData3D.h @@ -57,16 +57,16 @@ class MAGNUM_EXPORT MeshData3D { * @param textureCoords2D Array with two-dimensional texture * coordinate arrays or empty array */ - inline MeshData3D(Mesh::Primitive primitive, std::vector* indices, std::vector*> positions, std::vector*> normals, std::vector*> textureCoords2D): _primitive(primitive), _indices(indices), _positions(positions), _normals(normals), _textureCoords2D(textureCoords2D) {} + MeshData3D(Mesh::Primitive primitive, std::vector* indices, std::vector*> positions, std::vector*> normals, std::vector*> textureCoords2D); /** @brief Move constructor */ - MeshData3D(MeshData3D&&) = default; + MeshData3D(MeshData3D&&); /** @brief Destructor */ ~MeshData3D(); /** @brief Move assignment */ - MeshData3D& operator=(MeshData3D&&) = default; + MeshData3D& operator=(MeshData3D&&); /** @brief Primitive */ inline Mesh::Primitive primitive() const { return _primitive; } From 38ec076edabbf978ffc7fb997292a00350d073bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 20:55:23 +0100 Subject: [PATCH 10/12] Minor code cleanup (unused parameters). --- src/AbstractFramebuffer.h | 8 ++++---- src/AbstractImage.h | 8 ++++---- src/AbstractShaderProgram.h | 8 ++++---- src/AbstractTexture.h | 4 ++-- src/Buffer.h | 8 ++++---- src/BufferTexture.h | 8 ++++---- src/Mesh.h | 4 ++-- src/Physics/ShapeGroup.h | 4 ++-- src/Platform/AbstractXApplication.h | 8 ++++---- src/Platform/GlutApplication.h | 8 ++++---- src/Platform/NaClApplication.h | 8 ++++---- src/Platform/Sdl2Application.h | 8 ++++---- src/Renderbuffer.h | 8 ++++---- src/SceneGraph/Object.h | 8 ++++---- src/Shader.h | 4 ++-- src/Trade/AbstractMaterialData.h | 8 ++++---- src/Trade/CameraData.h | 8 ++++---- src/Trade/LightData.h | 8 ++++---- src/Trade/MeshData2D.h | 4 ++-- src/Trade/MeshData3D.h | 4 ++-- src/Trade/MeshObjectData2D.h | 8 ++++---- src/Trade/MeshObjectData3D.h | 8 ++++---- src/Trade/ObjectData2D.h | 8 ++++---- src/Trade/ObjectData3D.h | 8 ++++---- src/Trade/SceneData.h | 8 ++++---- src/Trade/TextureData.h | 8 ++++---- 26 files changed, 92 insertions(+), 92 deletions(-) diff --git a/src/AbstractFramebuffer.h b/src/AbstractFramebuffer.h index 34615da53..0be1f2e34 100644 --- a/src/AbstractFramebuffer.h +++ b/src/AbstractFramebuffer.h @@ -52,10 +52,10 @@ switching framebuffers. class MAGNUM_EXPORT AbstractFramebuffer { friend class Context; - AbstractFramebuffer(const AbstractFramebuffer& other) = delete; - AbstractFramebuffer(AbstractFramebuffer&& other) = delete; - AbstractFramebuffer& operator=(const AbstractFramebuffer& other) = delete; - AbstractFramebuffer& operator=(AbstractFramebuffer&& other) = delete; + AbstractFramebuffer(const AbstractFramebuffer&) = delete; + AbstractFramebuffer(AbstractFramebuffer&&) = delete; + AbstractFramebuffer& operator=(const AbstractFramebuffer&) = delete; + AbstractFramebuffer& operator=(AbstractFramebuffer&&) = delete; public: /** diff --git a/src/AbstractImage.h b/src/AbstractImage.h index 6de9cd7cc..0274d5846 100644 --- a/src/AbstractImage.h +++ b/src/AbstractImage.h @@ -47,10 +47,10 @@ functions operating with images). It also possibly needs to be "stackable" to easily revert the state back. */ class MAGNUM_EXPORT AbstractImage { - AbstractImage(const AbstractImage& other) = delete; - AbstractImage(AbstractImage&& other) = delete; - AbstractImage& operator=(const AbstractImage& other) = delete; - AbstractImage& operator=(AbstractImage&& other) = delete; + AbstractImage(const AbstractImage&) = delete; + AbstractImage(AbstractImage&&) = delete; + AbstractImage& operator=(const AbstractImage&) = delete; + AbstractImage& operator=(AbstractImage&&) = delete; public: /** diff --git a/src/AbstractShaderProgram.h b/src/AbstractShaderProgram.h index 02e161d58..814cf4d33 100644 --- a/src/AbstractShaderProgram.h +++ b/src/AbstractShaderProgram.h @@ -285,10 +285,10 @@ comes in handy. class MAGNUM_EXPORT AbstractShaderProgram { friend class Context; - AbstractShaderProgram(const AbstractShaderProgram& other) = delete; - AbstractShaderProgram(AbstractShaderProgram&& other) = delete; - AbstractShaderProgram& operator=(const AbstractShaderProgram& other) = delete; - AbstractShaderProgram& operator=(AbstractShaderProgram&& other) = delete; + AbstractShaderProgram(const AbstractShaderProgram&) = delete; + AbstractShaderProgram(AbstractShaderProgram&&) = delete; + AbstractShaderProgram& operator=(const AbstractShaderProgram&) = delete; + AbstractShaderProgram& operator=(AbstractShaderProgram&&) = delete; public: /** diff --git a/src/AbstractTexture.h b/src/AbstractTexture.h index 19a5fe974..6f256102a 100644 --- a/src/AbstractTexture.h +++ b/src/AbstractTexture.h @@ -82,8 +82,8 @@ do nothing. class MAGNUM_EXPORT AbstractTexture { friend class Context; - AbstractTexture(const AbstractTexture& other) = delete; - AbstractTexture& operator=(const AbstractTexture& other) = delete; + AbstractTexture(const AbstractTexture&) = delete; + AbstractTexture& operator=(const AbstractTexture&) = delete; public: /** diff --git a/src/Buffer.h b/src/Buffer.h index c1f41a2f7..9fe1d26bc 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -123,10 +123,10 @@ nothing. class MAGNUM_EXPORT Buffer { friend class Context; - Buffer(const Buffer& other) = delete; - Buffer(Buffer&& other) = delete; - Buffer& operator=(const Buffer& other) = delete; - Buffer& operator=(Buffer&& other) = delete; + Buffer(const Buffer&) = delete; + Buffer(Buffer&&) = delete; + Buffer& operator=(const Buffer&) = delete; + Buffer& operator=(Buffer&&) = delete; public: /** diff --git a/src/BufferTexture.h b/src/BufferTexture.h index 1f0fdeb52..38adaa430 100644 --- a/src/BufferTexture.h +++ b/src/BufferTexture.h @@ -82,10 +82,10 @@ documentation for more information. class MAGNUM_EXPORT BufferTexture: private AbstractTexture { friend class Context; - BufferTexture(const BufferTexture& other) = delete; - BufferTexture(BufferTexture&& other) = delete; - BufferTexture& operator=(const BufferTexture& other) = delete; - BufferTexture& operator=(BufferTexture&& other) = delete; + BufferTexture(const BufferTexture&) = delete; + BufferTexture(BufferTexture&&) = delete; + BufferTexture& operator=(const BufferTexture&) = delete; + BufferTexture& operator=(BufferTexture&&) = delete; public: /** diff --git a/src/Mesh.h b/src/Mesh.h index 7f7d47b8d..a2b3489e5 100644 --- a/src/Mesh.h +++ b/src/Mesh.h @@ -240,8 +240,8 @@ for more information. class MAGNUM_EXPORT Mesh { friend class Context; - Mesh(const Mesh& other) = delete; - Mesh& operator=(const Mesh& other) = delete; + Mesh(const Mesh&) = delete; + Mesh& operator=(const Mesh&) = delete; public: /** @name Polygon drawing settings */ diff --git a/src/Physics/ShapeGroup.h b/src/Physics/ShapeGroup.h index 40e222936..b546d60ba 100644 --- a/src/Physics/ShapeGroup.h +++ b/src/Physics/ShapeGroup.h @@ -95,8 +95,8 @@ template class MAGNUM_PHYSICS_EXPORT ShapeGroup: public #undef friendOp #endif - ShapeGroup(const ShapeGroup& other) = delete; - ShapeGroup& operator=(const ShapeGroup& other) = delete; + ShapeGroup(const ShapeGroup&) = delete; + ShapeGroup& operator=(const ShapeGroup&) = delete; public: /** @brief Default constructor */ diff --git a/src/Platform/AbstractXApplication.h b/src/Platform/AbstractXApplication.h index 1de097e9a..415105fa1 100644 --- a/src/Platform/AbstractXApplication.h +++ b/src/Platform/AbstractXApplication.h @@ -161,10 +161,10 @@ CORRADE_ENUMSET_OPERATORS(AbstractXApplication::Flags) mousePressEvent(), mouseReleaseEvent(), mouseMoveEvent() */ class AbstractXApplication::InputEvent { - InputEvent(const InputEvent& other) = delete; - InputEvent(InputEvent&& other) = delete; - InputEvent& operator=(const InputEvent& other) = delete; - InputEvent& operator=(InputEvent&& other) = delete; + InputEvent(const InputEvent&) = delete; + InputEvent(InputEvent&&) = delete; + InputEvent& operator=(const InputEvent&) = delete; + InputEvent& operator=(InputEvent&&) = delete; public: public: diff --git a/src/Platform/GlutApplication.h b/src/Platform/GlutApplication.h index 15921fb12..2dd33de0c 100644 --- a/src/Platform/GlutApplication.h +++ b/src/Platform/GlutApplication.h @@ -231,10 +231,10 @@ class GlutApplication { mouseReleaseEvent(), mouseMoveEvent() */ class GlutApplication::InputEvent { - InputEvent(const InputEvent& other) = delete; - InputEvent(InputEvent&& other) = delete; - InputEvent& operator=(const InputEvent& other) = delete; - InputEvent& operator=(InputEvent&& other) = delete; + InputEvent(const InputEvent&) = delete; + InputEvent(InputEvent&&) = delete; + InputEvent& operator=(const InputEvent&) = delete; + InputEvent& operator=(InputEvent&&) = delete; public: inline virtual ~InputEvent() {} diff --git a/src/Platform/NaClApplication.h b/src/Platform/NaClApplication.h index bd3145b0d..2508b50bd 100644 --- a/src/Platform/NaClApplication.h +++ b/src/Platform/NaClApplication.h @@ -228,10 +228,10 @@ propagated to the browser. mousePressEvent(), mouseReleaseEvent(), mouseMoveEvent() */ class NaClApplication::InputEvent { - InputEvent(const InputEvent& other) = delete; - InputEvent(InputEvent&& other) = delete; - InputEvent& operator=(const InputEvent& other) = delete; - InputEvent& operator=(InputEvent&& other) = delete; + InputEvent(const InputEvent&) = delete; + InputEvent(InputEvent&&) = delete; + InputEvent& operator=(const InputEvent&) = delete; + InputEvent& operator=(InputEvent&&) = delete; public: /** diff --git a/src/Platform/Sdl2Application.h b/src/Platform/Sdl2Application.h index 7a4d783cf..e7c69601b 100644 --- a/src/Platform/Sdl2Application.h +++ b/src/Platform/Sdl2Application.h @@ -186,10 +186,10 @@ CORRADE_ENUMSET_OPERATORS(Sdl2Application::Flags) mousePressEvent(), mouseReleaseEvent(), mouseMoveEvent() */ class Sdl2Application::InputEvent { - InputEvent(const InputEvent& other) = delete; - InputEvent(InputEvent&& other) = delete; - InputEvent& operator=(const InputEvent& other) = delete; - InputEvent& operator=(InputEvent&& other) = delete; + InputEvent(const InputEvent&) = delete; + InputEvent(InputEvent&&) = delete; + InputEvent& operator=(const InputEvent&) = delete; + InputEvent& operator=(InputEvent&&) = delete; public: /** diff --git a/src/Renderbuffer.h b/src/Renderbuffer.h index 20420056b..8c9cc8957 100644 --- a/src/Renderbuffer.h +++ b/src/Renderbuffer.h @@ -54,10 +54,10 @@ See its documentation for more information. class MAGNUM_EXPORT Renderbuffer { friend class Context; - Renderbuffer(const Renderbuffer& other) = delete; - Renderbuffer(Renderbuffer&& other) = delete; - Renderbuffer& operator=(const Renderbuffer& other) = delete; - Renderbuffer& operator=(Renderbuffer&& other) = delete; + Renderbuffer(const Renderbuffer&) = delete; + Renderbuffer(Renderbuffer&&) = delete; + Renderbuffer& operator=(const Renderbuffer&) = delete; + Renderbuffer& operator=(Renderbuffer&&) = delete; public: /** diff --git a/src/SceneGraph/Object.h b/src/SceneGraph/Object.h index 07bfc61b1..f287af3b4 100644 --- a/src/SceneGraph/Object.h +++ b/src/SceneGraph/Object.h @@ -99,10 +99,10 @@ template class MAGNUM_SCENEGRAPH_EXPORT Object: public Abs friend class Corrade::Containers::LinkedListItem, Object>; #ifndef DOXYGEN_GENERATING_OUTPUT - Object(const Object& other) = delete; - Object(Object&& other) = delete; - Object& operator=(const Object& other) = delete; - Object& operator=(Object&& other) = delete; + Object(const Object&) = delete; + Object(Object&&) = delete; + Object& operator=(const Object&) = delete; + Object& operator=(Object&&) = delete; #endif public: diff --git a/src/Shader.h b/src/Shader.h index 5332b0e7b..944ca2ff2 100644 --- a/src/Shader.h +++ b/src/Shader.h @@ -45,8 +45,8 @@ Allows loading and compiling the shader from file or directly from source string. See AbstractShaderProgram for more information. */ class MAGNUM_EXPORT Shader { - Shader(const Shader& other) = delete; - Shader& operator=(const Shader& other) = delete; + Shader(const Shader&) = delete; + Shader& operator=(const Shader&) = delete; public: /** @brief %Shader type */ diff --git a/src/Trade/AbstractMaterialData.h b/src/Trade/AbstractMaterialData.h index 311644a1e..92630b427 100644 --- a/src/Trade/AbstractMaterialData.h +++ b/src/Trade/AbstractMaterialData.h @@ -38,10 +38,10 @@ namespace Magnum { namespace Trade { Subclasses provide access to parameters for given material type. */ class AbstractMaterialData { - AbstractMaterialData(const AbstractMaterialData& other) = delete; - AbstractMaterialData(AbstractMaterialData&& other) = delete; - AbstractMaterialData& operator=(const AbstractMaterialData& other) = delete; - AbstractMaterialData& operator=(AbstractMaterialData&& other) = delete; + AbstractMaterialData(const AbstractMaterialData&) = delete; + AbstractMaterialData(AbstractMaterialData&&) = delete; + AbstractMaterialData& operator=(const AbstractMaterialData&) = delete; + AbstractMaterialData& operator=(AbstractMaterialData&&) = delete; public: /** @brief Material type */ diff --git a/src/Trade/CameraData.h b/src/Trade/CameraData.h index a8bfad918..1701bcabd 100644 --- a/src/Trade/CameraData.h +++ b/src/Trade/CameraData.h @@ -36,10 +36,10 @@ namespace Magnum { namespace Trade { @brief %Camera data */ class MAGNUM_EXPORT CameraData { - CameraData(const CameraData& other) = delete; - CameraData(CameraData&& other) = delete; - CameraData& operator=(const CameraData& other) = delete; - CameraData& operator=(CameraData&& other) = delete; + CameraData(const CameraData&) = delete; + CameraData(CameraData&&) = delete; + CameraData& operator=(const CameraData&) = delete; + CameraData& operator=(CameraData&&) = delete; }; }} diff --git a/src/Trade/LightData.h b/src/Trade/LightData.h index b06e16773..c43d6815e 100644 --- a/src/Trade/LightData.h +++ b/src/Trade/LightData.h @@ -36,10 +36,10 @@ namespace Magnum { namespace Trade { @brief %Light data */ class MAGNUM_EXPORT LightData { - LightData(const LightData& other) = delete; - LightData(LightData&& other) = delete; - LightData& operator=(const LightData& other) = delete; - LightData& operator=(LightData&& other) = delete; + LightData(const LightData&) = delete; + LightData(LightData&&) = delete; + LightData& operator=(const LightData&) = delete; + LightData& operator=(LightData&&) = delete; }; }} diff --git a/src/Trade/MeshData2D.h b/src/Trade/MeshData2D.h index cb48f55b4..696a3bd70 100644 --- a/src/Trade/MeshData2D.h +++ b/src/Trade/MeshData2D.h @@ -42,8 +42,8 @@ type. @see MeshData3D */ class MAGNUM_EXPORT MeshData2D { - MeshData2D(const MeshData2D& other) = delete; - MeshData2D& operator=(const MeshData2D& other) = delete; + MeshData2D(const MeshData2D&) = delete; + MeshData2D& operator=(const MeshData2D&) = delete; public: /** diff --git a/src/Trade/MeshData3D.h b/src/Trade/MeshData3D.h index 94a3996d1..54fef49aa 100644 --- a/src/Trade/MeshData3D.h +++ b/src/Trade/MeshData3D.h @@ -42,8 +42,8 @@ type. @see MeshData2D */ class MAGNUM_EXPORT MeshData3D { - MeshData3D(const MeshData3D& other) = delete; - MeshData3D& operator=(const MeshData3D& other) = delete; + MeshData3D(const MeshData3D&) = delete; + MeshData3D& operator=(const MeshData3D&) = delete; public: /** diff --git a/src/Trade/MeshObjectData2D.h b/src/Trade/MeshObjectData2D.h index e144880c9..d6137fffc 100644 --- a/src/Trade/MeshObjectData2D.h +++ b/src/Trade/MeshObjectData2D.h @@ -39,10 +39,10 @@ Provides access to material information for given mesh instance. @see MeshObjectData3D */ class MeshObjectData2D: public ObjectData2D { - MeshObjectData2D(const MeshObjectData2D& other) = delete; - MeshObjectData2D(MeshObjectData2D&& other) = delete; - MeshObjectData2D& operator=(const MeshObjectData2D& other) = delete; - MeshObjectData2D& operator=(MeshObjectData2D&& other) = delete; + MeshObjectData2D(const MeshObjectData2D&) = delete; + MeshObjectData2D(MeshObjectData2D&&) = delete; + MeshObjectData2D& operator=(const MeshObjectData2D&) = delete; + MeshObjectData2D& operator=(MeshObjectData2D&&) = delete; public: /** diff --git a/src/Trade/MeshObjectData3D.h b/src/Trade/MeshObjectData3D.h index 348b3f4a4..b692b51e2 100644 --- a/src/Trade/MeshObjectData3D.h +++ b/src/Trade/MeshObjectData3D.h @@ -39,10 +39,10 @@ Provides access to material information for given mesh instance. @see MeshObjectData2D */ class MeshObjectData3D: public ObjectData3D { - MeshObjectData3D(const MeshObjectData3D& other) = delete; - MeshObjectData3D(MeshObjectData3D&& other) = delete; - MeshObjectData3D& operator=(const MeshObjectData3D& other) = delete; - MeshObjectData3D& operator=(MeshObjectData3D&& other) = delete; + MeshObjectData3D(const MeshObjectData3D&) = delete; + MeshObjectData3D(MeshObjectData3D&&) = delete; + MeshObjectData3D& operator=(const MeshObjectData3D&) = delete; + MeshObjectData3D& operator=(MeshObjectData3D&&) = delete; public: /** diff --git a/src/Trade/ObjectData2D.h b/src/Trade/ObjectData2D.h index 7e934486b..466b8d18e 100644 --- a/src/Trade/ObjectData2D.h +++ b/src/Trade/ObjectData2D.h @@ -43,10 +43,10 @@ MeshObjectData2D, which is specialized for objects with mesh instance type. @see ObjectData3D */ class ObjectData2D { - ObjectData2D(const ObjectData2D& other) = delete; - ObjectData2D(ObjectData2D&& other) = delete; - ObjectData2D& operator=(const ObjectData2D& other) = delete; - ObjectData2D& operator=(ObjectData2D&& other) = delete; + ObjectData2D(const ObjectData2D&) = delete; + ObjectData2D(ObjectData2D&&) = delete; + ObjectData2D& operator=(const ObjectData2D&) = delete; + ObjectData2D& operator=(ObjectData2D&&) = delete; public: /** @brief Instance type */ diff --git a/src/Trade/ObjectData3D.h b/src/Trade/ObjectData3D.h index c1ff82db4..8b5be8a68 100644 --- a/src/Trade/ObjectData3D.h +++ b/src/Trade/ObjectData3D.h @@ -43,10 +43,10 @@ MeshObjectData3D, which is specialized for objects with mesh instance type. @see ObjectData2D */ class ObjectData3D { - ObjectData3D(const ObjectData3D& other) = delete; - ObjectData3D(ObjectData3D&& other) = delete; - ObjectData3D& operator=(const ObjectData3D& other) = delete; - ObjectData3D& operator=(ObjectData3D&& other) = delete; + ObjectData3D(const ObjectData3D&) = delete; + ObjectData3D(ObjectData3D&&) = delete; + ObjectData3D& operator=(const ObjectData3D&) = delete; + ObjectData3D& operator=(ObjectData3D&&) = delete; public: /** @brief Instance type */ diff --git a/src/Trade/SceneData.h b/src/Trade/SceneData.h index cdf3718b5..519573fb9 100644 --- a/src/Trade/SceneData.h +++ b/src/Trade/SceneData.h @@ -39,10 +39,10 @@ namespace Magnum { namespace Trade { @brief %Scene data */ class MAGNUM_EXPORT SceneData { - SceneData(const SceneData& other) = delete; - SceneData(SceneData&& other) = delete; - SceneData& operator=(const SceneData& other) = delete; - SceneData& operator=(SceneData&& other) = delete; + SceneData(const SceneData&) = delete; + SceneData(SceneData&&) = delete; + SceneData& operator=(const SceneData&) = delete; + SceneData& operator=(SceneData&&) = delete; public: /** diff --git a/src/Trade/TextureData.h b/src/Trade/TextureData.h index dd35fc191..870ab392d 100644 --- a/src/Trade/TextureData.h +++ b/src/Trade/TextureData.h @@ -34,10 +34,10 @@ namespace Magnum { namespace Trade { @brief %Texture data */ class MAGNUM_EXPORT TextureData { - TextureData(const TextureData& other) = delete; - TextureData(TextureData&& other) = delete; - TextureData& operator=(const TextureData& other) = delete; - TextureData& operator=(TextureData&& other) = delete; + TextureData(const TextureData&) = delete; + TextureData(TextureData&&) = delete; + TextureData& operator=(const TextureData&) = delete; + TextureData& operator=(TextureData&&) = delete; }; }} From 39eed3f7d6938335430c66f4d02456e78d7a1906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 22:29:18 +0100 Subject: [PATCH 11/12] Code cleanup: shorter angle initializers. --- src/Primitives/Capsule.cpp | 6 +++--- src/Primitives/Cylinder.cpp | 2 +- src/Primitives/UVSphere.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Primitives/Capsule.cpp b/src/Primitives/Capsule.cpp index fdab14a66..e35ecb34f 100644 --- a/src/Primitives/Capsule.cpp +++ b/src/Primitives/Capsule.cpp @@ -34,7 +34,7 @@ Capsule::Capsule(UnsignedInt hemisphereRings, UnsignedInt cylinderRings, Unsigne Float height = 2.0f+length; Float hemisphereTextureCoordsVIncrement = 1.0f/(hemisphereRings*height); - Rad hemisphereRingAngleIncrement = Rad(Constants::pi())/(2*hemisphereRings); + Rad hemisphereRingAngleIncrement(Constants::pi()/(2*hemisphereRings)); /* Bottom cap vertex */ capVertex(-height/2, -1.0f, 0.0f); @@ -68,7 +68,7 @@ void Capsule::capVertex(Float y, Float normalY, Float textureCoordsV) { } void Capsule::hemisphereVertexRings(UnsignedInt count, Float centerY, Rad startRingAngle, Rad ringAngleIncrement, Float startTextureCoordsV, Float textureCoordsVIncrement) { - Rad segmentAngleIncrement = 2*Rad(Constants::pi())/segments; + Rad segmentAngleIncrement(2*Constants::pi()/segments); Float x, y, z; for(UnsignedInt i = 0; i != count; ++i) { Rad ringAngle = startRingAngle + i*ringAngleIncrement; @@ -94,7 +94,7 @@ void Capsule::hemisphereVertexRings(UnsignedInt count, Float centerY, Rad startR } void Capsule::cylinderVertexRings(UnsignedInt count, Float startY, Float yIncrement, Float startTextureCoordsV, Float textureCoordsVIncrement) { - Rad segmentAngleIncrement = 2*Rad(Constants::pi())/segments; + Rad segmentAngleIncrement(2*Constants::pi()/segments); for(UnsignedInt i = 0; i != count; ++i) { for(UnsignedInt j = 0; j != segments; ++j) { Rad segmentAngle = j*segmentAngleIncrement; diff --git a/src/Primitives/Cylinder.cpp b/src/Primitives/Cylinder.cpp index 1a924b0d3..691e5402b 100644 --- a/src/Primitives/Cylinder.cpp +++ b/src/Primitives/Cylinder.cpp @@ -57,7 +57,7 @@ Cylinder::Cylinder(UnsignedInt rings, UnsignedInt segments, Float length, Flags } void Cylinder::capVertexRing(Float y, Float textureCoordsV, const Vector3& normal) { - Rad segmentAngleIncrement = 2*Rad(Constants::pi())/segments; + Rad segmentAngleIncrement(2*Constants::pi()/segments); for(UnsignedInt i = 0; i != segments; ++i) { Rad segmentAngle = i*segmentAngleIncrement; diff --git a/src/Primitives/UVSphere.cpp b/src/Primitives/UVSphere.cpp index 91fa8c2bc..b6cde4ca3 100644 --- a/src/Primitives/UVSphere.cpp +++ b/src/Primitives/UVSphere.cpp @@ -32,7 +32,7 @@ UVSphere::UVSphere(UnsignedInt rings, UnsignedInt segments, TextureCoords textur CORRADE_ASSERT(rings >= 2 && segments >= 3, "UVSphere must have at least two rings and three segments", ); Float textureCoordsVIncrement = 1.0f/rings; - Rad ringAngleIncrement = Rad(Constants::pi())/rings; + Rad ringAngleIncrement(Constants::pi()/rings); /* Bottom cap vertex */ capVertex(-1.0f, -1.0f, 0.0f); From dd788285dc731db56ecec1ee5041d1d13c4bf05d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 17 Mar 2013 22:21:42 +0100 Subject: [PATCH 12/12] Various code cleanup. --- src/Math/Vector.h | 2 +- src/Test/ResourceManagerTest.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Math/Vector.h b/src/Math/Vector.h index 9e333dfdc..8d07e9ab5 100644 --- a/src/Math/Vector.h +++ b/src/Math/Vector.h @@ -166,7 +166,7 @@ template class Vector { template::from(std::declval()))> inline constexpr explicit Vector(const U& other): Vector(Implementation::VectorConverter::from(other)) {} #else template::from(std::declval()))> inline explicit Vector(const U& other) { - *this = Vector(Implementation::VectorConverter::from(other)); + *this = Implementation::VectorConverter::from(other); } #endif diff --git a/src/Test/ResourceManagerTest.cpp b/src/Test/ResourceManagerTest.cpp index ac3a89747..0b964d68a 100644 --- a/src/Test/ResourceManagerTest.cpp +++ b/src/Test/ResourceManagerTest.cpp @@ -59,7 +59,7 @@ typedef Magnum::ResourceManager ResourceManager; class IntResourceLoader: public AbstractResourceLoader { public: void load(ResourceKey key) override { - AbstractResourceLoader::load(key); + AbstractResourceLoader::load(key); } void load() {