Browse Source

doc: change all "latest" additions/deprecations to 2020.06.

pull/454/head
Vladimír Vondruš 6 years ago
parent
commit
5222cf3478
  1. 2
      src/Magnum/Animation/Track.h
  2. 8
      src/Magnum/Audio/AbstractImporter.h
  3. 2
      src/Magnum/Audio/Buffer.h
  4. 14
      src/Magnum/DebugTools/ColorMap.h
  5. 16
      src/Magnum/DebugTools/FrameProfiler.h
  6. 4
      src/Magnum/DebugTools/Profiler.h
  7. 18
      src/Magnum/GL/AbstractShaderProgram.h
  8. 4
      src/Magnum/GL/AbstractTexture.h
  9. 34
      src/Magnum/GL/Attribute.h
  10. 6
      src/Magnum/GL/Buffer.h
  11. 2
      src/Magnum/GL/BufferTexture.h
  12. 10
      src/Magnum/GL/Mesh.h
  13. 16
      src/Magnum/GL/MeshView.h
  14. 4
      src/Magnum/GL/PipelineStatisticsQuery.h
  15. 4
      src/Magnum/GL/PixelFormat.h
  16. 44
      src/Magnum/GL/Renderer.h
  17. 94
      src/Magnum/Magnum.h
  18. 2
      src/Magnum/Math/DualComplex.h
  19. 4
      src/Magnum/Math/DualQuaternion.h
  20. 14
      src/Magnum/Math/Frustum.h
  21. 4
      src/Magnum/Math/Functions.h
  22. 10
      src/Magnum/Math/FunctionsBatch.h
  23. 62
      src/Magnum/Math/PackingBatch.h
  24. 2
      src/Magnum/Math/Quaternion.h
  25. 8
      src/Magnum/Math/Range.h
  26. 4
      src/Magnum/Math/Tags.h
  27. 6
      src/Magnum/Math/TypeTraits.h
  28. 12
      src/Magnum/Mesh.h
  29. 12
      src/Magnum/MeshTools/Combine.h
  30. 10
      src/Magnum/MeshTools/CombineIndexedArrays.h
  31. 18
      src/Magnum/MeshTools/Compile.h
  32. 24
      src/Magnum/MeshTools/CompressIndices.h
  33. 10
      src/Magnum/MeshTools/Concatenate.h
  34. 14
      src/Magnum/MeshTools/Duplicate.h
  35. 20
      src/Magnum/MeshTools/FlipNormals.h
  36. 24
      src/Magnum/MeshTools/GenerateIndices.h
  37. 4
      src/Magnum/MeshTools/GenerateNormals.h
  38. 22
      src/Magnum/MeshTools/Interleave.h
  39. 10
      src/Magnum/MeshTools/Reference.h
  40. 48
      src/Magnum/MeshTools/RemoveDuplicates.h
  41. 8
      src/Magnum/MeshTools/Subdivide.h
  42. 6
      src/Magnum/MeshTools/Tipsify.h
  43. 2
      src/Magnum/MeshTools/sceneconverter.cpp
  44. 4
      src/Magnum/PixelFormat.h
  45. 2
      src/Magnum/Platform/AbstractXApplication.h
  46. 8
      src/Magnum/Platform/EmscriptenApplication.h
  47. 50
      src/Magnum/Platform/GlfwApplication.h
  48. 2
      src/Magnum/Platform/ScreenedApplication.h
  49. 40
      src/Magnum/Platform/Sdl2Application.h
  50. 8
      src/Magnum/Platform/WindowlessCglApplication.h
  51. 10
      src/Magnum/Platform/WindowlessEglApplication.h
  52. 8
      src/Magnum/Platform/WindowlessGlxApplication.h
  53. 8
      src/Magnum/Platform/WindowlessWglApplication.h
  54. 8
      src/Magnum/Platform/WindowlessWindowsEglApplication.h
  55. 12
      src/Magnum/Primitives/Capsule.h
  56. 20
      src/Magnum/Primitives/Circle.h
  57. 6
      src/Magnum/Primitives/Cone.h
  58. 6
      src/Magnum/Primitives/Cylinder.h
  59. 8
      src/Magnum/Primitives/Grid.h
  60. 2
      src/Magnum/Primitives/Icosphere.h
  61. 12
      src/Magnum/Primitives/Plane.h
  62. 10
      src/Magnum/Primitives/Square.h
  63. 12
      src/Magnum/Primitives/UVSphere.h
  64. 8
      src/Magnum/SceneGraph/AbstractTranslationRotation2D.h
  65. 8
      src/Magnum/SceneGraph/AbstractTranslationRotation3D.h
  66. 4
      src/Magnum/SceneGraph/DualComplexTransformation.h
  67. 4
      src/Magnum/SceneGraph/DualQuaternionTransformation.h
  68. 4
      src/Magnum/SceneGraph/MatrixTransformation2D.h
  69. 2
      src/Magnum/SceneGraph/MatrixTransformation2D.hpp
  70. 4
      src/Magnum/SceneGraph/MatrixTransformation3D.h
  71. 2
      src/Magnum/SceneGraph/MatrixTransformation3D.hpp
  72. 4
      src/Magnum/SceneGraph/RigidMatrixTransformation2D.h
  73. 2
      src/Magnum/SceneGraph/RigidMatrixTransformation2D.hpp
  74. 4
      src/Magnum/SceneGraph/RigidMatrixTransformation3D.h
  75. 2
      src/Magnum/SceneGraph/RigidMatrixTransformation3D.hpp
  76. 10
      src/Magnum/Shaders/DistanceFieldVector.h
  77. 16
      src/Magnum/Shaders/Flat.h
  78. 12
      src/Magnum/Shaders/Generic.h
  79. 46
      src/Magnum/Shaders/MeshVisualizer.h
  80. 18
      src/Magnum/Shaders/Phong.h
  81. 10
      src/Magnum/Shaders/Vector.h
  82. 4
      src/Magnum/Tags.h
  83. 8
      src/Magnum/Text/AbstractFont.h
  84. 8
      src/Magnum/Text/AbstractFontConverter.h
  85. 20
      src/Magnum/Trade/AbstractImageConverter.h
  86. 116
      src/Magnum/Trade/AbstractImporter.h
  87. 16
      src/Magnum/Trade/AbstractSceneConverter.h
  88. 24
      src/Magnum/Trade/AnimationData.h
  89. 4
      src/Magnum/Trade/ArrayAllocator.h
  90. 10
      src/Magnum/Trade/Data.h
  91. 24
      src/Magnum/Trade/ImageData.h
  92. 20
      src/Magnum/Trade/MeshData.h
  93. 6
      src/Magnum/Trade/MeshData2D.h
  94. 6
      src/Magnum/Trade/MeshData3D.h
  95. 36
      src/Magnum/Trade/PhongMaterialData.h
  96. 28
      src/Magnum/VertexFormat.h
  97. 4
      src/Magnum/Vk/Enums.h

2
src/Magnum/Animation/Track.h

