From 62214a288ccb13a1bd375d9d9eedc7da78b771bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Wed, 24 Aug 2016 16:01:21 +0200 Subject: [PATCH] Add Bezier typedefs to the root Magnum.h header. --- doc/types.dox | 4 ++++ src/Magnum/Magnum.h | 24 ++++++++++++++++++++++++ src/Magnum/Math/Bezier.h | 12 ++++++++---- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/doc/types.dox b/doc/types.dox index c510c8b2c..7e5f5498e 100644 --- a/doc/types.dox +++ b/doc/types.dox @@ -157,6 +157,10 @@ Complex b = Complex::rotation(60.0_degf); Other types, which don't have their GLSL equivalent, are: +- @ref QuadraticBezier2D or @ref QuadraticBezier2Dd, @ref QuadraticBezier3D + or @ref QuadraticBezier3Dd +- @ref CubicBezier2D or @ref CubicBezier2Dd, @ref CubicBezier3D + or @ref CubicBezier3Dd - @ref Complex or @ref Complexd, @ref DualComplex or @ref DualComplexd - @ref Quaternion or @ref Quaterniond, @ref DualQuaternion or @ref DualQuaterniond diff --git a/src/Magnum/Magnum.h b/src/Magnum/Magnum.h index 5de2ae8a1..d552ce546 100644 --- a/src/Magnum/Magnum.h +++ b/src/Magnum/Magnum.h @@ -302,6 +302,18 @@ typedef Math::Matrix3x4 Matrix3x4; /** @brief Float matrix with 4 columns and 3 rows */ typedef Math::Matrix4x3 Matrix4x3; +/** @brief Float two-dimensional quadratic Bézier curve */ +typedef Math::QuadraticBezier2D QuadraticBezier2D; + +/** @brief Float three-dimensional quadratic Bézier curve */ +typedef Math::QuadraticBezier3D QuadraticBezier3D; + +/** @brief Float two-dimensional cubic Bézier curve */ +typedef Math::CubicBezier2D CubicBezier2D; + +/** @brief Float three-dimensional cubic Bézier curve */ +typedef Math::CubicBezier3D CubicBezier3D; + /** @brief Float complex number */ typedef Math::Complex Complex; @@ -411,6 +423,18 @@ typedef Math::Matrix3x4 Matrix3x4d; /** @brief Double matrix with 4 columns and 3 rows */ typedef Math::Matrix4x3 Matrix4x3d; +/** @brief Double two-dimensional quadratic Bézier curve */ +typedef Math::QuadraticBezier2D QuadraticBezier2Dd; + +/** @brief Double three-dimensional quadratic Bézier curve */ +typedef Math::QuadraticBezier3D QuadraticBezier3Dd; + +/** @brief Double two-dimensional cubic Bézier curve */ +typedef Math::CubicBezier2D CubicBezier2Dd; + +/** @brief Double three-dimensional cubic Bézier curve */ +typedef Math::CubicBezier3D CubicBezier3Dd; + /** @brief Double complex number */ typedef Math::Complex Complexd; diff --git a/src/Magnum/Math/Bezier.h b/src/Magnum/Math/Bezier.h index cc324be5c..4734e71a7 100644 --- a/src/Magnum/Math/Bezier.h +++ b/src/Magnum/Math/Bezier.h @@ -144,7 +144,8 @@ template using QuadraticBezier = Bezier<2, dime Convenience alternative to `QuadraticBezier<2, T>`. See @ref QuadraticBezier and @ref Bezier for more information. -@see @ref QuadraticBezier3D +@see @ref QuadraticBezier3D, @ref Magnum::QuadraticBezier2D, + @ref Magnum::QuadraticBezier2Dd */ #ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using QuadraticBezier2D = QuadraticBezier<2, T>; @@ -155,7 +156,8 @@ template using QuadraticBezier2D = QuadraticBezier<2, T>; Convenience alternative to `QuadraticBezier<3, T>`. See @ref QuadraticBezier and @ref Bezier for more information. -@see @ref QuadraticBezier2D +@see @ref QuadraticBezier2D, @ref Magnum::QuadraticBezier3D, + @ref Magnum::QuadraticBezier3Dd */ #ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using QuadraticBezier3D = QuadraticBezier<3, T>; @@ -177,7 +179,8 @@ template using CubicBezier = Bezier<3, dimensio Convenience alternative to `CubicBezier<2, T>`. See @ref CubicBezier and @ref Bezier for more information. -@see @ref CubicBezier3D +@see @ref CubicBezier3D, @ref Magnum::CubicBezier2D, + @ref Magnum::CubicBezier2Dd */ #ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using CubicBezier2D = CubicBezier<2, T>; @@ -188,7 +191,8 @@ template using CubicBezier2D = CubicBezier<2, T>; Convenience alternative to `CubicBezier<3, T>`. See @ref CubicBezier and @ref Bezier for more information. -@see @ref CubicBezier2D +@see @ref CubicBezier2D, @ref Magnum::CubicBezier3D, + @ref Magnum::CubicBezier3Dd */ #ifndef CORRADE_MSVC2015_COMPATIBILITY /* Multiple definitions still broken */ template using CubicBezier3D = CubicBezier<3, T>;