Browse Source

Updated workarounds for Doxygen 1.8.2.

Removed workarounds for alias templates, variadic templates and
anonymous enums, but 1.8.2 has some bug with forward declarations
causing classes to appear in default namespace, breaking
cross-references.
pull/7/head
Vladimír Vondruš 13 years ago
parent
commit
d175dd1054
  1. 3
      src/DebugTools/DebugTools.h
  2. 3
      src/DebugTools/ShapeRenderer.h
  3. 6
      src/Magnum.h
  4. 3
      src/Math/Math.h
  5. 5
      src/Math/Matrix.h
  6. 4
      src/Math/Matrix3.h
  7. 4
      src/Math/Matrix4.h
  8. 11
      src/Math/RectangularMatrix.h
  9. 10
      src/Math/Vector.h
  10. 3
      src/Physics/Physics.h
  11. 3
      src/Primitives/Icosphere.h
  12. 14
      src/SceneGraph/AbstractCamera.h
  13. 14
      src/SceneGraph/AbstractFeature.h
  14. 18
      src/SceneGraph/AbstractGroupedFeature.h
  15. 14
      src/SceneGraph/AbstractObject.h
  16. 14
      src/SceneGraph/AbstractTransformation.h
  17. 14
      src/SceneGraph/Animable.h
  18. 14
      src/SceneGraph/AnimableGroup.h
  19. 31
      src/SceneGraph/Drawable.h
  20. 14
      src/SceneGraph/FeatureGroup.h
  21. 3
      src/SceneGraph/SceneGraph.h
  22. 11
      src/Shaders/AbstractTextShader.h
  23. 3
      src/Shaders/Shaders.h
  24. 3
      src/Trade/AbstractImporter.h

3
src/DebugTools/DebugTools.h

@ -23,6 +23,8 @@
namespace Magnum { namespace DebugTools {
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<std::uint8_t> class ObjectRenderer;
typedef ObjectRenderer<2> ObjectRenderer2D;
typedef ObjectRenderer<3> ObjectRenderer3D;
@ -35,6 +37,7 @@ template<std::uint8_t> class ShapeRenderer;
typedef ShapeRenderer<2> ShapeRenderer2D;
typedef ShapeRenderer<3> ShapeRenderer3D;
class ShapeRendererOptions;
#endif
}}

3
src/DebugTools/ShapeRenderer.h

