From 4af823a674b1f20c7d4d2db826249b1dbd86abd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 24 Aug 2016 15:52:08 +0200 Subject: [PATCH] Math: add the Bezier class and aliases to the forward declaration header. --- src/Magnum/Math/Bezier.h | 12 ++++++++++++ src/Magnum/Math/Math.h | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/src/Magnum/Math/Bezier.h b/src/Magnum/Math/Bezier.h index 5358d247e..cc324be5c 100644 --- a/src/Magnum/Math/Bezier.h +++ b/src/Magnum/Math/Bezier.h @@ -135,7 +135,9 @@ Convenience alternative to `Bezier<2, dimensions, T>`. See @ref Bezier for more information. @see @ref QuadraticBezier2D, @ref QuadraticBezier3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using QuadraticBezier = Bezier<2, dimensions, T>; +#endif /** @brief Two-dimensional quadratic Bézier curve @@ -144,7 +146,9 @@ Convenience alternative to `QuadraticBezier<2, T>`. See @ref QuadraticBezier and @ref Bezier for more information. @see @ref QuadraticBezier3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using QuadraticBezier2D = QuadraticBezier<2, T>; +#endif /** @brief Three-dimensional quadratic Bézier curve @@ -153,7 +157,9 @@ Convenience alternative to `QuadraticBezier<3, T>`. See @ref QuadraticBezier and @ref Bezier for more information. @see @ref QuadraticBezier2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using QuadraticBezier3D = QuadraticBezier<3, T>; +#endif /** @brief Cubic Bézier curve @@ -162,7 +168,9 @@ Convenience alternative to `Bezier<3, dimensions, T>`. See @ref Bezier for more information. @see @ref CubicBezier2D, @ref CubicBezier3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using CubicBezier = Bezier<3, dimensions, T>; +#endif /** @brief Two-dimensional cubic Bézier curve @@ -171,7 +179,9 @@ Convenience alternative to `CubicBezier<2, T>`. See @ref CubicBezier and @ref Bezier for more information. @see @ref CubicBezier3D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using CubicBezier2D = CubicBezier<2, T>; +#endif /** @brief Three-dimensional cubic Bézier curve @@ -180,7 +190,9 @@ Convenience alternative to `CubicBezier<3, T>`. See @ref CubicBezier and @ref Bezier for more information. @see @ref CubicBezier2D */ +#ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using CubicBezier3D = CubicBezier<3, T>; +#endif }} diff --git a/src/Magnum/Math/Math.h b/src/Magnum/Math/Math.h index f9a3d19bf..23fc234ee 100644 --- a/src/Magnum/Math/Math.h +++ b/src/Magnum/Math/Math.h @@ -41,6 +41,14 @@ namespace Magnum { namespace Math { #ifndef DOXYGEN_GENERATING_OUTPUT /* Class Constants used only statically */ +template class Bezier; +template using QuadraticBezier = Bezier<2, dimensions, T>; +template using CubicBezier = Bezier<3, dimensions, T>; +template using QuadraticBezier2D = QuadraticBezier<2, T>; +template using QuadraticBezier3D = QuadraticBezier<3, T>; +template using CubicBezier2D = CubicBezier<2, T>; +template using CubicBezier3D = CubicBezier<3, T>; + template class Complex; template class Dual; template class DualComplex;