@ -493,7 +493,7 @@ template<class K> class TrackViewStorage {
/** /**
* @brief Type-erased value data * @brief Type-erased value data
* @m_since_latest * @m_since{2020,06}
* *
* Use @ref TrackView and @ref TrackView::values() to get a typed view, * Use @ref TrackView and @ref TrackView::values() to get a typed view,
* alternatively you can cast to a concrete type using * alternatively you can cast to a concrete type using

8
src/Magnum/Audio/AbstractImporter.h

@ -38,7 +38,7 @@ namespace Magnum { namespace Audio {
/** /**
@brief Features supported by an audio importer @brief Features supported by an audio importer
@m_since_latest @m_since{2020,06}
@see @ref ImporterFeatures, @ref AbstractImporter::features() @see @ref ImporterFeatures, @ref AbstractImporter::features()
*/ */
@ -49,7 +49,7 @@ enum class ImporterFeature: UnsignedByte {
/** /**
@brief Features supported by an audio importer @brief Features supported by an audio importer
@m_since_latest @m_since{2020,06}
@see @ref AbstractImporter::features() @see @ref AbstractImporter::features()
*/ */
@ -110,12 +110,12 @@ class MAGNUM_AUDIO_EXPORT AbstractImporter: public PluginManager::AbstractManagi
public: public:
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief ImporterFeature /** @brief @copybrief ImporterFeature
* @m_deprecated_since_latest Use @ref ImporterFeature instead. * @m_deprecated_since{2020,06} Use @ref ImporterFeature instead.
*/ */
typedef CORRADE_DEPRECATED("use ImporterFeature instead") ImporterFeature Feature; typedef CORRADE_DEPRECATED("use ImporterFeature instead") ImporterFeature Feature;
/** @brief @copybrief ImporterFeatures /** @brief @copybrief ImporterFeatures
* @m_deprecated_since_latest Use @ref ImporterFeatures instead. * @m_deprecated_since{2020,06} Use @ref ImporterFeatures instead.
*/ */
typedef CORRADE_DEPRECATED("use ImporterFeatures instead") ImporterFeatures Features; typedef CORRADE_DEPRECATED("use ImporterFeatures instead") ImporterFeatures Features;
#endif #endif

2
src/Magnum/Audio/Buffer.h

@ -120,7 +120,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/** /**
* @brief Buffer frequency * @brief Buffer frequency
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref size(), @ref channels(), @ref bitDepth(), * @see @ref size(), @ref channels(), @ref bitDepth(),
* @ref sampleCount() * @ref sampleCount()

14
src/Magnum/DebugTools/ColorMap.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Namespace @ref Magnum::DebugTools::ColorMap * @brief Namespace @ref Magnum::DebugTools::ColorMap
* @m_since_latest * @m_since{2020,06}
*/ */
#include "Magnum/Magnum.h" #include "Magnum/Magnum.h"
@ -37,7 +37,7 @@ namespace Magnum { namespace DebugTools {
/** /**
@brief Color maps @brief Color maps
@m_since_latest @m_since{2020,06}
A collection of predefined color maps for visualization of gradient data. A collection of predefined color maps for visualization of gradient data.
@ -127,7 +127,7 @@ namespace ColorMap {
/** /**
@brief Turbo colormap @brief Turbo colormap
@m_since_latest @m_since{2020,06}
@image html colormap-turbo.png width=100% @image html colormap-turbo.png width=100%
@ -142,7 +142,7 @@ MAGNUM_DEBUGTOOLS_EXPORT Containers::StaticArrayView<256, const Vector3ub> turbo
/** /**
@brief Magma colormap @brief Magma colormap
@m_since_latest @m_since{2020,06}
@image html colormap-magma.png width=100% @image html colormap-magma.png width=100%
@ -158,7 +158,7 @@ MAGNUM_DEBUGTOOLS_EXPORT Containers::StaticArrayView<256, const Vector3ub> magma
/** /**
@brief Plasma colormap @brief Plasma colormap
@m_since_latest @m_since{2020,06}
@image html colormap-plasma.png width=100% @image html colormap-plasma.png width=100%
@ -174,7 +174,7 @@ MAGNUM_DEBUGTOOLS_EXPORT Containers::StaticArrayView<256, const Vector3ub> plasm
/** /**
@brief Inferno colormap @brief Inferno colormap
@m_since_latest @m_since{2020,06}
@image html colormap-inferno.png width=100% @image html colormap-inferno.png width=100%
@ -190,7 +190,7 @@ MAGNUM_DEBUGTOOLS_EXPORT Containers::StaticArrayView<256, const Vector3ub> infer
/** /**
@brief Viridis colormap @brief Viridis colormap
@m_since_latest @m_since{2020,06}
@image html colormap-viridis.png width=100% @image html colormap-viridis.png width=100%

16
src/Magnum/DebugTools/FrameProfiler.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Class @ref Magnum::DebugTools::FrameProfiler, @ref Magnum::DebugTools::GLFrameProfiler * @brief Class @ref Magnum::DebugTools::FrameProfiler, @ref Magnum::DebugTools::GLFrameProfiler
* @m_since_latest * @m_since{2020,06}
*/ */
#include <string> #include <string>
@ -41,7 +41,7 @@ namespace Magnum { namespace DebugTools {
/** /**
@brief Frame profiler @brief Frame profiler
@m_since_latest @m_since{2020,06}
A generic implementation of a frame profiler supporting a moving average over A generic implementation of a frame profiler supporting a moving average over
a set of frames as well as delayed measurements to avoid stalls when querying a set of frames as well as delayed measurements to avoid stalls when querying
@ -486,14 +486,14 @@ class MAGNUM_DEBUGTOOLS_EXPORT FrameProfiler::Measurement {
/** /**
@debugoperatorclassenum{FrameProfiler,FrameProfiler::Units} @debugoperatorclassenum{FrameProfiler,FrameProfiler::Units}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_DEBUGTOOLS_EXPORT Debug& operator<<(Debug& debug, FrameProfiler::Units value); MAGNUM_DEBUGTOOLS_EXPORT Debug& operator<<(Debug& debug, FrameProfiler::Units value);
#ifdef MAGNUM_TARGET_GL #ifdef MAGNUM_TARGET_GL
/** /**
@brief OpenGL frame profiler @brief OpenGL frame profiler
@m_since_latest @m_since{2020,06}
A @ref FrameProfiler with OpenGL-specific measurements. Instantiate with a A @ref FrameProfiler with OpenGL-specific measurements. Instantiate with a
desired subset of measured values and then continue the same way as described desired subset of measured values and then continue the same way as described
@ -700,13 +700,13 @@ CORRADE_ENUMSET_OPERATORS(GLFrameProfiler::Values)
/** /**
@debugoperatorclassenum{GLFrameProfiler,GLFrameProfiler::Value} @debugoperatorclassenum{GLFrameProfiler,GLFrameProfiler::Value}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_DEBUGTOOLS_EXPORT Debug& operator<<(Debug& debug, GLFrameProfiler::Value value); MAGNUM_DEBUGTOOLS_EXPORT Debug& operator<<(Debug& debug, GLFrameProfiler::Value value);
/** /**
@debugoperatorclassenum{GLFrameProfiler,GLFrameProfiler::Values} @debugoperatorclassenum{GLFrameProfiler,GLFrameProfiler::Values}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_DEBUGTOOLS_EXPORT Debug& operator<<(Debug& debug, GLFrameProfiler::Values value); MAGNUM_DEBUGTOOLS_EXPORT Debug& operator<<(Debug& debug, GLFrameProfiler::Values value);
#endif #endif
@ -718,7 +718,7 @@ namespace Corrade { namespace Utility {
#ifdef MAGNUM_TARGET_GL #ifdef MAGNUM_TARGET_GL
/** /**
@configurationvalue{Magnum::DebugTools::GLFrameProfiler::Value} @configurationvalue{Magnum::DebugTools::GLFrameProfiler::Value}
@m_since_latest @m_since{2020,06}
*/ */
template<> struct MAGNUM_DEBUGTOOLS_EXPORT ConfigurationValue<Magnum::DebugTools::GLFrameProfiler::Value> { template<> struct MAGNUM_DEBUGTOOLS_EXPORT ConfigurationValue<Magnum::DebugTools::GLFrameProfiler::Value> {
ConfigurationValue() = delete; ConfigurationValue() = delete;
@ -740,7 +740,7 @@ template<> struct MAGNUM_DEBUGTOOLS_EXPORT ConfigurationValue<Magnum::DebugTools
/** /**
@configurationvalue{Magnum::DebugTools::GLFrameProfiler::Values} @configurationvalue{Magnum::DebugTools::GLFrameProfiler::Values}
@m_since_latest @m_since{2020,06}
*/ */
template<> struct MAGNUM_DEBUGTOOLS_EXPORT ConfigurationValue<Magnum::DebugTools::GLFrameProfiler::Values> { template<> struct MAGNUM_DEBUGTOOLS_EXPORT ConfigurationValue<Magnum::DebugTools::GLFrameProfiler::Values> {
ConfigurationValue() = delete; ConfigurationValue() = delete;

4
src/Magnum/DebugTools/Profiler.h

@ -28,7 +28,7 @@
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @file /** @file
* @brief Class @ref Magnum::DebugTools::Profiler * @brief Class @ref Magnum::DebugTools::Profiler
* @m_deprecated_since_latest Obsolete, use * @m_deprecated_since{2020,06} Obsolete, use
* @ref Magnum/DebugTools/FrameProfiler.h and the * @ref Magnum/DebugTools/FrameProfiler.h and the
* @ref Magnum::DebugTools::FrameProfiler class instead. * @ref Magnum::DebugTools::FrameProfiler class instead.
*/ */
@ -54,7 +54,7 @@ namespace Magnum { namespace DebugTools {
/** /**
@brief Profiler @brief Profiler
@m_deprecated_since_latest Obsolete, use @ref FrameProfiler instead. @m_deprecated_since{2020,06} Obsolete, use @ref FrameProfiler instead.
Measures time passed during specified sections of each frame. It's meant to be Measures time passed during specified sections of each frame. It's meant to be
used in rendering and event loops (e.g. @ref Platform::Sdl2Application::drawEvent()), used in rendering and event loops (e.g. @ref Platform::Sdl2Application::drawEvent()),

18
src/Magnum/GL/AbstractShaderProgram.h

@ -464,7 +464,7 @@ class MAGNUM_GL_EXPORT AbstractShaderProgram: public AbstractObject {
#if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) #if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)
/** /**
* @brief Max supported count of vertices emitted by a geometry shader * @brief Max supported count of vertices emitted by a geometry shader
* @m_since_latest * @m_since{2020,06}
* *
* The result is cached, repeated queries don't result in repeated * The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @gl_extension{ARB,geometry_shader4} (part of * OpenGL calls. If neither @gl_extension{ARB,geometry_shader4} (part of
@ -752,7 +752,7 @@ class MAGNUM_GL_EXPORT AbstractShaderProgram: public AbstractObject {
/** /**
* @brief Draw a mesh * @brief Draw a mesh
* @param mesh Mesh to draw * @param mesh Mesh to draw
* @m_since_latest * @m_since{2020,06}
* *
* Expects that @p mesh is compatible with this shader and is fully set * Expects that @p mesh is compatible with this shader and is fully set
* up. If its vertex/index count or instance count is @cpp 0 @ce, no * up. If its vertex/index count or instance count is @cpp 0 @ce, no
@ -798,13 +798,13 @@ class MAGNUM_GL_EXPORT AbstractShaderProgram: public AbstractObject {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
void draw(Mesh&& mesh) { draw(mesh); } void draw(Mesh&& mesh) { draw(mesh); }
/** /**
* @brief Draw a mesh view * @brief Draw a mesh view
* @m_since_latest * @m_since{2020,06}
* *
* See @ref draw(Mesh&) for more information. * See @ref draw(Mesh&) for more information.
* @see @ref draw(Containers::ArrayView<const Containers::Reference<MeshView>>), * @see @ref draw(Containers::ArrayView<const Containers::Reference<MeshView>>),
@ -832,13 +832,13 @@ class MAGNUM_GL_EXPORT AbstractShaderProgram: public AbstractObject {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
void draw(MeshView&& mesh) { draw(mesh); } void draw(MeshView&& mesh) { draw(mesh); }
/** /**
* @brief Draw multiple meshes at once * @brief Draw multiple meshes at once
* @m_since_latest * @m_since{2020,06}
* *
* In OpenGL ES, if @gl_extension{EXT,multi_draw_arrays} is not * In OpenGL ES, if @gl_extension{EXT,multi_draw_arrays} is not
* present, the functionality is emulated using a sequence of * present, the functionality is emulated using a sequence of
@ -866,7 +866,7 @@ class MAGNUM_GL_EXPORT AbstractShaderProgram: public AbstractObject {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
void draw(std::initializer_list<Containers::Reference<MeshView>> meshes); void draw(std::initializer_list<Containers::Reference<MeshView>> meshes);
@ -876,7 +876,7 @@ class MAGNUM_GL_EXPORT AbstractShaderProgram: public AbstractObject {
* @param mesh Mesh to draw * @param mesh Mesh to draw
* @param xfb Transform feedback to use for vertex count * @param xfb Transform feedback to use for vertex count
* @param stream Transform feedback stream ID * @param stream Transform feedback stream ID
* @m_since_latest * @m_since{2020,06}
* *
* Expects that @p mesh is compatible with this shader, is fully set up * Expects that @p mesh is compatible with this shader, is fully set up
* and that the output buffer(s) from @p xfb are used as vertex buffers * and that the output buffer(s) from @p xfb are used as vertex buffers
@ -905,7 +905,7 @@ class MAGNUM_GL_EXPORT AbstractShaderProgram: public AbstractObject {
/** /**
* @brief Draw a mesh view with vertices coming out of transform feedback * @brief Draw a mesh view with vertices coming out of transform feedback
* @m_since_latest * @m_since{2020,06}
* *
* Everything set by @ref MeshView::setCount(), * Everything set by @ref MeshView::setCount(),
* @ref MeshView::setBaseInstance(), @ref MeshView::setBaseVertex(), * @ref MeshView::setBaseInstance(), @ref MeshView::setBaseVertex(),

4
src/Magnum/GL/AbstractTexture.h

@ -228,7 +228,7 @@ class MAGNUM_GL_EXPORT AbstractTexture: public AbstractObject {
/** /**
* @brief Bind textures to given range of texture units * @brief Bind textures to given range of texture units
* @m_since_latest * @m_since{2020,06}
* *
* Binds first texture in the list to @p firstTextureUnit, second to * Binds first texture in the list to @p firstTextureUnit, second to
* `firstTextureUnit + 1` etc. If any texture is @cpp nullptr @ce, * `firstTextureUnit + 1` etc. If any texture is @cpp nullptr @ce,
@ -291,7 +291,7 @@ class MAGNUM_GL_EXPORT AbstractTexture: public AbstractObject {
/** /**
* @brief Bind textures to given range of texture units * @brief Bind textures to given range of texture units
* @m_since_latest * @m_since{2020,06}
* *
* Binds first level of given texture in the list to @p firstImageUnit, * Binds first level of given texture in the list to @p firstImageUnit,
* second to `firstTextureUnit + 1` etc. 3D, cube map and array * second to `firstTextureUnit + 1` etc. 3D, cube map and array

34
src/Magnum/GL/Attribute.h

@ -88,7 +88,7 @@ template<UnsignedInt location, class T> class Attribute {
/** /**
* Count of vectors in this type. * Count of vectors in this type.
* @m_since_latest * @m_since{2020,06}
* *
* Is @cpp 1 @ce for non-matrix attributes. * Is @cpp 1 @ce for non-matrix attributes.
* @see @ref vectorSize() * @see @ref vectorSize()
@ -98,7 +98,7 @@ template<UnsignedInt location, class T> class Attribute {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Count of vectors in this type, * Count of vectors in this type,
* @m_deprecated_since_latest Use @ref Vectors instead. * @m_deprecated_since{2020,06} Use @ref Vectors instead.
*/ */
VectorCount CORRADE_DEPRECATED_ENUM("use Vectors instead") = Vectors VectorCount CORRADE_DEPRECATED_ENUM("use Vectors instead") = Vectors
#endif #endif
@ -195,7 +195,7 @@ template<UnsignedInt location, class T> class Attribute {
#ifndef MAGNUM_TARGET_WEBGL #ifndef MAGNUM_TARGET_WEBGL
/** /**
* Half float. Only for float attribute types. * Half float. Only for float attribute types.
* @m_since_latest * @m_since{2020,06}
* @requires_gl30 Extension @gl_extension{ARB,half_float_vertex} * @requires_gl30 Extension @gl_extension{ARB,half_float_vertex}
* @requires_gles30 Extension @gl_extension{OES,vertex_half_float} * @requires_gles30 Extension @gl_extension{OES,vertex_half_float}
* in OpenGL ES 2.0 * in OpenGL ES 2.0
@ -211,7 +211,7 @@ template<UnsignedInt location, class T> class Attribute {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Half float. * Half float.
* @m_deprecated_since_latest Use @ref DataType::Half instead. * @m_deprecated_since{2020,06} Use @ref DataType::Half instead.
*/ */
HalfFloat CORRADE_DEPRECATED_ENUM("use Half instead") = Half, HalfFloat CORRADE_DEPRECATED_ENUM("use Half instead") = Half,
#endif #endif
@ -327,7 +327,7 @@ template<UnsignedInt location, class T> class Attribute {
* type used in shader (e.g. @ref DataType::Int for * type used in shader (e.g. @ref DataType::Int for
* @ref Magnum::Vector4i "Vector4i"). * @ref Magnum::Vector4i "Vector4i").
* @param dataOptions Data options. Default is no options. * @param dataOptions Data options. Default is no options.
* @m_since_latest * @m_since{2020,06}
* *
* Component count is set to the same value as in type used in shader * Component count is set to the same value as in type used in shader
* (e.g. @ref Components::Three for @ref Magnum::Vector3 "Vector3"). * (e.g. @ref Components::Three for @ref Magnum::Vector3 "Vector3").
@ -343,7 +343,7 @@ template<UnsignedInt location, class T> class Attribute {
* type used in shader (e.g. @ref DataType::Int for * type used in shader (e.g. @ref DataType::Int for
* @ref Magnum::Vector4i "Vector4i"). * @ref Magnum::Vector4i "Vector4i").
* @param dataOptions Data options. Default is no options. * @param dataOptions Data options. Default is no options.
* @m_since_latest * @m_since{2020,06}
*/ */
constexpr Attribute(Components components, UnsignedInt vectorStride, DataType dataType = Implementation::Attribute<T>::DefaultDataType, DataOptions dataOptions = DataOptions()): _components{components}, _vectorStride{vectorStride}, _dataType{dataType}, _dataOptions{dataOptions} {} constexpr Attribute(Components components, UnsignedInt vectorStride, DataType dataType = Implementation::Attribute<T>::DefaultDataType, DataOptions dataOptions = DataOptions()): _components{components}, _vectorStride{vectorStride}, _dataType{dataType}, _dataOptions{dataOptions} {}
@ -355,7 +355,7 @@ template<UnsignedInt location, class T> class Attribute {
/** /**
* @brief Stride between consecutive vector elements * @brief Stride between consecutive vector elements
* @m_since_latest * @m_since{2020,06}
* *
* Used for describing matrix attributes. Implicitly the same as size * Used for describing matrix attributes. Implicitly the same as size
* of given vector type (e.g. @cpp 9 @ce for a * of given vector type (e.g. @cpp 9 @ce for a
@ -368,7 +368,7 @@ template<UnsignedInt location, class T> class Attribute {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Size of each vector in passed data * @brief Size of each vector in passed data
* @m_deprecated_since_latest Use @ref vectorStride() instead. * @m_deprecated_since{2020,06} Use @ref vectorStride() instead.
* *
* @see @ref Vectors * @see @ref Vectors
*/ */
@ -515,7 +515,7 @@ class MAGNUM_GL_EXPORT DynamicAttribute {
#if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2)) #if !(defined(MAGNUM_TARGET_WEBGL) && defined(MAGNUM_TARGET_GLES2))
/** /**
* Half float. Only for float attribute types. * Half float. Only for float attribute types.
* @m_since_latest * @m_since{2020,06}
* @requires_gl30 Extension @gl_extension{ARB,half_float_vertex} * @requires_gl30 Extension @gl_extension{ARB,half_float_vertex}
* @requires_gles30 Extension @gl_extension{OES,vertex_half_float} * @requires_gles30 Extension @gl_extension{OES,vertex_half_float}
* in OpenGL ES 2.0 * in OpenGL ES 2.0
@ -531,7 +531,7 @@ class MAGNUM_GL_EXPORT DynamicAttribute {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Half float. * Half float.
* @m_deprecated_since_latest Use @ref DataType::Half instead. * @m_deprecated_since{2020,06} Use @ref DataType::Half instead.
*/ */
HalfFloat CORRADE_DEPRECATED_ENUM("use Half instead") = Half, HalfFloat CORRADE_DEPRECATED_ENUM("use Half instead") = Half,
#endif #endif
@ -604,7 +604,7 @@ class MAGNUM_GL_EXPORT DynamicAttribute {
* @param components Component count * @param components Component count
* @param vectors Vector count * @param vectors Vector count
* @param dataType Type of passed data * @param dataType Type of passed data
* @m_since_latest * @m_since{2020,06}
* *
* Vector stride is set to size of the data type times component count. * Vector stride is set to size of the data type times component count.
*/ */
@ -619,7 +619,7 @@ class MAGNUM_GL_EXPORT DynamicAttribute {
* @param vectorStride Stride between consecutive matrix column * @param vectorStride Stride between consecutive matrix column
* vectors * vectors
* @param dataType Type of passed data * @param dataType Type of passed data
* @m_since_latest * @m_since{2020,06}
*/ */
constexpr explicit DynamicAttribute(Kind kind, UnsignedInt location, Components components, UnsignedInt vectors, UnsignedInt vectorStride, DataType dataType): _kind{kind}, _location{location}, _components{components}, _vectors{vectors}, _vectorStride{vectorStride}, _dataType{dataType} {} constexpr explicit DynamicAttribute(Kind kind, UnsignedInt location, Components components, UnsignedInt vectors, UnsignedInt vectorStride, DataType dataType): _kind{kind}, _location{location}, _components{components}, _vectors{vectors}, _vectorStride{vectorStride}, _dataType{dataType} {}
@ -631,7 +631,7 @@ class MAGNUM_GL_EXPORT DynamicAttribute {
/** /**
* @brief Construct from a generic mesh attribute type * @brief Construct from a generic mesh attribute type
* @m_since_latest * @m_since{2020,06}
* *
* The @p type is expected to be available on given target and be * The @p type is expected to be available on given target and be
* compatible with @p kind --- i.e., normalized or floating-point for * compatible with @p kind --- i.e., normalized or floating-point for
@ -643,7 +643,7 @@ class MAGNUM_GL_EXPORT DynamicAttribute {
/** /**
* @brief Construct from a compile-time attribute with a generic mesh attribute type override * @brief Construct from a compile-time attribute with a generic mesh attribute type override
* @m_since_latest * @m_since{2020,06}
* *
* Extracts kind and location from passed @ref Attribute type and calls * Extracts kind and location from passed @ref Attribute type and calls
* @ref DynamicAttribute(Kind, UnsignedInt, VertexFormat). Expects that * @ref DynamicAttribute(Kind, UnsignedInt, VertexFormat). Expects that
@ -666,7 +666,7 @@ class MAGNUM_GL_EXPORT DynamicAttribute {
/** /**
* @brief Vector count * @brief Vector count
* @m_since_latest * @m_since{2020,06}
* *
* Returns @cpp 1 @ce for non-matrix attributes. * Returns @cpp 1 @ce for non-matrix attributes.
*/ */
@ -674,7 +674,7 @@ class MAGNUM_GL_EXPORT DynamicAttribute {
/** /**
* @brief Vector stride * @brief Vector stride
* @m_since_latest * @m_since{2020,06}
*/ */
constexpr UnsignedInt vectorStride() const { return _vectorStride; } constexpr UnsignedInt vectorStride() const { return _vectorStride; }
@ -705,7 +705,7 @@ MAGNUM_GL_EXPORT Debug& operator<<(Debug& debug, DynamicAttribute::DataType);
/** /**
@brief Check availability of a generic mesh attribute type @brief Check availability of a generic mesh attribute type
@m_since_latest @m_since{2020,06}
Some OpenGL targets don't support all mesh attribute types (for example OpenGL Some OpenGL targets don't support all mesh attribute types (for example OpenGL
ES doesn't support double-precision types). Returns @cpp false @ce if current ES doesn't support double-precision types). Returns @cpp false @ce if current

6
src/Magnum/GL/Buffer.h

@ -791,7 +791,7 @@ class MAGNUM_GL_EXPORT Buffer: public AbstractObject {
* information * information
* @param data Data * @param data Data
* @param usage Buffer usage * @param usage Buffer usage
* @m_since_latest * @m_since{2020,06}
* *
* Equivalent to constructing via @ref Buffer(TargetHint) and then * Equivalent to constructing via @ref Buffer(TargetHint) and then
* calling @ref setData(). * calling @ref setData().
@ -802,13 +802,13 @@ class MAGNUM_GL_EXPORT Buffer: public AbstractObject {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
template<class T> explicit Buffer(TargetHint targetHint, std::initializer_list<T> data, BufferUsage usage = BufferUsage::StaticDraw): Buffer{targetHint, Containers::arrayView(data), usage} {} template<class T> explicit Buffer(TargetHint targetHint, std::initializer_list<T> data, BufferUsage usage = BufferUsage::StaticDraw): Buffer{targetHint, Containers::arrayView(data), usage} {}
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
* *
* Equivalent to calling @ref Buffer(TargetHint, Containers::ArrayView<const void>, BufferUsage) * Equivalent to calling @ref Buffer(TargetHint, Containers::ArrayView<const void>, BufferUsage)
* with @ref TargetHint::Array. Unlike with * with @ref TargetHint::Array. Unlike with

2
src/Magnum/GL/BufferTexture.h

@ -238,7 +238,7 @@ class MAGNUM_GL_EXPORT BufferTexture: public AbstractTexture {
/** /**
* @brief Remove existing buffer from the texture * @brief Remove existing buffer from the texture
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref setBuffer() * @see @ref setBuffer()
*/ */

10
src/Magnum/GL/Mesh.h

@ -138,7 +138,7 @@ enum class MeshPrimitive: GLenum {
/** /**
@brief Check availability of a generic mesh primitive @brief Check availability of a generic mesh primitive
@m_since_latest @m_since{2020,06}
Returns @cpp false @ce if OpenGL doesn't support such primitive, @cpp true @ce Returns @cpp false @ce if OpenGL doesn't support such primitive, @cpp true @ce
otherwise. Moreover, returns @cpp true @ce also for all formats that are otherwise. Moreover, returns @cpp true @ce also for all formats that are
@ -956,14 +956,14 @@ class MAGNUM_GL_EXPORT Mesh: public AbstractObject {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Draw the mesh * @brief Draw the mesh
* @m_deprecated_since_latest Use @ref AbstractShaderProgram::draw() * @m_deprecated_since{2020,06} Use @ref AbstractShaderProgram::draw()
* instead. * instead.
*/ */
CORRADE_DEPRECATED("use AbstractShaderProgram::draw() instead") Mesh& draw(AbstractShaderProgram& shader); CORRADE_DEPRECATED("use AbstractShaderProgram::draw() instead") Mesh& draw(AbstractShaderProgram& shader);
/** /**
* @overload * @overload
* @m_deprecated_since_latest Use @ref AbstractShaderProgram::draw() * @m_deprecated_since{2020,06} Use @ref AbstractShaderProgram::draw()
* instead. * instead.
*/ */
CORRADE_DEPRECATED("use AbstractShaderProgram::draw() instead") Mesh& draw(AbstractShaderProgram&& shader); CORRADE_DEPRECATED("use AbstractShaderProgram::draw() instead") Mesh& draw(AbstractShaderProgram&& shader);
@ -971,14 +971,14 @@ class MAGNUM_GL_EXPORT Mesh: public AbstractObject {
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
/** /**
* @brief Draw the mesh with vertices coming out of transform feedback * @brief Draw the mesh with vertices coming out of transform feedback
* @m_deprecated_since_latest Use * @m_deprecated_since{2020,06} Use
* @ref AbstractShaderProgram::drawTransformFeedback() instead. * @ref AbstractShaderProgram::drawTransformFeedback() instead.
*/ */
CORRADE_DEPRECATED("use AbstractShaderProgram::drawTransformFeedback() instead") Mesh& draw(AbstractShaderProgram& shader, TransformFeedback& xfb, UnsignedInt stream = 0); CORRADE_DEPRECATED("use AbstractShaderProgram::drawTransformFeedback() instead") Mesh& draw(AbstractShaderProgram& shader, TransformFeedback& xfb, UnsignedInt stream = 0);
/** /**
* @overload * @overload
* @m_deprecated_since_latest Use * @m_deprecated_since{2020,06} Use
* @ref AbstractShaderProgram::drawTransformFeedback() instead. * @ref AbstractShaderProgram::drawTransformFeedback() instead.
*/ */
CORRADE_DEPRECATED("use AbstractShaderProgram::drawTransformFeedback() instead") Mesh& draw(AbstractShaderProgram&& shader, TransformFeedback& xfb, UnsignedInt stream = 0); CORRADE_DEPRECATED("use AbstractShaderProgram::drawTransformFeedback() instead") Mesh& draw(AbstractShaderProgram&& shader, TransformFeedback& xfb, UnsignedInt stream = 0);

16
src/Magnum/GL/MeshView.h

@ -62,7 +62,7 @@ class MAGNUM_GL_EXPORT MeshView {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Draw multiple meshes at once * @brief Draw multiple meshes at once
* @m_deprecated_since_latest Use * @m_deprecated_since{2020,06} Use
* @ref AbstractShaderProgram::draw(Containers::ArrayView<const Containers::Reference<MeshView>>) * @ref AbstractShaderProgram::draw(Containers::ArrayView<const Containers::Reference<MeshView>>)
* instead. * instead.
*/ */
@ -70,7 +70,7 @@ class MAGNUM_GL_EXPORT MeshView {
/** /**
* @overload * @overload
* @m_deprecated_since_latest Use * @m_deprecated_since{2020,06} Use
* @ref AbstractShaderProgram::draw(Containers::ArrayView<const Containers::Reference<MeshView>>) * @ref AbstractShaderProgram::draw(Containers::ArrayView<const Containers::Reference<MeshView>>)
* instead. * instead.
*/ */
@ -78,7 +78,7 @@ class MAGNUM_GL_EXPORT MeshView {
/** /**
* @overload * @overload
* @m_deprecated_since_latest Use * @m_deprecated_since{2020,06} Use
* @ref AbstractShaderProgram::draw(std::initializer_list<Containers::Reference<MeshView>>) * @ref AbstractShaderProgram::draw(std::initializer_list<Containers::Reference<MeshView>>)
* instead. * instead.
*/ */
@ -86,7 +86,7 @@ class MAGNUM_GL_EXPORT MeshView {
/** /**
* @overload * @overload
* @m_deprecated_since_latest Use * @m_deprecated_since{2020,06} Use
* @ref AbstractShaderProgram::draw(std::initializer_list<Containers::Reference<MeshView>>) * @ref AbstractShaderProgram::draw(std::initializer_list<Containers::Reference<MeshView>>)
* instead. * instead.
*/ */
@ -224,14 +224,14 @@ class MAGNUM_GL_EXPORT MeshView {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Draw the mesh * @brief Draw the mesh
* @m_deprecated_since_latest Use @ref AbstractShaderProgram::draw() * @m_deprecated_since{2020,06} Use @ref AbstractShaderProgram::draw()
* instead. * instead.
*/ */
CORRADE_DEPRECATED("use AbstractShaderProgram::draw() instead") MeshView& draw(AbstractShaderProgram& shader); CORRADE_DEPRECATED("use AbstractShaderProgram::draw() instead") MeshView& draw(AbstractShaderProgram& shader);
/** /**
* @overload * @overload
* @m_deprecated_since_latest Use @ref AbstractShaderProgram::draw() * @m_deprecated_since{2020,06} Use @ref AbstractShaderProgram::draw()
* instead. * instead.
*/ */
CORRADE_DEPRECATED("use AbstractShaderProgram::draw() instead") MeshView& draw(AbstractShaderProgram&& shader); CORRADE_DEPRECATED("use AbstractShaderProgram::draw() instead") MeshView& draw(AbstractShaderProgram&& shader);
@ -239,14 +239,14 @@ class MAGNUM_GL_EXPORT MeshView {
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
/** /**
* @brief Draw the mesh with vertices coming out of transform feedback * @brief Draw the mesh with vertices coming out of transform feedback
* @m_deprecated_since_latest Use * @m_deprecated_since{2020,06} Use
* @ref AbstractShaderProgram::drawTransformFeedback() instead. * @ref AbstractShaderProgram::drawTransformFeedback() instead.
*/ */
CORRADE_DEPRECATED("use AbstractShaderProgram::drawTransformFeedback() instead") MeshView& draw(AbstractShaderProgram& shader, TransformFeedback& xfb, UnsignedInt stream = 0); CORRADE_DEPRECATED("use AbstractShaderProgram::drawTransformFeedback() instead") MeshView& draw(AbstractShaderProgram& shader, TransformFeedback& xfb, UnsignedInt stream = 0);
/** /**
* @overload * @overload
* @m_deprecated_since_latest Use * @m_deprecated_since{2020,06} Use
@ref AbstractShaderProgram::drawTransformFeedback() instead. @ref AbstractShaderProgram::drawTransformFeedback() instead.
*/ */
CORRADE_DEPRECATED("use AbstractShaderProgram::drawTransformFeedback() instead") MeshView& draw(AbstractShaderProgram&& shader, TransformFeedback& xfb, UnsignedInt stream = 0); CORRADE_DEPRECATED("use AbstractShaderProgram::drawTransformFeedback() instead") MeshView& draw(AbstractShaderProgram&& shader, TransformFeedback& xfb, UnsignedInt stream = 0);

4
src/Magnum/GL/PipelineStatisticsQuery.h

@ -28,7 +28,7 @@
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
/** @file /** @file
* @brief Class @ref Magnum::GL::PipelineStatisticsQuery * @brief Class @ref Magnum::GL::PipelineStatisticsQuery
* @m_since_latest * @m_since{2020,06}
*/ */
#endif #endif
@ -39,7 +39,7 @@ namespace Magnum { namespace GL {
/** /**
@brief Pipeline statistics query @brief Pipeline statistics query
@m_since_latest @m_since{2020,06}
Provides various data about the rendering pipeline, useful for profiling and Provides various data about the rendering pipeline, useful for profiling and
performance measurements. performance measurements.

4
src/Magnum/GL/PixelFormat.h

@ -415,7 +415,7 @@ enum class PixelType: GLenum {
* Each component half float. * Each component half float.
* @see @ref Magnum::Half "Half", @ref Math::packHalf(), * @see @ref Magnum::Half "Half", @ref Math::packHalf(),
* @ref Math::unpackHalf() * @ref Math::unpackHalf()
* @m_since_latest * @m_since{2020,06}
* @requires_gl30 Extension @gl_extension{ARB,half_float_pixel} * @requires_gl30 Extension @gl_extension{ARB,half_float_pixel}
* @requires_gles30 Extension @gl_extension2{OES,texture_half_float,OES_texture_float} * @requires_gles30 Extension @gl_extension2{OES,texture_half_float,OES_texture_float}
* to use for texture reading in OpenGL ES 2.0. * to use for texture reading in OpenGL ES 2.0.
@ -439,7 +439,7 @@ enum class PixelType: GLenum {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Half float. * Half float.
* @m_deprecated_since_latest Use @ref PixelType::Half instead. * @m_deprecated_since{2020,06} Use @ref PixelType::Half instead.
*/ */
HalfFloat CORRADE_DEPRECATED_ENUM("use Half instead") = Half, HalfFloat CORRADE_DEPRECATED_ENUM("use Half instead") = Half,
#endif #endif

44
src/Magnum/GL/Renderer.h

@ -117,7 +117,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @gl_extension{EXT,clip_cull_distance} * @gl_extension{EXT,clip_cull_distance}
* @requires_webgl_extension WebGL 2.0 and extension * @requires_webgl_extension WebGL 2.0 and extension
* @webgl_extension{EXT,clip_cull_distance} * @webgl_extension{EXT,clip_cull_distance}
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
ClipDistance0 = GL_CLIP_DISTANCE0, ClipDistance0 = GL_CLIP_DISTANCE0,
@ -140,7 +140,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @gl_extension{EXT,clip_cull_distance} * @gl_extension{EXT,clip_cull_distance}
* @requires_webgl_extension WebGL 2.0 and extension * @requires_webgl_extension WebGL 2.0 and extension
* @webgl_extension{EXT,clip_cull_distance} * @webgl_extension{EXT,clip_cull_distance}
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
ClipDistance1 = GL_CLIP_DISTANCE1, ClipDistance1 = GL_CLIP_DISTANCE1,
@ -163,7 +163,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @gl_extension{EXT,clip_cull_distance} * @gl_extension{EXT,clip_cull_distance}
* @requires_webgl_extension WebGL 2.0 and extension * @requires_webgl_extension WebGL 2.0 and extension
* @webgl_extension{EXT,clip_cull_distance} * @webgl_extension{EXT,clip_cull_distance}
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
ClipDistance2 = GL_CLIP_DISTANCE2, ClipDistance2 = GL_CLIP_DISTANCE2,
@ -186,7 +186,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @gl_extension{EXT,clip_cull_distance} * @gl_extension{EXT,clip_cull_distance}
* @requires_webgl_extension WebGL 2.0 and extension * @requires_webgl_extension WebGL 2.0 and extension
* @webgl_extension{EXT,clip_cull_distance} * @webgl_extension{EXT,clip_cull_distance}
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
ClipDistance3 = GL_CLIP_DISTANCE3, ClipDistance3 = GL_CLIP_DISTANCE3,
@ -209,7 +209,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @gl_extension{EXT,clip_cull_distance} * @gl_extension{EXT,clip_cull_distance}
* @requires_webgl_extension WebGL 2.0 and extension * @requires_webgl_extension WebGL 2.0 and extension
* @webgl_extension{EXT,clip_cull_distance} * @webgl_extension{EXT,clip_cull_distance}
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
ClipDistance4 = GL_CLIP_DISTANCE4, ClipDistance4 = GL_CLIP_DISTANCE4,
@ -232,7 +232,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @gl_extension{EXT,clip_cull_distance} * @gl_extension{EXT,clip_cull_distance}
* @requires_webgl_extension WebGL 2.0 and extension * @requires_webgl_extension WebGL 2.0 and extension
* @webgl_extension{EXT,clip_cull_distance} * @webgl_extension{EXT,clip_cull_distance}
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
ClipDistance5 = GL_CLIP_DISTANCE5, ClipDistance5 = GL_CLIP_DISTANCE5,
@ -255,7 +255,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @gl_extension{EXT,clip_cull_distance} * @gl_extension{EXT,clip_cull_distance}
* @requires_webgl_extension WebGL 2.0 and extension * @requires_webgl_extension WebGL 2.0 and extension
* @webgl_extension{EXT,clip_cull_distance} * @webgl_extension{EXT,clip_cull_distance}
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
ClipDistance6 = GL_CLIP_DISTANCE6, ClipDistance6 = GL_CLIP_DISTANCE6,
@ -278,7 +278,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @gl_extension{EXT,clip_cull_distance} * @gl_extension{EXT,clip_cull_distance}
* @requires_webgl_extension WebGL 2.0 and extension * @requires_webgl_extension WebGL 2.0 and extension
* @webgl_extension{EXT,clip_cull_distance} * @webgl_extension{EXT,clip_cull_distance}
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
ClipDistance7 = GL_CLIP_DISTANCE7, ClipDistance7 = GL_CLIP_DISTANCE7,
@ -514,7 +514,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @brief Enable a feature for given draw buffer * @brief Enable a feature for given draw buffer
* @param feature Feature to enable * @param feature Feature to enable
* @param drawBuffer Draw buffer index * @param drawBuffer Draw buffer index
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref disable(Feature, UnsignedInt), * @see @ref disable(Feature, UnsignedInt),
* @ref setFeature(Feature, UnsignedInt, bool), * @ref setFeature(Feature, UnsignedInt, bool),
@ -540,7 +540,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @brief Disable a feature for given draw buffer * @brief Disable a feature for given draw buffer
* @param feature Feature to disable * @param feature Feature to disable
* @param drawBuffer Draw buffer index * @param drawBuffer Draw buffer index
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref enable(Feature, UnsignedInt), * @see @ref enable(Feature, UnsignedInt),
* @ref setFeature(Feature, UnsignedInt, bool), * @ref setFeature(Feature, UnsignedInt, bool),
@ -881,7 +881,7 @@ class MAGNUM_GL_EXPORT Renderer {
#if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL) #if !defined(MAGNUM_TARGET_GLES2) && !defined(MAGNUM_TARGET_WEBGL)
/** /**
* @brief Max supported component patch vertex count * @brief Max supported component patch vertex count
* @m_since_latest * @m_since{2020,06}
* *
* The result is cached, repeated queries don't result in repeated * The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @gl_extension{ARB,tessellation_shader} (part * OpenGL calls. If neither @gl_extension{ARB,tessellation_shader} (part
@ -896,7 +896,7 @@ class MAGNUM_GL_EXPORT Renderer {
/** /**
* @brief Set tessellation patch vertex count * @brief Set tessellation patch vertex count
* @m_since_latest * @m_since{2020,06}
* *
* Specifies number of vertices that will be used to make up a single * Specifies number of vertices that will be used to make up a single
* tessellation patch primitive. * tessellation patch primitive.
@ -914,7 +914,7 @@ class MAGNUM_GL_EXPORT Renderer {
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
/** /**
* @brief Set default patch inner tessellation level * @brief Set default patch inner tessellation level
* @m_since_latest * @m_since{2020,06}
* *
* When no tessellation control shader is present, specifies the * When no tessellation control shader is present, specifies the
* default inner tessellation levels to be used. * default inner tessellation levels to be used.
@ -928,7 +928,7 @@ class MAGNUM_GL_EXPORT Renderer {
/** /**
* @brief Set default patch outer tessellation level * @brief Set default patch outer tessellation level
* @m_since_latest * @m_since{2020,06}
* *
* When no tessellation control shader is present, specifies the * When no tessellation control shader is present, specifies the
* default outer tessellation levels to be used. * default outer tessellation levels to be used.
@ -944,7 +944,7 @@ class MAGNUM_GL_EXPORT Renderer {
#if !(defined(MAGNUM_TARGET_GLES2) && defined(MAGNUM_TARGET_WEBGL)) #if !(defined(MAGNUM_TARGET_GLES2) && defined(MAGNUM_TARGET_WEBGL))
/** /**
* @brief Max supported clip distance count * @brief Max supported clip distance count
* @m_since_latest * @m_since{2020,06}
* *
* The result is cached, repeated queries don't result in repeated * The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither OpenGL 3.0 nor * OpenGL calls. If neither OpenGL 3.0 nor
@ -961,7 +961,7 @@ class MAGNUM_GL_EXPORT Renderer {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
/** /**
* @brief Max supported cull distance count * @brief Max supported cull distance count
* @m_since_latest * @m_since{2020,06}
* *
* The result is cached, repeated queries don't result in repeated * The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @gl_extension{ARB,cull_distance} (part of * OpenGL calls. If neither @gl_extension{ARB,cull_distance} (part of
@ -976,7 +976,7 @@ class MAGNUM_GL_EXPORT Renderer {
/** /**
* @brief Max supported combined clip and cull distance count * @brief Max supported combined clip and cull distance count
* @m_since_latest * @m_since{2020,06}
* *
* The result is cached, repeated queries don't result in repeated * The result is cached, repeated queries don't result in repeated
* OpenGL calls. If neither @gl_extension{ARB,cull_distance} (part of * OpenGL calls. If neither @gl_extension{ARB,cull_distance} (part of
@ -1181,7 +1181,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @param allowGreen Allow green channel to be written * @param allowGreen Allow green channel to be written
* @param allowBlue Allow blue channel to be written * @param allowBlue Allow blue channel to be written
* @param allowAlpha Allow alpha channel to be written * @param allowAlpha Allow alpha channel to be written
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref GL-Framebuffer-usage-multiple-outputs, * @see @ref GL-Framebuffer-usage-multiple-outputs,
* @fn_gl2_keyword{ColorMaski,ColorMask} * @fn_gl2_keyword{ColorMaski,ColorMask}
@ -1618,7 +1618,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @brief Set blend equation for given draw buffer * @brief Set blend equation for given draw buffer
* @param drawBuffer Draw buffer index * @param drawBuffer Draw buffer index
* @param equation Blend equation * @param equation Blend equation
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref GL-Framebuffer-usage-multiple-outputs, * @see @ref GL-Framebuffer-usage-multiple-outputs,
* @fn_gl2_keyword{BlendEquationi,BlendEquation} * @fn_gl2_keyword{BlendEquationi,BlendEquation}
@ -1647,7 +1647,7 @@ class MAGNUM_GL_EXPORT Renderer {
* @param drawBuffer Draw buffer index * @param drawBuffer Draw buffer index
* @param rgb Blend equation for RGB components * @param rgb Blend equation for RGB components
* @param alpha Blend equation for the alpha component * @param alpha Blend equation for the alpha component
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref GL-Framebuffer-usage-multiple-outputs, * @see @ref GL-Framebuffer-usage-multiple-outputs,
* @fn_gl2_keyword{BlendEquationSeparatei,BlendEquationSeparate} * @fn_gl2_keyword{BlendEquationSeparatei,BlendEquationSeparate}
@ -1696,7 +1696,7 @@ class MAGNUM_GL_EXPORT Renderer {
* from pixel value * from pixel value
* @param destination How the destination blending factor is * @param destination How the destination blending factor is
* computed from framebuffer * computed from framebuffer
* @m_since_latest * @m_since{2020,06}
* *
* See @ref setBlendFunction(BlendFunction, BlendFunction) for more * See @ref setBlendFunction(BlendFunction, BlendFunction) for more
* information. * information.
@ -1731,7 +1731,7 @@ class MAGNUM_GL_EXPORT Renderer {
* computed from framebuffer for RGB components * computed from framebuffer for RGB components
* @param destinationAlpha How the destination blending factor is * @param destinationAlpha How the destination blending factor is
* computed from framebuffer for the alpha component * computed from framebuffer for the alpha component
* @m_since_latest * @m_since{2020,06}
* *
* See @ref setBlendFunction(BlendFunction, BlendFunction) for more * See @ref setBlendFunction(BlendFunction, BlendFunction) for more
* information. * information.

94
src/Magnum/Magnum.h

@ -68,7 +68,7 @@ Defined if built as static libraries. Default are shared libraries.
/** /**
@brief Static library build with globals unique across shared libraries @brief Static library build with globals unique across shared libraries
@m_since_latest @m_since{2020,06}
Enabled by default in a static build. Enabled by default in a static build.
@see @ref building, @ref cmake @see @ref building, @ref cmake
@ -281,73 +281,73 @@ typedef Math::Vector4<Float> Vector4;
/** /**
@brief Two-component unsigned byte vector @brief Two-component unsigned byte vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector2<UnsignedByte> Vector2ub; typedef Math::Vector2<UnsignedByte> Vector2ub;
/** /**
@brief Three-component unsigned byte vector @brief Three-component unsigned byte vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector3<UnsignedByte> Vector3ub; typedef Math::Vector3<UnsignedByte> Vector3ub;
/** /**
@brief Four-component unsigned byte vector @brief Four-component unsigned byte vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector4<UnsignedByte> Vector4ub; typedef Math::Vector4<UnsignedByte> Vector4ub;
/** /**
@brief Two-component signed byte vector @brief Two-component signed byte vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector2<Byte> Vector2b; typedef Math::Vector2<Byte> Vector2b;
/** /**
@brief Three-component signed byte vector @brief Three-component signed byte vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector3<Byte> Vector3b; typedef Math::Vector3<Byte> Vector3b;
/** /**
@brief Four-component signed byte vector @brief Four-component signed byte vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector4<Byte> Vector4b; typedef Math::Vector4<Byte> Vector4b;
/** /**
@brief Two-component unsigned short vector @brief Two-component unsigned short vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector2<UnsignedShort> Vector2us; typedef Math::Vector2<UnsignedShort> Vector2us;
/** /**
@brief Three-component unsigned short vector @brief Three-component unsigned short vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector3<UnsignedShort> Vector3us; typedef Math::Vector3<UnsignedShort> Vector3us;
/** /**
@brief Four-component unsigned short vector @brief Four-component unsigned short vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector4<UnsignedShort> Vector4us; typedef Math::Vector4<UnsignedShort> Vector4us;
/** /**
@brief Two-component signed short vector @brief Two-component signed short vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector2<Short> Vector2s; typedef Math::Vector2<Short> Vector2s;
/** /**
@brief Three-component signed short vector @brief Three-component signed short vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector3<Short> Vector3s; typedef Math::Vector3<Short> Vector3s;
/** /**
@brief Four-component signed short vector @brief Four-component signed short vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector4<Short> Vector4s; typedef Math::Vector4<Short> Vector4s;
@ -420,7 +420,7 @@ typedef Math::Color3<UnsignedByte> Color3ub;
/** /**
@brief Three-component (RGB) unsigned short color @brief Three-component (RGB) unsigned short color
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Color3<UnsignedShort> Color3us; typedef Math::Color3<UnsignedShort> Color3us;
@ -436,7 +436,7 @@ typedef Math::Color4<UnsignedByte> Color4ub;
/** /**
@brief Four-component (RGB) unsigned short color @brief Four-component (RGB) unsigned short color
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Color4<UnsignedShort> Color4us; typedef Math::Color4<UnsignedShort> Color4us;
@ -534,7 +534,7 @@ typedef Math::Matrix4x3<Float> Matrix4x3;
/** /**
@brief Signed byte matrix with 2 columns and 2 rows @brief Signed byte matrix with 2 columns and 2 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -548,7 +548,7 @@ typedef Math::Matrix2x2<Byte> Matrix2x2b;
/** /**
@brief Signed byte matrix with 2 columns and 3 rows @brief Signed byte matrix with 2 columns and 3 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -562,7 +562,7 @@ typedef Math::Matrix2x3<Byte> Matrix2x3b;
/** /**
@brief Signed byte matrix with 2 columns and 4 rows @brief Signed byte matrix with 2 columns and 4 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -572,7 +572,7 @@ typedef Math::Matrix2x4<Byte> Matrix2x4b;
/** /**
@brief Signed byte matrix with 3 columns and 2 rows @brief Signed byte matrix with 3 columns and 2 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -586,7 +586,7 @@ typedef Math::Matrix3x2<Byte> Matrix3x2b;
/** /**
@brief Signed byte matrix with 3 columns and 3 rows @brief Signed byte matrix with 3 columns and 3 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -600,7 +600,7 @@ typedef Math::Matrix3x3<Byte> Matrix3x3b;
/** /**
@brief Signed byte matrix with 3 columns and 4 rows @brief Signed byte matrix with 3 columns and 4 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -610,7 +610,7 @@ typedef Math::Matrix3x4<Byte> Matrix3x4b;
/** /**
@brief Signed byte matrix with 4 columns and 2 rows @brief Signed byte matrix with 4 columns and 2 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -624,7 +624,7 @@ typedef Math::Matrix4x2<Byte> Matrix4x2b;
/** /**
@brief Signed byte matrix with 4 columns and 3 rows @brief Signed byte matrix with 4 columns and 3 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -638,7 +638,7 @@ typedef Math::Matrix4x3<Byte> Matrix4x3b;
/** /**
@brief Signed byte matrix with 4 columns and 4 rows @brief Signed byte matrix with 4 columns and 4 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 8-bit types. For Storage only, in ordet to support matrices packed into 8-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -648,7 +648,7 @@ typedef Math::Matrix4x4<Byte> Matrix4x4b;
/** /**
@brief Signed short matrix with 2 columns and 2 rows @brief Signed short matrix with 2 columns and 2 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -658,7 +658,7 @@ typedef Math::Matrix2x2<Short> Matrix2x2s;
/** /**
@brief Signed short matrix with 2 columns and 3 rows @brief Signed short matrix with 2 columns and 3 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -672,7 +672,7 @@ typedef Math::Matrix2x3<Short> Matrix2x3s;
/** /**
@brief Signed short matrix with 2 columns and 4 rows @brief Signed short matrix with 2 columns and 4 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -682,7 +682,7 @@ typedef Math::Matrix2x4<Short> Matrix2x4s;
/** /**
@brief Signed short matrix with 3 columns and 2 rows @brief Signed short matrix with 3 columns and 2 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -692,7 +692,7 @@ typedef Math::Matrix3x2<Short> Matrix3x2s;
/** /**
@brief Signed short matrix with 3 columns and 3 rows @brief Signed short matrix with 3 columns and 3 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -706,7 +706,7 @@ typedef Math::Matrix3x3<Short> Matrix3x3s;
/** /**
@brief Signed short matrix with 3 columns and 4 rows @brief Signed short matrix with 3 columns and 4 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -716,7 +716,7 @@ typedef Math::Matrix3x4<Short> Matrix3x4s;
/** /**
@brief Signed short matrix with 4 columns and 2 rows @brief Signed short matrix with 4 columns and 2 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -726,7 +726,7 @@ typedef Math::Matrix4x2<Short> Matrix4x2s;
/** /**
@brief Signed short matrix with 4 columns and 3 rows @brief Signed short matrix with 4 columns and 3 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -740,7 +740,7 @@ typedef Math::Matrix4x3<Short> Matrix4x3s;
/** /**
@brief Signed short matrix with 4 columns and 4 rows @brief Signed short matrix with 4 columns and 4 rows
@m_since_latest @m_since{2020,06}
Storage only, in ordet to support matrices packed into 16-bit types. For Storage only, in ordet to support matrices packed into 16-bit types. For
performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack() performing arithmetic on this type use @ref Math::unpack() / @ref Math::unpackInto() to convert to a float type first and then @ref Math::pack()
@ -833,43 +833,43 @@ for performing arithmetic on these types use @ref Math::unpackHalf() / @ref Math
/** /**
@brief Two-component half-float vector @brief Two-component half-float vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector2<Half> Vector2h; typedef Math::Vector2<Half> Vector2h;
/** /**
@brief Three-component half-float vector @brief Three-component half-float vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector3<Half> Vector3h; typedef Math::Vector3<Half> Vector3h;
/** /**
@brief Four-component half-float vector @brief Four-component half-float vector
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Vector4<Half> Vector4h; typedef Math::Vector4<Half> Vector4h;
/** /**
@brief Three-component (RGB) half-float color @brief Three-component (RGB) half-float color
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Color3<Half> Color3h; typedef Math::Color3<Half> Color3h;
/** /**
@brief Four-component (RGBA) half-float color @brief Four-component (RGBA) half-float color
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Color4<Half> Color4h; typedef Math::Color4<Half> Color4h;
/** /**
@brief Half-float matrix with 2 columns and 2 rows @brief Half-float matrix with 2 columns and 2 rows
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Matrix2x2<Half> Matrix2x2h; typedef Math::Matrix2x2<Half> Matrix2x2h;
/** /**
@brief Half-float matrix with 2 columns and 3 rows @brief Half-float matrix with 2 columns and 3 rows
@m_since_latest @m_since{2020,06}
Note that this type doesn't have the columns four-byte aligned, which may Note that this type doesn't have the columns four-byte aligned, which may
negatively affect performance in some cases. For better alignment use negatively affect performance in some cases. For better alignment use
@ -879,19 +879,19 @@ typedef Math::Matrix2x3<Half> Matrix2x3h;
/** /**
@brief Half-float matrix with 2 columns and 4 rows @brief Half-float matrix with 2 columns and 4 rows
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Matrix2x4<Half> Matrix2x4h; typedef Math::Matrix2x4<Half> Matrix2x4h;
/** /**
@brief Half-float matrix with 3 columns and 2 rows @brief Half-float matrix with 3 columns and 2 rows
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Matrix3x2<Half> Matrix3x2h; typedef Math::Matrix3x2<Half> Matrix3x2h;
/** /**
@brief Half-float matrix with 3 columns and 3 rows @brief Half-float matrix with 3 columns and 3 rows
@m_since_latest @m_since{2020,06}
Note that this type doesn't have the columns four-byte aligned, which may Note that this type doesn't have the columns four-byte aligned, which may
negatively affect performance in some cases. For better alignment use negatively affect performance in some cases. For better alignment use
@ -901,19 +901,19 @@ typedef Math::Matrix3x3<Half> Matrix3x3h;
/** /**
@brief Half-float matrix with 3 columns and 4 rows @brief Half-float matrix with 3 columns and 4 rows
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Matrix3x4<Half> Matrix3x4h; typedef Math::Matrix3x4<Half> Matrix3x4h;
/** /**
@brief Half-float matrix with 4 columns and 2 rows @brief Half-float matrix with 4 columns and 2 rows
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Matrix4x2<Half> Matrix4x2h; typedef Math::Matrix4x2<Half> Matrix4x2h;
/** /**
@brief Half-float matrix with 4 columns and 3 rows @brief Half-float matrix with 4 columns and 3 rows
@m_since_latest @m_since{2020,06}
Note that this type doesn't have the columns four-byte aligned, which may Note that this type doesn't have the columns four-byte aligned, which may
negatively affect performance in some cases. For better alignment use negatively affect performance in some cases. For better alignment use
@ -923,7 +923,7 @@ typedef Math::Matrix4x3<Half> Matrix4x3h;
/** /**
@brief Half-float matrix with 4 columns and 4 rows @brief Half-float matrix with 4 columns and 4 rows
@m_since_latest @m_since{2020,06}
*/ */
typedef Math::Matrix4x4<Half> Matrix4x4h; typedef Math::Matrix4x4<Half> Matrix4x4h;

2
src/Magnum/Math/DualComplex.h

@ -341,7 +341,7 @@ template<class T> class DualComplex: public Dual<Complex<T>> {
/** /**
* @brief Rotate a vector with a dual complex number * @brief Rotate a vector with a dual complex number
* @m_since_latest * @m_since{2020,06}
* *
* Calls @ref Complex::transformVector() on the @ref real() part, * Calls @ref Complex::transformVector() on the @ref real() part,
* see its documentation for more information. * see its documentation for more information.

4
src/Magnum/Math/DualQuaternion.h

@ -476,7 +476,7 @@ template<class T> class DualQuaternion: public Dual<Quaternion<T>> {
/** /**
* @brief Rotate a vector with a dual quaternion * @brief Rotate a vector with a dual quaternion
* @m_since_latest * @m_since{2020,06}
* *
* Calls @ref Quaternion::transformVector() on the @ref real() part, * Calls @ref Quaternion::transformVector() on the @ref real() part,
* see its documentation for more information. * see its documentation for more information.
@ -487,7 +487,7 @@ template<class T> class DualQuaternion: public Dual<Quaternion<T>> {
/** /**
* @brief Rotate a vector with a normalized dual quaternion * @brief Rotate a vector with a normalized dual quaternion
* @m_since_latest * @m_since{2020,06}
* *
* Calls @ref Quaternion::transformVectorNormalized() on the * Calls @ref Quaternion::transformVectorNormalized() on the
* @ref real() part, see its documentation for more information. * @ref real() part, see its documentation for more information.

14
src/Magnum/Math/Frustum.h

@ -146,7 +146,7 @@ template<class T> class Frustum {
/** /**
* @brief Plane at given index * @brief Plane at given index
* @m_since_latest * @m_since{2020,06}
* *
* Expects that @p i is less than @cpp 6 @ce. * Expects that @p i is less than @cpp 6 @ce.
*/ */
@ -206,42 +206,42 @@ template<class T> class Frustum {
/** /**
* @brief Left plane * @brief Left plane
* @m_since_latest * @m_since{2020,06}
*/ */
Vector4<T>& left() { return _data[0]; } Vector4<T>& left() { return _data[0]; }
constexpr Vector4<T> left() const { return _data[0]; } /**< @overload */ constexpr Vector4<T> left() const { return _data[0]; } /**< @overload */
/** /**
* @brief Right plane * @brief Right plane
* @m_since_latest * @m_since{2020,06}
*/ */
Vector4<T>& right() { return _data[1]; } Vector4<T>& right() { return _data[1]; }
constexpr Vector4<T> right() const { return _data[1]; } /**< @overload */ constexpr Vector4<T> right() const { return _data[1]; } /**< @overload */
/** /**
* @brief Bottom plane * @brief Bottom plane
* @m_since_latest * @m_since{2020,06}
*/ */
Vector4<T>& bottom() { return _data[2]; } Vector4<T>& bottom() { return _data[2]; }
constexpr Vector4<T> bottom() const { return _data[2]; } /**< @overload */ constexpr Vector4<T> bottom() const { return _data[2]; } /**< @overload */
/** /**
* @brief Top plane * @brief Top plane
* @m_since_latest * @m_since{2020,06}
*/ */
Vector4<T>& top() { return _data[3]; } Vector4<T>& top() { return _data[3]; }
constexpr Vector4<T> top() const { return _data[3]; } /**< @overload */ constexpr Vector4<T> top() const { return _data[3]; } /**< @overload */
/** /**
* @brief Near plane * @brief Near plane
* @m_since_latest * @m_since{2020,06}
*/ */
Vector4<T>& near() { return _data[4]; } Vector4<T>& near() { return _data[4]; }
constexpr Vector4<T> near() const { return _data[4]; } /**< @overload */ constexpr Vector4<T> near() const { return _data[4]; } /**< @overload */
/** /**
* @brief Far plane * @brief Far plane
* @m_since_latest * @m_since{2020,06}
*/ */
Vector4<T>& far() { return _data[5]; } Vector4<T>& far() { return _data[5]; }
constexpr Vector4<T> far() const { return _data[5]; } /**< @overload */ constexpr Vector4<T> far() const { return _data[5]; } /**< @overload */

4
src/Magnum/Math/Functions.h

@ -663,7 +663,7 @@ template<std::size_t size, class T> inline Vector<size, T> sqrtInverted(const Ve
/** /**
@brief Reflect a vector @brief Reflect a vector
@m_since_latest @m_since{2020,06}
Reflects the vector off a surface given the surface outward normal. Expects Reflects the vector off a surface given the surface outward normal. Expects
that the normal vector is normalized. For a vector @f$ \boldsymbol{v} @f$ and a that the normal vector is normalized. For a vector @f$ \boldsymbol{v} @f$ and a
@ -683,7 +683,7 @@ template<std::size_t size, class T> inline Vector<size, T> reflect(const Vector<
/** /**
@brief Refract a vector @brief Refract a vector
@m_since_latest @m_since{2020,06}
Refracts a vector through a medium given the surface outward normal and ratio Refracts a vector through a medium given the surface outward normal and ratio
of indices of refraction eta. Expects that both @p vector and @p normal is of indices of refraction eta. Expects that both @p vector and @p normal is

10
src/Magnum/Math/FunctionsBatch.h

@ -79,7 +79,7 @@ template<class T> auto isInf(const Corrade::Containers::StridedArrayView1D<const
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the
above overload. Works with any type that's convertible to above overload. Works with any type that's convertible to
@ -131,7 +131,7 @@ template<class T> inline auto isNan(const Corrade::Containers::StridedArrayView1
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the
above overload. Works with any type that's convertible to above overload. Works with any type that's convertible to
@ -211,7 +211,7 @@ template<class T> inline T min(const Corrade::Containers::StridedArrayView1D<con
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the
above overload. Works with any type that's convertible to above overload. Works with any type that's convertible to
@ -256,7 +256,7 @@ template<class T> inline T max(const Corrade::Containers::StridedArrayView1D<con
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the
above overload. Works with any type that's convertible to above overload. Works with any type that's convertible to
@ -317,7 +317,7 @@ template<class T> inline std::pair<T, T> minmax(const Corrade::Containers::Strid
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the Converts @p range to @ref Corrade::Containers::StridedArrayView1D and calls the
above overload. Works with any type that's convertible to above overload. Works with any type that's convertible to

62
src/Magnum/Math/PackingBatch.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Functions @ref Magnum::Math::packInto(), @ref Magnum::Math::unpackInto(), @ref Magnum::Math::packHalfInto(), @ref Magnum::Math::unpackHalfInto(), @ref Magnum::Math::castInto() * @brief Functions @ref Magnum::Math::packInto(), @ref Magnum::Math::unpackInto(), @ref Magnum::Math::packHalfInto(), @ref Magnum::Math::unpackHalfInto(), @ref Magnum::Math::castInto()
* @m_since_latest * @m_since{2020,06}
*/ */
#include <Corrade/Containers/Containers.h> #include <Corrade/Containers/Containers.h>
@ -48,7 +48,7 @@ vectors or scalars.
@brief Unpack unsigned integral values into a floating-point representation @brief Unpack unsigned integral values into a floating-point representation
@param[in] src Source integral values @param[in] src Source integral values
@param[out] dst Destination floating-point values @param[out] dst Destination floating-point values
@m_since_latest @m_since{2020,06}
Converts integral values from full range of given *unsigned* integral type to Converts integral values from full range of given *unsigned* integral type to
floating-point values in range @f$ [0, 1] @f$. Second dimension is meant to floating-point values in range @f$ [0, 1] @f$. Second dimension is meant to
@ -62,7 +62,7 @@ MAGNUM_EXPORT void unpackInto(const Corrade::Containers::StridedArrayView2D<cons
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void unpackInto(const Corrade::Containers::StridedArrayView2D<const UnsignedShort>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst); MAGNUM_EXPORT void unpackInto(const Corrade::Containers::StridedArrayView2D<const UnsignedShort>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst);
@ -70,7 +70,7 @@ MAGNUM_EXPORT void unpackInto(const Corrade::Containers::StridedArrayView2D<cons
@brief Unpack signed integral values into a floating-point representation @brief Unpack signed integral values into a floating-point representation
@param[in] src Source integral values @param[in] src Source integral values
@param[out] dst Destination floating-point values @param[out] dst Destination floating-point values
@m_since_latest @m_since{2020,06}
Converts integral values from full range of given *signed* integral type to Converts integral values from full range of given *signed* integral type to
floating-point values in range @f$ [-1, 1] @f$. Second dimension is meant to floating-point values in range @f$ [-1, 1] @f$. Second dimension is meant to
@ -84,7 +84,7 @@ MAGNUM_EXPORT void unpackInto(const Corrade::Containers::StridedArrayView2D<cons
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void unpackInto(const Corrade::Containers::StridedArrayView2D<const Short>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst); MAGNUM_EXPORT void unpackInto(const Corrade::Containers::StridedArrayView2D<const Short>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst);
@ -92,7 +92,7 @@ MAGNUM_EXPORT void unpackInto(const Corrade::Containers::StridedArrayView2D<cons
@brief Pack floating-point values into an integer representation @brief Pack floating-point values into an integer representation
@param[in] src Source floating-point values @param[in] src Source floating-point values
@param[out] dst Destination integral values @param[out] dst Destination integral values
@m_since_latest @m_since{2020,06}
Converts floating-point value in range @f$ [0, 1] @f$ to full range of Converts floating-point value in range @f$ [0, 1] @f$ to full range of
given *unsigned* integral type or range @f$ [-1, 1] @f$ to full range of given *unsigned* integral type or range @f$ [-1, 1] @f$ to full range of
@ -111,19 +111,19 @@ MAGNUM_EXPORT void packInto(const Corrade::Containers::StridedArrayView2D<const
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void packInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Byte>& dst); MAGNUM_EXPORT void packInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Byte>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void packInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<UnsignedShort>& dst); MAGNUM_EXPORT void packInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<UnsignedShort>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void packInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Short>& dst); MAGNUM_EXPORT void packInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Short>& dst);
@ -131,7 +131,7 @@ MAGNUM_EXPORT void packInto(const Corrade::Containers::StridedArrayView2D<const
@brief Pack 32-bit float values into 16-bit half-float representation @brief Pack 32-bit float values into 16-bit half-float representation
@param[in] src Source 32-bit float values @param[in] src Source 32-bit float values
@param[out] dst Destination 16-bit half-float values @param[out] dst Destination 16-bit half-float values
@m_since_latest @m_since{2020,06}
See [Wikipedia](https://en.wikipedia.org/wiki/Half-precision_floating-point_format) See [Wikipedia](https://en.wikipedia.org/wiki/Half-precision_floating-point_format)
for more information about half floats. Unlike @ref packHalf() this function is for more information about half floats. Unlike @ref packHalf() this function is
@ -150,7 +150,7 @@ MAGNUM_EXPORT void packHalfInto(const Corrade::Containers::StridedArrayView2D<co
@brief Unpack a range of 16-bit half-float values into 32-bit float representation @brief Unpack a range of 16-bit half-float values into 32-bit float representation
@param[in] src Source floating-point values @param[in] src Source floating-point values
@param[out] dst Destination integral values @param[out] dst Destination integral values
@m_since_latest @m_since{2020,06}
See [Wikipedia](https://en.wikipedia.org/wiki/Half-precision_floating-point_format) See [Wikipedia](https://en.wikipedia.org/wiki/Half-precision_floating-point_format)
for more information about half floats. Unlike @ref unpackHalf() this function for more information about half floats. Unlike @ref unpackHalf() this function
@ -169,7 +169,7 @@ MAGNUM_EXPORT void unpackHalfInto(const Corrade::Containers::StridedArrayView2D<
@brief Cast integer values into a floating-point representation @brief Cast integer values into a floating-point representation
@param[in] src Source integral values @param[in] src Source integral values
@param[out] dst Destination floating-point values @param[out] dst Destination floating-point values
@m_since_latest @m_since{2020,06}
Unlike @ref packInto(), this function performs only an equivalent of Unlike @ref packInto(), this function performs only an equivalent of
@cpp Float(a) @ce over the range, so e.g. @cpp 135 @ce becomes @cpp 135.0f @ce. @cpp Float(a) @ce over the range, so e.g. @cpp 135 @ce becomes @cpp 135.0f @ce.
@ -187,31 +187,31 @@ MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Byte>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Byte>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedShort>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedShort>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Short>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Short>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedInt>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedInt>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Int>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Int>& src, const Corrade::Containers::StridedArrayView2D<Float>& dst);
@ -219,7 +219,7 @@ MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const
@brief Cast floating-point values into an integer representation @brief Cast floating-point values into an integer representation
@param[in] src Source floating-point values @param[in] src Source floating-point values
@param[out] dst Destination integral values @param[out] dst Destination integral values
@m_since_latest @m_since{2020,06}
Unlike @ref packInto(), this function performs only an equivalent of Unlike @ref packInto(), this function performs only an equivalent of
@cpp Float(a) @ce over the range, so e.g. @cpp 135 @ce becomes @cpp 135.0f @ce. @cpp Float(a) @ce over the range, so e.g. @cpp 135 @ce becomes @cpp 135.0f @ce.
@ -237,31 +237,31 @@ MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Byte>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Byte>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<UnsignedShort>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<UnsignedShort>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Short>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Short>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<UnsignedInt>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<UnsignedInt>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Int>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Float>& src, const Corrade::Containers::StridedArrayView2D<Int>& dst);
@ -269,7 +269,7 @@ MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const
@brief Cast integer values into a differently sized type @brief Cast integer values into a differently sized type
@param[in] src Source values @param[in] src Source values
@param[out] dst Destination values @param[out] dst Destination values
@m_since_latest @m_since{2020,06}
Second dimension is meant to contain vector/matrix components, or have a size Second dimension is meant to contain vector/matrix components, or have a size
of 1 for scalars. Expects that @p src and @p dst have the same size and that of 1 for scalars. Expects that @p src and @p dst have the same size and that
@ -284,43 +284,43 @@ MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Byte>& src, const Corrade::Containers::StridedArrayView2D<Int>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Byte>& src, const Corrade::Containers::StridedArrayView2D<Int>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedShort>& src, const Corrade::Containers::StridedArrayView2D<UnsignedInt>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedShort>& src, const Corrade::Containers::StridedArrayView2D<UnsignedInt>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Short>& src, const Corrade::Containers::StridedArrayView2D<Int>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Short>& src, const Corrade::Containers::StridedArrayView2D<Int>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedInt>& src, const Corrade::Containers::StridedArrayView2D<UnsignedShort>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedInt>& src, const Corrade::Containers::StridedArrayView2D<UnsignedShort>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Int>& src, const Corrade::Containers::StridedArrayView2D<Short>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Int>& src, const Corrade::Containers::StridedArrayView2D<Short>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedInt>& src, const Corrade::Containers::StridedArrayView2D<UnsignedByte>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const UnsignedInt>& src, const Corrade::Containers::StridedArrayView2D<UnsignedByte>& dst);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Int>& src, const Corrade::Containers::StridedArrayView2D<Byte>& dst); MAGNUM_EXPORT void castInto(const Corrade::Containers::StridedArrayView2D<const Int>& src, const Corrade::Containers::StridedArrayView2D<Byte>& dst);

2
src/Magnum/Math/Quaternion.h

@ -432,7 +432,7 @@ template<class T> class Quaternion {
/** /**
* @brief Convert to an euler vector * @brief Convert to an euler vector
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the quaternion is normalized. Returns the angles in an * Expects that the quaternion is normalized. Returns the angles in an
* XYZ order, you can combine them back to a quaternion like this: * XYZ order, you can combine them back to a quaternion like this:

8
src/Magnum/Math/Range.h

@ -380,7 +380,7 @@ template<class T> class Range2D: public Range<2, T> {
/** /**
* @brief Construct a range from a pair of minimal and maximal coordinates * @brief Construct a range from a pair of minimal and maximal coordinates
* @m_since_latest * @m_since{2020,06}
* *
* Useful in combination with e.g. @ref minmax(), here for example to * Useful in combination with e.g. @ref minmax(), here for example to
* calculate texture bounds: * calculate texture bounds:
@ -393,7 +393,7 @@ template<class T> class Range2D: public Range<2, T> {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
/*implicit*/ Range2D(const std::pair<Vector<2, T>, Vector<2, T>>& minmax) noexcept: Range<2, T>{minmax.first, minmax.second} {} /*implicit*/ Range2D(const std::pair<Vector<2, T>, Vector<2, T>>& minmax) noexcept: Range<2, T>{minmax.first, minmax.second} {}
@ -534,7 +534,7 @@ template<class T> class Range3D: public Range<3, T> {
/** /**
* @brief Construct a range from a pair of minimal and maximal coordinates * @brief Construct a range from a pair of minimal and maximal coordinates
* @m_since_latest * @m_since{2020,06}
* *
* Useful in combination with e.g. @ref minmax(), here for example to * Useful in combination with e.g. @ref minmax(), here for example to
* calculate bounds of a triangle: * calculate bounds of a triangle:
@ -547,7 +547,7 @@ template<class T> class Range3D: public Range<3, T> {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
/*implicit*/ Range3D(const std::pair<Vector<3, T>, Vector<3, T>>& minmax) noexcept: Range<3, T>{minmax.first, minmax.second} {} /*implicit*/ Range3D(const std::pair<Vector<3, T>, Vector<3, T>>& minmax) noexcept: Range<3, T>{minmax.first, minmax.second} {}

4
src/Magnum/Math/Tags.h

@ -42,7 +42,7 @@ namespace Magnum { namespace Math {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief No initialization tag type @brief No initialization tag type
@m_deprecated_since_latest Use @ref Magnum::NoInitT instead. @m_deprecated_since{2020,06} Use @ref Magnum::NoInitT instead.
*/ */
typedef CORRADE_DEPRECATED("use Magnum::NoInitT instead") Magnum::NoInitT NoInitT; typedef CORRADE_DEPRECATED("use Magnum::NoInitT instead") Magnum::NoInitT NoInitT;
#endif #endif
@ -78,7 +78,7 @@ struct IdentityInitT {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief No initialization tag @brief No initialization tag
@m_deprecated_since_latest Use @ref Magnum::NoInit instead. @m_deprecated_since{2020,06} Use @ref Magnum::NoInit instead.
*/ */
/** @todo when removing, clean up all Magnum::NoInit in Math to be NoInit again */ /** @todo when removing, clean up all Magnum::NoInit in Math to be NoInit again */
/* Explicit constructor to avoid ambiguous calls when using {} */ /* Explicit constructor to avoid ambiguous calls when using {} */

6
src/Magnum/Math/TypeTraits.h

@ -42,7 +42,7 @@
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Precision when testing floats for equality @brief Precision when testing floats for equality
@m_deprecated_since_latest Use @ref Magnum::Math::TypeTraits::epsilon() @m_deprecated_since{2020,06} Use @ref Magnum::Math::TypeTraits::epsilon()
instead. instead.
They have "at least" 6 significant digits of precision, taking one digit less They have "at least" 6 significant digits of precision, taking one digit less
@ -55,7 +55,7 @@ for more headroom.
/** /**
@brief Precision when testing doubles for equality @brief Precision when testing doubles for equality
@m_deprecated_since_latest Use @ref Magnum::Math::TypeTraits::epsilon() @m_deprecated_since{2020,06} Use @ref Magnum::Math::TypeTraits::epsilon()
instead. instead.
They have "at least" 15 significant digits of precision, taking one digit less They have "at least" 15 significant digits of precision, taking one digit less
@ -69,7 +69,7 @@ for more headroom.
#ifndef CORRADE_TARGET_EMSCRIPTEN #ifndef CORRADE_TARGET_EMSCRIPTEN
/** /**
@brief Precision when testing long doubles for equality @brief Precision when testing long doubles for equality
@m_deprecated_since_latest Use @ref Magnum::Math::TypeTraits::epsilon() @m_deprecated_since{2020,06} Use @ref Magnum::Math::TypeTraits::epsilon()
instead. instead.
They have "at least" 18 significant digits of precision, taking one digit less They have "at least" 18 significant digits of precision, taking one digit less

12
src/Magnum/Mesh.h

@ -143,7 +143,7 @@ enum class MeshPrimitive: UnsignedInt {
/** /**
* Per-instance data. * Per-instance data.
* @m_since_latest * @m_since{2020,06}
* *
* Has no direct mapping to GPU APIs, but can be used to annotate * Has no direct mapping to GPU APIs, but can be used to annotate
* @ref Trade::MeshData containing per-instance data (such as colors, * @ref Trade::MeshData containing per-instance data (such as colors,
@ -154,7 +154,7 @@ enum class MeshPrimitive: UnsignedInt {
/** /**
* Per-face data. * Per-face data.
* @m_since_latest * @m_since{2020,06}
* *
* Can be used to annotate @ref Trade::MeshData containing data that are * Can be used to annotate @ref Trade::MeshData containing data that are
* per-face, as opposed to per-vertex. Has no direct mapping to common GPU * per-face, as opposed to per-vertex. Has no direct mapping to common GPU
@ -168,7 +168,7 @@ enum class MeshPrimitive: UnsignedInt {
/** /**
* Per-edge data. * Per-edge data.
* @m_since_latest * @m_since{2020,06}
* *
* Can be used to annotate @ref Trade::MeshData containing data that are * Can be used to annotate @ref Trade::MeshData containing data that are
* per-edge, as opposed to per-vertex. This is different from * per-edge, as opposed to per-vertex. This is different from
@ -188,7 +188,7 @@ MAGNUM_EXPORT Debug& operator<<(Debug& debug, MeshPrimitive value);
/** /**
@brief Whether a @ref MeshPrimitive value wraps an implementation-specific identifier @brief Whether a @ref MeshPrimitive value wraps an implementation-specific identifier
@m_since_latest @m_since{2020,06}
Returns @cpp true @ce if value of @p primitive has its highest bit set, Returns @cpp true @ce if value of @p primitive has its highest bit set,
@cpp false @ce otherwise. Use @ref meshPrimitiveWrap() and @ref meshPrimitiveUnwrap() @cpp false @ce otherwise. Use @ref meshPrimitiveWrap() and @ref meshPrimitiveUnwrap()
@ -201,7 +201,7 @@ constexpr bool isMeshPrimitiveImplementationSpecific(MeshPrimitive primitive) {
/** /**
@brief Wrap an implementation-specific mesh primitive identifier in @ref MeshPrimitive @brief Wrap an implementation-specific mesh primitive identifier in @ref MeshPrimitive
@m_since_latest @m_since{2020,06}
Sets the highest bit on @p primitive to mark it as implementation-specific. Sets the highest bit on @p primitive to mark it as implementation-specific.
Expects that @p primitive fits into the remaining bits. Use Expects that @p primitive fits into the remaining bits. Use
@ -217,7 +217,7 @@ template<class T> constexpr MeshPrimitive meshPrimitiveWrap(T implementationSpec
/** /**
@brief Unwrap an implementation-specific mesh primitive identifier from @ref MeshPrimitive @brief Unwrap an implementation-specific mesh primitive identifier from @ref MeshPrimitive
@m_since_latest @m_since{2020,06}
Unsets the highest bit from @p primitive to extract the implementation-specific Unsets the highest bit from @p primitive to extract the implementation-specific
value. Expects that @p primitive has it set. Use @ref meshPrimitiveWrap() for value. Expects that @p primitive has it set. Use @ref meshPrimitiveWrap() for

12
src/Magnum/MeshTools/Combine.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Function @ref Magnum::MeshTools::combineIndexedAttributes(), @ref Magnum::MeshTools::combineFaceAttributes() * @brief Function @ref Magnum::MeshTools::combineIndexedAttributes(), @ref Magnum::MeshTools::combineFaceAttributes()
* @m_since_latest * @m_since{2020,06}
*/ */
#include <initializer_list> #include <initializer_list>
@ -39,7 +39,7 @@ namespace Magnum { namespace MeshTools {
/** /**
@brief Combine differently indexed attributes into a single mesh @brief Combine differently indexed attributes into a single mesh
@m_since_latest @m_since{2020,06}
Assuming each @p data contains only unique vertex data, creates an indexed mesh Assuming each @p data contains only unique vertex data, creates an indexed mesh
that contains all attributes from @p data combined, with duplicate vertices that contains all attributes from @p data combined, with duplicate vertices
@ -89,13 +89,13 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData combineIndexedAttributes(const Container
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT Trade::MeshData combineIndexedAttributes(std::initializer_list<Containers::Reference<const Trade::MeshData>> data); MAGNUM_MESHTOOLS_EXPORT Trade::MeshData combineIndexedAttributes(std::initializer_list<Containers::Reference<const Trade::MeshData>> data);
/** /**
@brief Combine per-face attributes into an existing mesh @brief Combine per-face attributes into an existing mesh
@m_since_latest @m_since{2020,06}
The resulting mesh will have all per-face attributes turned into per-vertex The resulting mesh will have all per-face attributes turned into per-vertex
attributes, leaving only unique combinations and adjusting the index buffer attributes, leaving only unique combinations and adjusting the index buffer
@ -114,7 +114,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData combineFaceAttributes(const Trade::MeshD
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Same as above with @p faceAttributes wrapped in a @ref Trade::MeshData with Same as above with @p faceAttributes wrapped in a @ref Trade::MeshData with
@ref MeshPrimitive::Faces and no index buffer. Same as in the above case, @ref MeshPrimitive::Faces and no index buffer. Same as in the above case,
@ -126,7 +126,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData combineFaceAttributes(const Trade::MeshD
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT Trade::MeshData combineFaceAttributes(const Trade::MeshData& mesh, std::initializer_list<Trade::MeshAttributeData> faceAttributes); MAGNUM_MESHTOOLS_EXPORT Trade::MeshData combineFaceAttributes(const Trade::MeshData& mesh, std::initializer_list<Trade::MeshAttributeData> faceAttributes);

10
src/Magnum/MeshTools/CombineIndexedArrays.h

@ -28,7 +28,7 @@
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @file /** @file
* @brief Function @ref Magnum::MeshTools::combineIndexArrays(), @ref Magnum::MeshTools::combineIndexedArrays() * @brief Function @ref Magnum::MeshTools::combineIndexArrays(), @ref Magnum::MeshTools::combineIndexedArrays()
* @m_deprecated_since_latest Use @ref Magnum/MeshTools/Combine.h and * @m_deprecated_since{2020,06} Use @ref Magnum/MeshTools/Combine.h and
* @ref Magnum::MeshTools::combineIndexedAttributes() instead. * @ref Magnum::MeshTools::combineIndexedAttributes() instead.
*/ */
#endif #endif
@ -56,7 +56,7 @@ namespace Magnum { namespace MeshTools {
@param[in,out] arrays Index arrays to combine. These arrays are updated @param[in,out] arrays Index arrays to combine. These arrays are updated
in-place to contain unique combinations of the original indices. in-place to contain unique combinations of the original indices.
@return Resulting combined index array @return Resulting combined index array
@m_deprecated_since_latest Use @ref combineIndexedAttributes() instead. @m_deprecated_since{2020,06} Use @ref combineIndexedAttributes() instead.
Creates new combined index array and updates the original ones with translation Creates new combined index array and updates the original ones with translation
to new ones. For example, when you have position and normal array, each indexed to new ones. For example, when you have position and normal array, each indexed
@ -98,13 +98,13 @@ CORRADE_DEPRECATED("use combineIndexedAttributes() instead") MAGNUM_MESHTOOLS_EX
/** /**
@overload @overload
@m_deprecated_since_latest Use @ref combineIndexedAttributes() instead. @m_deprecated_since{2020,06} Use @ref combineIndexedAttributes() instead.
*/ */
CORRADE_DEPRECATED("use combineIndexedAttributes() instead") MAGNUM_MESHTOOLS_EXPORT std::vector<UnsignedInt> combineIndexArrays(std::initializer_list<std::reference_wrapper<std::vector<UnsignedInt>>> arrays); CORRADE_DEPRECATED("use combineIndexedAttributes() instead") MAGNUM_MESHTOOLS_EXPORT std::vector<UnsignedInt> combineIndexArrays(std::initializer_list<std::reference_wrapper<std::vector<UnsignedInt>>> arrays);
/** /**
@brief Combine interleaved index arrays @brief Combine interleaved index arrays
@m_deprecated_since_latest Use @ref combineIndexedAttributes() instead. @m_deprecated_since{2020,06} Use @ref combineIndexedAttributes() instead.
Unlike above, this function takes one interleaved array instead of separate Unlike above, this function takes one interleaved array instead of separate
index arrays. Continuing with the above example, you would call this function index arrays. Continuing with the above example, you would call this function
@ -157,7 +157,7 @@ template<class T, class ...U> inline void writeCombinedArrays(UnsignedInt stride
@brief Combine indexed arrays @brief Combine indexed arrays
@param[in,out] indexedArrays Index and attribute arrays @param[in,out] indexedArrays Index and attribute arrays
@return Array with resulting indices @return Array with resulting indices
@m_deprecated_since_latest Use @ref combineIndexedAttributes() instead. @m_deprecated_since{2020,06} Use @ref combineIndexedAttributes() instead.
Creates new combined index array and reorders original attribute arrays so they Creates new combined index array and reorders original attribute arrays so they
can be indexed with the new single index array. can be indexed with the new single index array.

18
src/Magnum/MeshTools/Compile.h

@ -81,7 +81,7 @@ enum class CompileFlag: UnsignedByte {
* @ref compile(const Trade::MeshData&, GL::Buffer&, GL::Buffer&) or * @ref compile(const Trade::MeshData&, GL::Buffer&, GL::Buffer&) or
* handling them in some other way on the application side already, use * handling them in some other way on the application side already, use
* this flag to suppress the warning messages. * this flag to suppress the warning messages.
* @m_since_latest * @m_since{2020,06}
*/ */
NoWarnOnCustomAttributes = 1 << 2 NoWarnOnCustomAttributes = 1 << 2
}; };
@ -98,7 +98,7 @@ CORRADE_ENUMSET_OPERATORS(CompileFlags)
/** /**
@brief Compile mesh data @brief Compile mesh data
@m_since_latest @m_since{2020,06}
Configures a mesh for a @ref Shaders::Generic shader with a vertex buffer and Configures a mesh for a @ref Shaders::Generic shader with a vertex buffer and
possibly also an index buffer, if the mesh is indexed. possibly also an index buffer, if the mesh is indexed.
@ -142,7 +142,7 @@ MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData, Compil
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
/* Separately because this one doesn't rely on duplicate() / interleave() / /* Separately because this one doesn't rely on duplicate() / interleave() /
generate*Normals() and thus the exe can be smaller when using this function generate*Normals() and thus the exe can be smaller when using this function
@ -151,7 +151,7 @@ MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData);
/** /**
@brief Compile mesh data using external buffers @brief Compile mesh data using external buffers
@m_since_latest @m_since{2020,06}
Assumes the whole vertex / index data are already uploaded to @p indices / Assumes the whole vertex / index data are already uploaded to @p indices /
@p vertices and sets up the mesh using those. Can be used to have a single @p vertices and sets up the mesh using those. Can be used to have a single
@ -180,26 +180,26 @@ MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData, GL::Bu
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData, GL::Buffer& indices, GL::Buffer&& vertices); MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData, GL::Buffer& indices, GL::Buffer&& vertices);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData, GL::Buffer&& indices, GL::Buffer& vertices); MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData, GL::Buffer&& indices, GL::Buffer& vertices);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData, GL::Buffer&& indices, GL::Buffer&& vertices); MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData& meshData, GL::Buffer&& indices, GL::Buffer&& vertices);
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Compile 2D mesh data @brief Compile 2D mesh data
@m_deprecated_since_latest Use @ref compile(const Trade::MeshData&, CompileFlags) @m_deprecated_since{2020,06} Use @ref compile(const Trade::MeshData&, CompileFlags)
instead. instead.
Configures a mesh for @ref Shaders::Generic2D shader with vertex buffer and Configures a mesh for @ref Shaders::Generic2D shader with vertex buffer and
@ -238,7 +238,7 @@ CORRADE_IGNORE_DEPRECATED_POP
/** /**
@brief Compile 3D mesh data @brief Compile 3D mesh data
@m_deprecated_since_latest Use @ref compile(const Trade::MeshData&, CompileFlags) @m_deprecated_since{2020,06} Use @ref compile(const Trade::MeshData&, CompileFlags)
instead. instead.
Configures mesh for @ref Shaders::Generic3D shader with vertex buffer and Configures mesh for @ref Shaders::Generic3D shader with vertex buffer and

24
src/Magnum/MeshTools/CompressIndices.h

@ -50,7 +50,7 @@ namespace Magnum { namespace MeshTools {
@param atLeast Smallest allowed type @param atLeast Smallest allowed type
@param offset Offset to subtract from each index @param offset Offset to subtract from each index
@return Compressed index array and corresponding type @return Compressed index array and corresponding type
@m_since_latest @m_since{2020,06}
This function compresses @p indices to the smallest possible size. For example This function compresses @p indices to the smallest possible size. For example
when your indices have the maximum vertex index 463, it's wasteful to store when your indices have the maximum vertex index 463, it's wasteful to store
@ -80,19 +80,19 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compre
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compressIndices(const Containers::StridedArrayView1D<const UnsignedShort>& indices, MeshIndexType atLeast = MeshIndexType::UnsignedShort, Long offset = 0); MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compressIndices(const Containers::StridedArrayView1D<const UnsignedShort>& indices, MeshIndexType atLeast = MeshIndexType::UnsignedShort, Long offset = 0);
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compressIndices(const Containers::StridedArrayView1D<const UnsignedByte>& indices, MeshIndexType atLeast = MeshIndexType::UnsignedShort, Long offset = 0); MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compressIndices(const Containers::StridedArrayView1D<const UnsignedByte>& indices, MeshIndexType atLeast = MeshIndexType::UnsignedShort, Long offset = 0);
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Same as @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedInt>&, MeshIndexType, Long) Same as @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedInt>&, MeshIndexType, Long)
with @p atLeast set to @ref MeshIndexType::UnsignedShort. with @p atLeast set to @ref MeshIndexType::UnsignedShort.
@ -101,7 +101,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compre
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Same as @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedShort>&, MeshIndexType, Long) Same as @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedShort>&, MeshIndexType, Long)
with @p atLeast set to @ref MeshIndexType::UnsignedShort. with @p atLeast set to @ref MeshIndexType::UnsignedShort.
@ -110,7 +110,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compre
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Same as @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedByte>&, MeshIndexType, Long) Same as @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedByte>&, MeshIndexType, Long)
with @p atLeast set to @ref MeshIndexType::UnsignedShort. with @p atLeast set to @ref MeshIndexType::UnsignedShort.
@ -119,7 +119,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compre
/** /**
@brief Compress a type-erased index array @brief Compress a type-erased index array
@m_since_latest @m_since{2020,06}
Expects that the second dimension of @p indices is contiguous and represents Expects that the second dimension of @p indices is contiguous and represents
the actual 1/2/4-byte index type. Based on its size then calls one of the the actual 1/2/4-byte index type. Based on its size then calls one of the
@ -130,7 +130,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compre
/** /**
@overload @overload
@m_since_latest @m_since{2020,06}
Same as @ref compressIndices(const Containers::StridedArrayView2D<const char>&, MeshIndexType, Long) Same as @ref compressIndices(const Containers::StridedArrayView2D<const char>&, MeshIndexType, Long)
with @p atLeast set to @ref MeshIndexType::UnsignedShort. with @p atLeast set to @ref MeshIndexType::UnsignedShort.
@ -139,7 +139,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<char>, MeshIndexType> compre
/** /**
@brief Compress mesh data indices @brief Compress mesh data indices
@m_since_latest @m_since{2020,06}
Does the same as @ref compressIndices(const Containers::StridedArrayView2D<const char>&, MeshIndexType, Long), Does the same as @ref compressIndices(const Containers::StridedArrayView2D<const char>&, MeshIndexType, Long),
but together with adjusting vertex attribute offsets in the passed but together with adjusting vertex attribute offsets in the passed
@ -151,7 +151,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData compressIndices(const Trade::MeshData& d
/** /**
@brief Compress mesh data indices @brief Compress mesh data indices
@m_since_latest @m_since{2020,06}
Compared to @ref compressIndices(const Trade::MeshData&, MeshIndexType) this Compared to @ref compressIndices(const Trade::MeshData&, MeshIndexType) this
function can transfer ownership of @p data vertex buffer (in case it is function can transfer ownership of @p data vertex buffer (in case it is
@ -166,7 +166,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData compressIndices(Trade::MeshData&& data,
@brief Compress vertex indices @brief Compress vertex indices
@param indices Index array @param indices Index array
@return Index range, type and compressed index array @return Index range, type and compressed index array
@m_deprecated_since_latest Use @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedInt>&, MeshIndexType, Long) @m_deprecated_since{2020,06} Use @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedInt>&, MeshIndexType, Long)
instead. The index range isn't returned anymore, use @ref Math::minmax(const Containers::StridedArrayView1D<const T>&) instead. The index range isn't returned anymore, use @ref Math::minmax(const Containers::StridedArrayView1D<const T>&)
to get it if needed. to get it if needed.
@ -183,7 +183,7 @@ CORRADE_DEPRECATED("use compressIndices(const Containers::StridedArrayView1D<con
/** /**
@brief Compress vertex indices as given type @brief Compress vertex indices as given type
@m_deprecated_since_latest Use @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedInt>&, MeshIndexType, Long) @m_deprecated_since{2020,06} Use @ref compressIndices(const Containers::StridedArrayView1D<const UnsignedInt>&, MeshIndexType, Long)
instead. instead.
The type can be either @ref Magnum::UnsignedByte "UnsignedByte", The type can be either @ref Magnum::UnsignedByte "UnsignedByte",

10
src/Magnum/MeshTools/Concatenate.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Function @ref Magnum::MeshTools::concatenate(), @ref Magnum::MeshTools::concatenateInto() * @brief Function @ref Magnum::MeshTools::concatenate(), @ref Magnum::MeshTools::concatenateInto()
* @m_since_latest * @m_since{2020,06}
*/ */
#include <Corrade/Containers/GrowableArray.h> #include <Corrade/Containers/GrowableArray.h>
@ -45,7 +45,7 @@ namespace Implementation {
/** /**
@brief Concatenate meshes together @brief Concatenate meshes together
@m_since_latest @m_since{2020,06}
The returned mesh contains vertices from all meshes concatenated together. If The returned mesh contains vertices from all meshes concatenated together. If
any mesh is indexed, the resulting mesh is indexed as well, with indices any mesh is indexed, the resulting mesh is indexed as well, with indices
@ -76,7 +76,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData concatenate(Containers::ArrayView<const
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT Trade::MeshData concatenate(std::initializer_list<Containers::Reference<const Trade::MeshData>> meshes); MAGNUM_MESHTOOLS_EXPORT Trade::MeshData concatenate(std::initializer_list<Containers::Reference<const Trade::MeshData>> meshes);
@ -86,7 +86,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData concatenate(std::initializer_list<Contai
@param[in,out] destination Destination mesh from which the output arrays as @param[in,out] destination Destination mesh from which the output arrays as
well as desired attribute layout is taken well as desired attribute layout is taken
@param[in] meshes Meshes to concatenate @param[in] meshes Meshes to concatenate
@m_since_latest @m_since{2020,06}
Compared to @ref concatenate(Containers::ArrayView<const Containers::Reference<const Trade::MeshData>>) Compared to @ref concatenate(Containers::ArrayView<const Containers::Reference<const Trade::MeshData>>)
this function resizes existing index and vertex buffers in @p destination using this function resizes existing index and vertex buffers in @p destination using
@ -126,7 +126,7 @@ template<template<class> class Allocator = Containers::ArrayAllocator> void conc
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
template<template<class> class Allocator = Containers::ArrayAllocator> void concatenateInto(Trade::MeshData& destination, const std::initializer_list<Containers::Reference<const Trade::MeshData>> meshes) { template<template<class> class Allocator = Containers::ArrayAllocator> void concatenateInto(Trade::MeshData& destination, const std::initializer_list<Containers::Reference<const Trade::MeshData>> meshes) {
concatenateInto<Allocator>(destination, Containers::arrayView(meshes)); concatenateInto<Allocator>(destination, Containers::arrayView(meshes));

14
src/Magnum/MeshTools/Duplicate.h

@ -70,7 +70,7 @@ template<class IndexType, class T> Containers::Array<T> duplicate(const Containe
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Duplicate data using given index array @brief Duplicate data using given index array
@m_deprecated_since_latest Use @ref duplicate(const Containers::StridedArrayView1D<const IndexType>&, const Containers::StridedArrayView1D<const T>&) @m_deprecated_since{2020,06} Use @ref duplicate(const Containers::StridedArrayView1D<const IndexType>&, const Containers::StridedArrayView1D<const T>&)
or @ref duplicateInto() instead. or @ref duplicateInto() instead.
*/ */
template<class T> CORRADE_DEPRECATED("use duplicate() taking a StridedArrayView instead") std::vector<T> duplicate(const std::vector<UnsignedInt>& indices, const std::vector<T>& data) { template<class T> CORRADE_DEPRECATED("use duplicate() taking a StridedArrayView instead") std::vector<T> duplicate(const std::vector<UnsignedInt>& indices, const std::vector<T>& data) {
@ -98,7 +98,7 @@ template<class IndexType, class T> void duplicateInto(const Containers::StridedA
@param[in] indices Index array to use @param[in] indices Index array to use
@param[in] data Input data @param[in] data Input data
@param[out] out Where to store the output @param[out] out Where to store the output
@m_since_latest @m_since{2020,06}
Compared to @ref duplicateInto(const Containers::StridedArrayView1D<const IndexType>&, const Containers::StridedArrayView1D<const T>&, const Containers::StridedArrayView1D<T>&) Compared to @ref duplicateInto(const Containers::StridedArrayView1D<const IndexType>&, const Containers::StridedArrayView1D<const T>&, const Containers::StridedArrayView1D<T>&)
accepts a 2D view, where the second dimension spans the actual type. Expects accepts a 2D view, where the second dimension spans the actual type. Expects
@ -110,19 +110,19 @@ MAGNUM_MESHTOOLS_EXPORT void duplicateInto(const Containers::StridedArrayView1D<
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT void duplicateInto(const Containers::StridedArrayView1D<const UnsignedShort>& indices, const Containers::StridedArrayView2D<const char>& data, const Containers::StridedArrayView2D<char>& out); MAGNUM_MESHTOOLS_EXPORT void duplicateInto(const Containers::StridedArrayView1D<const UnsignedShort>& indices, const Containers::StridedArrayView2D<const char>& data, const Containers::StridedArrayView2D<char>& out);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT void duplicateInto(const Containers::StridedArrayView1D<const UnsignedByte>& indices, const Containers::StridedArrayView2D<const char>& data, const Containers::StridedArrayView2D<char>& out); MAGNUM_MESHTOOLS_EXPORT void duplicateInto(const Containers::StridedArrayView1D<const UnsignedByte>& indices, const Containers::StridedArrayView2D<const char>& data, const Containers::StridedArrayView2D<char>& out);
/** /**
@brief Duplicate type-erased data using a type-erased index array into given output array @brief Duplicate type-erased data using a type-erased index array into given output array
@m_since_latest @m_since{2020,06}
Expects that the second dimension of @p indices is contiguous and represents Expects that the second dimension of @p indices is contiguous and represents
the actual 1/2/4-byte index type. Based on its size then calls one of the the actual 1/2/4-byte index type. Based on its size then calls one of the
@ -133,7 +133,7 @@ MAGNUM_MESHTOOLS_EXPORT void duplicateInto(const Containers::StridedArrayView2D<
/** /**
@brief Duplicate indexed mesh data @brief Duplicate indexed mesh data
@m_since_latest @m_since{2020,06}
Returns a copy of @p data that's not indexed and has all attributes interleaved Returns a copy of @p data that's not indexed and has all attributes interleaved
and duplicated according to @p data's index buffer. The @p extra attributes, if and duplicated according to @p data's index buffer. The @p extra attributes, if
@ -153,7 +153,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData duplicate(const Trade::MeshData& data, C
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT Trade::MeshData duplicate(const Trade::MeshData& data, std::initializer_list<Trade::MeshAttributeData> extra); MAGNUM_MESHTOOLS_EXPORT Trade::MeshData duplicate(const Trade::MeshData& data, std::initializer_list<Trade::MeshAttributeData> extra);

20
src/Magnum/MeshTools/FlipNormals.h

@ -57,19 +57,19 @@ void flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedInt>& indic
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
void flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, const Containers::StridedArrayView1D<Vector3>& normals); void flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, const Containers::StridedArrayView1D<Vector3>& normals);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
void flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, const Containers::StridedArrayView1D<Vector3>& normals); void flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, const Containers::StridedArrayView1D<Vector3>& normals);
/** /**
@brief Flip mesh normals and face winding in-place on a type-erased index array @brief Flip mesh normals and face winding in-place on a type-erased index array
@m_since_latest @m_since{2020,06}
Expects that the second dimension of @p indices is contiguous and represents Expects that the second dimension of @p indices is contiguous and represents
the actual 1/2/4-byte index type. Based on its size then calls one of the the actual 1/2/4-byte index type. Based on its size then calls one of the
@ -81,7 +81,7 @@ void flipNormalsInPlace(const Containers::StridedArrayView2D<char>& indices, con
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief @copybrief flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedInt>&, const Containers::StridedArrayView1D<Vector3>&) @brief @copybrief flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedInt>&, const Containers::StridedArrayView1D<Vector3>&)
@m_deprecated_since_latest Use @ref flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedInt>&, const Containers::StridedArrayView1D<Vector3>&) @m_deprecated_since{2020,06} Use @ref flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedInt>&, const Containers::StridedArrayView1D<Vector3>&)
instead. instead.
*/ */
CORRADE_DEPRECATED("use flipNormalsInPlace() instead") MAGNUM_MESHTOOLS_EXPORT void flipNormals(std::vector<UnsignedInt>& indices, std::vector<Vector3>& normals); CORRADE_DEPRECATED("use flipNormalsInPlace() instead") MAGNUM_MESHTOOLS_EXPORT void flipNormals(std::vector<UnsignedInt>& indices, std::vector<Vector3>& normals);
@ -90,7 +90,7 @@ CORRADE_DEPRECATED("use flipNormalsInPlace() instead") MAGNUM_MESHTOOLS_EXPORT v
/** /**
@brief Flip face winding in-place @brief Flip face winding in-place
@param[in,out] indices Index array to operate on @param[in,out] indices Index array to operate on
@m_since_latest @m_since{2020,06}
Same as @ref flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedInt>&, const Containers::StridedArrayView1D<Vector3>&), Same as @ref flipNormalsInPlace(const Containers::StridedArrayView1D<UnsignedInt>&, const Containers::StridedArrayView1D<Vector3>&),
but flips only face winding. Expects a triangle mesh, thus the index count has but flips only face winding. Expects a triangle mesh, thus the index count has
@ -100,19 +100,19 @@ void MAGNUM_MESHTOOLS_EXPORT flipFaceWindingInPlace(const Containers::StridedArr
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
void MAGNUM_MESHTOOLS_EXPORT flipFaceWindingInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices); void MAGNUM_MESHTOOLS_EXPORT flipFaceWindingInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
void MAGNUM_MESHTOOLS_EXPORT flipFaceWindingInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices); void MAGNUM_MESHTOOLS_EXPORT flipFaceWindingInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices);
/** /**
@brief Flip face winding in-place on a type-erased index array @brief Flip face winding in-place on a type-erased index array
@m_since_latest @m_since{2020,06}
Expects that the second dimension of @p indices is contiguous and represents Expects that the second dimension of @p indices is contiguous and represents
the actual 1/2/4-byte index type. Based on its size then calls one of the the actual 1/2/4-byte index type. Based on its size then calls one of the
@ -124,7 +124,7 @@ void MAGNUM_MESHTOOLS_EXPORT flipFaceWindingInPlace(const Containers::StridedArr
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief @copybrief flipFaceWindingInPlace(const Containers::StridedArrayView1D<UnsignedInt>&) @brief @copybrief flipFaceWindingInPlace(const Containers::StridedArrayView1D<UnsignedInt>&)
@m_deprecated_since_latest Use @ref flipFaceWindingInPlace(const Containers::StridedArrayView1D<UnsignedInt>&) @m_deprecated_since{2020,06} Use @ref flipFaceWindingInPlace(const Containers::StridedArrayView1D<UnsignedInt>&)
instead. instead.
*/ */
CORRADE_DEPRECATED("use flipFaceWindingInPlace() instead") MAGNUM_MESHTOOLS_EXPORT void flipFaceWinding(std::vector<UnsignedInt>& indices); CORRADE_DEPRECATED("use flipFaceWindingInPlace() instead") MAGNUM_MESHTOOLS_EXPORT void flipFaceWinding(std::vector<UnsignedInt>& indices);
@ -142,7 +142,7 @@ void MAGNUM_MESHTOOLS_EXPORT flipNormalsInPlace(const Containers::StridedArrayVi
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@copybrief flipNormalsInPlace(const Containers::StridedArrayView1D<Vector3>&) @copybrief flipNormalsInPlace(const Containers::StridedArrayView1D<Vector3>&)
@m_deprecated_since_latest Use @ref flipNormalsInPlace(const Containers::StridedArrayView1D<Vector3>&) @m_deprecated_since{2020,06} Use @ref flipNormalsInPlace(const Containers::StridedArrayView1D<Vector3>&)
instead. instead.
*/ */
CORRADE_DEPRECATED("use flipNormalsInPlace() instead") MAGNUM_MESHTOOLS_EXPORT void flipNormals(std::vector<Vector3>& normals); CORRADE_DEPRECATED("use flipNormalsInPlace() instead") MAGNUM_MESHTOOLS_EXPORT void flipNormals(std::vector<Vector3>& normals);

24
src/Magnum/MeshTools/GenerateIndices.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Function @ref Magnum::MeshTools::primitiveCount(), @ref Magnum::MeshTools::generateLineStripIndices(), @ref Magnum::MeshTools::generateLineStripIndicesInto(), @ref Magnum::MeshTools::generateLineLoopIndices(), @ref Magnum::MeshTools::generateLineLoopIndicesInto(), @ref Magnum::MeshTools::generateTriangleStripIndices(), @ref Magnum::MeshTools::generateTriangleStripIndicesInto(), @ref Magnum::MeshTools::generateTriangleFanIndices(), @ref Magnum::MeshTools::generateTriangleFanIndicesInto(), @ref Magnum::MeshTools::generateIndices() * @brief Function @ref Magnum::MeshTools::primitiveCount(), @ref Magnum::MeshTools::generateLineStripIndices(), @ref Magnum::MeshTools::generateLineStripIndicesInto(), @ref Magnum::MeshTools::generateLineLoopIndices(), @ref Magnum::MeshTools::generateLineLoopIndicesInto(), @ref Magnum::MeshTools::generateTriangleStripIndices(), @ref Magnum::MeshTools::generateTriangleStripIndicesInto(), @ref Magnum::MeshTools::generateTriangleFanIndices(), @ref Magnum::MeshTools::generateTriangleFanIndicesInto(), @ref Magnum::MeshTools::generateIndices()
* @m_since_latest * @m_since{2020,06}
*/ */
#include "Magnum/Magnum.h" #include "Magnum/Magnum.h"
@ -38,7 +38,7 @@ namespace Magnum { namespace MeshTools {
/** /**
@brief Actual primitive count for given primitive type and element count @brief Actual primitive count for given primitive type and element count
@m_since_latest @m_since{2020,06}
Returns how many primitives is generated for given @p primitive and Returns how many primitives is generated for given @p primitive and
@p elementCount, for example for @ref MeshPrimitive::Triangles returns @p elementCount, for example for @ref MeshPrimitive::Triangles returns
@ -50,7 +50,7 @@ MAGNUM_MESHTOOLS_EXPORT UnsignedInt primitiveCount(MeshPrimitive primitive, Unsi
/** /**
@brief Create index buffer for a line strip primitive @brief Create index buffer for a line strip primitive
@m_since_latest @m_since{2020,06}
Can be used to convert a @ref MeshPrimitive::LineStrip mesh to Can be used to convert a @ref MeshPrimitive::LineStrip mesh to
@ref MeshPrimitive::Lines. The @p vertexCount is expected to be at least @ref MeshPrimitive::Lines. The @p vertexCount is expected to be at least
@ -63,7 +63,7 @@ MAGNUM_MESHTOOLS_EXPORT Containers::Array<UnsignedInt> generateLineStripIndices(
/** /**
@brief Create index buffer for a line strip primitive into an existing array @brief Create index buffer for a line strip primitive into an existing array
@m_since_latest @m_since{2020,06}
A variant of @ref generateLineStripIndicesInto() that fills existing memory A variant of @ref generateLineStripIndicesInto() that fills existing memory
instead of allocating a new array. The @p vertexCount is expected to be at instead of allocating a new array. The @p vertexCount is expected to be at
@ -74,7 +74,7 @@ MAGNUM_MESHTOOLS_EXPORT void generateLineStripIndicesInto(UnsignedInt vertexCoun
/** /**
@brief Create index buffer for a line loop primitive @brief Create index buffer for a line loop primitive
@m_since_latest @m_since{2020,06}
Can be used to convert a @ref MeshPrimitive::LineLoop mesh to Can be used to convert a @ref MeshPrimitive::LineLoop mesh to
@ref MeshPrimitive::Lines. The @p vertexCount is expected to be at least @ref MeshPrimitive::Lines. The @p vertexCount is expected to be at least
@ -87,7 +87,7 @@ MAGNUM_MESHTOOLS_EXPORT Containers::Array<UnsignedInt> generateLineLoopIndices(U
/** /**
@brief Create index buffer for a line loop primitive into an existing array @brief Create index buffer for a line loop primitive into an existing array
@m_since_latest @m_since{2020,06}
A variant of @ref generateLineLoopIndicesInto() that fills existing memory A variant of @ref generateLineLoopIndicesInto() that fills existing memory
instead of allocating a new array. The @p vertexCount is expected to be at instead of allocating a new array. The @p vertexCount is expected to be at
@ -98,7 +98,7 @@ MAGNUM_MESHTOOLS_EXPORT void generateLineLoopIndicesInto(UnsignedInt vertexCount
/** /**
@brief Create index buffer for a triangle strip primitive @brief Create index buffer for a triangle strip primitive
@m_since_latest @m_since{2020,06}
Can be used to convert a @ref MeshPrimitive::TriangleStrip mesh to Can be used to convert a @ref MeshPrimitive::TriangleStrip mesh to
@ref MeshPrimitive::Triangles. The @p vertexCount is expected to be at least @ref MeshPrimitive::Triangles. The @p vertexCount is expected to be at least
@ -111,7 +111,7 @@ MAGNUM_MESHTOOLS_EXPORT Containers::Array<UnsignedInt> generateTriangleStripIndi
/** /**
@brief Create index buffer for a triangle strip primitive into an existing array @brief Create index buffer for a triangle strip primitive into an existing array
@m_since_latest @m_since{2020,06}
A variant of @ref generateTriangleStripIndicesInto() that fills existing memory A variant of @ref generateTriangleStripIndicesInto() that fills existing memory
instead of allocating a new array. The @p vertexCount is expected to be at instead of allocating a new array. The @p vertexCount is expected to be at
@ -122,7 +122,7 @@ MAGNUM_MESHTOOLS_EXPORT void generateTriangleStripIndicesInto(UnsignedInt vertex
/** /**
@brief Create index buffer for a triangle fan primitive @brief Create index buffer for a triangle fan primitive
@m_since_latest @m_since{2020,06}
Can be used to convert a @ref MeshPrimitive::TriangleFan mesh to Can be used to convert a @ref MeshPrimitive::TriangleFan mesh to
@ref MeshPrimitive::Triangles. The @p vertexCount is expected to be at least @ref MeshPrimitive::Triangles. The @p vertexCount is expected to be at least
@ -135,7 +135,7 @@ MAGNUM_MESHTOOLS_EXPORT Containers::Array<UnsignedInt> generateTriangleFanIndice
/** /**
@brief Create index buffer for a triangle fan primitive into an existing array @brief Create index buffer for a triangle fan primitive into an existing array
@m_since_latest @m_since{2020,06}
A variant of @ref generateTriangleFanIndicesInto() that fills existing memory A variant of @ref generateTriangleFanIndicesInto() that fills existing memory
instead of allocating a new array. The @p vertexCount is expected to be at instead of allocating a new array. The @p vertexCount is expected to be at
@ -146,7 +146,7 @@ MAGNUM_MESHTOOLS_EXPORT void generateTriangleFanIndicesInto(UnsignedInt vertexCo
/** /**
@brief Convert a mesh to plain indexed lines or triangles @brief Convert a mesh to plain indexed lines or triangles
@m_since_latest @m_since{2020,06}
Expects that @p mesh is not indexed and is one of Expects that @p mesh is not indexed and is one of
@ref MeshPrimitive::LineStrip, @ref MeshPrimitive::LineLoop, @ref MeshPrimitive::LineStrip, @ref MeshPrimitive::LineLoop,
@ -164,7 +164,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData generateIndices(const Trade::MeshData& m
/** /**
@brief Convert a mesh to plain indexed lines or triangles @brief Convert a mesh to plain indexed lines or triangles
@m_since_latest @m_since{2020,06}
Compared to @ref generateIndices(const Trade::MeshData&) this function can Compared to @ref generateIndices(const Trade::MeshData&) this function can
transfer ownership of @p data vertex buffer (in case it is owned) to the transfer ownership of @p data vertex buffer (in case it is owned) to the

4
src/Magnum/MeshTools/GenerateNormals.h

@ -134,7 +134,7 @@ MAGNUM_MESHTOOLS_EXPORT Containers::Array<Vector3> generateSmoothNormals(const C
/** /**
@brief Generate smooth normals using a type-erased index array @brief Generate smooth normals using a type-erased index array
@m_since_latest @m_since{2020,06}
Expects that the second dimension of @p indices is contiguous and represents Expects that the second dimension of @p indices is contiguous and represents
the actual 1/2/4-byte index type. Based on its size then calls one of the the actual 1/2/4-byte index type. Based on its size then calls one of the
@ -180,7 +180,7 @@ MAGNUM_MESHTOOLS_EXPORT void generateSmoothNormalsInto(const Containers::Strided
/** /**
@brief Generate smooth normals into an existing array using a type-erased index array @brief Generate smooth normals into an existing array using a type-erased index array
@m_since_latest @m_since{2020,06}
Expects that @p normals has the same size as @p positions and that the second Expects that @p normals has the same size as @p positions and that the second
dimension of @p indices is contiguous and represents the actual 1/2/4-byte dimension of @p indices is contiguous and represents the actual 1/2/4-byte

22
src/Magnum/MeshTools/Interleave.h

@ -192,7 +192,7 @@ template<class T, class ...U> void interleaveInto(Containers::ArrayView<char> bu
/** /**
@brief If the mesh data is interleaved @brief If the mesh data is interleaved
@m_since_latest @m_since{2020,06}
Returns @cpp true @ce if all attributes have the same stride and the difference Returns @cpp true @ce if all attributes have the same stride and the difference
between minimal and maximal offset is not larger than the stride, @cpp false @ce between minimal and maximal offset is not larger than the stride, @cpp false @ce
@ -205,7 +205,7 @@ MAGNUM_MESHTOOLS_EXPORT bool isInterleaved(const Trade::MeshData& data);
/** /**
@brief Type-erased view on interleaved mesh data @brief Type-erased view on interleaved mesh data
@m_since_latest @m_since{2020,06}
Returns a 2D view on @ref Trade::MeshData::vertexData() that spans all Returns a 2D view on @ref Trade::MeshData::vertexData() that spans all
interleaved attributes, with the first dimension being the vertex count and the interleaved attributes, with the first dimension being the vertex count and the
@ -217,7 +217,7 @@ MAGNUM_MESHTOOLS_EXPORT Containers::StridedArrayView2D<const char> interleavedDa
/** /**
@brief Mutable type-erased view on interleaved mesh data @brief Mutable type-erased view on interleaved mesh data
@m_since_latest @m_since{2020,06}
Same as @ref interleavedData(), but returns a mutable view. Expects that the Same as @ref interleavedData(), but returns a mutable view. Expects that the
mesh is interleaved and vertex data is mutable. mesh is interleaved and vertex data is mutable.
@ -227,7 +227,7 @@ MAGNUM_MESHTOOLS_EXPORT Containers::StridedArrayView2D<char> interleavedMutableD
/** /**
@brief Create an interleaved mesh layout @brief Create an interleaved mesh layout
@m_since_latest @m_since{2020,06}
Returns a @ref Trade::MeshData instance with its vertex data allocated for Returns a @ref Trade::MeshData instance with its vertex data allocated for
@p vertexCount vertices containing attributes from both @p data and @p extra @p vertexCount vertices containing attributes from both @p data and @p extra
@ -260,13 +260,13 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleavedLayout(const Trade::MeshData&
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleavedLayout(const Trade::MeshData& data, UnsignedInt vertexCount, std::initializer_list<Trade::MeshAttributeData> extra); MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleavedLayout(const Trade::MeshData& data, UnsignedInt vertexCount, std::initializer_list<Trade::MeshAttributeData> extra);
/** /**
@brief Create an interleaved mesh layout @brief Create an interleaved mesh layout
@m_since_latest @m_since{2020,06}
Compared to @ref interleavedLayout(const Trade::MeshData&, UnsignedInt, Containers::ArrayView<const Trade::MeshAttributeData>) Compared to @ref interleavedLayout(const Trade::MeshData&, UnsignedInt, Containers::ArrayView<const Trade::MeshAttributeData>)
this function can reuse the @ref Trade::MeshAttributeData array from @p data this function can reuse the @ref Trade::MeshAttributeData array from @p data
@ -277,13 +277,13 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleavedLayout(Trade::MeshData&& data
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleavedLayout(Trade::MeshData&& data, UnsignedInt vertexCount, std::initializer_list<Trade::MeshAttributeData> extra); MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleavedLayout(Trade::MeshData&& data, UnsignedInt vertexCount, std::initializer_list<Trade::MeshAttributeData> extra);
/** /**
@brief Interleave mesh data @brief Interleave mesh data
@m_since_latest @m_since{2020,06}
Returns a copy of @p data with all attributes interleaved. Indices (if any) are Returns a copy of @p data with all attributes interleaved. Indices (if any) are
kept as-is. The @p extra attributes, if any, are interleaved together with kept as-is. The @p extra attributes, if any, are interleaved together with
@ -305,13 +305,13 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleave(const Trade::MeshData& data,
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleave(const Trade::MeshData& data, std::initializer_list<Trade::MeshAttributeData> extra); MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleave(const Trade::MeshData& data, std::initializer_list<Trade::MeshAttributeData> extra);
/** /**
@brief Interleave mesh data @brief Interleave mesh data
@m_since_latest @m_since{2020,06}
Compared to @ref interleave(const Trade::MeshData&, Containers::ArrayView<const Trade::MeshAttributeData>) Compared to @ref interleave(const Trade::MeshData&, Containers::ArrayView<const Trade::MeshAttributeData>)
this function can transfer ownership of @p data index buffer (in case it is this function can transfer ownership of @p data index buffer (in case it is
@ -326,7 +326,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleave(Trade::MeshData&& data, Conta
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleave(Trade::MeshData&& data, std::initializer_list<Trade::MeshAttributeData> extra); MAGNUM_MESHTOOLS_EXPORT Trade::MeshData interleave(Trade::MeshData&& data, std::initializer_list<Trade::MeshAttributeData> extra);

10
src/Magnum/MeshTools/Reference.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Function @ref Magnum::MeshTools::reference(), @ref Magnum::MeshTools::owned() * @brief Function @ref Magnum::MeshTools::reference(), @ref Magnum::MeshTools::owned()
* @m_since_latest * @m_since{2020,06}
*/ */
#include "Magnum/MeshTools/visibility.h" #include "Magnum/MeshTools/visibility.h"
@ -37,7 +37,7 @@ namespace Magnum { namespace MeshTools {
/** /**
@brief Create an immutable reference on a @ref Trade::MeshData @brief Create an immutable reference on a @ref Trade::MeshData
@m_since_latest @m_since{2020,06}
The returned instance has empty @ref Trade::MeshData::indexDataFlags() and The returned instance has empty @ref Trade::MeshData::indexDataFlags() and
@ref Trade::MeshData::vertexDataFlags() and references attribute data from the @ref Trade::MeshData::vertexDataFlags() and references attribute data from the
@ -49,7 +49,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData reference(const Trade::MeshData& data);
/** /**
@brief Create a mutable reference on a @ref Trade::MeshData @brief Create a mutable reference on a @ref Trade::MeshData
@m_since_latest @m_since{2020,06}
The returned instance has @ref Trade::MeshData::indexDataFlags() and The returned instance has @ref Trade::MeshData::indexDataFlags() and
@ref Trade::MeshData::vertexDataFlags() set to @ref Trade::DataFlag::Mutable. @ref Trade::MeshData::vertexDataFlags() set to @ref Trade::DataFlag::Mutable.
@ -61,7 +61,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData mutableReference(Trade::MeshData& data);
/** /**
@brief Create an owned @ref Trade::MeshData @brief Create an owned @ref Trade::MeshData
@m_since_latest @m_since{2020,06}
The returned instance owns its index, vertex and attribute data --- both The returned instance owns its index, vertex and attribute data --- both
@ref Trade::MeshData::indexDataFlags() and @ref Trade::MeshData::indexDataFlags() and
@ -76,7 +76,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData owned(const Trade::MeshData& data);
/** /**
@brief Create an owned @ref Trade::MeshData, if not already @brief Create an owned @ref Trade::MeshData, if not already
@m_since_latest @m_since{2020,06}
The returned instance owns its index, vertex and attribute data --- both The returned instance owns its index, vertex and attribute data --- both
@ref Trade::MeshData::indexDataFlags() and @ref Trade::MeshData::indexDataFlags() and

48
src/Magnum/MeshTools/RemoveDuplicates.h

@ -50,7 +50,7 @@ namespace Magnum { namespace MeshTools {
preserved preserved
@return The resulting index array and size of unique prefix in the cleaned up @return The resulting index array and size of unique prefix in the cleaned up
@p data array @p data array
@m_since_latest @m_since{2020,06}
Removes duplicate data from given array by comparing the second dimension of Removes duplicate data from given array by comparing the second dimension of
each item, the second dimension is expected to be contiguous. A plain bit-exact each item, the second dimension is expected to be contiguous. A plain bit-exact
@ -76,7 +76,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<UnsignedInt>, std::size_t> r
preserved preserved
@param[out] indices Where to put the resulting index array @param[out] indices Where to put the resulting index array
@return Size of unique prefix in the cleaned up @p data array @return Size of unique prefix in the cleaned up @p data array
@m_since_latest @m_since{2020,06}
Same as above, except that the index array is not allocated but put into Same as above, except that the index array is not allocated but put into
@p indices instead. Expects that @p indices has the same size as @p data. @p indices instead. Expects that @p indices has the same size as @p data.
@ -89,7 +89,7 @@ MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesInPlaceInto(const Containers
@param[in] data Data array @param[in] data Data array
@return The resulting index array and count of unique items in the original @return The resulting index array and count of unique items in the original
@p data array @p data array
@m_since_latest @m_since{2020,06}
Compared to @ref removeDuplicatesInPlace(const Containers::StridedArrayView2D<char>&) Compared to @ref removeDuplicatesInPlace(const Containers::StridedArrayView2D<char>&)
this function doesn't modify the input data array in any way but instead this function doesn't modify the input data array in any way but instead
@ -102,7 +102,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<UnsignedInt>, std::size_t> r
@param[in] data Data array @param[in] data Data array
@param[out] indices Where to put the resulting index array @param[out] indices Where to put the resulting index array
@return Count of unique items in the original @p data array @return Count of unique items in the original @p data array
@m_since_latest @m_since{2020,06}
Compared to @ref removeDuplicatesInPlaceInto(const Containers::StridedArrayView2D<char>&, const Containers::StridedArrayView1D<UnsignedInt>&) Compared to @ref removeDuplicatesInPlaceInto(const Containers::StridedArrayView2D<char>&, const Containers::StridedArrayView1D<UnsignedInt>&)
this function doesn't modify the input data array in any way but instead this function doesn't modify the input data array in any way but instead
@ -117,7 +117,7 @@ MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesInto(const Containers::Strid
@param[in,out] data Data array, duplicate items will be cut away with order @param[in,out] data Data array, duplicate items will be cut away with order
preserved preserved
@return Size of unique prefix in the cleaned up @p data array @return Size of unique prefix in the cleaned up @p data array
@m_since_latest @m_since{2020,06}
Compared to @ref removeDuplicatesInPlace(const Containers::StridedArrayView2D<char>&) Compared to @ref removeDuplicatesInPlace(const Containers::StridedArrayView2D<char>&)
this variant is more suited for data that is already indexed as it works on this variant is more suited for data that is already indexed as it works on
@ -127,19 +127,19 @@ MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesIndexedInPlace(const Contain
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesIndexedInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, const Containers::StridedArrayView2D<char>& data); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesIndexedInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, const Containers::StridedArrayView2D<char>& data);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesIndexedInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, const Containers::StridedArrayView2D<char>& data); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesIndexedInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, const Containers::StridedArrayView2D<char>& data);
/** /**
@brief Remove duplicates from indexed data in-place on a type-erased index array @brief Remove duplicates from indexed data in-place on a type-erased index array
@m_since_latest @m_since{2020,06}
Expects that the second dimension of @p indices is contiguous and represents Expects that the second dimension of @p indices is contiguous and represents
the actual 1/2/4-byte index type. Based on its size then calls one of the the actual 1/2/4-byte index type. Based on its size then calls one of the
@ -156,7 +156,7 @@ MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesIndexedInPlace(const Contain
melt together melt together
@return Size of unique prefix in the cleaned up @p data array and the resulting @return Size of unique prefix in the cleaned up @p data array and the resulting
index array index array
@m_since_latest @m_since{2020,06}
Removes duplicate data from the array by collapsing them into buckets of size Removes duplicate data from the array by collapsing them into buckets of size
@p epsilon. First vector in given bucket is used, other ones are thrown away, @p epsilon. First vector in given bucket is used, other ones are thrown away,
@ -177,7 +177,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<UnsignedInt>, std::size_t> r
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<UnsignedInt>, std::size_t> removeDuplicatesFuzzyInPlace(const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon()); MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<UnsignedInt>, std::size_t> removeDuplicatesFuzzyInPlace(const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon());
@ -189,7 +189,7 @@ MAGNUM_MESHTOOLS_EXPORT std::pair<Containers::Array<UnsignedInt>, std::size_t> r
@param[in] epsilon Epsilon value, data closer than this distance will be @param[in] epsilon Epsilon value, data closer than this distance will be
melt together melt together
@return Size of unique prefix in the cleaned up @p data array @return Size of unique prefix in the cleaned up @p data array
@m_since_latest @m_since{2020,06}
Same as above, except that the index array is not allocated but put into Same as above, except that the index array is not allocated but put into
@p indices instead. Expects that @p indices has the same size as @p data. @p indices instead. Expects that @p indices has the same size as @p data.
@ -198,7 +198,7 @@ MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyInPlaceInto(const Conta
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyInPlaceInto(const Containers::StridedArrayView2D<Double>& data, const Containers::StridedArrayView1D<UnsignedInt>& indices, Double epsilon = Math::TypeTraits<Double>::epsilon()); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyInPlaceInto(const Containers::StridedArrayView2D<Double>& data, const Containers::StridedArrayView1D<UnsignedInt>& indices, Double epsilon = Math::TypeTraits<Double>::epsilon());
@ -210,7 +210,7 @@ MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyInPlaceInto(const Conta
@param[in] epsilon Epsilon value, vertices closer than this distance will be @param[in] epsilon Epsilon value, vertices closer than this distance will be
melt together melt together
@return Resulting index array @return Resulting index array
@m_deprecated_since_latest Use @ref removeDuplicatesFuzzyInPlace() instead. @m_deprecated_since{2020,06} Use @ref removeDuplicatesFuzzyInPlace() instead.
Similar to the above, except that it's operating on a @ref std::vector, which Similar to the above, except that it's operating on a @ref std::vector, which
gets shrunk as a result (instead of the prefix size being returned). This gets shrunk as a result (instead of the prefix size being returned). This
@ -233,7 +233,7 @@ template<class Vector> CORRADE_DEPRECATED("use removeDuplicatesInPlace() instead
@param[in] epsilon Epsilon value, vertices closer than this distance will @param[in] epsilon Epsilon value, vertices closer than this distance will
be melt together be melt together
@return Size of unique prefix in the cleaned up @p data array @return Size of unique prefix in the cleaned up @p data array
@m_since_latest @m_since{2020,06}
Compared to @ref removeDuplicatesFuzzyInPlace(const Containers::StridedArrayView2D<Float>&, Float) Compared to @ref removeDuplicatesFuzzyInPlace(const Containers::StridedArrayView2D<Float>&, Float)
this variant is more suited for data that is already indexed as it works on this variant is more suited for data that is already indexed as it works on
@ -243,37 +243,37 @@ MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Co
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, const Containers::StridedArrayView2D<Float>& data, Float epsilon = Math::TypeTraits<Float>::epsilon()); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, const Containers::StridedArrayView2D<Float>& data, Float epsilon = Math::TypeTraits<Float>::epsilon());
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, const Containers::StridedArrayView2D<Float>& data, Float epsilon = Math::TypeTraits<Float>::epsilon()); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, const Containers::StridedArrayView2D<Float>& data, Float epsilon = Math::TypeTraits<Float>::epsilon());
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedInt>& indices, const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon()); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedInt>& indices, const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon());
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon()); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon());
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon()); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon());
/** /**
@brief Remove duplicates from indexed data using fuzzy comparison in-place on a type-erased index array @brief Remove duplicates from indexed data using fuzzy comparison in-place on a type-erased index array
@m_since_latest @m_since{2020,06}
Expects that the second dimension of @p indices is contiguous and represents Expects that the second dimension of @p indices is contiguous and represents
the actual 1/2/4-byte index type. Based on its size then calls the actual 1/2/4-byte index type. Based on its size then calls
@ -284,13 +284,13 @@ MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Co
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView2D<char>& indices, const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon()); MAGNUM_MESHTOOLS_EXPORT std::size_t removeDuplicatesFuzzyIndexedInPlace(const Containers::StridedArrayView2D<char>& indices, const Containers::StridedArrayView2D<Double>& data, Double epsilon = Math::TypeTraits<Double>::epsilon());
/** /**
@brief Remove mesh data duplicates @brief Remove mesh data duplicates
@m_since_latest @m_since{2020,06}
Equivalent to calling @ref removeDuplicatesInPlace() (or Equivalent to calling @ref removeDuplicatesInPlace() (or
@ref removeDuplicatesIndexedInPlace(), in case the mesh is indexed) on a @ref removeDuplicatesIndexedInPlace(), in case the mesh is indexed) on a
@ -310,7 +310,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData removeDuplicates(const Trade::MeshData&
/** /**
@brief Remove mesh data duplicates @brief Remove mesh data duplicates
@m_since_latest @m_since{2020,06}
Same as @ref removeDuplicates(const Trade::MeshData&), except that it operates Same as @ref removeDuplicates(const Trade::MeshData&), except that it operates
in-place on the passed instance, avoiding an extra copy of vertex and index in-place on the passed instance, avoiding an extra copy of vertex and index
@ -320,7 +320,7 @@ MAGNUM_MESHTOOLS_EXPORT Trade::MeshData removeDuplicates(Trade::MeshData&& data)
/** /**
@brief Remove mesh data duplicates with fuzzy comparison for floating-point attributes @brief Remove mesh data duplicates with fuzzy comparison for floating-point attributes
@m_since_latest @m_since{2020,06}
Compared to @ref removeDuplicates(const Trade::MeshData&), calls Compared to @ref removeDuplicates(const Trade::MeshData&), calls
@ref removeDuplicatesFuzzyInPlace() or @ref removeDuplicatesFuzzyIndexedInPlace() @ref removeDuplicatesFuzzyInPlace() or @ref removeDuplicatesFuzzyIndexedInPlace()

8
src/Magnum/MeshTools/Subdivide.h

@ -54,7 +54,7 @@ template<class IndexType, class Vertex, class Interpolator> void subdivideInPlac
@param[in,out] vertices Vertex array to operate on @param[in,out] vertices Vertex array to operate on
@param interpolator Functor or function pointer which interpolates @param interpolator Functor or function pointer which interpolates
two adjacent vertices: @cpp Vertex interpolator(Vertex a, Vertex b) @ce two adjacent vertices: @cpp Vertex interpolator(Vertex a, Vertex b) @ce
@m_since_latest @m_since{2020,06}
Goes through all triangle faces and subdivides them into four new, enlarging Goes through all triangle faces and subdivides them into four new, enlarging
the @p indices and @p vertices arrays as appropriate. Removing duplicate the @p indices and @p vertices arrays as appropriate. Removing duplicate
@ -72,7 +72,7 @@ template<class IndexType, class Vertex, class Interpolator> void subdivide(Conta
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Subdivide a mesh @brief Subdivide a mesh
@m_deprecated_since_latest Use @ref subdivide(Containers::Array<IndexType>&, Containers::Array<Vertex>&vertices, Interpolator) @m_deprecated_since{2020,06} Use @ref subdivide(Containers::Array<IndexType>&, Containers::Array<Vertex>&vertices, Interpolator)
or @ref subdivideInPlace() instead. or @ref subdivideInPlace() instead.
*/ */
template<class Vertex, class Interpolator> CORRADE_DEPRECATED("use subdivide(Containers::Array<IndexType>&, Containers::Array<Vertex>&vertices, Interpolator) or subdivideInPlace() instead") void subdivide(std::vector<UnsignedInt>& indices, std::vector<Vertex>& vertices, Interpolator interpolator) { template<class Vertex, class Interpolator> CORRADE_DEPRECATED("use subdivide(Containers::Array<IndexType>&, Containers::Array<Vertex>&vertices, Interpolator) or subdivideInPlace() instead") void subdivide(std::vector<UnsignedInt>& indices, std::vector<Vertex>& vertices, Interpolator interpolator) {
@ -92,7 +92,7 @@ template<class Vertex, class Interpolator> CORRADE_DEPRECATED("use subdivide(Con
@param[in,out] vertices Vertex array to operate on @param[in,out] vertices Vertex array to operate on
@param interpolator Functor or function pointer which interpolates @param interpolator Functor or function pointer which interpolates
two adjacent vertices: @cpp Vertex interpolator(Vertex a, Vertex b) @ce two adjacent vertices: @cpp Vertex interpolator(Vertex a, Vertex b) @ce
@m_since_latest @m_since{2020,06}
Assuming the original mesh has @f$ i @f$ indices and @f$ v @f$ vertices, Assuming the original mesh has @f$ i @f$ indices and @f$ v @f$ vertices,
expects the @p indices array to have a size of @f$ 4i @f$ (as every triangle expects the @p indices array to have a size of @f$ 4i @f$ (as every triangle
@ -162,7 +162,7 @@ template<class IndexType, class Vertex, class Interpolator> void subdivideInPlac
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
template<class IndexType, class Vertex, class Interpolator> void subdivideInPlace(const Containers::ArrayView<IndexType>& indices, const Containers::StridedArrayView1D<Vertex>& vertices, Interpolator interpolator) { template<class IndexType, class Vertex, class Interpolator> void subdivideInPlace(const Containers::ArrayView<IndexType>& indices, const Containers::StridedArrayView1D<Vertex>& vertices, Interpolator interpolator) {
subdivideInPlace(Containers::stridedArrayView(indices), vertices, interpolator); subdivideInPlace(Containers::stridedArrayView(indices), vertices, interpolator);

6
src/Magnum/MeshTools/Tipsify.h

@ -60,20 +60,20 @@ MAGNUM_MESHTOOLS_EXPORT void tipsifyInPlace(const Containers::StridedArrayView1D
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT void tipsifyInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, UnsignedInt vertexCount, std::size_t cacheSize); MAGNUM_MESHTOOLS_EXPORT void tipsifyInPlace(const Containers::StridedArrayView1D<UnsignedShort>& indices, UnsignedInt vertexCount, std::size_t cacheSize);
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
MAGNUM_MESHTOOLS_EXPORT void tipsifyInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, UnsignedInt vertexCount, std::size_t cacheSize); MAGNUM_MESHTOOLS_EXPORT void tipsifyInPlace(const Containers::StridedArrayView1D<UnsignedByte>& indices, UnsignedInt vertexCount, std::size_t cacheSize);
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief @copybrief tipsifyInPlace() * @brief @copybrief tipsifyInPlace()
* @m_deprecated_since_latest Use @ref tipsifyInPlace() instead. * @m_deprecated_since{2020,06} Use @ref tipsifyInPlace() instead.
*/ */
inline CORRADE_DEPRECATED("use tipsifyInPlace() instead") void tipsify(std::vector<UnsignedInt>& indices, UnsignedInt vertexCount, std::size_t cacheSize) { inline CORRADE_DEPRECATED("use tipsifyInPlace() instead") void tipsify(std::vector<UnsignedInt>& indices, UnsignedInt vertexCount, std::size_t cacheSize) {
tipsifyInPlace(indices, vertexCount, cacheSize); tipsifyInPlace(indices, vertexCount, cacheSize);

2
src/Magnum/MeshTools/sceneconverter.cpp

@ -45,7 +45,7 @@ namespace Magnum {
/** @page magnum-sceneconverter Scene conversion utility /** @page magnum-sceneconverter Scene conversion utility
@brief Converts scenes of different formats @brief Converts scenes of different formats
@m_since_latest @m_since{2020,06}
@m_footernavigation @m_footernavigation
@m_keywords{magnum-sceneconverter sceneconverter} @m_keywords{magnum-sceneconverter sceneconverter}

4
src/Magnum/PixelFormat.h

@ -2310,7 +2310,7 @@ namespace Corrade { namespace Utility {
/** /**
@configurationvalue{Magnum::PixelFormat} @configurationvalue{Magnum::PixelFormat}
@m_since_latest @m_since{2020,06}
*/ */
template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::PixelFormat> { template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::PixelFormat> {
ConfigurationValue() = delete; ConfigurationValue() = delete;
@ -2332,7 +2332,7 @@ template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::PixelFormat> {
/** /**
@configurationvalue{Magnum::CompressedPixelFormat} @configurationvalue{Magnum::CompressedPixelFormat}
@m_since_latest @m_since{2020,06}
*/ */
template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::CompressedPixelFormat> { template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::CompressedPixelFormat> {
ConfigurationValue() = delete; ConfigurationValue() = delete;

2
src/Magnum/Platform/AbstractXApplication.h

@ -120,7 +120,7 @@ class AbstractXApplication {
* @brief Run one iteration of application main loop * @brief Run one iteration of application main loop
* @return @cpp false @ce if @ref exit() was called and the application * @return @cpp false @ce if @ref exit() was called and the application
* should exit, @cpp true @ce otherwise * should exit, @cpp true @ce otherwise
* @m_since_latest * @m_since{2020,06}
* *
* Called internally from @ref exec(). If you want to have better * Called internally from @ref exec(). If you want to have better
* control over how the main loop behaves, you can call this function * control over how the main loop behaves, you can call this function

8
src/Magnum/Platform/EmscriptenApplication.h

@ -568,7 +568,7 @@ class EmscriptenApplication {
public: public:
/** /**
* @brief Cursor type * @brief Cursor type
* @m_since_latest * @m_since{2020,06}
* *
* Value names in this enum don't necessarily match the CSS names in * Value names in this enum don't necessarily match the CSS names in
* order to be compatible with @ref Sdl2Application and * order to be compatible with @ref Sdl2Application and
@ -757,7 +757,7 @@ class EmscriptenApplication {
/** /**
* @brief Set cursor type * @brief Set cursor type
* @m_since_latest * @m_since{2020,06}
* *
* Default is @ref Cursor::Arrow. * Default is @ref Cursor::Arrow.
*/ */
@ -765,7 +765,7 @@ class EmscriptenApplication {
/** /**
* @brief Get current cursor type * @brief Get current cursor type
* @m_since_latest * @m_since{2020,06}
*/ */
Cursor cursor(); Cursor cursor();
@ -1705,7 +1705,7 @@ class EmscriptenApplication::KeyEvent: public EmscriptenApplication::InputEvent
/** /**
* Semicolon (`;`) * Semicolon (`;`)
* @m_since_latest * @m_since{2020,06}
*/ */
Semicolon, Semicolon,

50
src/Magnum/Platform/GlfwApplication.h

@ -253,7 +253,7 @@ class GlfwApplication {
* @brief Run one iteration of application main loop * @brief Run one iteration of application main loop
* @return @cpp false @ce if @ref exit() was called and the application * @return @cpp false @ce if @ref exit() was called and the application
* should exit, @cpp true @ce otherwise * should exit, @cpp true @ce otherwise
* @m_since_latest * @m_since{2020,06}
* *
* Called internally from @ref exec(). If you want to have better * Called internally from @ref exec(). If you want to have better
* control over how the main loop behaves, you can call this function * control over how the main loop behaves, you can call this function
@ -380,7 +380,7 @@ class GlfwApplication {
/** /**
* @brief Set window size * @brief Set window size
* @param size The size, in screen coordinates * @param size The size, in screen coordinates
* @m_since_latest * @m_since{2020,06}
* *
* To make the sizing work independently of the display DPI, @p size is * To make the sizing work independently of the display DPI, @p size is
* internally multiplied with @ref dpiScaling() before getting applied. * internally multiplied with @ref dpiScaling() before getting applied.
@ -470,7 +470,7 @@ class GlfwApplication {
#if GLFW_VERSION_MAJOR*100 + GLFW_VERSION_MINOR >= 302 || defined(DOXYGEN_GENERATING_OUTPUT) #if GLFW_VERSION_MAJOR*100 + GLFW_VERSION_MINOR >= 302 || defined(DOXYGEN_GENERATING_OUTPUT)
/** /**
* @brief Set window icon * @brief Set window icon
* @m_since_latest * @m_since{2020,06}
* *
* The @p images are expected to be with origin at bottom left (which * The @p images are expected to be with origin at bottom left (which
* is the default for imported images) and in one of * is the default for imported images) and in one of
@ -486,7 +486,7 @@ class GlfwApplication {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
void setWindowIcon(const ImageView2D& image); void setWindowIcon(const ImageView2D& image);
#endif #endif
@ -575,7 +575,7 @@ class GlfwApplication {
public: public:
/** /**
* @brief Cursor type * @brief Cursor type
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref setCursor() * @see @ref setCursor()
*/ */
@ -626,7 +626,7 @@ class GlfwApplication {
/** /**
* @brief Set cursor type * @brief Set cursor type
* @m_since_latest * @m_since{2020,06}
* *
* Default is @ref Cursor::Arrow. * Default is @ref Cursor::Arrow.
*/ */
@ -634,13 +634,13 @@ class GlfwApplication {
/** /**
* @brief Get current cursor type * @brief Get current cursor type
* @m_since_latest * @m_since{2020,06}
*/ */
Cursor cursor(); Cursor cursor();
/** /**
* @brief Warp mouse cursor to given coordinates * @brief Warp mouse cursor to given coordinates
* @m_since_latest * @m_since{2020,06}
*/ */
void warpCursor(const Vector2i& position) { void warpCursor(const Vector2i& position) {
glfwSetCursorPos(_window, Double(position.x()), Double(position.y())); glfwSetCursorPos(_window, Double(position.x()), Double(position.y()));
@ -1019,7 +1019,7 @@ class GlfwApplication::Configuration {
/** /**
* No window decoration * No window decoration
* @m_since_latest * @m_since{2020,06}
*/ */
Borderless = 1 << 1, Borderless = 1 << 1,
@ -1039,7 +1039,7 @@ class GlfwApplication::Configuration {
/** /**
* Always on top * Always on top
* @m_since_latest * @m_since{2020,06}
*/ */
AlwaysOnTop = 1 << 6, AlwaysOnTop = 1 << 6,
@ -1146,14 +1146,14 @@ class GlfwApplication::Configuration {
/** /**
* @brief Cursor mode * @brief Cursor mode
* *
* @m_deprecated_since_latest Use @ref GlfwApplication::setCursor() * @m_deprecated_since{2020,06} Use @ref GlfwApplication::setCursor()
* instead. * instead.
*/ */
enum class CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() instead") CursorMode: Int { enum class CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() instead") CursorMode: Int {
/** /**
* Visible unconstrained cursor * Visible unconstrained cursor
* *
* @m_deprecated_since_latest Use @ref GlfwApplication::setCursor() * @m_deprecated_since{2020,06} Use @ref GlfwApplication::setCursor()
* with @ref Cursor::Arrow (or any other) instead. * with @ref Cursor::Arrow (or any other) instead.
*/ */
Normal CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Arrow instead") = GLFW_CURSOR_NORMAL, Normal CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Arrow instead") = GLFW_CURSOR_NORMAL,
@ -1161,7 +1161,7 @@ class GlfwApplication::Configuration {
/** /**
* Hidden cursor * Hidden cursor
* *
* @m_deprecated_since_latest Use @ref GlfwApplication::setCursor() * @m_deprecated_since{2020,06} Use @ref GlfwApplication::setCursor()
* with @ref Cursor::Hidden instead. * with @ref Cursor::Hidden instead.
*/ */
Hidden CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Hidden instead") = GLFW_CURSOR_HIDDEN, Hidden CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Hidden instead") = GLFW_CURSOR_HIDDEN,
@ -1169,7 +1169,7 @@ class GlfwApplication::Configuration {
/** /**
* Cursor hidden and locked window * Cursor hidden and locked window
* *
* @m_deprecated_since_latest Use @ref GlfwApplication::setCursor() * @m_deprecated_since{2020,06} Use @ref GlfwApplication::setCursor()
* with @ref Cursor::HiddenLocked instead. * with @ref Cursor::HiddenLocked instead.
*/ */
Disabled CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::HiddenLocked instead") = GLFW_CURSOR_DISABLED Disabled CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::HiddenLocked instead") = GLFW_CURSOR_DISABLED
@ -1270,7 +1270,7 @@ class GlfwApplication::Configuration {
/** /**
* @brief Add window flags * @brief Add window flags
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Unlike @ref setWindowFlags(), ORs the flags with existing instead of * Unlike @ref setWindowFlags(), ORs the flags with existing instead of
* replacing them. Useful for preserving the defaults. * replacing them. Useful for preserving the defaults.
@ -1284,7 +1284,7 @@ class GlfwApplication::Configuration {
/** /**
* @brief Clear window flags * @brief Clear window flags
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Unlike @ref setWindowFlags(), ANDs the inverse of @p flags with * Unlike @ref setWindowFlags(), ANDs the inverse of @p flags with
* existing instead of replacing them. Useful for removing default * existing instead of replacing them. Useful for removing default
@ -1300,7 +1300,7 @@ class GlfwApplication::Configuration {
/** /**
* @brief Cursor mode * @brief Cursor mode
* *
* @m_deprecated_since_latest Use @ref GlfwApplication::cursor() * @m_deprecated_since{2020,06} Use @ref GlfwApplication::cursor()
* instead. * instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH
@ -1315,7 +1315,7 @@ class GlfwApplication::Configuration {
* *
* Default is @ref CursorMode::Normal. * Default is @ref CursorMode::Normal.
* *
* @m_deprecated_since_latest Use @ref GlfwApplication::setCursor() * @m_deprecated_since{2020,06} Use @ref GlfwApplication::setCursor()
* instead. * instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH
@ -1644,7 +1644,7 @@ class GlfwApplication::KeyEvent: public GlfwApplication::InputEvent {
/** /**
* Quote (<tt>'</tt>) * Quote (<tt>'</tt>)
* @m_since_latest * @m_since{2020,06}
*/ */
Quote = GLFW_KEY_APOSTROPHE, Quote = GLFW_KEY_APOSTROPHE,
@ -1669,37 +1669,37 @@ class GlfwApplication::KeyEvent: public GlfwApplication::InputEvent {
/** /**
* Left bracket (`[`) * Left bracket (`[`)
* @m_since_latest * @m_since{2020,06}
*/ */
LeftBracket = GLFW_KEY_LEFT_BRACKET, LeftBracket = GLFW_KEY_LEFT_BRACKET,
/** /**
* Right bracket (`]`) * Right bracket (`]`)
* @m_since_latest * @m_since{2020,06}
*/ */
RightBracket = GLFW_KEY_RIGHT_BRACKET, RightBracket = GLFW_KEY_RIGHT_BRACKET,
/** /**
* Backslash (`\`) * Backslash (`\`)
* @m_since_latest * @m_since{2020,06}
*/ */
Backslash = GLFW_KEY_BACKSLASH, Backslash = GLFW_KEY_BACKSLASH,
/** /**
* Backquote (<tt>`</tt>) * Backquote (<tt>`</tt>)
* @m_since_latest * @m_since{2020,06}
*/ */
Backquote = GLFW_KEY_GRAVE_ACCENT, Backquote = GLFW_KEY_GRAVE_ACCENT,
/** /**
* Non-US \#1 * Non-US \#1
* @m_since_latest * @m_since{2020,06}
*/ */
World1 = GLFW_KEY_WORLD_1, World1 = GLFW_KEY_WORLD_1,
/** /**
* Non-US \#2 * Non-US \#2
* @m_since_latest * @m_since{2020,06}
*/ */
World2 = GLFW_KEY_WORLD_2, World2 = GLFW_KEY_WORLD_2,

2
src/Magnum/Platform/ScreenedApplication.h

@ -295,7 +295,7 @@ template<class Application> class BasicScreenedApplication:
/** /**
* @brief Before draw event * @brief Before draw event
* @m_since_latest * @m_since{2020,06}
* *
* Called *before* all screens' @ref BasicScreen::drawEvent() "drawEvent()". * Called *before* all screens' @ref BasicScreen::drawEvent() "drawEvent()".
* Unlike @ref globalDrawEvent() doesn't need to be implemented. * Unlike @ref globalDrawEvent() doesn't need to be implemented.

40
src/Magnum/Platform/Sdl2Application.h

@ -680,7 +680,7 @@ class Sdl2Application {
/** /**
* @brief Set window size * @brief Set window size
* @param size The size, in screen coordinates * @param size The size, in screen coordinates
* @m_since_latest * @m_since{2020,06}
* *
* To make the sizing work independently of the display DPI, @p size is * To make the sizing work independently of the display DPI, @p size is
* internally multiplied with @ref dpiScaling() before getting applied. * internally multiplied with @ref dpiScaling() before getting applied.
@ -772,7 +772,7 @@ class Sdl2Application {
#if !defined(CORRADE_TARGET_EMSCRIPTEN) && (SDL_MAJOR_VERSION*1000 + SDL_MINOR_VERSION*100 + SDL_PATCHLEVEL >= 2005 || defined(DOXYGEN_GENERATING_OUTPUT)) #if !defined(CORRADE_TARGET_EMSCRIPTEN) && (SDL_MAJOR_VERSION*1000 + SDL_MINOR_VERSION*100 + SDL_PATCHLEVEL >= 2005 || defined(DOXYGEN_GENERATING_OUTPUT))
/** /**
* @brief Set window icon * @brief Set window icon
* @m_since_latest * @m_since{2020,06}
* *
* The @p image is expected to be with origin at bottom left (which is * The @p image is expected to be with origin at bottom left (which is
* the default for imported images) and in one of * the default for imported images) and in one of
@ -935,7 +935,7 @@ class Sdl2Application {
public: public:
/** /**
* @brief Cursor type * @brief Cursor type
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref setCursor() * @see @ref setCursor()
*/ */
@ -967,7 +967,7 @@ class Sdl2Application {
/** /**
* @brief Set cursor type * @brief Set cursor type
* @m_since_latest * @m_since{2020,06}
* *
* Default is @ref Cursor::Arrow. * Default is @ref Cursor::Arrow.
*/ */
@ -975,7 +975,7 @@ class Sdl2Application {
/** /**
* @brief Get current cursor type * @brief Get current cursor type
* @m_since_latest * @m_since{2020,06}
*/ */
Cursor cursor(); Cursor cursor();
@ -994,7 +994,7 @@ class Sdl2Application {
/** /**
* @brief Whether mouse is locked * @brief Whether mouse is locked
* *
* @m_deprecated_since_latest Use @ref cursor() together with * @m_deprecated_since{2020,06} Use @ref cursor() together with
* @ref Cursor::HiddenLocked instead. * @ref Cursor::HiddenLocked instead.
*/ */
CORRADE_DEPRECATED("use cursor() together with Cursor::HiddenLocked instead") bool isMouseLocked() const { return SDL_GetRelativeMouseMode(); } CORRADE_DEPRECATED("use cursor() together with Cursor::HiddenLocked instead") bool isMouseLocked() const { return SDL_GetRelativeMouseMode(); }
@ -1002,7 +1002,7 @@ class Sdl2Application {
/** /**
* @brief Enable or disable mouse locking * @brief Enable or disable mouse locking
* *
* @m_deprecated_since_latest Use @ref setCursor() together with * @m_deprecated_since{2020,06} Use @ref setCursor() together with
* @ref Cursor::HiddenLocked instead. * @ref Cursor::HiddenLocked instead.
*/ */
CORRADE_DEPRECATED("use setCursor() together with Cursor::HiddenLocked instead") void setMouseLocked(bool enabled); CORRADE_DEPRECATED("use setCursor() together with Cursor::HiddenLocked instead") void setMouseLocked(bool enabled);
@ -1536,7 +1536,7 @@ class Sdl2Application::Configuration {
/** /**
* Fullscreen window at the current desktop resolution * Fullscreen window at the current desktop resolution
* @m_since_latest * @m_since{2020,06}
* *
* @note Not available on @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". * @note Not available on @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten".
*/ */
@ -1599,7 +1599,7 @@ class Sdl2Application::Configuration {
#if SDL_MAJOR_VERSION*1000 + SDL_MINOR_VERSION*100 + SDL_PATCHLEVEL >= 2005 || defined(DOXYGEN_GENERATING_OUTPUT) #if SDL_MAJOR_VERSION*1000 + SDL_MINOR_VERSION*100 + SDL_PATCHLEVEL >= 2005 || defined(DOXYGEN_GENERATING_OUTPUT)
/** /**
* Always on top * Always on top
* @m_since_latest * @m_since{2020,06}
* *
* @note Available since SDL 2.0.5, not available on * @note Available since SDL 2.0.5, not available on
* @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to * @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to
@ -1609,7 +1609,7 @@ class Sdl2Application::Configuration {
/** /**
* Don't add the window to taskbar * Don't add the window to taskbar
* @m_since_latest * @m_since{2020,06}
* *
* @note Available since SDL 2.0.5, not available on * @note Available since SDL 2.0.5, not available on
* @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to * @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to
@ -1619,7 +1619,7 @@ class Sdl2Application::Configuration {
/** /**
* Window should be treated as a utility window * Window should be treated as a utility window
* @m_since_latest * @m_since{2020,06}
* *
* @note Available since SDL 2.0.5, not available on * @note Available since SDL 2.0.5, not available on
* @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to * @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to
@ -1629,7 +1629,7 @@ class Sdl2Application::Configuration {
/** /**
* Window should be treated as a tooltip * Window should be treated as a tooltip
* @m_since_latest * @m_since{2020,06}
* *
* @note Available since SDL 2.0.5, not available on * @note Available since SDL 2.0.5, not available on
* @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to * @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to
@ -1639,7 +1639,7 @@ class Sdl2Application::Configuration {
/** /**
* Window should be treated as a popup menu * Window should be treated as a popup menu
* @m_since_latest * @m_since{2020,06}
* *
* @note Available since SDL 2.0.5, not available on * @note Available since SDL 2.0.5, not available on
* @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to * @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". According to
@ -1869,7 +1869,7 @@ class Sdl2Application::Configuration {
/** /**
* @brief Add window flags * @brief Add window flags
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Unlike @ref setWindowFlags(), ORs the flags with existing instead of * Unlike @ref setWindowFlags(), ORs the flags with existing instead of
* replacing them. Useful for preserving the defaults. * replacing them. Useful for preserving the defaults.
@ -1883,7 +1883,7 @@ class Sdl2Application::Configuration {
/** /**
* @brief Clear window flags * @brief Clear window flags
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Unlike @ref setWindowFlags(), ANDs the inverse of @p flags with * Unlike @ref setWindowFlags(), ANDs the inverse of @p flags with
* existing instead of replacing them. Useful for removing default * existing instead of replacing them. Useful for removing default
@ -2274,7 +2274,7 @@ class Sdl2Application::KeyEvent: public Sdl2Application::InputEvent {
/** /**
* Quote (<tt>'</tt>) * Quote (<tt>'</tt>)
* @m_since_latest * @m_since{2020,06}
*/ */
Quote = SDLK_QUOTE, Quote = SDLK_QUOTE,
@ -2289,25 +2289,25 @@ class Sdl2Application::KeyEvent: public Sdl2Application::InputEvent {
/** /**
* Left bracket (`[`) * Left bracket (`[`)
* @m_since_latest * @m_since{2020,06}
*/ */
LeftBracket = SDLK_LEFTBRACKET, LeftBracket = SDLK_LEFTBRACKET,
/** /**
* Right bracket (`]`) * Right bracket (`]`)
* @m_since_latest * @m_since{2020,06}
*/ */
RightBracket = SDLK_RIGHTBRACKET, RightBracket = SDLK_RIGHTBRACKET,
/** /**
* Backslash (`\`) * Backslash (`\`)
* @m_since_latest * @m_since{2020,06}
*/ */
Backslash = SDLK_BACKSLASH, Backslash = SDLK_BACKSLASH,
/** /**
* Backquote (<tt>`</tt>) * Backquote (<tt>`</tt>)
* @m_since_latest * @m_since{2020,06}
*/ */
Backquote = SDLK_BACKQUOTE, Backquote = SDLK_BACKQUOTE,

8
src/Magnum/Platform/WindowlessCglApplication.h

@ -128,7 +128,7 @@ class WindowlessCglContext {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call CGL functionality directly or in order * Use in case you need to call CGL functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the
@ -157,7 +157,7 @@ class WindowlessCglContext::Configuration {
/** /**
* @brief Create a shared context * @brief Create a shared context
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* When set, the created context will share a subset of OpenGL objects * When set, the created context will share a subset of OpenGL objects
* with @p context, instead of being independent. Many caveats and * with @p context, instead of being independent. Many caveats and
@ -174,7 +174,7 @@ class WindowlessCglContext::Configuration {
/** /**
* @brief Shared context * @brief Shared context
* @m_since_latest * @m_since{2020,06}
*/ */
CGLContextObj sharedContext() const { return _sharedContext; } CGLContextObj sharedContext() const { return _sharedContext; }
@ -329,7 +329,7 @@ class WindowlessCglApplication {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call CGL functionality directly or in order * Use in case you need to call CGL functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the

10
src/Magnum/Platform/WindowlessEglApplication.h

@ -123,7 +123,7 @@ class WindowlessEglContext {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call EGL functionality directly or in order * Use in case you need to call EGL functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the
@ -308,7 +308,7 @@ class WindowlessEglContext::Configuration {
/** /**
* @brief Create a shared context * @brief Create a shared context
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* When set, the created context will share a subset of OpenGL objects * When set, the created context will share a subset of OpenGL objects
* with @p context and its associated @p display, instead of being * with @p context and its associated @p display, instead of being
@ -325,7 +325,7 @@ class WindowlessEglContext::Configuration {
/** /**
* @brief Shared display * @brief Shared display
* @m_since_latest * @m_since{2020,06}
* *
* @requires_gles Context sharing is not available in WebGL. * @requires_gles Context sharing is not available in WebGL.
*/ */
@ -333,7 +333,7 @@ class WindowlessEglContext::Configuration {
/** /**
* @brief Shared context * @brief Shared context
* @m_since_latest * @m_since{2020,06}
* *
* @requires_gles Context sharing is not available in WebGL. * @requires_gles Context sharing is not available in WebGL.
*/ */
@ -606,7 +606,7 @@ class WindowlessEglApplication {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call EGL functionality directly or in order * Use in case you need to call EGL functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the

8
src/Magnum/Platform/WindowlessGlxApplication.h

@ -142,7 +142,7 @@ class WindowlessGlxContext {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call GLX functionality directly or in order * Use in case you need to call GLX functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the
@ -253,7 +253,7 @@ class WindowlessGlxContext::Configuration {
/** /**
* @brief Create a shared context * @brief Create a shared context
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* When set, the created context will share a subset of OpenGL objects * When set, the created context will share a subset of OpenGL objects
* with @p context, instead of being independent. Many caveats and * with @p context, instead of being independent. Many caveats and
@ -270,7 +270,7 @@ class WindowlessGlxContext::Configuration {
/** /**
* @brief Shared context * @brief Shared context
* @m_since_latest * @m_since{2020,06}
*/ */
GLXContext sharedContext() const { return _sharedContext; } GLXContext sharedContext() const { return _sharedContext; }
@ -431,7 +431,7 @@ class WindowlessGlxApplication {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call GLX functionality directly or in order * Use in case you need to call GLX functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the

8
src/Magnum/Platform/WindowlessWglApplication.h

@ -136,7 +136,7 @@ class WindowlessWglContext {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call WGL functionality directly or in order * Use in case you need to call WGL functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the
@ -247,7 +247,7 @@ class WindowlessWglContext::Configuration {
/** /**
* @brief Create a shared context * @brief Create a shared context
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* When set, the created context will share a subset of OpenGL objects * When set, the created context will share a subset of OpenGL objects
* with @p context, instead of being independent. Many caveats and * with @p context, instead of being independent. Many caveats and
@ -264,7 +264,7 @@ class WindowlessWglContext::Configuration {
/** /**
* @brief Shared context * @brief Shared context
* @m_since_latest * @m_since{2020,06}
*/ */
HGLRC sharedContext() const { return _sharedContext; } HGLRC sharedContext() const { return _sharedContext; }
@ -423,7 +423,7 @@ class WindowlessWglApplication {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call WGL functionality directly or in order * Use in case you need to call WGL functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the

8
src/Magnum/Platform/WindowlessWindowsEglApplication.h

@ -121,7 +121,7 @@ class WindowlessWindowsEglContext {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call EGL functionality directly or in order * Use in case you need to call EGL functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the
@ -217,7 +217,7 @@ class WindowlessWindowsEglContext::Configuration {
/** /**
* @brief Create a shared context * @brief Create a shared context
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* When set, the created context will share a subset of OpenGL objects * When set, the created context will share a subset of OpenGL objects
* with @p context, instead of being independent. Many caveats and * with @p context, instead of being independent. Many caveats and
@ -234,7 +234,7 @@ class WindowlessWindowsEglContext::Configuration {
/** /**
* @brief Shared context * @brief Shared context
* @m_since_latest * @m_since{2020,06}
*/ */
EGLContext sharedContext() const { return _sharedContext; } EGLContext sharedContext() const { return _sharedContext; }
@ -393,7 +393,7 @@ class WindowlessWindowsEglApplication {
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since_latest * @m_since{2020,06}
* *
* Use in case you need to call EGL functionality directly or in order * Use in case you need to call EGL functionality directly or in order
* to create a shared context. Returns @cpp nullptr @ce in case the * to create a shared context. Returns @cpp nullptr @ce in case the

12
src/Magnum/Primitives/Capsule.h

@ -59,7 +59,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData capsule2DWireframe(UnsignedInt hemisphe
/** /**
@brief Capsule flag @brief Capsule flag
@m_since_latest @m_since{2020,06}
@see @ref CapsuleFlags, @ref capsule3DSolid() @see @ref CapsuleFlags, @ref capsule3DSolid()
*/ */
@ -70,14 +70,14 @@ enum class CapsuleFlag: UnsignedByte {
* Generate four-component tangents. The last component can be used to * Generate four-component tangents. The last component can be used to
* reconstruct a bitangent as described in the documentation of * reconstruct a bitangent as described in the documentation of
* @ref Trade::MeshAttribute::Tangent. * @ref Trade::MeshAttribute::Tangent.
* @m_since_latest * @m_since{2020,06}
*/ */
Tangents = 1 << 1 Tangents = 1 << 1
}; };
/** /**
@brief Capsule flags @brief Capsule flags
@m_since_latest @m_since{2020,06}
@see @ref capsule3DSolid() @see @ref capsule3DSolid()
*/ */
@ -95,7 +95,7 @@ CORRADE_ENUMSET_OPERATORS(CapsuleFlags)
@cpp 3 @ce. @cpp 3 @ce.
@param halfLength Half the length of cylinder part @param halfLength Half the length of cylinder part
@param flags Flags @param flags Flags
@m_since_latest @m_since{2020,06}
Cylinder of radius @cpp 1.0f @ce along the Y axis, centered at origin, with Cylinder of radius @cpp 1.0f @ce along the Y axis, centered at origin, with
hemispheres instead of caps. @ref MeshPrimitive::Triangles with hemispheres instead of caps. @ref MeshPrimitive::Triangles with
@ -118,7 +118,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData capsule3DSolid(UnsignedInt hemisphereRi
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Whether to generate capsule texture coordinates @brief Whether to generate capsule texture coordinates
@m_deprecated_since_latest Use @ref CapsuleFlags instead. @m_deprecated_since{2020,06} Use @ref CapsuleFlags instead.
*/ */
enum class CORRADE_DEPRECATED_ENUM("use CapsuleFlags instead") CapsuleTextureCoords: UnsignedByte { enum class CORRADE_DEPRECATED_ENUM("use CapsuleFlags instead") CapsuleTextureCoords: UnsignedByte {
DontGenerate, /**< Don't generate texture coordinates */ DontGenerate, /**< Don't generate texture coordinates */
@ -127,7 +127,7 @@ enum class CORRADE_DEPRECATED_ENUM("use CapsuleFlags instead") CapsuleTextureCoo
/** /**
@brief @copybrief capsule3DSolid(UnsignedInt, UnsignedInt, UnsignedInt, Float, CapsuleFlags) @brief @copybrief capsule3DSolid(UnsignedInt, UnsignedInt, UnsignedInt, Float, CapsuleFlags)
@m_deprecated_since_latest Use @ref capsule3DSolid(UnsignedInt, UnsignedInt, UnsignedInt, Float, CapsuleFlags) @m_deprecated_since{2020,06} Use @ref capsule3DSolid(UnsignedInt, UnsignedInt, UnsignedInt, Float, CapsuleFlags)
instead. instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH

20
src/Magnum/Primitives/Circle.h

@ -39,7 +39,7 @@ namespace Magnum { namespace Primitives {
/** /**
@brief 2D circle flag @brief 2D circle flag
@m_since_latest @m_since{2020,06}
@see @ref Circle2DFlags, @ref circle2DSolid() @see @ref Circle2DFlags, @ref circle2DSolid()
*/ */
@ -49,7 +49,7 @@ enum class Circle2DFlag: UnsignedByte {
/** /**
@brief 2D circle flags @brief 2D circle flags
@m_since_latest @m_since{2020,06}
@see @ref circle2DSolid() @see @ref circle2DSolid()
*/ */
@ -60,7 +60,7 @@ CORRADE_ENUMSET_OPERATORS(Circle2DFlags)
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Whether to generate circle texture coordinates @brief Whether to generate circle texture coordinates
@m_deprecated_since_latest Use @ref Circle2DFlags or @ref Circle3DFlags @m_deprecated_since{2020,06} Use @ref Circle2DFlags or @ref Circle3DFlags
instead. instead.
*/ */
enum class CORRADE_DEPRECATED_ENUM("use Circle2DFlags or Circle3DFlags instead") CircleTextureCoords: UnsignedByte { enum class CORRADE_DEPRECATED_ENUM("use Circle2DFlags or Circle3DFlags instead") CircleTextureCoords: UnsignedByte {
@ -73,7 +73,7 @@ enum class CORRADE_DEPRECATED_ENUM("use Circle2DFlags or Circle3DFlags instead")
@brief Solid 2D circle @brief Solid 2D circle
@param segments Number of segments. Must be greater or equal to @cpp 3 @ce. @param segments Number of segments. Must be greater or equal to @cpp 3 @ce.
@param flags Flags @param flags Flags
@m_since_latest @m_since{2020,06}
Circle with radius @cpp 1.0f @ce, centered at origin. Circle with radius @cpp 1.0f @ce, centered at origin.
@ref MeshPrimitive::TriangleFan with @ref MeshIndexType::UnsignedInt indices, @ref MeshPrimitive::TriangleFan with @ref MeshIndexType::UnsignedInt indices,
@ -90,7 +90,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData circle2DSolid(UnsignedInt segments, Cir
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief @copybrief circle2DSolid(UnsignedInt, Circle2DFlags) @brief @copybrief circle2DSolid(UnsignedInt, Circle2DFlags)
@m_deprecated_since_latest Use @ref circle2DSolid(UnsignedInt, Circle2DFlags) @m_deprecated_since{2020,06} Use @ref circle2DSolid(UnsignedInt, Circle2DFlags)
instead. instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH
@ -115,7 +115,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData circle2DWireframe(UnsignedInt segments)
/** /**
@brief 3D circle flag @brief 3D circle flag
@m_since_latest @m_since{2020,06}
@see @ref Circle3DFlags, @ref circle3DSolid() @see @ref Circle3DFlags, @ref circle3DSolid()
*/ */
@ -126,14 +126,14 @@ enum class Circle3DFlag: UnsignedByte {
* Generate four-component tangents. The last component can be used to * Generate four-component tangents. The last component can be used to
* reconstruct a bitangent as described in the documentation of * reconstruct a bitangent as described in the documentation of
* @ref Trade::MeshAttribute::Tangent. * @ref Trade::MeshAttribute::Tangent.
* @m_since_latest * @m_since{2020,06}
*/ */
Tangents = 1 << 1 Tangents = 1 << 1
}; };
/** /**
@brief 3D circle flags @brief 3D circle flags
@m_since_latest @m_since{2020,06}
@see @ref circle3DSolid() @see @ref circle3DSolid()
*/ */
@ -145,7 +145,7 @@ CORRADE_ENUMSET_OPERATORS(Circle3DFlags)
@brief Solid 3D circle @brief Solid 3D circle
@param segments Number of segments. Must be greater or equal to @cpp 3 @ce. @param segments Number of segments. Must be greater or equal to @cpp 3 @ce.
@param flags Flags @param flags Flags
@m_since_latest @m_since{2020,06}
Circle on the XY plane with radius @cpp 1.0f @ce, centered at origin. Circle on the XY plane with radius @cpp 1.0f @ce, centered at origin.
Non-indexed @ref MeshPrimitive::TriangleFan with interleaved Non-indexed @ref MeshPrimitive::TriangleFan with interleaved
@ -163,7 +163,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData circle3DSolid(UnsignedInt segments, Cir
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief @copybrief circle3DSolid(UnsignedInt, Circle3DFlags) @brief @copybrief circle3DSolid(UnsignedInt, Circle3DFlags)
@m_deprecated_since_latest Use @ref circle3DSolid(UnsignedInt, Circle3DFlags) @m_deprecated_since{2020,06} Use @ref circle3DSolid(UnsignedInt, Circle3DFlags)
instead. instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH

6
src/Magnum/Primitives/Cone.h

@ -46,14 +46,14 @@ namespace Magnum { namespace Primitives {
enum class ConeFlag: UnsignedByte { enum class ConeFlag: UnsignedByte {
/** /**
* Generate texture coordinates * Generate texture coordinates
* @m_since_latest * @m_since{2020,06}
*/ */
TextureCoordinates = 1 << 0, TextureCoordinates = 1 << 0,
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Generate texture coordinates * Generate texture coordinates
* @m_deprecated_since_latest Use @ref ConeFlag::TextureCoordinates * @m_deprecated_since{2020,06} Use @ref ConeFlag::TextureCoordinates
* instead. * instead.
*/ */
GenerateTextureCoords CORRADE_DEPRECATED_ENUM("use TextureCoordinates instead") = TextureCoordinates, GenerateTextureCoords CORRADE_DEPRECATED_ENUM("use TextureCoordinates instead") = TextureCoordinates,
@ -63,7 +63,7 @@ enum class ConeFlag: UnsignedByte {
* Generate four-component tangents. The last component can be used to * Generate four-component tangents. The last component can be used to
* reconstruct a bitangent as described in the documentation of * reconstruct a bitangent as described in the documentation of
* @ref Trade::MeshAttribute::Tangent. * @ref Trade::MeshAttribute::Tangent.
* @m_since_latest * @m_since{2020,06}
*/ */
Tangents = 1 << 1, Tangents = 1 << 1,

6
src/Magnum/Primitives/Cylinder.h

@ -45,14 +45,14 @@ namespace Magnum { namespace Primitives {
enum class CylinderFlag: UnsignedByte { enum class CylinderFlag: UnsignedByte {
/** /**
* Generate texture coordinates * Generate texture coordinates
* @m_since_latest * @m_since{2020,06}
*/ */
TextureCoordinates = 1 << 0, TextureCoordinates = 1 << 0,
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Generate texture coordinates * Generate texture coordinates
* @m_deprecated_since_latest Use @ref CylinderFlag::TextureCoordinates * @m_deprecated_since{2020,06} Use @ref CylinderFlag::TextureCoordinates
* instead. * instead.
*/ */
GenerateTextureCoords CORRADE_DEPRECATED_ENUM("use TextureCoordinates instead") = TextureCoordinates, GenerateTextureCoords CORRADE_DEPRECATED_ENUM("use TextureCoordinates instead") = TextureCoordinates,
@ -62,7 +62,7 @@ enum class CylinderFlag: UnsignedByte {
* Generate four-component tangents. The last component can be used to * Generate four-component tangents. The last component can be used to
* reconstruct a bitangent as described in the documentation of * reconstruct a bitangent as described in the documentation of
* @ref Trade::MeshAttribute::Tangent. * @ref Trade::MeshAttribute::Tangent.
* @m_since_latest * @m_since{2020,06}
*/ */
Tangents = 1 << 1, Tangents = 1 << 1,

8
src/Magnum/Primitives/Grid.h

@ -46,14 +46,14 @@ namespace Magnum { namespace Primitives {
enum class GridFlag: UnsignedByte { enum class GridFlag: UnsignedByte {
/** /**
* Generate texture coordinates with origin in the bottom left corner * Generate texture coordinates with origin in the bottom left corner
* @m_since_latest * @m_since{2020,06}
*/ */
TextureCoordinates = 1 << 0, TextureCoordinates = 1 << 0,
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Generate texture coordinates with origin in the bottom left corner * Generate texture coordinates with origin in the bottom left corner
* @m_deprecated_since_latest Use @ref GridFlag::TextureCoordinates * @m_deprecated_since{2020,06} Use @ref GridFlag::TextureCoordinates
* instead. * instead.
*/ */
GenerateTextureCoords CORRADE_DEPRECATED_ENUM("use TextureCoordinates instead") = TextureCoordinates, GenerateTextureCoords CORRADE_DEPRECATED_ENUM("use TextureCoordinates instead") = TextureCoordinates,
@ -68,7 +68,7 @@ enum class GridFlag: UnsignedByte {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Generate normals in positive Z direction. * Generate normals in positive Z direction.
* @m_deprecated_since_latest Use @ref GridFlag::Normals instead. * @m_deprecated_since{2020,06} Use @ref GridFlag::Normals instead.
*/ */
GenerateNormals CORRADE_DEPRECATED_ENUM("use Normals instead") = Normals, GenerateNormals CORRADE_DEPRECATED_ENUM("use Normals instead") = Normals,
#endif #endif
@ -77,7 +77,7 @@ enum class GridFlag: UnsignedByte {
* Generate four-component tangents. The last component can be used to * Generate four-component tangents. The last component can be used to
* reconstruct a bitangent as described in the documentation of * reconstruct a bitangent as described in the documentation of
* @ref Trade::MeshAttribute::Tangent. * @ref Trade::MeshAttribute::Tangent.
* @m_since_latest * @m_since{2020,06}
*/ */
Tangents = 1 << 2 Tangents = 1 << 2
}; };

2
src/Magnum/Primitives/Icosphere.h

@ -57,7 +57,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData icosphereSolid(UnsignedInt subdivisions
/** /**
@brief Wireframe 3D icosphere @brief Wireframe 3D icosphere
@m_since_latest @m_since{2020,06}
Sphere of radius @cpp 1.0f @ce with 12 vertices and 30 edges, centered at Sphere of radius @cpp 1.0f @ce with 12 vertices and 30 edges, centered at
origin. @ref MeshPrimitive::Lines with @ref MeshIndexType::UnsignedShort origin. @ref MeshPrimitive::Lines with @ref MeshIndexType::UnsignedShort

12
src/Magnum/Primitives/Plane.h

@ -39,7 +39,7 @@ namespace Magnum { namespace Primitives {
/** /**
@brief Plane flag @brief Plane flag
@m_since_latest @m_since{2020,06}
@see @ref PlaneFlags, @ref planeSolid() @see @ref PlaneFlags, @ref planeSolid()
*/ */
@ -51,14 +51,14 @@ enum class PlaneFlag: UnsignedByte {
* Generate four-component tangents. The last component can be used to * Generate four-component tangents. The last component can be used to
* reconstruct a bitangent as described in the documentation of * reconstruct a bitangent as described in the documentation of
* @ref Trade::MeshAttribute::Tangent. * @ref Trade::MeshAttribute::Tangent.
* @m_since_latest * @m_since{2020,06}
*/ */
Tangents = 1 << 1 Tangents = 1 << 1
}; };
/** /**
@brief Plane flags @brief Plane flags
@m_since_latest @m_since{2020,06}
@see @ref planeSolid() @see @ref planeSolid()
*/ */
@ -69,7 +69,7 @@ CORRADE_ENUMSET_OPERATORS(PlaneFlags)
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Whether to generate plane texture coordinates @brief Whether to generate plane texture coordinates
@m_deprecated_since_latest Use @ref PlaneFlags instead. @m_deprecated_since{2020,06} Use @ref PlaneFlags instead.
*/ */
enum class CORRADE_DEPRECATED_ENUM("use PlaneFlags instead") PlaneTextureCoords: UnsignedByte { enum class CORRADE_DEPRECATED_ENUM("use PlaneFlags instead") PlaneTextureCoords: UnsignedByte {
DontGenerate, /**< Don't generate texture coordinates */ DontGenerate, /**< Don't generate texture coordinates */
@ -82,7 +82,7 @@ enum class CORRADE_DEPRECATED_ENUM("use PlaneFlags instead") PlaneTextureCoords:
/** /**
@brief Solid 3D plane @brief Solid 3D plane
@param flags Flags @param flags Flags
@m_since_latest @m_since{2020,06}
2x2 square on the XY plane, centered at origin. Non-indexed 2x2 square on the XY plane, centered at origin. Non-indexed
@ref MeshPrimitive::TriangleStrip with @ref VertexFormat::Vector3 positions, @ref MeshPrimitive::TriangleStrip with @ref VertexFormat::Vector3 positions,
@ -106,7 +106,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData planeSolid();
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief @copybrief planeSolid(PlaneFlags) @brief @copybrief planeSolid(PlaneFlags)
@m_deprecated_since_latest Use @ref planeSolid(PlaneFlags) instead. @m_deprecated_since{2020,06} Use @ref planeSolid(PlaneFlags) instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH
MAGNUM_PRIMITIVES_EXPORT CORRADE_DEPRECATED("use planeSolid(PlaneFlags) instead") Trade::MeshData planeSolid(PlaneTextureCoords textureCoords); MAGNUM_PRIMITIVES_EXPORT CORRADE_DEPRECATED("use planeSolid(PlaneFlags) instead") Trade::MeshData planeSolid(PlaneTextureCoords textureCoords);

10
src/Magnum/Primitives/Square.h

@ -39,7 +39,7 @@ namespace Magnum { namespace Primitives {
/** /**
@brief Square flag @brief Square flag
@m_since_latest @m_since{2020,06}
@see @ref SquareFlags, @ref squareSolid() @see @ref SquareFlags, @ref squareSolid()
*/ */
@ -50,7 +50,7 @@ enum class SquareFlag: UnsignedByte {
/** /**
@brief Square flags @brief Square flags
@m_since_latest @m_since{2020,06}
@see @ref squareSolid() @see @ref squareSolid()
*/ */
@ -61,7 +61,7 @@ CORRADE_ENUMSET_OPERATORS(SquareFlags)
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Whether to generate square texture coordinates @brief Whether to generate square texture coordinates
@m_deprecated_since_latest Use @ref SquareFlags instead. @m_deprecated_since{2020,06} Use @ref SquareFlags instead.
*/ */
enum class CORRADE_DEPRECATED_ENUM("use SquareFlags instead") SquareTextureCoords: UnsignedByte { enum class CORRADE_DEPRECATED_ENUM("use SquareFlags instead") SquareTextureCoords: UnsignedByte {
DontGenerate, /**< Don't generate texture coordinates */ DontGenerate, /**< Don't generate texture coordinates */
@ -74,7 +74,7 @@ enum class CORRADE_DEPRECATED_ENUM("use SquareFlags instead") SquareTextureCoord
/** /**
@brief Solid 2D square @brief Solid 2D square
@param flags Flags @param flags Flags
@m_since_latest @m_since{2020,06}
2x2 square, centered at origin. Non-indexed @ref MeshPrimitive::TriangleStrip 2x2 square, centered at origin. Non-indexed @ref MeshPrimitive::TriangleStrip
with interleaved @ref VertexFormat::Vector2 positions and optional with interleaved @ref VertexFormat::Vector2 positions and optional
@ -91,7 +91,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData squareSolid(SquareFlags flags = {});
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief @copybrief planeSolid(PlaneFlags) @brief @copybrief planeSolid(PlaneFlags)
@m_deprecated_since_latest Use @ref planeSolid(PlaneFlags) instead. @m_deprecated_since{2020,06} Use @ref planeSolid(PlaneFlags) instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH
MAGNUM_PRIMITIVES_EXPORT CORRADE_DEPRECATED("use squareSolid(SquareFlags) instead") Trade::MeshData squareSolid(SquareTextureCoords textureCoords); MAGNUM_PRIMITIVES_EXPORT CORRADE_DEPRECATED("use squareSolid(SquareFlags) instead") Trade::MeshData squareSolid(SquareTextureCoords textureCoords);

12
src/Magnum/Primitives/UVSphere.h

@ -39,7 +39,7 @@ namespace Magnum { namespace Primitives {
/** /**
@brief UV sphere flag @brief UV sphere flag
@m_since_latest @m_since{2020,06}
@see @ref UVSphereFlags, @ref uvSphereSolid() @see @ref UVSphereFlags, @ref uvSphereSolid()
*/ */
@ -50,14 +50,14 @@ enum class UVSphereFlag: UnsignedByte {
* Generate four-component tangents. The last component can be used to * Generate four-component tangents. The last component can be used to
* reconstruct a bitangent as described in the documentation of * reconstruct a bitangent as described in the documentation of
* @ref Trade::MeshAttribute::Tangent. * @ref Trade::MeshAttribute::Tangent.
* @m_since_latest * @m_since{2020,06}
*/ */
Tangents = 1 << 1 Tangents = 1 << 1
}; };
/** /**
@brief UV sphere flags @brief UV sphere flags
@m_since_latest @m_since{2020,06}
@see @ref uvSphereSolid() @see @ref uvSphereSolid()
*/ */
@ -72,7 +72,7 @@ CORRADE_ENUMSET_OPERATORS(UVSphereFlags)
@param segments Number of (face) segments. Must be larger or @param segments Number of (face) segments. Must be larger or
equal to @cpp 3 @ce. equal to @cpp 3 @ce.
@param flags Flags @param flags Flags
@m_since_latest @m_since{2020,06}
Sphere of radius @cpp 1.0f @ce, centered at origin. Sphere of radius @cpp 1.0f @ce, centered at origin.
@ref MeshPrimitive::Triangles with @ref MeshIndexType::UnsignedInt indices, @ref MeshPrimitive::Triangles with @ref MeshIndexType::UnsignedInt indices,
@ -90,7 +90,7 @@ MAGNUM_PRIMITIVES_EXPORT Trade::MeshData uvSphereSolid(UnsignedInt rings, Unsign
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Whether to generate UV sphere texture coordinates @brief Whether to generate UV sphere texture coordinates
@m_deprecated_since_latest Use @ref UVSphereFlags instead. @m_deprecated_since{2020,06} Use @ref UVSphereFlags instead.
*/ */
enum class CORRADE_DEPRECATED("use UVSphereFlags instead") UVSphereTextureCoords: UnsignedByte { enum class CORRADE_DEPRECATED("use UVSphereFlags instead") UVSphereTextureCoords: UnsignedByte {
DontGenerate, /**< Don't generate texture coordinates */ DontGenerate, /**< Don't generate texture coordinates */
@ -99,7 +99,7 @@ enum class CORRADE_DEPRECATED("use UVSphereFlags instead") UVSphereTextureCoords
/** /**
@brief @copybrief uvSphereSolid(UnsignedInt, UnsignedInt, UVSphereFlags) @brief @copybrief uvSphereSolid(UnsignedInt, UnsignedInt, UVSphereFlags)
@m_deprecated_since_latest Use @ref uvSphereSolid(UnsignedInt, UnsignedInt, UVSphereFlags) @m_deprecated_since{2020,06} Use @ref uvSphereSolid(UnsignedInt, UnsignedInt, UVSphereFlags)
instead. instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH

8
src/Magnum/SceneGraph/AbstractTranslationRotation2D.h

@ -50,7 +50,7 @@ template<class T> class AbstractBasicTranslationRotation2D: public AbstractBasic
* @brief Rotate the object using a complex number * @brief Rotate the object using a complex number
* @param complex Normalized complex number * @param complex Normalized complex number
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the complex number is normalized. * Expects that the complex number is normalized.
* @see @ref rotate(Math::Rad<T>), * @see @ref rotate(Math::Rad<T>),
@ -63,7 +63,7 @@ template<class T> class AbstractBasicTranslationRotation2D: public AbstractBasic
/** /**
* @brief Rotate the object using a complex number as a local transformation * @brief Rotate the object using a complex number as a local transformation
* @m_since_latest * @m_since{2020,06}
* *
* Similar to the above, except that the transformation is applied * Similar to the above, except that the transformation is applied
* before all others. * before all others.
@ -118,13 +118,13 @@ template<class T> class AbstractBasicTranslationRotation2D: public AbstractBasic
private: private:
/** /**
* @brief Polymorphic implementation for @ref rotate(const Math::Complex<T>&) * @brief Polymorphic implementation for @ref rotate(const Math::Complex<T>&)
* @m_since_latest * @m_since{2020,06}
*/ */
virtual void doRotate(const Math::Complex<T>&) = 0; virtual void doRotate(const Math::Complex<T>&) = 0;
/** /**
* @brief Polymorphic implementation for @ref rotateLocal(const Math::Complex<T>&) * @brief Polymorphic implementation for @ref rotateLocal(const Math::Complex<T>&)
* @m_since_latest * @m_since{2020,06}
*/ */
virtual void doRotateLocal(const Math::Complex<T>&) = 0; virtual void doRotateLocal(const Math::Complex<T>&) = 0;

8
src/Magnum/SceneGraph/AbstractTranslationRotation3D.h

@ -51,7 +51,7 @@ template<class T> class AbstractBasicTranslationRotation3D: public AbstractBasic
* @brief Rotate the object using a quaternion * @brief Rotate the object using a quaternion
* @param quaternion Normalized quaternion * @param quaternion Normalized quaternion
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the quaternion is normalized. * Expects that the quaternion is normalized.
* @see @ref rotate(Math::Rad<T>, const Math::Vector3<T>&), * @see @ref rotate(Math::Rad<T>, const Math::Vector3<T>&),
@ -65,7 +65,7 @@ template<class T> class AbstractBasicTranslationRotation3D: public AbstractBasic
/** /**
* @brief Rotate the object using a quaternion as a local transformation * @brief Rotate the object using a quaternion as a local transformation
* @m_since_latest * @m_since{2020,06}
* *
* Similar to the above, except that the transformation is applied * Similar to the above, except that the transformation is applied
* before all others. * before all others.
@ -208,13 +208,13 @@ template<class T> class AbstractBasicTranslationRotation3D: public AbstractBasic
private: private:
/** /**
* @brief Polymorphic implementation for @ref rotate(const Math::Quaternion<T>&) * @brief Polymorphic implementation for @ref rotate(const Math::Quaternion<T>&)
* @m_since_latest * @m_since{2020,06}
*/ */
virtual void doRotate(const Math::Quaternion<T>&) = 0; virtual void doRotate(const Math::Quaternion<T>&) = 0;
/** /**
* @brief Polymorphic implementation for @ref rotateLocal(const Math::Quaternion<T>&) * @brief Polymorphic implementation for @ref rotateLocal(const Math::Quaternion<T>&)
* @m_since_latest * @m_since{2020,06}
*/ */
virtual void doRotateLocal(const Math::Quaternion<T>&) = 0; virtual void doRotateLocal(const Math::Quaternion<T>&) = 0;

4
src/Magnum/SceneGraph/DualComplexTransformation.h

@ -136,7 +136,7 @@ template<class T> class BasicDualComplexTransformation: public AbstractBasicTran
* @brief Rotate the object using a complex number * @brief Rotate the object using a complex number
* @param complex Normalized complex number * @param complex Normalized complex number
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Same as calling @ref transform() with @p complex. Expects that the * Same as calling @ref transform() with @p complex. Expects that the
* complex number is normalized. * complex number is normalized.
@ -149,7 +149,7 @@ template<class T> class BasicDualComplexTransformation: public AbstractBasicTran
/** /**
* @brief Rotate the object using a complex number as a local transformation * @brief Rotate the object using a complex number as a local transformation
* @m_since_latest * @m_since{2020,06}
* *
* Similar to the above, except that the transformation is applied * Similar to the above, except that the transformation is applied
* before all others. * before all others.

4
src/Magnum/SceneGraph/DualQuaternionTransformation.h

@ -135,7 +135,7 @@ template<class T> class BasicDualQuaternionTransformation: public AbstractBasicT
* @brief Rotate the object using a quaternion * @brief Rotate the object using a quaternion
* @param quaternion Normalized quaternion * @param quaternion Normalized quaternion
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Same as calling @ref transform() with @p quaternion. Expects that * Same as calling @ref transform() with @p quaternion. Expects that
* the quaternion is normalized. * the quaternion is normalized.
@ -149,7 +149,7 @@ template<class T> class BasicDualQuaternionTransformation: public AbstractBasicT
/** /**
* @brief Rotate the object using a quaternion as a local transformation * @brief Rotate the object using a quaternion as a local transformation
* @m_since_latest * @m_since{2020,06}
* *
* Similar to the above, except that the transformation is applied * Similar to the above, except that the transformation is applied
* before all others. * before all others.

4
src/Magnum/SceneGraph/MatrixTransformation2D.h

@ -118,7 +118,7 @@ template<class T> class BasicMatrixTransformation2D: public AbstractBasicTransla
* @brief Rotate the object using a complex number * @brief Rotate the object using a complex number
* @param complex Normalized complex number * @param complex Normalized complex number
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the complex number is normalized. * Expects that the complex number is normalized.
* @see @ref rotate(Math::Rad<T>), * @see @ref rotate(Math::Rad<T>),
@ -128,7 +128,7 @@ template<class T> class BasicMatrixTransformation2D: public AbstractBasicTransla
/** /**
* @brief Rotate the object using a complex number as a local transformation * @brief Rotate the object using a complex number as a local transformation
* @m_since_latest * @m_since{2020,06}
* *
* Similar to the above, except that the transformation is applied * Similar to the above, except that the transformation is applied
* before all others. * before all others.

2
src/Magnum/SceneGraph/MatrixTransformation2D.hpp

@ -27,7 +27,7 @@
/** @file /** @file
* @brief @ref compilation-speedup-hpp "Template implementation" for @ref MatrixTransformation2D.h * @brief @ref compilation-speedup-hpp "Template implementation" for @ref MatrixTransformation2D.h
* @m_since_latest * @m_since{2020,06}
*/ */
#include "MatrixTransformation2D.h" #include "MatrixTransformation2D.h"

4
src/Magnum/SceneGraph/MatrixTransformation3D.h

@ -118,7 +118,7 @@ template<class T> class BasicMatrixTransformation3D: public AbstractBasicTransla
* @brief Rotate the object using a quaternion * @brief Rotate the object using a quaternion
* @param quaternion Normalized quaternion * @param quaternion Normalized quaternion
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the quaternion is normalized. * Expects that the quaternion is normalized.
* @see @ref rotate(Math::Rad<T>, const Math::Vector3<T>&), * @see @ref rotate(Math::Rad<T>, const Math::Vector3<T>&),
@ -129,7 +129,7 @@ template<class T> class BasicMatrixTransformation3D: public AbstractBasicTransla
/** /**
* @brief Rotate the object using a quaternion as a local transformation * @brief Rotate the object using a quaternion as a local transformation
* @m_since_latest * @m_since{2020,06}
* *
* Similar to the above, except that the transformation is applied * Similar to the above, except that the transformation is applied
* before all others. * before all others.

2
src/Magnum/SceneGraph/MatrixTransformation3D.hpp

@ -27,7 +27,7 @@
/** @file /** @file
* @brief @ref compilation-speedup-hpp "Template implementation" for @ref MatrixTransformation3D.h * @brief @ref compilation-speedup-hpp "Template implementation" for @ref MatrixTransformation3D.h
* @m_since_latest * @m_since{2020,06}
*/ */
#include "MatrixTransformation3D.h" #include "MatrixTransformation3D.h"

4
src/Magnum/SceneGraph/RigidMatrixTransformation2D.h

@ -141,7 +141,7 @@ template<class T> class BasicRigidMatrixTransformation2D: public AbstractBasicTr
* @brief Rotate the object using a complex number * @brief Rotate the object using a complex number
* @param complex Normalized complex number * @param complex Normalized complex number
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the complex number is normalized. * Expects that the complex number is normalized.
* @see @ref rotate(Math::Rad<T>), * @see @ref rotate(Math::Rad<T>),
@ -151,7 +151,7 @@ template<class T> class BasicRigidMatrixTransformation2D: public AbstractBasicTr
/** /**
* @brief Rotate the object using a complex number as a local transformation * @brief Rotate the object using a complex number as a local transformation
* @m_since_latest * @m_since{2020,06}
* *
* Similar to the above, except that the transformation is applied * Similar to the above, except that the transformation is applied
* before all others. * before all others.

2
src/Magnum/SceneGraph/RigidMatrixTransformation2D.hpp

@ -27,7 +27,7 @@
/** @file /** @file
* @brief @ref compilation-speedup-hpp "Template implementation" for @ref RigidMatrixTransformation2D.h * @brief @ref compilation-speedup-hpp "Template implementation" for @ref RigidMatrixTransformation2D.h
* @m_since_latest * @m_since{2020,06}
*/ */
#include "RigidMatrixTransformation2D.h" #include "RigidMatrixTransformation2D.h"

4
src/Magnum/SceneGraph/RigidMatrixTransformation3D.h

@ -140,7 +140,7 @@ template<class T> class BasicRigidMatrixTransformation3D: public AbstractBasicTr
* @brief Rotate the object using a quaternion * @brief Rotate the object using a quaternion
* @param quaternion Normalized quaternion * @param quaternion Normalized quaternion
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the quaternion is normalized. * Expects that the quaternion is normalized.
* @see @ref rotate(Math::Rad<T>, const Math::Vector3<T>&), * @see @ref rotate(Math::Rad<T>, const Math::Vector3<T>&),
@ -151,7 +151,7 @@ template<class T> class BasicRigidMatrixTransformation3D: public AbstractBasicTr
/** /**
* @brief Rotate the object using a quaternion as a local transformation * @brief Rotate the object using a quaternion as a local transformation
* @m_since_latest * @m_since{2020,06}
* *
* Similar to the above, except that the transformation is applied * Similar to the above, except that the transformation is applied
* before all others. * before all others.

2
src/Magnum/SceneGraph/RigidMatrixTransformation3D.hpp

@ -27,7 +27,7 @@
/** @file /** @file
* @brief @ref compilation-speedup-hpp "Template implementation" for @ref RigidMatrixTransformation3D.hpp * @brief @ref compilation-speedup-hpp "Template implementation" for @ref RigidMatrixTransformation3D.hpp
* @m_since_latest * @m_since{2020,06}
*/ */
#include "RigidMatrixTransformation3D.h" #include "RigidMatrixTransformation3D.h"

10
src/Magnum/Shaders/DistanceFieldVector.h

@ -82,7 +82,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT DistanceFieldVector
#ifdef DOXYGEN_GENERATING_OUTPUT #ifdef DOXYGEN_GENERATING_OUTPUT
/** /**
* @brief Flag * @brief Flag
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref Flags, @ref flags() * @see @ref Flags, @ref flags()
*/ */
@ -90,14 +90,14 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT DistanceFieldVector
/** /**
* Enable texture coordinate transformation. * Enable texture coordinate transformation.
* @see @ref setTextureMatrix() * @see @ref setTextureMatrix()
* @m_since_latest * @m_since{2020,06}
*/ */
TextureTransformation = 1 << 0 TextureTransformation = 1 << 0
}; };
/** /**
* @brief Flags * @brief Flags
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref flags() * @see @ref flags()
*/ */
@ -148,7 +148,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT DistanceFieldVector
/** /**
* @brief Flags * @brief Flags
* @m_since_latest * @m_since{2020,06}
*/ */
Flags flags() const { return _flags; } Flags flags() const { return _flags; }
@ -163,7 +163,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT DistanceFieldVector
/** /**
* @brief Set texture coordinate transformation matrix * @brief Set texture coordinate transformation matrix
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the shader was created with * Expects that the shader was created with
* @ref Flag::TextureTransformation enabled. Initial value is an * @ref Flag::TextureTransformation enabled. Initial value is an

16
src/Magnum/Shaders/Flat.h

@ -194,7 +194,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
/** /**
* @brief (Instanced) object ID * @brief (Instanced) object ID
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::UnsignedInt. * @ref shaders-generic "Generic attribute", @ref Magnum::UnsignedInt.
* Used only if @ref Flag::InstancedObjectId is set. * Used only if @ref Flag::InstancedObjectId is set.
@ -207,7 +207,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
/** /**
* @brief (Instanced) transformation matrix * @brief (Instanced) transformation matrix
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Matrix3 in * @ref shaders-generic "Generic attribute", @ref Magnum::Matrix3 in
* 2D, @ref Magnum::Matrix4 in 3D. Used only if * 2D, @ref Magnum::Matrix4 in 3D. Used only if
@ -223,7 +223,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
/** /**
* @brief (Instanced) texture offset * @brief (Instanced) texture offset
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Vector2. Used * @ref shaders-generic "Generic attribute", @ref Magnum::Vector2. Used
* only if @ref Flag::InstancedTextureOffset is set. * only if @ref Flag::InstancedTextureOffset is set.
@ -298,7 +298,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
* Enable texture coordinate transformation. If this flag is set, * Enable texture coordinate transformation. If this flag is set,
* the shader expects that @ref Flag::Textured is enabled as well. * the shader expects that @ref Flag::Textured is enabled as well.
* @see @ref setTextureMatrix() * @see @ref setTextureMatrix()
* @m_since_latest * @m_since{2020,06}
*/ */
TextureTransformation = 1 << 3, TextureTransformation = 1 << 3,
@ -324,7 +324,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
* @requires_gles30 Object ID output requires integer support in * @requires_gles30 Object ID output requires integer support in
* shaders, which is not available in OpenGL ES 2.0 or WebGL * shaders, which is not available in OpenGL ES 2.0 or WebGL
* 1.0. * 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
InstancedObjectId = (1 << 5)|ObjectId, InstancedObjectId = (1 << 5)|ObjectId,
#endif #endif
@ -342,7 +342,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
* @gl_extension{NV,instanced_arrays} in OpenGL ES 2.0. * @gl_extension{NV,instanced_arrays} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays} * @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0. * in WebGL 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
InstancedTransformation = 1 << 6, InstancedTransformation = 1 << 6,
@ -361,7 +361,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
* @gl_extension{NV,instanced_arrays} in OpenGL ES 2.0. * @gl_extension{NV,instanced_arrays} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays} * @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0. * in WebGL 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
InstancedTextureOffset = (1 << 7)|TextureTransformation InstancedTextureOffset = (1 << 7)|TextureTransformation
}; };
@ -425,7 +425,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
/** /**
* @brief Set texture coordinate transformation matrix * @brief Set texture coordinate transformation matrix
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the shader was created with * Expects that the shader was created with
* @ref Flag::TextureTransformation enabled. Initial value is an * @ref Flag::TextureTransformation enabled. Initial value is an

12
src/Magnum/Shaders/Generic.h

@ -322,7 +322,7 @@ template<UnsignedInt dimensions> struct Generic {
/** /**
* @brief Vertex tangent with a bitangent sign * @brief Vertex tangent with a bitangent sign
* @m_since_latest * @m_since{2020,06}
* *
* @ref Magnum::Vector4 "Vector4", defined only in 3D. The last component * @ref Magnum::Vector4 "Vector4", defined only in 3D. The last component
* is a sign value (@cpp -1.0f @ce or @cpp +1.0f @ce) defining handedness * is a sign value (@cpp -1.0f @ce or @cpp +1.0f @ce) defining handedness
@ -338,7 +338,7 @@ template<UnsignedInt dimensions> struct Generic {
/** /**
* @brief Vertex bitangent * @brief Vertex bitangent
* @m_since_latest * @m_since{2020,06}
* *
* @ref Magnum::Vector3 "Vector3", defined only in 3D. For better storage * @ref Magnum::Vector3 "Vector3", defined only in 3D. For better storage
* efficiency, the bitangent can be also reconstructed from the normal and * efficiency, the bitangent can be also reconstructed from the normal and
@ -354,7 +354,7 @@ template<UnsignedInt dimensions> struct Generic {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
/** /**
* @brief (Instanced) object ID * @brief (Instanced) object ID
* @m_since_latest * @m_since{2020,06}
* *
* @ref Magnum::UnsignedInt "UnsignedInt". Corresponds to * @ref Magnum::UnsignedInt "UnsignedInt". Corresponds to
* @ref Trade::MeshAttribute::ObjectId. * @ref Trade::MeshAttribute::ObjectId.
@ -385,7 +385,7 @@ template<UnsignedInt dimensions> struct Generic {
/** /**
* @brief (Instanced) transformation matrix * @brief (Instanced) transformation matrix
* @m_since_latest * @m_since{2020,06}
* *
* @ref Magnum::Matrix3 "Matrix3" in 2D and @ref Magnum::Matrix4 "Matrix4" * @ref Magnum::Matrix3 "Matrix3" in 2D and @ref Magnum::Matrix4 "Matrix4"
* in 3D. Currently doesn't have a corresponding @ref Trade::MeshAttribute. * in 3D. Currently doesn't have a corresponding @ref Trade::MeshAttribute.
@ -402,7 +402,7 @@ template<UnsignedInt dimensions> struct Generic {
/** /**
* @brief (Instanced) normal matrix * @brief (Instanced) normal matrix
* @m_since_latest * @m_since{2020,06}
* *
* @ref Magnum::Matrix3 "Matrix3x3", defined only in 3D. Currently doesn't * @ref Magnum::Matrix3 "Matrix3x3", defined only in 3D. Currently doesn't
* have a corresponding @ref Trade::MeshAttribute. * have a corresponding @ref Trade::MeshAttribute.
@ -419,7 +419,7 @@ template<UnsignedInt dimensions> struct Generic {
/** /**
* @brief (Instanced) texture offset * @brief (Instanced) texture offset
* @m_since_latest * @m_since{2020,06}
* *
* @ref Magnum::Vector2 "Vector2". Currently doesn't have a corresponding * @ref Magnum::Vector2 "Vector2". Currently doesn't have a corresponding
* @ref Trade::MeshAttribute. * @ref Trade::MeshAttribute.

46
src/Magnum/Shaders/MeshVisualizer.h

@ -95,7 +95,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizerBase: public GL::AbstractShaderProgram
/** /**
@brief 2D mesh visualization shader @brief 2D mesh visualization shader
@m_since_latest @m_since{2020,06}
Visualizes wireframe, per-vertex/per-instance object ID or primitive ID of 2D Visualizes wireframe, per-vertex/per-instance object ID or primitive ID of 2D
meshes. You need to provide the @ref Position attribute in your triangle mesh. meshes. You need to provide the @ref Position attribute in your triangle mesh.
@ -141,7 +141,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer2D: public Implementation::MeshVisuali
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
/** /**
* @brief (Instanced) object ID * @brief (Instanced) object ID
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::UnsignedInt. * @ref shaders-generic "Generic attribute", @ref Magnum::UnsignedInt.
* Used only if @ref Flag::InstancedObjectId is set. * Used only if @ref Flag::InstancedObjectId is set.
@ -501,7 +501,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Tangent direction * @brief Tangent direction
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", * @ref shaders-generic "Generic attribute",
* @ref Magnum::Vector3 "Vector3". Use either this or the @ref Tangent4 * @ref Magnum::Vector3 "Vector3". Use either this or the @ref Tangent4
@ -511,7 +511,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Tangent direction with a bitangent sign * @brief Tangent direction with a bitangent sign
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", * @ref shaders-generic "Generic attribute",
* @ref Magnum::Vector4 "Vector4". Use either this or the @ref Tangent * @ref Magnum::Vector4 "Vector4". Use either this or the @ref Tangent
@ -522,7 +522,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Bitangent direction * @brief Bitangent direction
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", * @ref shaders-generic "Generic attribute",
* @ref Magnum::Vector4 "Vector4". Use either this or the @ref Tangent4 * @ref Magnum::Vector4 "Vector4". Use either this or the @ref Tangent4
@ -532,7 +532,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Normal direction * @brief Normal direction
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", * @ref shaders-generic "Generic attribute",
* @ref Magnum::Vector3 "Vector3". Used only if * @ref Magnum::Vector3 "Vector3". Used only if
@ -561,7 +561,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
/** /**
* @brief (Instanced) object ID * @brief (Instanced) object ID
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::UnsignedInt. * @ref shaders-generic "Generic attribute", @ref Magnum::UnsignedInt.
* Used only if @ref Flag::InstancedObjectId is set. * Used only if @ref Flag::InstancedObjectId is set.
@ -619,7 +619,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
* @requires_gles30 Object ID output requires integer support in * @requires_gles30 Object ID output requires integer support in
* shaders, which is not available in OpenGL ES 2.0 or WebGL * shaders, which is not available in OpenGL ES 2.0 or WebGL
* 1.0. * 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
InstancedObjectId = 1 << 2, InstancedObjectId = 1 << 2,
@ -634,7 +634,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
* @requires_gles30 The `gl_VertexID` shader variable is not * @requires_gles30 The `gl_VertexID` shader variable is not
* available on OpenGL ES 2.0. * available on OpenGL ES 2.0.
* @requires_webgl20 `gl_VertexID` is not available in WebGL 1.0. * @requires_webgl20 `gl_VertexID` is not available in WebGL 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
VertexId = 1 << 3, VertexId = 1 << 3,
@ -651,7 +651,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
* @requires_gles32 The `gl_PrimitiveID` shader variable is not * @requires_gles32 The `gl_PrimitiveID` shader variable is not
* available on OpenGL ES 3.1 and lower. * available on OpenGL ES 3.1 and lower.
* @requires_gles `gl_PrimitiveID` is not available in WebGL. * @requires_gles `gl_PrimitiveID` is not available in WebGL.
* @m_since_latest * @m_since{2020,06}
*/ */
PrimitiveId = 1 << 4, PrimitiveId = 1 << 4,
#endif #endif
@ -668,7 +668,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
* @requires_gles30 The `gl_VertexID` shader variable is not * @requires_gles30 The `gl_VertexID` shader variable is not
* available on OpenGL ES 2.0. * available on OpenGL ES 2.0.
* @requires_webgl20 `gl_VertexID` is not available in WebGL 1.0. * @requires_webgl20 `gl_VertexID` is not available in WebGL 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
#ifndef MAGNUM_TARGET_WEBGL #ifndef MAGNUM_TARGET_WEBGL
PrimitiveIdFromVertexId = (1 << 5)|PrimitiveId, PrimitiveIdFromVertexId = (1 << 5)|PrimitiveId,
@ -689,7 +689,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
* @requires_gles32 Extension @gl_extension{ANDROID,extension_pack_es31a} / * @requires_gles32 Extension @gl_extension{ANDROID,extension_pack_es31a} /
* @gl_extension{EXT,geometry_shader} * @gl_extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL. * @requires_gles Geometry shaders are not available in WebGL.
* @m_since_latest * @m_since{2020,06}
*/ */
TangentDirection = 1 << 6, TangentDirection = 1 << 6,
@ -706,7 +706,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
* @requires_gles32 Extension @gl_extension{ANDROID,extension_pack_es31a} / * @requires_gles32 Extension @gl_extension{ANDROID,extension_pack_es31a} /
* @gl_extension{EXT,geometry_shader} * @gl_extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL. * @requires_gles Geometry shaders are not available in WebGL.
* @m_since_latest * @m_since{2020,06}
*/ */
BitangentFromTangentDirection = 1 << 7, BitangentFromTangentDirection = 1 << 7,
@ -723,7 +723,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
* @requires_gles32 Extension @gl_extension{ANDROID,extension_pack_es31a} / * @requires_gles32 Extension @gl_extension{ANDROID,extension_pack_es31a} /
* @gl_extension{EXT,geometry_shader} * @gl_extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL. * @requires_gles Geometry shaders are not available in WebGL.
* @m_since_latest * @m_since{2020,06}
*/ */
BitangentDirection = 1 << 8, BitangentDirection = 1 << 8,
@ -737,7 +737,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
* @requires_gles32 Extension @gl_extension{ANDROID,extension_pack_es31a} / * @requires_gles32 Extension @gl_extension{ANDROID,extension_pack_es31a} /
* @gl_extension{EXT,geometry_shader} * @gl_extension{EXT,geometry_shader}
* @requires_gles Geometry shaders are not available in WebGL. * @requires_gles Geometry shaders are not available in WebGL.
* @m_since_latest * @m_since{2020,06}
*/ */
NormalDirection = 1 << 9 NormalDirection = 1 << 9
#endif #endif
@ -760,7 +760,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Constructor * @brief Constructor
* @m_deprecated_since_latest Use @ref MeshVisualizer3D(Flags) instead. * @m_deprecated_since{2020,06} Use @ref MeshVisualizer3D(Flags) instead.
*/ */
explicit CORRADE_DEPRECATED("use MeshVisualizer3D(Flags) instead") MeshVisualizer3D(): MeshVisualizer3D{{}} {} explicit CORRADE_DEPRECATED("use MeshVisualizer3D(Flags) instead") MeshVisualizer3D(): MeshVisualizer3D{{}} {}
#endif #endif
@ -799,7 +799,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Set transformation and projection matrix * @brief Set transformation and projection matrix
* @m_deprecated_since_latest Use @ref setTransformationMatrix() and * @m_deprecated_since{2020,06} Use @ref setTransformationMatrix() and
* @ref setProjectionMatrix() instead. * @ref setProjectionMatrix() instead.
*/ */
CORRADE_DEPRECATED("use setTransformationMatrix() and setProjectionMatrix() instead") MeshVisualizer3D& setTransformationProjectionMatrix(const Matrix4& matrix) { CORRADE_DEPRECATED("use setTransformationMatrix() and setProjectionMatrix() instead") MeshVisualizer3D& setTransformationProjectionMatrix(const Matrix4& matrix) {
@ -831,7 +831,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Set transformation matrix * @brief Set transformation matrix
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that @ref Flag::TangentDirection, * Expects that @ref Flag::TangentDirection,
* @ref Flag::BitangentDirection or @ref Flag::NormalDirection is * @ref Flag::BitangentDirection or @ref Flag::NormalDirection is
@ -899,7 +899,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Set color map transformation * @brief Set color map transformation
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Offset and scale applied to the input value coming either from the * Offset and scale applied to the input value coming either from the
* @ref ObjectId attribute or @glsl gl_PrimitiveID @ce, resulting value * @ref ObjectId attribute or @glsl gl_PrimitiveID @ce, resulting value
@ -932,7 +932,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Bind a color map texture * @brief Bind a color map texture
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* See also @ref setColorMapTransformation(). Expects that either * See also @ref setColorMapTransformation(). Expects that either
* @ref Flag::InstancedObjectId or @ref Flag::PrimitiveId / * @ref Flag::InstancedObjectId or @ref Flag::PrimitiveId /
@ -955,7 +955,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Set line width * @brief Set line width
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Value is in screen space (depending on @ref setViewportSize()), * Value is in screen space (depending on @ref setViewportSize()),
* initial value is @cpp 1.0f @ce. Expects that * initial value is @cpp 1.0f @ce. Expects that
@ -974,7 +974,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
/** /**
* @brief Set line length * @brief Set line length
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Value is in object space, initial value is @cpp 1.0f @ce. Expects * Value is in object space, initial value is @cpp 1.0f @ce. Expects
* that @ref Flag::TangentDirection, * that @ref Flag::TangentDirection,
@ -1016,7 +1016,7 @@ class MAGNUM_SHADERS_EXPORT MeshVisualizer3D: public Implementation::MeshVisuali
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief 3D mesh visualizer shader @brief 3D mesh visualizer shader
@m_deprecated_since_latest Use @ref MeshVisualizer3D instead. @m_deprecated_since{2020,06} Use @ref MeshVisualizer3D instead.
*/ */
typedef CORRADE_DEPRECATED("use MeshVisualizer3D instead") MeshVisualizer3D MeshVisualizer; typedef CORRADE_DEPRECATED("use MeshVisualizer3D instead") MeshVisualizer3D MeshVisualizer;
#endif #endif

18
src/Magnum/Shaders/Phong.h

@ -210,7 +210,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
/** /**
* @brief (Instanced) object ID * @brief (Instanced) object ID
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::UnsignedInt. * @ref shaders-generic "Generic attribute", @ref Magnum::UnsignedInt.
* Used only if @ref Flag::InstancedObjectId is set. * Used only if @ref Flag::InstancedObjectId is set.
@ -223,7 +223,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* @brief (Instanced) transformation matrix * @brief (Instanced) transformation matrix
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Matrix4. * @ref shaders-generic "Generic attribute", @ref Magnum::Matrix4.
* Used only if @ref Flag::InstancedTransformation is set. * Used only if @ref Flag::InstancedTransformation is set.
@ -238,7 +238,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* @brief (Instanced) normal matrix * @brief (Instanced) normal matrix
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Matrix3x3. * @ref shaders-generic "Generic attribute", @ref Magnum::Matrix3x3.
* Used only if @ref Flag::InstancedTransformation is set. * Used only if @ref Flag::InstancedTransformation is set.
@ -253,7 +253,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* @brief (Instanced) texture offset * @brief (Instanced) texture offset
* @m_since_latest * @m_since{2020,06}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Vector2. Used * @ref shaders-generic "Generic attribute", @ref Magnum::Vector2. Used
* only if @ref Flag::InstancedTextureOffset is set. * only if @ref Flag::InstancedTextureOffset is set.
@ -350,7 +350,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* @ref Flag::SpecularTexture or @ref Flag::NormalTexture is * @ref Flag::SpecularTexture or @ref Flag::NormalTexture is
* enabled as well. * enabled as well.
* @see @ref setTextureMatrix() * @see @ref setTextureMatrix()
* @m_since_latest * @m_since{2020,06}
*/ */
TextureTransformation = 1 << 6, TextureTransformation = 1 << 6,
@ -376,7 +376,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* @requires_gles30 Object ID output requires integer support in * @requires_gles30 Object ID output requires integer support in
* shaders, which is not available in OpenGL ES 2.0 or WebGL * shaders, which is not available in OpenGL ES 2.0 or WebGL
* 1.0. * 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
InstancedObjectId = (1 << 8)|ObjectId, InstancedObjectId = (1 << 8)|ObjectId,
#endif #endif
@ -395,7 +395,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* @gl_extension{NV,instanced_arrays} in OpenGL ES 2.0. * @gl_extension{NV,instanced_arrays} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays} * @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0. * in WebGL 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
InstancedTransformation = 1 << 9, InstancedTransformation = 1 << 9,
@ -414,7 +414,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* @gl_extension{NV,instanced_arrays} in OpenGL ES 2.0. * @gl_extension{NV,instanced_arrays} in OpenGL ES 2.0.
* @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays} * @requires_webgl20 Extension @webgl_extension{ANGLE,instanced_arrays}
* in WebGL 1.0. * in WebGL 1.0.
* @m_since_latest * @m_since{2020,06}
*/ */
InstancedTextureOffset = (1 << 10)|TextureTransformation InstancedTextureOffset = (1 << 10)|TextureTransformation
}; };
@ -639,7 +639,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* @brief Set texture coordinate transformation matrix * @brief Set texture coordinate transformation matrix
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the shader was created with * Expects that the shader was created with
* @ref Flag::TextureTransformation enabled. Initial value is an * @ref Flag::TextureTransformation enabled. Initial value is an

10
src/Magnum/Shaders/Vector.h

@ -78,7 +78,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Vector: public Abst
#ifdef DOXYGEN_GENERATING_OUTPUT #ifdef DOXYGEN_GENERATING_OUTPUT
/** /**
* @brief Flag * @brief Flag
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref Flags, @ref flags() * @see @ref Flags, @ref flags()
*/ */
@ -86,14 +86,14 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Vector: public Abst
/** /**
* Enable texture coordinate transformation. * Enable texture coordinate transformation.
* @see @ref setTextureMatrix() * @see @ref setTextureMatrix()
* @m_since_latest * @m_since{2020,06}
*/ */
TextureTransformation = 1 << 0 TextureTransformation = 1 << 0
}; };
/** /**
* @brief Flags * @brief Flags
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref flags() * @see @ref flags()
*/ */
@ -144,7 +144,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Vector: public Abst
/** /**
* @brief Flags * @brief Flags
* @m_since_latest * @m_since{2020,06}
*/ */
Flags flags() const { return _flags; } Flags flags() const { return _flags; }
@ -159,7 +159,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Vector: public Abst
/** /**
* @brief Set texture coordinate transformation matrix * @brief Set texture coordinate transformation matrix
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since_latest * @m_since{2020,06}
* *
* Expects that the shader was created with * Expects that the shader was created with
* @ref Flag::TextureTransformation enabled. Initial value is an * @ref Flag::TextureTransformation enabled. Initial value is an

4
src/Magnum/Tags.h

@ -37,7 +37,7 @@ namespace Magnum {
/** /**
@brief No initialization tag type @brief No initialization tag type
@m_since_latest @m_since{2020,06}
Used to distinguish construction with no initialization at all. Used to distinguish construction with no initialization at all.
@see @ref NoInit @see @ref NoInit
@ -61,7 +61,7 @@ struct NoCreateT {
/** /**
@brief No initialization tag @brief No initialization tag
@m_since_latest @m_since{2020,06}
Use for construction with no initialization at all. Use for construction with no initialization at all.
*/ */

8
src/Magnum/Text/AbstractFont.h

@ -46,7 +46,7 @@ namespace Magnum { namespace Text {
/** /**
@brief Features supported by a font implementation @brief Features supported by a font implementation
@m_since_latest @m_since{2020,06}
@see @ref FontFeatures, @ref AbstractFont::features() @see @ref FontFeatures, @ref AbstractFont::features()
*/ */
@ -87,7 +87,7 @@ enum class FontFeature: UnsignedByte {
/** /**
@brief Set of features supported by a font implementation @brief Set of features supported by a font implementation
@m_since_latest @m_since{2020,06}
@see @ref AbstractFont::features() @see @ref AbstractFont::features()
*/ */
@ -175,12 +175,12 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
public: public:
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief FontFeature /** @brief @copybrief FontFeature
* @m_deprecated_since_latest Use @ref FontFeature instead. * @m_deprecated_since{2020,06} Use @ref FontFeature instead.
*/ */
typedef CORRADE_DEPRECATED("use FontFeature instead") FontFeature Feature; typedef CORRADE_DEPRECATED("use FontFeature instead") FontFeature Feature;
/** @brief @copybrief FontFeatures /** @brief @copybrief FontFeatures
* @m_deprecated_since_latest Use @ref FontFeatures instead. * @m_deprecated_since{2020,06} Use @ref FontFeatures instead.
*/ */
typedef CORRADE_DEPRECATED("use FontFeatures instead") FontFeatures Features; typedef CORRADE_DEPRECATED("use FontFeatures instead") FontFeatures Features;
#endif #endif

8
src/Magnum/Text/AbstractFontConverter.h

@ -51,7 +51,7 @@ namespace Magnum { namespace Text {
/** /**
@brief Features supported by a font converter @brief Features supported by a font converter
@m_since_latest @m_since{2020,06}
@see @ref FontConverterFeatures, @ref AbstractFontConverter::features() @see @ref FontConverterFeatures, @ref AbstractFontConverter::features()
*/ */
@ -105,7 +105,7 @@ enum class FontConverterFeature: UnsignedByte {
/** /**
@brief Features supported by a font converter @brief Features supported by a font converter
@m_since_latest @m_since{2020,06}
@see @ref AbstractFontConverter::features() @see @ref AbstractFontConverter::features()
*/ */
@ -159,12 +159,12 @@ class MAGNUM_TEXT_EXPORT AbstractFontConverter: public PluginManager::AbstractPl
public: public:
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief FontConverterFeature /** @brief @copybrief FontConverterFeature
* @m_deprecated_since_latest Use @ref FontConverterFeature instead. * @m_deprecated_since{2020,06} Use @ref FontConverterFeature instead.
*/ */
typedef CORRADE_DEPRECATED("use FontConverterFeature instead") FontConverterFeature Feature; typedef CORRADE_DEPRECATED("use FontConverterFeature instead") FontConverterFeature Feature;
/** @brief @copybrief FontConverterFeatures /** @brief @copybrief FontConverterFeatures
* @m_deprecated_since_latest Use @ref FontConverterFeatures instead. * @m_deprecated_since{2020,06} Use @ref FontConverterFeatures instead.
*/ */
typedef CORRADE_DEPRECATED("use FontConverterFeatures instead") FontConverterFeatures Features; typedef CORRADE_DEPRECATED("use FontConverterFeatures instead") FontConverterFeatures Features;
#endif #endif

20
src/Magnum/Trade/AbstractImageConverter.h

@ -39,7 +39,7 @@ namespace Magnum { namespace Trade {
/** /**
@brief Features supported by an image converter @brief Features supported by an image converter
@m_since_latest @m_since{2020,06}
@see @ref ImageConverterFeatures, @ref AbstractImageConverter::features() @see @ref ImageConverterFeatures, @ref AbstractImageConverter::features()
*/ */
@ -85,7 +85,7 @@ enum class ImageConverterFeature: UnsignedByte {
/** /**
@brief Features supported by an image converter @brief Features supported by an image converter
@m_since_latest @m_since{2020,06}
@see @ref AbstractImageConverter::features() @see @ref AbstractImageConverter::features()
*/ */
@ -101,7 +101,7 @@ MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImageConverterFeatures value
/** /**
@brief Image converter flag @brief Image converter flag
@m_since_latest @m_since{2020,06}
@see @ref ImageConverterFlags, @ref AbstractImageConverter::setFlags() @see @ref ImageConverterFlags, @ref AbstractImageConverter::setFlags()
*/ */
@ -118,7 +118,7 @@ enum class ImageConverterFlag: UnsignedByte {
/** /**
@brief Image converter flags @brief Image converter flags
@m_since_latest @m_since{2020,06}
@see @ref AbstractImporter::setFlags() @see @ref AbstractImporter::setFlags()
*/ */
@ -128,13 +128,13 @@ CORRADE_ENUMSET_OPERATORS(ImageConverterFlags)
/** /**
@debugoperatorenum{ImageConverterFlag} @debugoperatorenum{ImageConverterFlag}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImageConverterFlag value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImageConverterFlag value);
/** /**
@debugoperatorenum{ImageConverterFlags} @debugoperatorenum{ImageConverterFlags}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImageConverterFlags value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImageConverterFlags value);
@ -193,12 +193,12 @@ class MAGNUM_TRADE_EXPORT AbstractImageConverter: public PluginManager::Abstract
public: public:
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief ImageConverterFeature /** @brief @copybrief ImageConverterFeature
* @m_deprecated_since_latest Use @ref ImageConverterFeature instead. * @m_deprecated_since{2020,06} Use @ref ImageConverterFeature instead.
*/ */
typedef CORRADE_DEPRECATED("use ImageConverterFeature instead") ImageConverterFeature Feature; typedef CORRADE_DEPRECATED("use ImageConverterFeature instead") ImageConverterFeature Feature;
/** @brief @copybrief ImageConverterFeatures /** @brief @copybrief ImageConverterFeatures
* @m_deprecated_since_latest Use @ref ImageConverterFeatures instead. * @m_deprecated_since{2020,06} Use @ref ImageConverterFeatures instead.
*/ */
typedef CORRADE_DEPRECATED("use ImageConverterFeatures instead") ImageConverterFeatures Features; typedef CORRADE_DEPRECATED("use ImageConverterFeatures instead") ImageConverterFeatures Features;
#endif #endif
@ -243,13 +243,13 @@ class MAGNUM_TRADE_EXPORT AbstractImageConverter: public PluginManager::Abstract
/** /**
* @brief Converter flags * @brief Converter flags
* @m_since_latest * @m_since{2020,06}
*/ */
ImageConverterFlags flags() const { return _flags; } ImageConverterFlags flags() const { return _flags; }
/** /**
* @brief Set converter flags * @brief Set converter flags
* @m_since_latest * @m_since{2020,06}
* *
* Some flags can be set only if the converter supports particular * Some flags can be set only if the converter supports particular
* features, see documentation of each @ref ImageConverterFlag for more * features, see documentation of each @ref ImageConverterFlag for more

116
src/Magnum/Trade/AbstractImporter.h

@ -46,7 +46,7 @@ namespace Magnum { namespace Trade {
/** /**
@brief Features supported by an importer @brief Features supported by an importer
@m_since_latest @m_since{2020,06}
@see @ref ImporterFeatures, @ref AbstractImporter::features() @see @ref ImporterFeatures, @ref AbstractImporter::features()
*/ */
@ -71,7 +71,7 @@ enum class ImporterFeature: UnsignedByte {
/** /**
@brief Set of features supported by an importer @brief Set of features supported by an importer
@m_since_latest @m_since{2020,06}
@see @ref AbstractImporter::features() @see @ref AbstractImporter::features()
*/ */
@ -94,7 +94,7 @@ typedef CORRADE_DEPRECATED("use InputFileCallbackPolicy instead") InputFileCallb
/** /**
@brief Importer flag @brief Importer flag
@m_since_latest @m_since{2020,06}
@see @ref ImporterFlags, @ref AbstractImporter::setFlags() @see @ref ImporterFlags, @ref AbstractImporter::setFlags()
*/ */
@ -111,7 +111,7 @@ enum class ImporterFlag: UnsignedByte {
/** /**
@brief Importer flags @brief Importer flags
@m_since_latest @m_since{2020,06}
@see @ref AbstractImporter::setFlags() @see @ref AbstractImporter::setFlags()
*/ */
@ -121,13 +121,13 @@ CORRADE_ENUMSET_OPERATORS(ImporterFlags)
/** /**
@debugoperatorenum{ImporterFlag} @debugoperatorenum{ImporterFlag}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImporterFlag value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImporterFlag value);
/** /**
@debugoperatorenum{ImporterFlags} @debugoperatorenum{ImporterFlags}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImporterFlags value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, ImporterFlags value);
@ -313,12 +313,12 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
public: public:
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief ImporterFeature /** @brief @copybrief ImporterFeature
* @m_deprecated_since_latest Use @ref ImporterFeature instead. * @m_deprecated_since{2020,06} Use @ref ImporterFeature instead.
*/ */
typedef CORRADE_DEPRECATED("use ImporterFeature instead") ImporterFeature Feature; typedef CORRADE_DEPRECATED("use ImporterFeature instead") ImporterFeature Feature;
/** @brief @copybrief ImporterFeatures /** @brief @copybrief ImporterFeatures
* @m_deprecated_since_latest Use @ref ImporterFeatures instead. * @m_deprecated_since{2020,06} Use @ref ImporterFeatures instead.
*/ */
typedef CORRADE_DEPRECATED("use ImporterFeature instead") ImporterFeatures Features; typedef CORRADE_DEPRECATED("use ImporterFeature instead") ImporterFeatures Features;
#endif #endif
@ -363,13 +363,13 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Importer flags * @brief Importer flags
* @m_since_latest * @m_since{2020,06}
*/ */
ImporterFlags flags() const { return _flags; } ImporterFlags flags() const { return _flags; }
/** /**
* @brief Set importer flags * @brief Set importer flags
* @m_since_latest * @m_since{2020,06}
* *
* It's expected that this function is called *before* a file is * It's expected that this function is called *before* a file is
* opened. Some flags can be set only if the importer supports * opened. Some flags can be set only if the importer supports
@ -570,7 +570,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Scene for given name * @brief Scene for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref sceneForName() and * A convenience API combining @ref sceneForName() and
* @ref scene(UnsignedInt). If @ref sceneForName() returns @cpp -1 @ce, * @ref scene(UnsignedInt). If @ref sceneForName() returns @cpp -1 @ce,
@ -617,7 +617,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Animation for given name * @brief Animation for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref animationForName() and * A convenience API combining @ref animationForName() and
* @ref animation(UnsignedInt). If @ref animationForName() returns * @ref animation(UnsignedInt). If @ref animationForName() returns
@ -664,7 +664,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Light for given name * @brief Light for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref lightForName() and * A convenience API combining @ref lightForName() and
* @ref light(UnsignedInt). If @ref lightForName() returns @cpp -1 @ce, * @ref light(UnsignedInt). If @ref lightForName() returns @cpp -1 @ce,
@ -711,7 +711,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Camera for given name * @brief Camera for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref cameraForName() and * A convenience API combining @ref cameraForName() and
* @ref camera(UnsignedInt). If @ref cameraForName() returns * @ref camera(UnsignedInt). If @ref cameraForName() returns
@ -758,7 +758,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Two-dimensional object for given name * @brief Two-dimensional object for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref object2DForName() and * A convenience API combining @ref object2DForName() and
* @ref object2D(UnsignedInt). If @ref object2DForName() returns * @ref object2D(UnsignedInt). If @ref object2DForName() returns
@ -805,7 +805,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Three-dimensional object for given name * @brief Three-dimensional object for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref object3DForName() and * A convenience API combining @ref object3DForName() and
* @ref object3D(UnsignedInt). If @ref object3DForName() returns * @ref object3D(UnsignedInt). If @ref object3DForName() returns
@ -817,7 +817,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Mesh count * @brief Mesh count
* @m_since_latest * @m_since{2020,06}
* *
* Expects that a file is opened. * Expects that a file is opened.
* @see @ref meshLevelCount() * @see @ref meshLevelCount()
@ -827,7 +827,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Mesh level count * @brief Mesh level count
* @param id Mesh ID, from range [0, @ref meshCount()). * @param id Mesh ID, from range [0, @ref meshCount()).
* @m_since_latest * @m_since{2020,06}
* *
* Always returns at least one level, import failures are deferred to * Always returns at least one level, import failures are deferred to
* @ref mesh(). Expects that a file is opened. * @ref mesh(). Expects that a file is opened.
@ -836,7 +836,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Mesh ID for given name * @brief Mesh ID for given name
* @m_since_latest * @m_since{2020,06}
* *
* If no mesh for given name exists, returns @cpp -1 @ce. Expects that * If no mesh for given name exists, returns @cpp -1 @ce. Expects that
* a file is opened. * a file is opened.
@ -847,7 +847,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Mesh name * @brief Mesh name
* @param id Mesh ID, from range [0, @ref meshCount()). * @param id Mesh ID, from range [0, @ref meshCount()).
* @m_since_latest * @m_since{2020,06}
* *
* Expects that a file is opened. * Expects that a file is opened.
* @see @ref meshForName() * @see @ref meshForName()
@ -858,7 +858,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* @brief Mesh * @brief Mesh
* @param id Mesh ID, from range [0, @ref meshCount()). * @param id Mesh ID, from range [0, @ref meshCount()).
* @param level Mesh level, from range [0, @ref meshLevelCount()) * @param level Mesh level, from range [0, @ref meshLevelCount())
* @m_since_latest * @m_since{2020,06}
* *
* Returns given mesh or @ref Containers::NullOpt if importing failed. * Returns given mesh or @ref Containers::NullOpt if importing failed.
* The @p level parameter allows access to additional data and is * The @p level parameter allows access to additional data and is
@ -873,7 +873,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Mesh for given name * @brief Mesh for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref meshForName() and * A convenience API combining @ref meshForName() and
* @ref mesh(UnsignedInt, UnsignedInt). If @ref meshForName() returns * @ref mesh(UnsignedInt, UnsignedInt). If @ref meshForName() returns
@ -885,7 +885,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Mesh attribute for given name * @brief Mesh attribute for given name
* @m_since_latest * @m_since{2020,06}
* *
* If the name is not recognized, returns a zero (invalid) * If the name is not recognized, returns a zero (invalid)
* @ref MeshAttribute, otherwise returns a custom mesh attribute. Note * @ref MeshAttribute, otherwise returns a custom mesh attribute. Note
@ -898,7 +898,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief String name for given custom mesh attribute * @brief String name for given custom mesh attribute
* @m_since_latest * @m_since{2020,06}
* *
* Given a custom @p name returned by @ref mesh() in a @ref MeshData, * Given a custom @p name returned by @ref mesh() in a @ref MeshData,
* returns a string identifier. If a string representation is not * returns a string identifier. If a string representation is not
@ -916,7 +916,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* @brief Two-dimensional mesh count * @brief Two-dimensional mesh count
* *
* Expects that a file is opened. * Expects that a file is opened.
* @m_deprecated_since_latest Use @ref meshCount() instead. * @m_deprecated_since{2020,06} Use @ref meshCount() instead.
*/ */
CORRADE_DEPRECATED("use meshCount() instead") UnsignedInt mesh2DCount() const; CORRADE_DEPRECATED("use meshCount() instead") UnsignedInt mesh2DCount() const;
@ -925,7 +925,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* *
* If no mesh for given name exists, returns @cpp -1 @ce. Expects that * If no mesh for given name exists, returns @cpp -1 @ce. Expects that
* a file is opened. * a file is opened.
* @m_deprecated_since_latest Use @ref meshForName() instead. * @m_deprecated_since{2020,06} Use @ref meshForName() instead.
* @see @ref mesh2DName() * @see @ref mesh2DName()
*/ */
CORRADE_DEPRECATED("use meshForName() instead") Int mesh2DForName(const std::string& name); CORRADE_DEPRECATED("use meshForName() instead") Int mesh2DForName(const std::string& name);
@ -935,7 +935,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* @param id Mesh ID, from range [0, @ref mesh2DCount()). * @param id Mesh ID, from range [0, @ref mesh2DCount()).
* *
* Expects that a file is opened. * Expects that a file is opened.
* @m_deprecated_since_latest Use @ref meshName() instead. * @m_deprecated_since{2020,06} Use @ref meshName() instead.
* @see @ref mesh2DForName() * @see @ref mesh2DForName()
*/ */
CORRADE_DEPRECATED("use meshName() instead") std::string mesh2DName(UnsignedInt id); CORRADE_DEPRECATED("use meshName() instead") std::string mesh2DName(UnsignedInt id);
@ -946,7 +946,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* *
* Returns given mesh or @ref Containers::NullOpt if importing failed. * Returns given mesh or @ref Containers::NullOpt if importing failed.
* Expects that a file is opened. * Expects that a file is opened.
* @m_deprecated_since_latest Use @ref mesh() instead. * @m_deprecated_since{2020,06} Use @ref mesh() instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH /* Clang doesn't warn, but GCC does */ CORRADE_IGNORE_DEPRECATED_PUSH /* Clang doesn't warn, but GCC does */
CORRADE_DEPRECATED("use mesh() instead") Containers::Optional<MeshData2D> mesh2D(UnsignedInt id); CORRADE_DEPRECATED("use mesh() instead") Containers::Optional<MeshData2D> mesh2D(UnsignedInt id);
@ -956,7 +956,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* @brief Three-dimensional mesh count * @brief Three-dimensional mesh count
* *
* Expects that a file is opened. * Expects that a file is opened.
* @m_deprecated_since_latest Use @ref meshCount() instead. * @m_deprecated_since{2020,06} Use @ref meshCount() instead.
*/ */
CORRADE_DEPRECATED("use meshCount() instead") UnsignedInt mesh3DCount() const; CORRADE_DEPRECATED("use meshCount() instead") UnsignedInt mesh3DCount() const;
@ -965,7 +965,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* *
* If no mesh for given name exists, returns @cpp -1 @ce. Expects that * If no mesh for given name exists, returns @cpp -1 @ce. Expects that
* a file is opened. * a file is opened.
* @m_deprecated_since_latest Use @ref meshForName() instead. * @m_deprecated_since{2020,06} Use @ref meshForName() instead.
* @see @ref mesh3DName() * @see @ref mesh3DName()
*/ */
CORRADE_DEPRECATED("use meshForName() instead") Int mesh3DForName(const std::string& name); CORRADE_DEPRECATED("use meshForName() instead") Int mesh3DForName(const std::string& name);
@ -975,7 +975,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* @param id Mesh ID, from range [0, @ref mesh3DCount()). * @param id Mesh ID, from range [0, @ref mesh3DCount()).
* *
* Expects that a file is opened. * Expects that a file is opened.
* @m_deprecated_since_latest Use @ref meshName() instead. * @m_deprecated_since{2020,06} Use @ref meshName() instead.
* @see @ref mesh3DForName() * @see @ref mesh3DForName()
*/ */
CORRADE_DEPRECATED("use meshName() instead") std::string mesh3DName(UnsignedInt id); CORRADE_DEPRECATED("use meshName() instead") std::string mesh3DName(UnsignedInt id);
@ -986,7 +986,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* *
* Returns given mesh or @ref Containers::NullOpt if importing failed. * Returns given mesh or @ref Containers::NullOpt if importing failed.
* Expects that a file is opened. * Expects that a file is opened.
* @m_deprecated_since_latest Use @ref meshName() instead. * @m_deprecated_since{2020,06} Use @ref meshName() instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH /* Clang doesn't warn, but GCC does */ CORRADE_IGNORE_DEPRECATED_PUSH /* Clang doesn't warn, but GCC does */
CORRADE_DEPRECATED("use mesh() instead") Containers::Optional<MeshData3D> mesh3D(UnsignedInt id); CORRADE_DEPRECATED("use mesh() instead") Containers::Optional<MeshData3D> mesh3D(UnsignedInt id);
@ -1030,7 +1030,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Material for given name * @brief Material for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref materialForName() and * A convenience API combining @ref materialForName() and
* @ref material(UnsignedInt). If @ref materialForName() returns * @ref material(UnsignedInt). If @ref materialForName() returns
@ -1077,7 +1077,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Texture for given name * @brief Texture for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref textureForName() and * A convenience API combining @ref textureForName() and
* @ref texture(UnsignedInt). If @ref textureForName() returns * @ref texture(UnsignedInt). If @ref textureForName() returns
@ -1098,7 +1098,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief One-dimensional image mip level count * @brief One-dimensional image mip level count
* @param id Image ID, from range [0, @ref image1DCount()) * @param id Image ID, from range [0, @ref image1DCount())
* @m_since_latest * @m_since{2020,06}
* *
* Always returns at least one level, import failures are deferred to * Always returns at least one level, import failures are deferred to
* @ref image1D(). Expects that a file is opened. * @ref image1D(). Expects that a file is opened.
@ -1136,7 +1136,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief One-dimensional image for given name * @brief One-dimensional image for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref image1DForName() and * A convenience API combining @ref image1DForName() and
* @ref image1D(UnsignedInt, UnsignedInt). If @ref image1DForName() * @ref image1D(UnsignedInt, UnsignedInt). If @ref image1DForName()
@ -1158,7 +1158,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Two-dimensional image mip level count * @brief Two-dimensional image mip level count
* @param id Image ID, from range [0, @ref image2DCount()). * @param id Image ID, from range [0, @ref image2DCount()).
* @m_since_latest * @m_since{2020,06}
* *
* Always returns at least one level, import failures are deferred to * Always returns at least one level, import failures are deferred to
* @ref image2D(). Expects that a file is opened. * @ref image2D(). Expects that a file is opened.
@ -1196,7 +1196,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Two-dimensional image for given name * @brief Two-dimensional image for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref image2DForName() and * A convenience API combining @ref image2DForName() and
* @ref image2D(UnsignedInt, UnsignedInt). If @ref image2DForName() * @ref image2D(UnsignedInt, UnsignedInt). If @ref image2DForName()
@ -1218,7 +1218,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Three-dimensional image mip level count * @brief Three-dimensional image mip level count
* @param id Image ID, from range [0, @ref image3DCount()) * @param id Image ID, from range [0, @ref image3DCount())
* @m_since_latest * @m_since{2020,06}
* *
* Always returns at least one level, import failures are deferred to * Always returns at least one level, import failures are deferred to
* @ref image3D(). Expects that a file is opened. * @ref image3D(). Expects that a file is opened.
@ -1256,7 +1256,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Three-dimensional image for given name * @brief Three-dimensional image for given name
* @m_since_latest * @m_since{2020,06}
* *
* A convenience API combining @ref image3DForName() and * A convenience API combining @ref image3DForName() and
* @ref image3D(UnsignedInt, UnsignedInt). If @ref image3DForName() * @ref image3D(UnsignedInt, UnsignedInt). If @ref image3DForName()
@ -1503,7 +1503,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref meshCount() * @brief Implementation for @ref meshCount()
* @m_since_latest * @m_since{2020,06}
* *
* Default implementation returns @cpp 0 @ce. * Default implementation returns @cpp 0 @ce.
*/ */
@ -1511,7 +1511,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref meshLevelCount() * @brief Implementation for @ref meshLevelCount()
* @m_since_latest * @m_since{2020,06}
* *
* Default implementation returns @cpp 1 @ce. Similarly to all other * Default implementation returns @cpp 1 @ce. Similarly to all other
* `*Count()` functions, this function isn't expected to fail --- if an * `*Count()` functions, this function isn't expected to fail --- if an
@ -1525,7 +1525,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref meshForName() * @brief Implementation for @ref meshForName()
* @m_since_latest * @m_since{2020,06}
* *
* Default implementation returns @cpp -1 @ce. * Default implementation returns @cpp -1 @ce.
*/ */
@ -1533,7 +1533,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref meshName() * @brief Implementation for @ref meshName()
* @m_since_latest * @m_since{2020,06}
* *
* Default implementation returns an empty string. * Default implementation returns an empty string.
*/ */
@ -1541,13 +1541,13 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref mesh() * @brief Implementation for @ref mesh()
* @m_since_latest * @m_since{2020,06}
*/ */
virtual Containers::Optional<MeshData> doMesh(UnsignedInt id, UnsignedInt level); virtual Containers::Optional<MeshData> doMesh(UnsignedInt id, UnsignedInt level);
/** /**
* @brief Implementation for @ref meshAttributeForName() * @brief Implementation for @ref meshAttributeForName()
* @m_since_latest * @m_since{2020,06}
* *
* Default implementation returns an invalid (zero) value. * Default implementation returns an invalid (zero) value.
*/ */
@ -1555,7 +1555,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref meshAttributeName() * @brief Implementation for @ref meshAttributeName()
* @m_since_latest * @m_since{2020,06}
* *
* Receives the custom ID extracted via @ref meshAttributeCustom(MeshAttribute). * Receives the custom ID extracted via @ref meshAttributeCustom(MeshAttribute).
* Default implementation returns an empty string. * Default implementation returns an empty string.
@ -1570,7 +1570,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* importers in existence known to implement 2D mesh import, so unlike * importers in existence known to implement 2D mesh import, so unlike
* @ref doMesh3DCount() this function doesn't delegate to * @ref doMesh3DCount() this function doesn't delegate to
* @ref doMeshCount(). * @ref doMeshCount().
* @m_deprecated_since_latest Implement @ref doMeshCount() instead. * @m_deprecated_since{2020,06} Implement @ref doMeshCount() instead.
*/ */
/* MSVC warns when overriding such methods and there's no way to /* MSVC warns when overriding such methods and there's no way to
suppress that warning, making the RT build (which treats deprecation suppress that warning, making the RT build (which treats deprecation
@ -1588,7 +1588,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* importers in existence known to implement 2D mesh import, so unlike * importers in existence known to implement 2D mesh import, so unlike
* @ref doMesh3DForName() this function doesn't delegate to * @ref doMesh3DForName() this function doesn't delegate to
* @ref doMeshForName(). * @ref doMeshForName().
* @m_deprecated_since_latest Implement @ref doMeshForName() instead. * @m_deprecated_since{2020,06} Implement @ref doMeshForName() instead.
*/ */
#if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG)) #if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG))
CORRADE_DEPRECATED("implement doMeshForName() instead") CORRADE_DEPRECATED("implement doMeshForName() instead")
@ -1602,7 +1602,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* importers in existence known to implement 2D mesh import, so unlike * importers in existence known to implement 2D mesh import, so unlike
* @ref doMesh3DName() this function doesn't delegate to * @ref doMesh3DName() this function doesn't delegate to
* @ref doMeshName(). * @ref doMeshName().
* @m_deprecated_since_latest Implement @ref doMeshName() instead. * @m_deprecated_since{2020,06} Implement @ref doMeshName() instead.
*/ */
#if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG)) #if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG))
CORRADE_DEPRECATED("implement doMeshName() instead") CORRADE_DEPRECATED("implement doMeshName() instead")
@ -1615,7 +1615,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* There weren't any importers in existence known to implement 2D mesh * There weren't any importers in existence known to implement 2D mesh
* import, so unlike @ref doMesh3D() this function doesn't * import, so unlike @ref doMesh3D() this function doesn't
* delegate to @ref doMesh(). * delegate to @ref doMesh().
* @m_deprecated_since_latest Implement @ref doMesh() instead. * @m_deprecated_since{2020,06} Implement @ref doMesh() instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH /* Clang doesn't warn, but GCC does */ CORRADE_IGNORE_DEPRECATED_PUSH /* Clang doesn't warn, but GCC does */
#if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG)) #if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG))
@ -1629,7 +1629,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* *
* Default implementation returns @ref doMeshCount() for backwards * Default implementation returns @ref doMeshCount() for backwards
* compatibility. * compatibility.
* @m_deprecated_since_latest Implement @ref doMeshCount() instead. * @m_deprecated_since{2020,06} Implement @ref doMeshCount() instead.
*/ */
#if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG)) #if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG))
CORRADE_DEPRECATED("implement doMeshCount() instead") CORRADE_DEPRECATED("implement doMeshCount() instead")
@ -1641,7 +1641,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* *
* Default implementation returns @ref doMeshForName() for backwards * Default implementation returns @ref doMeshForName() for backwards
* compatibility. * compatibility.
* @m_deprecated_since_latest Implement @ref doMeshForName() instead. * @m_deprecated_since{2020,06} Implement @ref doMeshForName() instead.
*/ */
#if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG)) #if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG))
CORRADE_DEPRECATED("implement doMeshForName() instead") CORRADE_DEPRECATED("implement doMeshForName() instead")
@ -1653,7 +1653,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* *
* Default implementation returns @ref doMeshName() for backwards * Default implementation returns @ref doMeshName() for backwards
* compatibility. * compatibility.
* @m_deprecated_since_latest Implement @ref doMeshName() instead. * @m_deprecated_since{2020,06} Implement @ref doMeshName() instead.
*/ */
#if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG)) #if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG))
CORRADE_DEPRECATED("implement doMeshName() instead") CORRADE_DEPRECATED("implement doMeshName() instead")
@ -1665,7 +1665,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
* *
* Default implementation returns @ref doMesh() converted to * Default implementation returns @ref doMesh() converted to
* @cpp MeshData3D @ce for backwards compatibility. * @cpp MeshData3D @ce for backwards compatibility.
* @m_deprecated_since_latest Implement @ref doMesh() instead. * @m_deprecated_since{2020,06} Implement @ref doMesh() instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH /* Clang doesn't warn, but GCC does */ CORRADE_IGNORE_DEPRECATED_PUSH /* Clang doesn't warn, but GCC does */
#if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG)) #if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG))
@ -1732,7 +1732,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref image1DLevelCount() * @brief Implementation for @ref image1DLevelCount()
* @m_since_latest * @m_since{2020,06}
* *
* Default implementation returns @cpp 1 @ce. See * Default implementation returns @cpp 1 @ce. See
* @ref doImage2DLevelCount() for expected implementation behavior. * @ref doImage2DLevelCount() for expected implementation behavior.
@ -1765,7 +1765,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref image2DLevelCount() * @brief Implementation for @ref image2DLevelCount()
* @m_since_latest * @m_since{2020,06}
* *
* Default implementation returns @cpp 1 @ce. Similarly to all other * Default implementation returns @cpp 1 @ce. Similarly to all other
* `*Count()` functions, this function isn't expected to fail --- if an * `*Count()` functions, this function isn't expected to fail --- if an
@ -1806,7 +1806,7 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi
/** /**
* @brief Implementation for @ref image3DLevelCount() * @brief Implementation for @ref image3DLevelCount()
* @m_since_latest * @m_since{2020,06}
* *
* Default implementation returns @cpp 1 @ce. See * Default implementation returns @cpp 1 @ce. See
* @ref doImage2DLevelCount() for expected implementation behavior. * @ref doImage2DLevelCount() for expected implementation behavior.

16
src/Magnum/Trade/AbstractSceneConverter.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Class @ref Magnum::Trade::AbstractSceneConverter, enum @ref Magnum::Trade::SceneConverterFeature, enum set @ref Magnum::Trade::SceneConverterFeatures * @brief Class @ref Magnum::Trade::AbstractSceneConverter, enum @ref Magnum::Trade::SceneConverterFeature, enum set @ref Magnum::Trade::SceneConverterFeatures
* @m_since_latest * @m_since{2020,06}
*/ */
#include <Corrade/PluginManager/AbstractManagingPlugin.h> #include <Corrade/PluginManager/AbstractManagingPlugin.h>
@ -40,7 +40,7 @@ namespace Magnum { namespace Trade {
/** /**
@brief Features supported by a scene converter @brief Features supported by a scene converter
@m_since_latest @m_since{2020,06}
@see @ref SceneConverterFeatures, @ref AbstractSceneConverter::features() @see @ref SceneConverterFeatures, @ref AbstractSceneConverter::features()
*/ */
@ -73,7 +73,7 @@ enum class SceneConverterFeature: UnsignedByte {
/** /**
@brief Features supported by a scene converter @brief Features supported by a scene converter
@m_since_latest @m_since{2020,06}
@see @ref AbstractSceneConverter::features() @see @ref AbstractSceneConverter::features()
*/ */
@ -89,7 +89,7 @@ MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, SceneConverterFeatures value
/** /**
@brief Scene converter flag @brief Scene converter flag
@m_since_latest @m_since{2020,06}
@see @ref SceneConverterFlags, @ref AbstractSceneConverter::setFlags() @see @ref SceneConverterFlags, @ref AbstractSceneConverter::setFlags()
*/ */
@ -106,7 +106,7 @@ enum class SceneConverterFlag: UnsignedByte {
/** /**
@brief Scene converter flags @brief Scene converter flags
@m_since_latest @m_since{2020,06}
@see @ref AbstractImporter::setFlags() @see @ref AbstractImporter::setFlags()
*/ */
@ -116,19 +116,19 @@ CORRADE_ENUMSET_OPERATORS(SceneConverterFlags)
/** /**
@debugoperatorenum{SceneConverterFlag} @debugoperatorenum{SceneConverterFlag}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, SceneConverterFlag value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, SceneConverterFlag value);
/** /**
@debugoperatorenum{SceneConverterFlags} @debugoperatorenum{SceneConverterFlags}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, SceneConverterFlags value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, SceneConverterFlags value);
/** /**
@brief Base for scene converter plugins @brief Base for scene converter plugins
@m_since_latest @m_since{2020,06}
Provides functionality for converting meshes and other scene data between Provides functionality for converting meshes and other scene data between
various formats or performing optimizations and other operations on them. See various formats or performing optimizations and other operations on them. See

24
src/Magnum/Trade/AnimationData.h

@ -252,7 +252,7 @@ class AnimationTrackData {
* @param targetType Track target type * @param targetType Track target type
* @param target Track target * @param target Track target
* @param view @ref Animation::TrackView instance * @param view @ref Animation::TrackView instance
* @m_since_latest * @m_since{2020,06}
* *
* Detects @ref AnimationTrackType from @p view type and delegates to * Detects @ref AnimationTrackType from @p view type and delegates to
* @ref AnimationTrackData(AnimationTrackType, AnimationTrackType, AnimationTrackTargetType, UnsignedInt, Animation::TrackViewStorage<const Float>). * @ref AnimationTrackData(AnimationTrackType, AnimationTrackType, AnimationTrackTargetType, UnsignedInt, Animation::TrackViewStorage<const Float>).
@ -329,7 +329,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
/* Not noexcept because allocation happens inside */ /* Not noexcept because allocation happens inside */
explicit AnimationData(Containers::Array<char>&& data, std::initializer_list<AnimationTrackData> tracks, const void* importerState = nullptr); explicit AnimationData(Containers::Array<char>&& data, std::initializer_list<AnimationTrackData> tracks, const void* importerState = nullptr);
@ -341,7 +341,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
* for this animation clip * for this animation clip
* @param tracks Track data * @param tracks Track data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref AnimationData(Containers::Array<char>&&, Containers::Array<AnimationTrackData>&&, const void*) * Compared to @ref AnimationData(Containers::Array<char>&&, Containers::Array<AnimationTrackData>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -353,7 +353,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
/* Not noexcept because allocation happens inside */ /* Not noexcept because allocation happens inside */
explicit AnimationData(DataFlags dataFlags, Containers::ArrayView<const void> data, std::initializer_list<AnimationTrackData> tracks, const void* importerState = nullptr); explicit AnimationData(DataFlags dataFlags, Containers::ArrayView<const void> data, std::initializer_list<AnimationTrackData> tracks, const void* importerState = nullptr);
@ -378,7 +378,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
/* Not noexcept because allocation happens inside */ /* Not noexcept because allocation happens inside */
explicit AnimationData(Containers::Array<char>&& data, std::initializer_list<AnimationTrackData> tracks, const Range1D& duration, const void* importerState = nullptr); explicit AnimationData(Containers::Array<char>&& data, std::initializer_list<AnimationTrackData> tracks, const Range1D& duration, const void* importerState = nullptr);
@ -391,7 +391,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
* @param tracks Track data * @param tracks Track data
* @param duration Animation track duration * @param duration Animation track duration
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref AnimationData(Containers::Array<char>&&, Containers::Array<AnimationTrackData>&&, const Range1D&, const void*) * Compared to @ref AnimationData(Containers::Array<char>&&, Containers::Array<AnimationTrackData>&&, const Range1D&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -403,7 +403,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @overload * @overload
* @m_since_latest * @m_since{2020,06}
*/ */
/* Not noexcept because allocation happens inside */ /* Not noexcept because allocation happens inside */
explicit AnimationData(DataFlags dataFlags, Containers::ArrayView<const void> data, std::initializer_list<AnimationTrackData> tracks, const Range1D& duration, const void* importerState = nullptr); explicit AnimationData(DataFlags dataFlags, Containers::ArrayView<const void> data, std::initializer_list<AnimationTrackData> tracks, const Range1D& duration, const void* importerState = nullptr);
@ -424,7 +424,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @brief Data flags * @brief Data flags
* @m_since_latest * @m_since{2020,06}
* *
* @see @ref release(), @ref mutableData(), @ref mutableTrack() * @see @ref release(), @ref mutableData(), @ref mutableTrack()
*/ */
@ -443,7 +443,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @brief Mutable raw data * @brief Mutable raw data
* @m_since_latest * @m_since{2020,06}
* *
* Like @ref data(), but returns a non-const view. Expects that the * Like @ref data(), but returns a non-const view. Expects that the
* animation is mutable. * animation is mutable.
@ -453,7 +453,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @brief Taking a view to a r-value instance is not allowed * @brief Taking a view to a r-value instance is not allowed
* @m_since_latest * @m_since{2020,06}
*/ */
Containers::ArrayView<char> mutableData() && = delete; Containers::ArrayView<char> mutableData() && = delete;
@ -526,7 +526,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @brief Mutable track data storage * @brief Mutable track data storage
* @m_since_latest * @m_since{2020,06}
* *
* Like @ref track(), but returns a mutable view. Expects that the * Like @ref track(), but returns a mutable view. Expects that the
* animation is mutable. * animation is mutable.
@ -550,7 +550,7 @@ class MAGNUM_TRADE_EXPORT AnimationData {
/** /**
* @brief Mutable track data * @brief Mutable track data
* @m_since_latest * @m_since{2020,06}
* *
* Like @ref track(), but returns a mutable view. Expects that the * Like @ref track(), but returns a mutable view. Expects that the
* animation is mutable. * animation is mutable.

4
src/Magnum/Trade/ArrayAllocator.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Class @ref Magnum::Trade::ArrayAllocator * @brief Class @ref Magnum::Trade::ArrayAllocator
* @m_since_latest * @m_since{2020,06}
*/ */
#include <Corrade/Containers/GrowableArray.h> #include <Corrade/Containers/GrowableArray.h>
@ -39,7 +39,7 @@ namespace Magnum { namespace Trade {
/** /**
@brief Growable array allocator to be used in importer plugins @brief Growable array allocator to be used in importer plugins
@m_since_latest @m_since{2020,06}
Compared to @ref Corrade::Containers::ArrayMallocAllocator ensures that the Compared to @ref Corrade::Containers::ArrayMallocAllocator ensures that the
@ref Array deleter function pointer is defined in the @ref Trade library and @ref Array deleter function pointer is defined in the @ref Trade library and

10
src/Magnum/Trade/Data.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Enum @ref Magnum::Trade::DataFlag, enum set @ref Magnum::Trade::DataFlags * @brief Enum @ref Magnum::Trade::DataFlag, enum set @ref Magnum::Trade::DataFlags
* @m_since_latest * @m_since{2020,06}
*/ */
#include <Corrade/Containers/EnumSet.h> #include <Corrade/Containers/EnumSet.h>
@ -39,7 +39,7 @@ namespace Magnum { namespace Trade {
/** /**
@brief Data flag @brief Data flag
@m_since_latest @m_since{2020,06}
@see @ref DataFlags, @ref AnimationData::dataFlags(), @see @ref DataFlags, @ref AnimationData::dataFlags(),
@ref ImageData::dataFlags(), @ref MeshData::indexDataFlags(), @ref ImageData::dataFlags(), @ref MeshData::indexDataFlags(),
@ -64,13 +64,13 @@ enum class DataFlag: UnsignedByte {
/** /**
@debugoperatorenum{DataFlag} @debugoperatorenum{DataFlag}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, DataFlag value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, DataFlag value);
/** /**
@brief Data flags @brief Data flags
@m_since_latest @m_since{2020,06}
@see @ref AnimationData::dataFlags(), @ref ImageData::dataFlags(), @see @ref AnimationData::dataFlags(), @ref ImageData::dataFlags(),
@ref MeshData::indexDataFlags(), @ref MeshData::vertexDataFlags() @ref MeshData::indexDataFlags(), @ref MeshData::vertexDataFlags()
@ -81,7 +81,7 @@ CORRADE_ENUMSET_OPERATORS(DataFlags)
/** /**
@debugoperatorenum{DataFlags} @debugoperatorenum{DataFlags}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, DataFlags value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, DataFlags value);

24
src/Magnum/Trade/ImageData.h

@ -135,7 +135,7 @@ template<UnsignedInt dimensions> class ImageData {
* @param dataFlags Data flags * @param dataFlags Data flags
* @param data View on image data * @param data View on image data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref ImageData(PixelStorage, PixelFormat, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*) * Compared to @ref ImageData(PixelStorage, PixelFormat, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -164,7 +164,7 @@ template<UnsignedInt dimensions> class ImageData {
* @param dataFlags Data flags * @param dataFlags Data flags
* @param data View on image data * @param data View on image data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref ImageData(PixelFormat, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*) * Compared to @ref ImageData(PixelFormat, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -216,7 +216,7 @@ template<UnsignedInt dimensions> class ImageData {
* @param dataFlags Data flags * @param dataFlags Data flags
* @param data View on image data * @param data View on image data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref ImageData(PixelStorage, UnsignedInt, UnsignedInt, UnsignedInt, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*) * Compared to @ref ImageData(PixelStorage, UnsignedInt, UnsignedInt, UnsignedInt, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -227,7 +227,7 @@ template<UnsignedInt dimensions> class ImageData {
explicit ImageData(PixelStorage storage, UnsignedInt format, UnsignedInt formatExtra, UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, DataFlags dataFlags, Containers::ArrayView<const void> data, const void* importerState = nullptr) noexcept; explicit ImageData(PixelStorage storage, UnsignedInt format, UnsignedInt formatExtra, UnsignedInt pixelSize, const VectorTypeFor<dimensions, Int>& size, DataFlags dataFlags, Containers::ArrayView<const void> data, const void* importerState = nullptr) noexcept;
/** @overload /** @overload
* @m_since_latest * @m_since{2020,06}
* *
* Equivalent to the above for @p format already wrapped with * Equivalent to the above for @p format already wrapped with
* @ref pixelFormatWrap(). * @ref pixelFormatWrap().
@ -258,7 +258,7 @@ template<UnsignedInt dimensions> class ImageData {
* @param dataFlags Data flags * @param dataFlags Data flags
* @param data View on image data * @param data View on image data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref ImageData(PixelStorage, T, U, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*) * Compared to @ref ImageData(PixelStorage, T, U, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -290,7 +290,7 @@ template<UnsignedInt dimensions> class ImageData {
* @param dataFlags Data flags * @param dataFlags Data flags
* @param data view on image data * @param data view on image data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref ImageData(PixelStorage, T, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*) * Compared to @ref ImageData(PixelStorage, T, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -318,7 +318,7 @@ template<UnsignedInt dimensions> class ImageData {
* @param dataFlags Data flags * @param dataFlags Data flags
* @param data View on image data * @param data View on image data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref ImageData(CompressedPixelStorage, CompressedPixelFormat, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*) * Compared to @ref ImageData(CompressedPixelStorage, CompressedPixelFormat, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -347,7 +347,7 @@ template<UnsignedInt dimensions> class ImageData {
* @param dataFlags Data flags * @param dataFlags Data flags
* @param data View on image data * @param data View on image data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref ImageData(CompressedPixelFormat, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*) * Compared to @ref ImageData(CompressedPixelFormat, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -378,7 +378,7 @@ template<UnsignedInt dimensions> class ImageData {
* @param dataFlags Data flags * @param dataFlags Data flags
* @param data View on image data * @param data View on image data
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* Compared to @ref ImageData(CompressedPixelStorage, T, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*) * Compared to @ref ImageData(CompressedPixelStorage, T, const VectorTypeFor<dimensions, Int>&, Containers::Array<char>&&, const void*)
* creates an instance that doesn't own the passed data. The * creates an instance that doesn't own the passed data. The
@ -413,7 +413,7 @@ template<UnsignedInt dimensions> class ImageData {
/** /**
* @brief Data flags * @brief Data flags
* @m_since_latest * @m_since{2020,06}
*/ */
DataFlags dataFlags() const { return _dataFlags; } DataFlags dataFlags() const { return _dataFlags; }
@ -567,7 +567,7 @@ template<UnsignedInt dimensions> class ImageData {
/** /**
* @brief Mutable image data * @brief Mutable image data
* @m_since_latest * @m_since{2020,06}
* *
* Like @ref data(), but returns a non-const view. Expects that the * Like @ref data(), but returns a non-const view. Expects that the
* image is mutable. * image is mutable.
@ -613,7 +613,7 @@ template<UnsignedInt dimensions> class ImageData {
/** /**
* @brief Mutable view on pixel data * @brief Mutable view on pixel data
* @m_since_latest * @m_since{2020,06}
* *
* Like @ref pixels() const, but returns a non-const view. Expects that * Like @ref pixels() const, but returns a non-const view. Expects that
* the image is mutable. * the image is mutable.

20
src/Magnum/Trade/MeshData.h

@ -27,7 +27,7 @@
/** @file /** @file
* @brief Class @ref Magnum::Trade::MeshData, @ref Magnum::Trade::MeshIndexData, @ref Magnum::Trade::MeshAttributeData, enum @ref Magnum::Trade::MeshAttribute, function @ref Magnum::Trade::isMeshAttributeCustom(), @ref Magnum::Trade::meshAttributeCustom() * @brief Class @ref Magnum::Trade::MeshData, @ref Magnum::Trade::MeshIndexData, @ref Magnum::Trade::MeshAttributeData, enum @ref Magnum::Trade::MeshAttribute, function @ref Magnum::Trade::isMeshAttributeCustom(), @ref Magnum::Trade::meshAttributeCustom()
* @m_since_latest * @m_since{2020,06}
*/ */
#include <Corrade/Containers/Array.h> #include <Corrade/Containers/Array.h>
@ -42,7 +42,7 @@ namespace Magnum { namespace Trade {
/** /**
@brief Mesh attribute name @brief Mesh attribute name
@m_since_latest @m_since{2020,06}
@see @ref MeshData, @ref MeshAttributeData, @ref VertexFormat, @see @ref MeshData, @ref MeshAttributeData, @ref VertexFormat,
@ref AbstractImporter::meshAttributeForName(), @ref AbstractImporter::meshAttributeForName(),
@ -159,13 +159,13 @@ enum class MeshAttribute: UnsignedShort {
/** /**
@debugoperatorenum{MeshAttribute} @debugoperatorenum{MeshAttribute}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, MeshAttribute value); MAGNUM_TRADE_EXPORT Debug& operator<<(Debug& debug, MeshAttribute value);
/** /**
@brief Whether a mesh attribute is custom @brief Whether a mesh attribute is custom
@m_since_latest @m_since{2020,06}
Returns @cpp true @ce if @p name has a value larger or equal to Returns @cpp true @ce if @p name has a value larger or equal to
@ref MeshAttribute::Custom, @cpp false @ce otherwise. @ref MeshAttribute::Custom, @cpp false @ce otherwise.
@ -178,7 +178,7 @@ constexpr bool isMeshAttributeCustom(MeshAttribute name) {
/** /**
@brief Create a custom mesh attribute @brief Create a custom mesh attribute
@m_since_latest @m_since{2020,06}
Returns a custom mesh attribute with index @p id. The index is expected to be Returns a custom mesh attribute with index @p id. The index is expected to be
less than the value of @ref MeshAttribute::Custom. Use less than the value of @ref MeshAttribute::Custom. Use
@ -194,7 +194,7 @@ constexpr MeshAttribute meshAttributeCustom(UnsignedShort id) {
/** /**
@brief Get index of a custom mesh attribute @brief Get index of a custom mesh attribute
@m_since_latest @m_since{2020,06}
Inverse to @ref meshAttributeCustom(UnsignedShort). Expects that the attribute Inverse to @ref meshAttributeCustom(UnsignedShort). Expects that the attribute
is custom. is custom.
@ -208,7 +208,7 @@ constexpr UnsignedShort meshAttributeCustom(MeshAttribute name) {
/** /**
@brief Mesh index data @brief Mesh index data
@m_since_latest @m_since{2020,06}
Convenience type for populating @ref MeshData, see its documentation for an Convenience type for populating @ref MeshData, see its documentation for an
introduction. introduction.
@ -285,7 +285,7 @@ class MAGNUM_TRADE_EXPORT MeshIndexData {
/** /**
@brief Mesh attribute data @brief Mesh attribute data
@m_since_latest @m_since{2020,06}
Convenience type for populating @ref MeshData, see its documentation for an Convenience type for populating @ref MeshData, see its documentation for an
introduction. Additionally usable in various @ref MeshTools algorithms such as introduction. Additionally usable in various @ref MeshTools algorithms such as
@ -575,7 +575,7 @@ class MAGNUM_TRADE_EXPORT MeshAttributeData {
/** @relatesalso MeshAttributeData /** @relatesalso MeshAttributeData
@brief Create a non-owning array of @ref MeshAttributeData items @brief Create a non-owning array of @ref MeshAttributeData items
@m_since_latest @m_since{2020,06}
Useful when you have the attribute definitions statically defined (for example Useful when you have the attribute definitions statically defined (for example
when the vertex data themselves are already defined at compile time) and don't when the vertex data themselves are already defined at compile time) and don't
@ -585,7 +585,7 @@ Containers::Array<MeshAttributeData> MAGNUM_TRADE_EXPORT meshAttributeDataNonOwn
/** /**
@brief Mesh data @brief Mesh data
@m_since_latest @m_since{2020,06}
Provides access to mesh vertex and index data, together with additional Provides access to mesh vertex and index data, together with additional
information such as primitive type. Populated instances of this class are information such as primitive type. Populated instances of this class are

6
src/Magnum/Trade/MeshData2D.h

@ -28,7 +28,7 @@
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @file /** @file
* @brief Class @ref Magnum::Trade::MeshData2D * @brief Class @ref Magnum::Trade::MeshData2D
* @m_deprecated_since_latest Use @ref Magnum/Trade/MeshData.h and the * @m_deprecated_since{2020,06} Use @ref Magnum/Trade/MeshData.h and the
* @ref Magnum::Trade::MeshData "MeshData" class instead. * @ref Magnum::Trade::MeshData "MeshData" class instead.
*/ */
#endif #endif
@ -59,7 +59,7 @@ directly to vertex positions:
@snippet MagnumTrade.cpp MeshData2D-transform @snippet MagnumTrade.cpp MeshData2D-transform
@m_deprecated_since_latest Use @ref MeshData instead. @m_deprecated_since{2020,06} Use @ref MeshData instead.
@see @ref AbstractImporter::mesh2D(), @ref MeshData3D @see @ref AbstractImporter::mesh2D(), @ref MeshData3D
*/ */
@ -82,7 +82,7 @@ class CORRADE_DEPRECATED("use MeshData instead") MAGNUM_TRADE_EXPORT MeshData2D
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Construct from @ref MeshData * @brief Construct from @ref MeshData
* @m_deprecated_since_latest Use @ref MeshData directly instead. * @m_deprecated_since{2020,06} Use @ref MeshData directly instead.
*/ */
/* No data moving can take place because std::vector is damn shitty /* No data moving can take place because std::vector is damn shitty
regarding memory ownership transfer, so it can well be a copy. */ regarding memory ownership transfer, so it can well be a copy. */

6
src/Magnum/Trade/MeshData3D.h

@ -28,7 +28,7 @@
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @file /** @file
* @brief Class @ref Magnum::Trade::MeshData3D * @brief Class @ref Magnum::Trade::MeshData3D
* @m_deprecated_since_latest Use @ref Magnum/Trade/MeshData.h and the * @m_deprecated_since{2020,06} Use @ref Magnum/Trade/MeshData.h and the
* @ref Magnum::Trade::MeshData "MeshData" class instead. * @ref Magnum::Trade::MeshData "MeshData" class instead.
*/ */
#endif #endif
@ -59,7 +59,7 @@ to positions and normals:
@snippet MagnumTrade.cpp MeshData3D-transform @snippet MagnumTrade.cpp MeshData3D-transform
@m_deprecated_since_latest Use @ref MeshData instead. @m_deprecated_since{2020,06} Use @ref MeshData instead.
@see @ref AbstractImporter::mesh3D(), @ref MeshData2D @see @ref AbstractImporter::mesh3D(), @ref MeshData2D
*/ */
@ -83,7 +83,7 @@ class CORRADE_DEPRECATED("use MeshData instead") MAGNUM_TRADE_EXPORT MeshData3D
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Construct from @ref MeshData * @brief Construct from @ref MeshData
* @m_deprecated_since_latest Use @ref MeshData directly instead. * @m_deprecated_since{2020,06} Use @ref MeshData directly instead.
*/ */
/* No data moving can take place because std::vector is damn shitty /* No data moving can take place because std::vector is damn shitty
regarding memory ownership transfer, so it can well be a copy. */ regarding memory ownership transfer, so it can well be a copy. */

36
src/Magnum/Trade/PhongMaterialData.h

@ -65,19 +65,19 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
/** /**
* The material has a normal texture * The material has a normal texture
* @m_since_latest * @m_since{2020,06}
*/ */
NormalTexture = 1 << 4, NormalTexture = 1 << 4,
/** /**
* The material has a texture coordinate transformation * The material has a texture coordinate transformation
* @m_since_latest * @m_since{2020,06}
*/ */
TextureTransformation = 1 << 5, TextureTransformation = 1 << 5,
/** /**
* The material uses non-default texture coordinate sets * The material uses non-default texture coordinate sets
* @m_since_latest * @m_since{2020,06}
*/ */
TextureCoordinateSets = 1 << 6 TextureCoordinateSets = 1 << 6
}; };
@ -119,7 +119,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
* @param shininess Shininess. Use @cpp 80.0f @ce for a default * @param shininess Shininess. Use @cpp 80.0f @ce for a default
* value. * value.
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* All `*CoordinateSet` accessors are implicitly zero with this * All `*CoordinateSet` accessors are implicitly zero with this
* constructor. If @p textureMatrix is not default-constructed, expects * constructor. If @p textureMatrix is not default-constructed, expects
@ -164,7 +164,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
* @param shininess Shininess. Use @cpp 80.0f @ce for a * @param shininess Shininess. Use @cpp 80.0f @ce for a
* default value. * default value.
* @param importerState Importer-specific state * @param importerState Importer-specific state
* @m_since_latest * @m_since{2020,06}
* *
* If @p textureMatrix is not default-constructed, expects * If @p textureMatrix is not default-constructed, expects
* @ref Flag::TextureTransformation to be enabled as well. If any * @ref Flag::TextureTransformation to be enabled as well. If any
@ -176,7 +176,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Constructor * @brief Constructor
* @m_deprecated_since_latest Use @ref PhongMaterialData(Flags, const Color4&, UnsignedInt, const Color4&, UnsignedInt, const Color4&, UnsignedInt, UnsignedInt, const Matrix3&, MaterialAlphaMode, Float, Float, const void*) * @m_deprecated_since{2020,06} Use @ref PhongMaterialData(Flags, const Color4&, UnsignedInt, const Color4&, UnsignedInt, const Color4&, UnsignedInt, UnsignedInt, const Matrix3&, MaterialAlphaMode, Float, Float, const void*)
* instead. * instead.
*/ */
explicit CORRADE_DEPRECATED("use PhongMaterialData(Flags, const Color4&, UnsignedInt, const Color4&, UnsignedInt, const Color4&, UnsignedInt, UnsignedInt, const Matrix3&, MaterialAlphaMode, Float, Float, const void*) instead") PhongMaterialData(Flags flags, MaterialAlphaMode alphaMode, Float alphaMask, Float shininess, const void* importerState = nullptr) noexcept; explicit CORRADE_DEPRECATED("use PhongMaterialData(Flags, const Color4&, UnsignedInt, const Color4&, UnsignedInt, const Color4&, UnsignedInt, UnsignedInt, const Matrix3&, MaterialAlphaMode, Float, Float, const void*) instead") PhongMaterialData(Flags flags, MaterialAlphaMode alphaMode, Float alphaMask, Float shininess, const void* importerState = nullptr) noexcept;
@ -221,7 +221,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @m_deprecated_since_latest Use the constructor to populate all * @m_deprecated_since{2020,06} Use the constructor to populate all
* values instead. * values instead.
*/ */
/* Not marked with CORRADE_DEPRECATED() because the compiler picks this /* Not marked with CORRADE_DEPRECATED() because the compiler picks this
@ -242,7 +242,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @m_deprecated_since_latest Use the constructor to populate all * @m_deprecated_since{2020,06} Use the constructor to populate all
* values instead of modifying the instance afterwards. * values instead of modifying the instance afterwards.
*/ */
/* Not using CORRADE_DEPRECATED(), see why above */ /* Not using CORRADE_DEPRECATED(), see why above */
@ -251,7 +251,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
/** /**
* @brief Ambient texture coordinate set * @brief Ambient texture coordinate set
* @m_since_latest * @m_since{2020,06}
* *
* Available only if the material has @ref Flag::AmbientTexture. * Available only if the material has @ref Flag::AmbientTexture.
* @see @ref flags(), @ref AbstractImporter::texture() * @see @ref flags(), @ref AbstractImporter::texture()
@ -269,7 +269,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @m_deprecated_since_latest Use the constructor to populate all * @m_deprecated_since{2020,06} Use the constructor to populate all
* values instead of modifying the instance afterwards. * values instead of modifying the instance afterwards.
*/ */
/* Not using CORRADE_DEPRECATED(), see why above */ /* Not using CORRADE_DEPRECATED(), see why above */
@ -287,7 +287,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @m_deprecated_since_latest Use the constructor to populate all * @m_deprecated_since{2020,06} Use the constructor to populate all
* values instead of modifying the instance afterwards. * values instead of modifying the instance afterwards.
*/ */
/* Not using CORRADE_DEPRECATED(), see why above */ /* Not using CORRADE_DEPRECATED(), see why above */
@ -296,7 +296,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
/** /**
* @brief Diffuse texture coordinate set * @brief Diffuse texture coordinate set
* @m_since_latest * @m_since{2020,06}
* *
* Available only if the material has @ref Flag::DiffuseTexture. * Available only if the material has @ref Flag::DiffuseTexture.
* @see @ref flags(), @ref AbstractImporter::texture() * @see @ref flags(), @ref AbstractImporter::texture()
@ -314,7 +314,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @m_deprecated_since_latest Use the constructor to populate all * @m_deprecated_since{2020,06} Use the constructor to populate all
* values instead of modifying the instance afterwards. * values instead of modifying the instance afterwards.
*/ */
/* Not using CORRADE_DEPRECATED(), see why above */ /* Not using CORRADE_DEPRECATED(), see why above */
@ -332,7 +332,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @m_deprecated_since_latest Use the constructor to populate all * @m_deprecated_since{2020,06} Use the constructor to populate all
* values instead of modifying the instance afterwards. * values instead of modifying the instance afterwards.
*/ */
/* Not using CORRADE_DEPRECATED(), see why above */ /* Not using CORRADE_DEPRECATED(), see why above */
@ -341,7 +341,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
/** /**
* @brief Specular texture coordinate set * @brief Specular texture coordinate set
* @m_since_latest * @m_since{2020,06}
* *
* Available only if the material has @ref Flag::SpecularTexture. * Available only if the material has @ref Flag::SpecularTexture.
* @see @ref flags(), @ref AbstractImporter::texture() * @see @ref flags(), @ref AbstractImporter::texture()
@ -350,7 +350,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
/** /**
* @brief Normal texture ID * @brief Normal texture ID
* @m_since_latest * @m_since{2020,06}
* *
* Available only if the material has @ref Flag::NormalTexture. * Available only if the material has @ref Flag::NormalTexture.
* @see @ref flags(), @ref AbstractImporter::texture() * @see @ref flags(), @ref AbstractImporter::texture()
@ -359,7 +359,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
/** /**
* @brief Normal texture coordinate set * @brief Normal texture coordinate set
* @m_since_latest * @m_since{2020,06}
* *
* Available only if the material has @ref Flag::NormalTexture. * Available only if the material has @ref Flag::NormalTexture.
* @see @ref flags(), @ref AbstractImporter::texture() * @see @ref flags(), @ref AbstractImporter::texture()
@ -368,7 +368,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
/** /**
* @brief Texture coordinate transformation matrix * @brief Texture coordinate transformation matrix
* @m_since_latest * @m_since{2020,06}
* *
* If the material doesn't have @ref Flag::TextureTransformation, * If the material doesn't have @ref Flag::TextureTransformation,
* returns an identity matrix. * returns an identity matrix.

28
src/Magnum/VertexFormat.h

@ -39,7 +39,7 @@ namespace Magnum {
/** /**
@brief Vertex format @brief Vertex format
@m_since_latest @m_since{2020,06}
Like @ref PixelFormat, but for mesh attributes --- including double-precision Like @ref PixelFormat, but for mesh attributes --- including double-precision
types and matrices. Can act also as a wrapper for implementation-specific mesh types and matrices. Can act also as a wrapper for implementation-specific mesh
@ -1321,13 +1321,13 @@ enum class VertexFormat: UnsignedInt {
/** /**
@debugoperatorenum{VertexFormat} @debugoperatorenum{VertexFormat}
@m_since_latest @m_since{2020,06}
*/ */
MAGNUM_EXPORT Debug& operator<<(Debug& debug, VertexFormat value); MAGNUM_EXPORT Debug& operator<<(Debug& debug, VertexFormat value);
/** /**
@brief Whether a @ref VertexFormat value wraps an implementation-specific identifier @brief Whether a @ref VertexFormat value wraps an implementation-specific identifier
@m_since_latest @m_since{2020,06}
Returns @cpp true @ce if value of @p format has its highest bit set, Returns @cpp true @ce if value of @p format has its highest bit set,
@cpp false @ce otherwise. Use @ref vertexFormatWrap() and @ref vertexFormatUnwrap() @cpp false @ce otherwise. Use @ref vertexFormatWrap() and @ref vertexFormatUnwrap()
@ -1340,7 +1340,7 @@ constexpr bool isVertexFormatImplementationSpecific(VertexFormat format) {
/** /**
@brief Wrap an implementation-specific vertex format identifier in @ref VertexFormat @brief Wrap an implementation-specific vertex format identifier in @ref VertexFormat
@m_since_latest @m_since{2020,06}
Sets the highest bit on @p type to mark it as implementation-specific. Expects Sets the highest bit on @p type to mark it as implementation-specific. Expects
that @p type fits into the remaining bits. Use @ref vertexFormatUnwrap() that @p type fits into the remaining bits. Use @ref vertexFormatUnwrap()
@ -1356,7 +1356,7 @@ template<class T> constexpr VertexFormat vertexFormatWrap(T implementationSpecif
/** /**
@brief Unwrap an implementation-specific vertex format identifier from @ref VertexFormat @brief Unwrap an implementation-specific vertex format identifier from @ref VertexFormat
@m_since_latest @m_since{2020,06}
Unsets the highest bit from @p type to extract the implementation-specific Unsets the highest bit from @p type to extract the implementation-specific
value. Expects that @p type has it set. Use @ref vertexFormatWrap() for value. Expects that @p type has it set. Use @ref vertexFormatWrap() for
@ -1371,7 +1371,7 @@ template<class T = UnsignedInt> constexpr T vertexFormatUnwrap(VertexFormat form
/** /**
@brief Size of given vertex format @brief Size of given vertex format
@m_since_latest @m_since{2020,06}
To get size of a single component, call this function on a result of To get size of a single component, call this function on a result of
@ref vertexFormatComponentFormat(). @ref vertexFormatComponentFormat().
@ -1380,7 +1380,7 @@ MAGNUM_EXPORT UnsignedInt vertexFormatSize(VertexFormat format);
/** /**
@brief Component format of given vertex format @brief Component format of given vertex format
@m_since_latest @m_since{2020,06}
The function also removes the normalization aspect from the type --- use The function also removes the normalization aspect from the type --- use
@ref isVertexFormatNormalized() to query that. Returns for example @ref isVertexFormatNormalized() to query that. Returns for example
@ -1395,7 +1395,7 @@ MAGNUM_EXPORT VertexFormat vertexFormatComponentFormat(VertexFormat format);
/** /**
@brief Component count of given vertex format @brief Component count of given vertex format
@m_since_latest @m_since{2020,06}
Returns @cpp 1 @ce for scalar types and e.g. @cpp 3 @ce for Returns @cpp 1 @ce for scalar types and e.g. @cpp 3 @ce for
@ref VertexFormat::Vector3ub. @ref VertexFormat::Vector3ub.
@ -1405,7 +1405,7 @@ MAGNUM_EXPORT UnsignedInt vertexFormatComponentCount(VertexFormat format);
/** /**
@brief Vector count of given vertex format @brief Vector count of given vertex format
@m_since_latest @m_since{2020,06}
Returns @cpp 1 @ce for scalar and vector types and e.g. @cpp 3 @ce for Returns @cpp 1 @ce for scalar and vector types and e.g. @cpp 3 @ce for
@ref VertexFormat::Matrix3x2d. @ref VertexFormat::Matrix3x2d.
@ -1414,7 +1414,7 @@ MAGNUM_EXPORT UnsignedInt vertexFormatVectorCount(VertexFormat format);
/** /**
@brief Vector stride of given vertex format @brief Vector stride of given vertex format
@m_since_latest @m_since{2020,06}
Returns type size for scalar and vector types and e.g. @cpp 8 @ce for Returns type size for scalar and vector types and e.g. @cpp 8 @ce for
@ref VertexFormat::Matrix2x3hAligned (but @cpp 6 @ce for @ref VertexFormat::Matrix2x3hAligned (but @cpp 6 @ce for
@ -1424,7 +1424,7 @@ MAGNUM_EXPORT UnsignedInt vertexFormatVectorStride(VertexFormat format);
/** /**
@brief Component count of given vertex format @brief Component count of given vertex format
@m_since_latest @m_since{2020,06}
Returns @cpp true @ce for `*Normalized` types, @cpp false @ce otherwise. In Returns @cpp true @ce for `*Normalized` types, @cpp false @ce otherwise. In
particular, floating-point types are *not* treated as normalized, even though particular, floating-point types are *not* treated as normalized, even though
@ -1436,7 +1436,7 @@ MAGNUM_EXPORT bool isVertexFormatNormalized(VertexFormat format);
/** /**
@brief Assemble a vertex format from parts @brief Assemble a vertex format from parts
@m_since_latest @m_since{2020,06}
Converts @p format to a new format of desired component count and Converts @p format to a new format of desired component count and
normalization. Expects that @p componentCount is not larger than @cpp 4 @ce and normalization. Expects that @p componentCount is not larger than @cpp 4 @ce and
@ -1449,7 +1449,7 @@ MAGNUM_EXPORT VertexFormat vertexFormat(VertexFormat format, UnsignedInt compone
/** /**
@brief Assemble a matrix vertex format from parts @brief Assemble a matrix vertex format from parts
@m_since_latest @m_since{2020,06}
Converts @p format to a new format of desired component and vertex count and Converts @p format to a new format of desired component and vertex count and
normalization. Expects that both @p vectorCount and @p componentCount is either normalization. Expects that both @p vectorCount and @p componentCount is either
@ -1469,7 +1469,7 @@ namespace Corrade { namespace Utility {
/** /**
@configurationvalue{Magnum::VertexFormat} @configurationvalue{Magnum::VertexFormat}
@m_since_latest @m_since{2020,06}
*/ */
template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::VertexFormat> { template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::VertexFormat> {
ConfigurationValue() = delete; ConfigurationValue() = delete;

4
src/Magnum/Vk/Enums.h

@ -89,7 +89,7 @@ MAGNUM_VK_EXPORT VkIndexType vkIndexType(Magnum::MeshIndexType type);
/** /**
@brief Check availability of a generic vertex format @brief Check availability of a generic vertex format
@m_since_latest @m_since{2020,06}
Some Vulkan targets don't support all generic vertex formats. Returns Some Vulkan targets don't support all generic vertex formats. Returns
@cpp false @ce if current target can't support such format, @cpp true @ce @cpp false @ce if current target can't support such format, @cpp true @ce
@ -144,7 +144,7 @@ MAGNUM_VK_EXPORT bool hasVkFormat(Magnum::CompressedPixelFormat format);
/** /**
@brief Convert a generic vertex format to Vulkan format @brief Convert a generic vertex format to Vulkan format
@m_since_latest @m_since{2020,06}
In case @ref isVertexFormatImplementationSpecific() returns @cpp false @ce for In case @ref isVertexFormatImplementationSpecific() returns @cpp false @ce for
@p format, maps it to a corresponding Vulkan format. In case @p format, maps it to a corresponding Vulkan format. In case

Loading…
Cancel
Save