@ -24,7 +24,10 @@
namespace Magnum { namespace DebugTools {
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<std::uint8_t> class ShapeRenderer;
#endif
#ifndef DOXYGEN_GENERATING_OUTPUT
namespace Implementation {

6
src/Magnum.h

@ -57,6 +57,8 @@ namespace Corrade {
namespace Magnum {
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
namespace Math {
template<class T> constexpr T deg(T value);
template<class T> constexpr T rad(T value);
@ -67,6 +69,7 @@ namespace Math {
using Corrade::Utility::Debug;
using Corrade::Utility::Warning;
using Corrade::Utility::Error;
#endif
/** @brief Two-component floating-point vector */
typedef Math::Vector2<GLfloat> Vector2;
@ -124,6 +127,8 @@ typedef Math::Geometry::Rectangle<GLint> Rectanglei;
using Math::deg;
using Math::rad;
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
/* Forward declarations for all types in root namespace */
class AbstractFramebuffer;
class AbstractImage;
@ -198,6 +203,7 @@ typedef Texture<2> Texture2D;
typedef Texture<3> Texture3D;
class Timeline;
#endif
}

3
src/Math/Math.h

@ -23,6 +23,8 @@
namespace Magnum { namespace Math {
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
/* Class Constants used only statically */
template<std::size_t, class> class Matrix;
@ -44,6 +46,7 @@ template<class> class Vector4;
namespace Geometry {
template<class> class Rectangle;
}
#endif
}}

5
src/Math/Matrix.h

@ -74,13 +74,8 @@ template<std::size_t size, class T> class Matrix: public RectangularMatrix<size,
*
* Note that the values are in column-major order.
* @todoc Make this copydoc when Doxygen is fixed
* @todoc Remove workaround when Doxygen supports uniform initialization
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
template<class ...U> inline constexpr /*implicit*/ Matrix(T first, U... next): RectangularMatrix<size, size, T>(first, next...) {}
#else
template<class ...U> inline constexpr /*implicit*/ Matrix(T first, U... next);
#endif
/** @brief Copy constructor */
inline constexpr Matrix(const RectangularMatrix<size, size, T>& other): RectangularMatrix<size, size, T>(other) {}

4
src/Math/Matrix3.h

@ -134,11 +134,7 @@ template<class T> class Matrix3: public Matrix<3, T> {
) {}
/** @copydoc Matrix::Matrix */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<class ...U> inline constexpr /*implicit*/ Matrix3(T first, U... next): Matrix<3, T>(first, next...) {}
#else
template<class ...U> inline constexpr /*implicit*/ Matrix3(T first, U... next) {}
#endif
/** @brief Copy constructor */
inline constexpr Matrix3(const RectangularMatrix<3, 3, T>& other): Matrix<3, T>(other) {}

4
src/Math/Matrix4.h

@ -267,11 +267,7 @@ template<class T> class Matrix4: public Matrix<4, T> {
) {}
/** @copydoc Matrix::Matrix */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<class ...U> inline constexpr /*implicit*/ Matrix4(T first, U... next): Matrix<4, T>(first, next...) {}
#else
template<class ...U> inline constexpr /*implicit*/ Matrix4(T first, U... next) {}
#endif
/** @brief Copy constructor */
inline constexpr Matrix4(const RectangularMatrix<4, 4, T>& other): Matrix<4, T>(other) {}

11
src/Math/RectangularMatrix.h

@ -32,7 +32,10 @@ namespace Magnum { namespace Math {
/** @todo Properly test all constexpr */
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<std::size_t, std::size_t, class> class RectangularMatrix;
#endif
#ifndef DOXYGEN_GENERATING_OUTPUT
namespace Implementation {
@ -53,7 +56,10 @@ namespace Implementation {
}
#endif
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<std::size_t size, class T> class Vector;
#endif
/**
@brief Rectangular matrix
@ -128,15 +134,10 @@ template<std::size_t cols, std::size_t rows, class T> class RectangularMatrix {
* @param next Next values
*
* Note that the values are in column-major order.
* @todoc Remove workaround when Doxygen supports uniform initialization
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
template<class ...U> inline constexpr /*implicit*/ RectangularMatrix(T first, U... next): _data{first, next...} {
static_assert(sizeof...(next)+1 == cols*rows, "Improper number of arguments passed to RectangularMatrix constructor");
}
#else
template<class ...U> inline constexpr RectangularMatrix(T first, U... next);
#endif
/** @brief Copy constructor */
inline constexpr RectangularMatrix(const RectangularMatrix<cols, rows, T>&) = default;

10
src/Math/Vector.h

@ -91,20 +91,16 @@ template<std::size_t size, class T> class Vector: public RectangularMatrix<1, si
* @param first First value
* @param next Next values
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
template<class ...U> inline constexpr /*implicit*/ Vector(T first, U... next): RectangularMatrix<1, size, T>(first, next...) {}
#else
template<class ...U> inline constexpr /*implicit*/ Vector(T first, U... next);
#endif
/**
* @brief Constructor
* @param value Value for all fields
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
template<class U> inline explicit Vector(typename std::enable_if<std::is_same<T, U>::value && size != 1, U>::type value) {
#else
#ifdef DOXYGEN_GENERATING_OUTPUT
inline explicit Vector(T value) {
#else
template<class U> inline explicit Vector(typename std::enable_if<std::is_same<T, U>::value && size != 1, U>::type value) {
#endif
for(std::size_t i = 0; i != size; ++i)
(*this)[i] = value;

3
src/Physics/Physics.h

@ -23,6 +23,8 @@
namespace Magnum { namespace Physics {
/** @todoc remove when doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<std::uint8_t> class AbstractShape;
typedef AbstractShape<2> AbstractShape2D;
typedef AbstractShape<3> AbstractShape3D;
@ -68,6 +70,7 @@ typedef ShapeGroup<3> ShapeGroup3D;
template<std::uint8_t> class Sphere;
typedef Sphere<2> Sphere2D;
typedef Sphere<3> Sphere3D;
#endif
}}

3
src/Primitives/Icosphere.h

@ -26,7 +26,10 @@
namespace Magnum { namespace Primitives {
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<std::size_t subdivisions> class Icosphere;
#endif
/**
@brief 3D icosphere primitive with zero subdivisions

14
src/SceneGraph/AbstractCamera.h

@ -163,6 +163,7 @@ class MAGNUM_SCENEGRAPH_EXPORT AbstractCamera: public AbstractFeature<dimensions
template<std::uint8_t dimensions, class T> inline AbstractCamera<dimensions, T>::~AbstractCamera() {}
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Base for two-dimensional cameras
@ -170,15 +171,8 @@ Convenience alternative to <tt>%AbstractCamera<2, T></tt>. See AbstractCamera
for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractCamera<2, T></tt> instead.
@see AbstractCamera3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AbstractCamera2D = AbstractCamera<2, T>;
#endif
#else
typedef AbstractCamera<2, T = GLfloat> AbstractCamera2D;
#endif
/**
@brief Base for three-dimensional cameras
@ -187,15 +181,9 @@ Convenience alternative to <tt>%AbstractCamera<3, T></tt>. See AbstractCamera
for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractCamera<3, T></tt> instead.
@see AbstractCamera2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AbstractCamera3D = AbstractCamera<3, T>;
#endif
#else
typedef AbstractCamera<3, T = GLfloat> AbstractCamera3D;
#endif
}}

14
src/SceneGraph/AbstractFeature.h

@ -284,6 +284,7 @@ template<std::uint8_t dimensions, class T> inline AbstractFeature<dimensions, T>
template<std::uint8_t dimensions, class T> inline void AbstractFeature<dimensions, T>::clean(const typename DimensionTraits<dimensions, T>::MatrixType&) {}
template<std::uint8_t dimensions, class T> inline void AbstractFeature<dimensions, T>::cleanInverted(const typename DimensionTraits<dimensions, T>::MatrixType&) {}
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Base for two-dimensional features
@ -291,15 +292,8 @@ Convenience alternative to <tt>%AbstractFeature<2, T></tt>. See AbstractFeature
for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractFeature<2, T></tt> instead.
@see AbstractFeature3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AbstractFeature2D = AbstractFeature<2, T>;
#endif
#else
typedef AbstractFeature<2, T = GLfloat> AbstractFeature2D;
#endif
/**
@brief Base for three-dimensional features
@ -308,15 +302,9 @@ Convenience alternative to <tt>%AbstractFeature<3, T></tt>. See AbstractFeature
for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractFeature<3, T></tt> instead.
@see AbstractFeature2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AbstractFeature3D = AbstractFeature<3, T>;
#endif
#else
typedef AbstractFeature<2, T = GLfloat> AbstractFeature3D;
#endif
}}

18
src/SceneGraph/AbstractGroupedFeature.h

@ -92,41 +92,29 @@ class AbstractGroupedFeature: public AbstractFeature<dimensions, T> {
FeatureGroup<dimensions, Derived, T>* _group;
};
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Base for two-dimensional grouped features
Convenience alternative to <tt>%AbstractGroupedFeature<2, Derived, T></tt>. See
AbstractGroupedFeature for more information.
@see AbstractGroupedFeature3D
@note Not available on GCC < 4.7. Use <tt>%AbstractGroupedFeature<2, Derived, T></tt>
instead.
@todoc Remove workaround when Doxygen supports alias template
@see AbstractGroupedFeature3D
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class Derived, class T = GLfloat> using AbstractGroupedFeature2D = AbstractGroupedFeature<2, Derived, T>;
#endif
#else
typedef AbstractGroupedFeature<2, Derived, T = GLfloat> AbstractGroupedFeature2D;
#endif
/**
@brief Base for three-dimensional grouped features
Convenience alternative to <tt>%AbstractGroupedFeature<3, Derived, T></tt>. See
AbstractGroupedFeature for more information.
@see AbstractGroupedFeature2D
@note Not available on GCC < 4.7. Use <tt>%AbstractGroupedFeature<3, Derived, T></tt>
instead.
@todoc Remove workaround when Doxygen supports alias template
@see AbstractGroupedFeature2D
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class Derived, class T = GLfloat> using AbstractGroupedFeature3D = AbstractGroupedFeature<3, Derived, T>;
#endif
#else
typedef AbstractGroupedFeature<3, Derived, T = GLfloat> AbstractGroupedFeature3D;
#endif
}}

14
src/SceneGraph/AbstractObject.h

@ -179,6 +179,7 @@ template<std::uint8_t dimensions, class T = GLfloat> class AbstractObject
/*@}*/
};
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Base for two-dimensional objects
@ -186,15 +187,8 @@ Convenience alternative to <tt>%AbstractObject<2, T></tt>. See AbstractObject
for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractObject<2, T></tt> instead.
@see AbstractObject3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AbstractObject2D = AbstractObject<2, T>;
#endif
#else
typedef AbstractObject<2, T = GLfloat> AbstractObject2D;
#endif
/**
@brief Base for three-dimensional objects
@ -203,15 +197,9 @@ Convenience alternative to <tt>%AbstractObject<3, T></tt>. See AbstractObject
for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractObject<3, T></tt> instead.
@see AbstractObject2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AbstractObject3D = AbstractObject<3, T>;
#endif
#else
typedef AbstractObject<3, T = GLfloat> AbstractObject3D;
#endif
}}

14
src/SceneGraph/AbstractTransformation.h

@ -139,6 +139,7 @@ enum class TransformationType: std::uint8_t {
template<std::uint8_t dimensions, class T> inline AbstractTransformation<dimensions, T>::~AbstractTransformation() {}
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Base for two-dimensional transformations
@ -147,15 +148,8 @@ AbstractTransformation for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractTransformation<2, T></tt>
instead.
@see AbstractTransformation3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AbstractTransformation2D = AbstractTransformation<2, T>;
#endif
#else
typedef AbstractTransformation<2, T = GLfloat> AbstractTransformation2D;
#endif
/**
@brief Base for three-dimensional transformations
@ -165,15 +159,9 @@ AbstractTransformation for more information.
@note Not available on GCC < 4.7. Use <tt>%AbstractTransformation<3, T></tt>
instead.
@see AbstractTransformation2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AbstractTransformation3D = AbstractTransformation<3, T>;
#endif
#else
typedef AbstractTransformation<3, T = GLfloat> AbstractTransformation3D;
#endif
}}

14
src/SceneGraph/Animable.h

@ -302,6 +302,7 @@ class MAGNUM_SCENEGRAPH_EXPORT Animable: public AbstractGroupedFeature<dimension
std::uint16_t repeats;
};
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Two-dimensional drawable
@ -309,15 +310,8 @@ Convenience alternative to <tt>%Animable<2, T></tt>. See Animable for more
information.
@note Not available on GCC < 4.7. Use <tt>%Animable<2, T></tt> instead.
@see Animable3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using Animable2D = Animable<2, T>;
#endif
#else
typedef Animable<2, T = GLfloat> Animable2D;
#endif
/**
@brief Three-dimensional animable
@ -326,15 +320,9 @@ Convenience alternative to <tt>%Animable<3, T></tt>. See Animable for more
information.
@note Not available on GCC < 4.7. Use <tt>%Animable<3, T></tt> instead.
@see Animable2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using Animable3D = Animable<3, T>;
#endif
#else
typedef Animable<3, T = GLfloat> Animable3D;
#endif
}}

14
src/SceneGraph/AnimableGroup.h

@ -67,6 +67,7 @@ class MAGNUM_SCENEGRAPH_EXPORT AnimableGroup: public FeatureGroup<dimensions, An
bool wakeUp;
};
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Two-dimensional drawable
@ -74,15 +75,8 @@ Convenience alternative to <tt>%AnimableGroup<2, T></tt>. See Animable for
more information.
@note Not available on GCC < 4.7. Use <tt>%AnimableGroup<2, T></tt> instead.
@see AnimableGroup3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AnimableGroup2D = AnimableGroup<2, T>;
#endif
#else
typedef AnimableGroup<2, T = GLfloat> AnimableGroup2D;
#endif
/**
@brief Three-dimensional animable
@ -91,15 +85,9 @@ Convenience alternative to <tt>%AnimableGroup<3, T></tt>. See Animable for
more information.
@note Not available on GCC < 4.7. Use <tt>%AnimableGroup<3, T></tt> instead.
@see AnimableGroup2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using AnimableGroup3D = AnimableGroup<3, T>;
#endif
#else
typedef AnimableGroup<3, T = GLfloat> AnimableGroup3D;
#endif
}}

31
src/SceneGraph/Drawable.h

@ -135,6 +135,7 @@ class Drawable: public AbstractGroupedFeature<dimensions, Drawable<dimensions, T
virtual void draw(const typename DimensionTraits<dimensions, T>::MatrixType& transformationMatrix, AbstractCamera<dimensions, T>* camera) = 0;
};
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Two-dimensional drawable
@ -142,15 +143,8 @@ Convenience alternative to <tt>%Drawable<2, T></tt>. See Drawable for more
information.
@note Not available on GCC < 4.7. Use <tt>%Drawable<2, T></tt> instead.
@see Drawable3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using Drawable2D = Drawable<2, T>;
#endif
#else
typedef Drawable<2, T = GLfloat> Drawable2D;
#endif
/**
@brief Three-dimensional drawable
@ -159,24 +153,17 @@ Convenience alternative to <tt>%Drawable<3, T></tt>. See Drawable for more
information.
@note Not available on GCC < 4.7. Use <tt>%Drawable<3, T></tt> instead.
@see Drawable2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using Drawable3D = Drawable<3, T>;
#endif
#else
typedef Drawable<3, T = GLfloat> Drawable3D;
#endif
/**
@brief Group of drawables
See Drawable for more information.
@see @ref scenegraph, DrawableGroup2D, DrawableGroup3D
@todoc Remove workaround when Doxygen supports alias template
*/
#if !defined(CORRADE_GCC46_COMPATIBILITY) && !defined(DOXYGEN_GENERATING_OUTPUT)
#ifndef CORRADE_GCC46_COMPATIBILITY
template<std::uint8_t dimensions, class T = GLfloat> using DrawableGroup = FeatureGroup<dimensions, Drawable<dimensions, T>, T>;
#else
#ifndef DOXYGEN_GENERATING_OUTPUT
@ -187,6 +174,7 @@ template<std::uint8_t dimensions, class T = GLfloat>
class DrawableGroup: public FeatureGroup<dimensions, Drawable<dimensions, T>, T> {};
#endif
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Group of two-dimensional drawables
@ -194,15 +182,8 @@ Convenience alternative to <tt>%DrawableGroup<2, T></tt>. See Drawable for
more information.
@note Not available on GCC < 4.7. Use <tt>%Drawable<2, T></tt> instead.
@see DrawableGroup3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using DrawableGroup2D = DrawableGroup<2, T>;
#endif
#else
typedef DrawableGroup<2, T = GLfloat> DrawableGroup2D;
#endif
/**
@brief Group of three-dimensional drawables
@ -211,15 +192,9 @@ Convenience alternative to <tt>%DrawableGroup<3, T></tt>. See Drawable for
more information.
@note Not available on GCC < 4.7. Use <tt>%Drawable<3, T></tt> instead.
@see DrawableGroup2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class T = GLfloat> using DrawableGroup3D = DrawableGroup<3, T>;
#endif
#else
typedef DrawableGroup<3, T = GLfloat> DrawableGroup3D;
#endif
}}

14
src/SceneGraph/FeatureGroup.h

@ -111,6 +111,7 @@ class FeatureGroup {
std::vector<Feature*> features;
};
#ifndef CORRADE_GCC46_COMPATIBILITY
/**
@brief Base for two-dimensional object features
@ -119,15 +120,8 @@ AbstractGroupedFeature for more information.
@note Not available on GCC < 4.7. Use <tt>%FeatureGroup<2, Feature, T></tt>
instead.
@see FeatureGroup3D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class Feature, class T = GLfloat> using FeatureGroup2D = FeatureGroup<2, Feature, T>;
#endif
#else
typedef FeatureGroup<2, Feature, T = GLfloat> FeatureGroup2D;
#endif
/**
@brief Base for three-dimensional object features
@ -137,15 +131,9 @@ AbstractGroupedFeature for more information.
@note Not available on GCC < 4.7. Use <tt>%FeatureGroup<3, Feature, T></tt>
instead.
@see FeatureGroup2D
@todoc Remove workaround when Doxygen supports alias template
*/
#ifndef DOXYGEN_GENERATING_OUTPUT
#ifndef CORRADE_GCC46_COMPATIBILITY
template<class Feature, class T = GLfloat> using FeatureGroup3D = FeatureGroup<3, Feature, T>;
#endif
#else
typedef FeatureGroup<3, Feature, T = GLfloat> FeatureGroup3D;
#endif
}}

3
src/SceneGraph/SceneGraph.h

@ -27,6 +27,8 @@
namespace Magnum { namespace SceneGraph {
/** @todoc remove when doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
enum class AspectRatioPolicy: std::uint8_t;
template<std::uint8_t dimensions, class T = GLfloat> class AbstractCamera;
@ -111,6 +113,7 @@ template<class T = GLfloat> class MatrixTransformation3D;
template<class Transformation> class Object;
template<class Transformation> class Scene;
#endif
}}

11
src/Shaders/AbstractTextShader.h

@ -38,18 +38,9 @@ template<std::uint8_t dimensions> class AbstractTextShader: public AbstractShade
/** @brief Texture coordinates */
typedef Attribute<1, Vector2> TextureCoordinates;
/** @todoc Remove when Doxygen is sane */
#ifndef DOXYGEN_GENERATING_OUTPUT
enum: GLint {
#else
static const GLint
#endif
FontTextureLayer = 16 /**< @brief Layer for font texture */
#ifndef DOXYGEN_GENERATING_OUTPUT
FontTextureLayer = 16 /**< Layer for font texture */
};
#else
;
#endif
~AbstractTextShader() = 0;
};

3
src/Shaders/Shaders.h

@ -23,6 +23,8 @@
namespace Magnum { namespace Shaders {
/** @todoc remove when doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
template<std::uint8_t> class AbstractTextShader;
typedef AbstractTextShader<2> AbstractTextShader2D;
typedef AbstractTextShader<3> AbstractTextShader3D;
@ -40,6 +42,7 @@ typedef TextShader<3> TextShader3D;
template<std::uint8_t> class VertexColorShader;
typedef VertexColorShader<2> VertexColorShader2D;
typedef VertexColorShader<3> VertexColorShader3D;
#endif
}}

3
src/Trade/AbstractImporter.h

@ -26,6 +26,8 @@
namespace Magnum { namespace Trade {
/** @todoc Remove `ifndef` when Doxygen is sane again */
#ifndef DOXYGEN_GENERATING_OUTPUT
class AbstractMaterialData;
class CameraData;
template<std::uint8_t> class ImageData;
@ -36,6 +38,7 @@ class ObjectData2D;
class ObjectData3D;
class SceneData;
class TextureData;
#endif
typedef ImageData<1> ImageData1D;
typedef ImageData<2> ImageData2D;

Loading…
Cancel
Save