diff --git a/Doxyfile b/Doxyfile
index d4c795a39..3e91ad231 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -242,8 +242,8 @@ ALIASES = \
"debugoperatorclassenum{2}=@relatesalso \1\n@brief Debug output operator @xrefitem debugoperators \"Debug output operator\" \"Debug output operators for custom types\" Allows printing @ref \2 with @ref Corrade::Utility::Debug and friends." \
"configurationvalueref{1}=@see @ref configurationvalues \"Corrade::Utility::ConfigurationValue<\1>\"" \
"configurationvalue{1}=@brief Configuration value parser and writer @xrefitem configurationvalues \"Configuration value parser and writer\" \"Configuration value parsers and writers for custom types\" Allows parsing and writing @ref \1 from and to @ref Corrade::Utility::Configuration." \
- "collisionoccurenceoperator{2}=@relatesalso \1\n@brief Collision occurence of \1 and \2\n@see \2::operator%(const \1&) const" \
- "collisionoperator{2}=@relatesalso \1\n@brief Collision of \1 and \2\n@see \2::operator/(const \1&) const" \
+ "collisionoccurenceoperator{2}=@relatesalso \1 @brief Collision occurence of @ref \1 and @ref \2 @see @ref \2::operator%(const \1&) const" \
+ "collisionoperator{2}=@relatesalso \1 @brief Collision of @ref \1 and @ref \2 @see @ref \2::operator/(const \1&) const" \
"todoc=@xrefitem todoc \"Documentation todo\" \"Documentation-related todo list\"" \
"fn_gl{1}=gl\1()" \
"fn_gl2{2}=gl\1()" \
diff --git a/Doxyfile-mcss b/Doxyfile-mcss
index ed3fa63e7..c216d9f57 100644
--- a/Doxyfile-mcss
+++ b/Doxyfile-mcss
@@ -21,8 +21,8 @@ ALIASES = \
"debugoperatorclassenum{2}=@relatesalso \1\n@brief Debug output operator @xrefitem debugoperators \"Debug output operator\" \"Debug output operators for custom types\" Allows printing @ref \2 with @ref Corrade::Utility::Debug and friends." \
"configurationvalueref{1}=@see @ref configurationvalues \"Corrade::Utility::ConfigurationValue<\1>\"" \
"configurationvalue{1}=@brief Configuration value parser and writer @xrefitem configurationvalues \"Configuration value parser and writer\" \"Configuration value parsers and writers for custom types\" Allows parsing and writing @ref \1 from and to @ref Corrade::Utility::Configuration." \
- "collisionoccurenceoperator{2}=@relatesalso \1\n@brief Collision occurence of \1 and \2\n@see \2::operator%(const \1&) const" \
- "collisionoperator{2}=@relatesalso \1\n@brief Collision of \1 and \2\n@see \2::operator/(const \1&) const" \
+ "collisionoccurenceoperator{2}=@relatesalso \1 @brief Collision occurence of @ref \1 and @ref \2 @see @ref \2::operator%(const \1&) const" \
+ "collisionoperator{2}=@relatesalso \1 @brief Collision of @ref \1 and @ref \2 @see @ref \2::operator/(const \1&) const" \
"todoc=@xrefitem todoc \"Documentation todo\" \"Documentation-related todo list\"" \
"fn_gl{1}=@m_class{m-dox-external} gl\1()" \
"fn_gl2{2}=@m_class{m-dox-external} gl\1()" \
diff --git a/Doxyfile-public b/Doxyfile-public
index 5913c6e98..207893e15 100644
--- a/Doxyfile-public
+++ b/Doxyfile-public
@@ -18,8 +18,8 @@ ALIASES = \
"debugoperatorclassenum{2}=@relatesalso \1\n@brief Debug output operator @xrefitem debugoperators \"Debug output operator\" \"Debug output operators for custom types\" Allows printing @ref \2 with @ref Corrade::Utility::Debug and friends." \
"configurationvalueref{1}=@see @ref configurationvalues \"Corrade::Utility::ConfigurationValue<\1>\"" \
"configurationvalue{1}=@brief Configuration value parser and writer @xrefitem configurationvalues \"Configuration value parser and writer\" \"Configuration value parsers and writers for custom types\" Allows parsing and writing @ref \1 from and to @ref Corrade::Utility::Configuration." \
- "collisionoccurenceoperator{2}=@relatesalso \1\n@brief Collision occurence of \1 and \2\n@see \2::operator%(const \1&) const" \
- "collisionoperator{2}=@relatesalso \1\n@brief Collision of \1 and \2\n@see \2::operator/(const \1&) const" \
+ "collisionoccurenceoperator{2}=@relatesalso \1 @brief Collision occurence of @ref \1 and @ref \2 @see @ref \2::operator%(const \1&) const" \
+ "collisionoperator{2}=@relatesalso \1 @brief Collision of @ref \1 and @ref \2 @see @ref \2::operator/(const \1&) const" \
"todoc=@todo" \
"fn_gl{1}=@m_class{m-dox-external} gl\1()" \
"fn_gl2{2}=@m_class{m-dox-external} gl\1()" \
diff --git a/src/Magnum/Shapes/AbstractShape.h b/src/Magnum/Shapes/AbstractShape.h
index 9345e15c0..00c9d7c67 100644
--- a/src/Magnum/Shapes/AbstractShape.h
+++ b/src/Magnum/Shapes/AbstractShape.h
@@ -66,15 +66,15 @@ template class MAGNUM_SHAPES_EXPORT AbstractShape: publi
/** @brief Shape type */
#ifdef DOXYGEN_GENERATING_OUTPUT
enum class Type {
- Point, /**< Point */
- Line, /**< Line */
+ Point, /**< @ref Point */
+ Line, /**< @ref Line */
LineSegment, /**< @ref LineSegment "Line segment" */
- Sphere, /**< Sphere */
- Capsule, /**< Capsule */
+ Sphere, /**< @ref Sphere */
+ Capsule, /**< @ref Capsule */
AxisAlignedBox, /**< @ref AxisAlignedBox "Axis aligned box" */
- Box, /**< Box */
+ Box, /**< @ref Box */
Composition, /**< @ref Composition "Shape group" */
- Plane /**< Plane (3D only) */
+ Plane /**< @ref Plane (3D only) */
};
#else
typedef typename Implementation::ShapeDimensionTraits::Type Type;
@@ -90,7 +90,7 @@ template class MAGNUM_SHAPES_EXPORT AbstractShape: publi
/**
* @brief Shape group containing this shape
*
- * If the shape doesn't belong to any group, returns `nullptr`.
+ * If the shape doesn't belong to any group, returns @cpp nullptr @ce.
*/
ShapeGroup* group();
const ShapeGroup* group() const; /**< @overload */
diff --git a/src/Magnum/Shapes/Composition.h b/src/Magnum/Shapes/Composition.h
index 7a401d706..896beb965 100644
--- a/src/Magnum/Shapes/Composition.h
+++ b/src/Magnum/Shapes/Composition.h
@@ -77,16 +77,16 @@ template class MAGNUM_SHAPES_EXPORT Composition {
/** @brief Shape type */
#ifdef DOXYGEN_GENERATING_OUTPUT
enum class Type {
- Point, /**< Point */
- Line, /**< Line */
+ Point, /**< @ref Point */
+ Line, /**< @ref Line */
LineSegment, /**< @ref LineSegment "Line segment" */
- Sphere, /**< Sphere */
+ Sphere, /**< @ref Sphere */
InvertedSphere, /**< @ref InvertedSphere "Inverted sphere" */
Cylinder, /**< @ref Cylinder */
- Capsule, /**< Capsule */
+ Capsule, /**< @ref Capsule */
AxisAlignedBox, /**< @ref AxisAlignedBox "Axis aligned box" */
- Box, /**< Box */
- Plane /**< Plane (3D only) */
+ Box, /**< @ref Box */
+ Plane /**< @ref Plane (3D only) */
};
#else
typedef typename Implementation::ShapeDimensionTraits::Type Type;
diff --git a/src/Magnum/Shapes/Plane.h b/src/Magnum/Shapes/Plane.h
index 6f79c41da..3cd3b60b5 100644
--- a/src/Magnum/Shapes/Plane.h
+++ b/src/Magnum/Shapes/Plane.h
@@ -87,10 +87,18 @@ class MAGNUM_SHAPES_EXPORT Plane {
Vector3 _position, _normal;
};
-/** @collisionoccurenceoperator{Line,Plane} */
+/** @relatesalso Line
+@brief Collision occurence of @ref Line and @ref Plane
+
+@see @ref Plane::operator%(const Line3D&) const
+*/
inline bool operator%(const Line3D& a, const Plane& b) { return b % a; }
-/** @collisionoccurenceoperator{LineSegment,Plane} */
+/** @relatesalso LineSegment
+@brief Collision occurence of @ref LineSegment and @ref Plane
+
+@see @ref Plane::operator%(const LineSegment3D&) const
+*/
inline bool operator%(const LineSegment3D& a, const Plane& b) { return b % a; }
diff --git a/src/Magnum/Shapes/Shape.h b/src/Magnum/Shapes/Shape.h
index 05c364a3b..50408518b 100644
--- a/src/Magnum/Shapes/Shape.h
+++ b/src/Magnum/Shapes/Shape.h
@@ -54,7 +54,8 @@ shape to @ref ShapeGroup, which then provides collision detection for given
group of shapes using either @ref collides(), @ref collision() or
@ref ShapeGroup::firstCollision(). You can also use @ref ShapeGroup::add() and
@ref ShapeGroup::remove() later to manage e.g. collision islands.
-@code
+
+@code{.cpp}
Shapes::ShapeGroup3D shapes;
Object3D object;
diff --git a/src/Magnum/Shapes/ShapeGroup.h b/src/Magnum/Shapes/ShapeGroup.h
index 0d349958b..5609add53 100644
--- a/src/Magnum/Shapes/ShapeGroup.h
+++ b/src/Magnum/Shapes/ShapeGroup.h
@@ -82,8 +82,8 @@ template class MAGNUM_SHAPES_EXPORT ShapeGroup: public S
* @brief First collision of given shape with other shapes in the group
*
* Returns first shape colliding with given one. If there aren't any
- * collisions, returns `nullptr`. Calls @ref setClean() before the
- * operation.
+ * collisions, returns @cpp nullptr @ce. Calls @ref setClean() before
+ * the operation.
*/
AbstractShape* firstCollision(const AbstractShape& shape);