diff --git a/src/Shapes/AxisAlignedBox.h b/src/Shapes/AxisAlignedBox.h index 5416823b5..b65f89e98 100644 --- a/src/Shapes/AxisAlignedBox.h +++ b/src/Shapes/AxisAlignedBox.h @@ -53,31 +53,31 @@ template class MAGNUM_SHAPES_EXPORT AxisAlignedBox { * * Creates zero sized box positioned at origin. */ - inline constexpr /*implicit*/ AxisAlignedBox() {} + constexpr /*implicit*/ AxisAlignedBox() {} /** @brief Constructor */ - inline constexpr /*implicit*/ AxisAlignedBox(const typename DimensionTraits::VectorType& min, const typename DimensionTraits::VectorType& max): _min(min), _max(max) {} + constexpr /*implicit*/ AxisAlignedBox(const typename DimensionTraits::VectorType& min, const typename DimensionTraits::VectorType& max): _min(min), _max(max) {} /** @brief Transformed shape */ AxisAlignedBox transformed(const typename DimensionTraits::MatrixType& matrix) const; /** @brief Minimal coordinates */ - inline constexpr typename DimensionTraits::VectorType min() const { + constexpr typename DimensionTraits::VectorType min() const { return _min; } /** @brief Set minimal coordinates */ - inline void setMin(const typename DimensionTraits::VectorType& min) { + void setMin(const typename DimensionTraits::VectorType& min) { _min = min; } /** @brief Maximal coordinates */ - inline constexpr typename DimensionTraits::VectorType max() const { + constexpr typename DimensionTraits::VectorType max() const { return _max; } /** @brief Set maximal coordinates */ - inline void setMax(const typename DimensionTraits::VectorType& max) { + void setMax(const typename DimensionTraits::VectorType& max) { _max = max; } diff --git a/src/Shapes/Box.h b/src/Shapes/Box.h index 54686b490..22750192d 100644 --- a/src/Shapes/Box.h +++ b/src/Shapes/Box.h @@ -55,21 +55,21 @@ template class MAGNUM_SHAPES_EXPORT Box { * * Creates zero-sized box positioned at origin. */ - inline constexpr /*implicit*/ Box(): _transformation(DimensionTraits::MatrixType::Zero) {} + constexpr /*implicit*/ Box(): _transformation(DimensionTraits::MatrixType::Zero) {} /** @brief Constructor */ - inline constexpr /*implicit*/ Box(const typename DimensionTraits::MatrixType& transformation): _transformation(transformation) {} + constexpr /*implicit*/ Box(const typename DimensionTraits::MatrixType& transformation): _transformation(transformation) {} /** @brief Transformed shape */ Box transformed(const typename DimensionTraits::MatrixType& matrix) const; /** @brief Transformation */ - inline constexpr typename DimensionTraits::MatrixType transformation() const { + constexpr typename DimensionTraits::MatrixType transformation() const { return _transformation; } /** @brief Set transformation */ - inline void setTransformation(const typename DimensionTraits::MatrixType& transformation) { + void setTransformation(const typename DimensionTraits::MatrixType& transformation) { _transformation = transformation; } diff --git a/src/Shapes/Capsule.h b/src/Shapes/Capsule.h index 2bc001763..4eb91869d 100644 --- a/src/Shapes/Capsule.h +++ b/src/Shapes/Capsule.h @@ -55,39 +55,39 @@ template class MAGNUM_SHAPES_EXPORT Capsule { * * Creates zero-sized capsule at origin. */ - inline constexpr /*implicit*/ Capsule(): _radius(0.0f) {} + constexpr /*implicit*/ Capsule(): _radius(0.0f) {} /** @brief Constructor */ - inline constexpr /*implicit*/ Capsule(const typename DimensionTraits::VectorType& a, const typename DimensionTraits::VectorType& b, Float radius): _a(a), _b(b), _radius(radius) {} + constexpr /*implicit*/ Capsule(const typename DimensionTraits::VectorType& a, const typename DimensionTraits::VectorType& b, Float radius): _a(a), _b(b), _radius(radius) {} /** @brief Transformed shape */ Capsule transformed(const typename DimensionTraits::MatrixType& matrix) const; /** @brief Start point */ - inline constexpr typename DimensionTraits::VectorType a() const { + constexpr typename DimensionTraits::VectorType a() const { return _a; } /** @brief Set start point */ - inline void setA(const typename DimensionTraits::VectorType& a) { + void setA(const typename DimensionTraits::VectorType& a) { _a = a; } /** @brief End point */ - inline constexpr typename DimensionTraits::VectorType b() const { + constexpr typename DimensionTraits::VectorType b() const { return _b; } /** @brief Set end point */ - inline void setB(const typename DimensionTraits::VectorType& b) { + void setB(const typename DimensionTraits::VectorType& b) { _b = b; } /** @brief Radius */ - inline constexpr Float radius() const { return _radius; } + constexpr Float radius() const { return _radius; } /** @brief Set radius */ - inline void setRadius(Float radius) { _radius = radius; } + void setRadius(Float radius) { _radius = radius; } /** @brief Collision with point */ bool operator%(const Point& other) const; diff --git a/src/Shapes/Composition.h b/src/Shapes/Composition.h index afe400774..6f6abdbf6 100644 --- a/src/Shapes/Composition.h +++ b/src/Shapes/Composition.h @@ -93,7 +93,7 @@ template class MAGNUM_SHAPES_EXPORT Composition { * * Creates empty hierarchy. */ - inline explicit Composition(): _shapeCount(0), _nodeCount(0), _shapes(nullptr), _nodes(nullptr) {} + explicit Composition(): _shapeCount(0), _nodeCount(0), _shapes(nullptr), _nodes(nullptr) {} /** * @brief Unary operation constructor @@ -128,19 +128,19 @@ template class MAGNUM_SHAPES_EXPORT Composition { Composition transformed(const typename DimensionTraits::MatrixType& matrix) const; /** @brief Count of shapes in the hierarchy */ - inline std::size_t size() const { return _shapeCount; } + std::size_t size() const { return _shapeCount; } /** @brief Type of shape at given position */ - inline Type type(std::size_t i) const { return _shapes[i]->type(); } + Type type(std::size_t i) const { return _shapes[i]->type(); } /** @brief Shape at given position */ template const T& get(std::size_t i) const; /** @brief Collision with another shape */ #ifdef DOXYGEN_GENERATING_OUTPUT - template inline bool operator%(const T& other) const { + template bool operator%(const T& other) const { #else - template inline auto operator%(const T& other) const -> typename std::enable_if::type()), typename Implementation::ShapeDimensionTraits::Type>::value, bool>::type { + template auto operator%(const T& other) const -> typename std::enable_if::type()), typename Implementation::ShapeDimensionTraits::Type>::value, bool>::type { #endif Implementation::Shape a(other); return collides(&a); @@ -152,32 +152,32 @@ template class MAGNUM_SHAPES_EXPORT Composition { CompositionOperation operation; }; - inline bool collides(const Implementation::AbstractShape* a) const { + bool collides(const Implementation::AbstractShape* a) const { return collides(a, 0, 0, _shapeCount); } bool collides(const Implementation::AbstractShape* a, std::size_t node, std::size_t shapeBegin, std::size_t shapeEnd) const; - template inline constexpr static std::size_t shapeCount(const T&) { + template constexpr static std::size_t shapeCount(const T&) { return 1; } - inline constexpr static std::size_t shapeCount(const Composition& hierarchy) { + constexpr static std::size_t shapeCount(const Composition& hierarchy) { return hierarchy._shapeCount; } - template inline constexpr static std::size_t nodeCount(const T&) { + template constexpr static std::size_t nodeCount(const T&) { return 0; } - inline constexpr static std::size_t nodeCount(const Composition& hierarchy) { + constexpr static std::size_t nodeCount(const Composition& hierarchy) { return hierarchy._nodeCount; } - template inline void copyShapes(std::size_t offset, const T& shape) { + template void copyShapes(std::size_t offset, const T& shape) { _shapes[offset] = new Implementation::Shape(shape); } void copyShapes(std::size_t offset, Composition&& other); void copyShapes(std::size_t offset, const Composition& other); - template inline void copyNodes(std::size_t, const T&) {} + template void copyNodes(std::size_t, const T&) {} void copyNodes(std::size_t offset, const Composition& other); std::size_t _shapeCount, _nodeCount; diff --git a/src/Shapes/Implementation/CollisionDispatch.cpp b/src/Shapes/Implementation/CollisionDispatch.cpp index 703d7b11c..0b9a59964 100644 --- a/src/Shapes/Implementation/CollisionDispatch.cpp +++ b/src/Shapes/Implementation/CollisionDispatch.cpp @@ -36,10 +36,10 @@ namespace Magnum { namespace Shapes { namespace Implementation { namespace { - inline constexpr UnsignedInt operator*(ShapeDimensionTraits<2>::Type a, ShapeDimensionTraits<2>::Type b) { + constexpr UnsignedInt operator*(ShapeDimensionTraits<2>::Type a, ShapeDimensionTraits<2>::Type b) { return UnsignedInt(a)*UnsignedInt(b); } - inline constexpr UnsignedInt operator*(ShapeDimensionTraits<3>::Type a, ShapeDimensionTraits<3>::Type b) { + constexpr UnsignedInt operator*(ShapeDimensionTraits<3>::Type a, ShapeDimensionTraits<3>::Type b) { return UnsignedInt(a)*UnsignedInt(b); } } diff --git a/src/Shapes/Line.h b/src/Shapes/Line.h index 1ba8dcbed..eb9f5afba 100644 --- a/src/Shapes/Line.h +++ b/src/Shapes/Line.h @@ -52,31 +52,31 @@ template class MAGNUM_SHAPES_EXPORT Line { * * Creates line with both points at origin. */ - inline constexpr /*implicit*/ Line() {} + constexpr /*implicit*/ Line() {} /** @brief Constructor */ - inline constexpr /*implicit*/ Line(const typename DimensionTraits::VectorType& a, const typename DimensionTraits::VectorType& b): _a(a), _b(b) {} + constexpr /*implicit*/ Line(const typename DimensionTraits::VectorType& a, const typename DimensionTraits::VectorType& b): _a(a), _b(b) {} /** @brief Transformed shape */ Line transformed(const typename DimensionTraits::MatrixType& matrix) const; /** @brief First point */ - inline constexpr typename DimensionTraits::VectorType a() const { + constexpr typename DimensionTraits::VectorType a() const { return _a; } /** @brief Set first point */ - inline void setA(const typename DimensionTraits::VectorType& a) { + void setA(const typename DimensionTraits::VectorType& a) { _a = a; } /** @brief Second point */ - inline constexpr typename DimensionTraits::VectorType b() const { + constexpr typename DimensionTraits::VectorType b() const { return _b; } /** @brief Set second point */ - inline void setB(const typename DimensionTraits::VectorType& b) { + void setB(const typename DimensionTraits::VectorType& b) { _b = b; } diff --git a/src/Shapes/LineSegment.h b/src/Shapes/LineSegment.h index b53343048..a79bc0d4d 100644 --- a/src/Shapes/LineSegment.h +++ b/src/Shapes/LineSegment.h @@ -45,18 +45,18 @@ template class LineSegment: public Line { * * Creates line segment with both points at origin. */ - inline constexpr /*implicit*/ LineSegment() {} + constexpr /*implicit*/ LineSegment() {} /** @brief Constructor */ - inline constexpr /*implicit*/ LineSegment(const typename DimensionTraits::VectorType& a, const typename DimensionTraits::VectorType& b): Line(a, b) {} + constexpr /*implicit*/ LineSegment(const typename DimensionTraits::VectorType& a, const typename DimensionTraits::VectorType& b): Line(a, b) {} /** @brief Transformed shape */ - inline LineSegment transformed(const typename DimensionTraits::MatrixType& matrix) const { + LineSegment transformed(const typename DimensionTraits::MatrixType& matrix) const { return Line::transformed(matrix); } private: - inline constexpr LineSegment(const Line& line): Line(line) {} + constexpr LineSegment(const Line& line): Line(line) {} }; /** @brief Two-dimensional line segment */ diff --git a/src/Shapes/Plane.h b/src/Shapes/Plane.h index acf584d1a..c3f3471d8 100644 --- a/src/Shapes/Plane.h +++ b/src/Shapes/Plane.h @@ -51,27 +51,27 @@ class MAGNUM_SHAPES_EXPORT Plane { * * Creates plane with zero-sized normal at origin. */ - inline constexpr /*implicit*/ Plane() {} + constexpr /*implicit*/ Plane() {} /** @brief Constructor */ - inline constexpr /*implicit*/ Plane(const Vector3& position, const Vector3& normal): _position(position), _normal(normal) {} + constexpr /*implicit*/ Plane(const Vector3& position, const Vector3& normal): _position(position), _normal(normal) {} /** @brief Transformed shape */ Plane transformed(const Matrix4& matrix) const; /** @brief Position */ - inline constexpr Vector3 position() const { return _position; } + constexpr Vector3 position() const { return _position; } /** @brief Set position */ - inline void setPosition(const Vector3& position) { + void setPosition(const Vector3& position) { _position = position; } /** @brief Normal */ - inline constexpr Vector3 normal() const { return _normal; } + constexpr Vector3 normal() const { return _normal; } /** @brief Set normal */ - inline void setNormal(const Vector3& normal) { + void setNormal(const Vector3& normal) { _normal = normal; } diff --git a/src/Shapes/Point.h b/src/Shapes/Point.h index 963c78e6e..a03a2c676 100644 --- a/src/Shapes/Point.h +++ b/src/Shapes/Point.h @@ -51,21 +51,21 @@ template class MAGNUM_SHAPES_EXPORT Point { * * Creates point at origin. */ - inline constexpr /*implicit*/ Point() {} + constexpr /*implicit*/ Point() {} /** @brief Constructor */ - inline constexpr /*implicit*/ Point(const typename DimensionTraits::VectorType& position): _position(position) {} + constexpr /*implicit*/ Point(const typename DimensionTraits::VectorType& position): _position(position) {} /** @brief Transformed shape */ Point transformed(const typename DimensionTraits::MatrixType& matrix) const; /** @brief Position */ - inline constexpr typename DimensionTraits::VectorType position() const { + constexpr typename DimensionTraits::VectorType position() const { return _position; } /** @brief Set position */ - inline void setPosition(const typename DimensionTraits::VectorType& position) { + void setPosition(const typename DimensionTraits::VectorType& position) { _position = position; } diff --git a/src/Shapes/Shape.h b/src/Shapes/Shape.h index 86a5717d0..37f478d05 100644 --- a/src/Shapes/Shape.h +++ b/src/Shapes/Shape.h @@ -88,7 +88,7 @@ template class MAGNUM_SHAPES_EXPORT Shape: public AbstractShape explicit Shape(SceneGraph::AbstractObject* object, ShapeGroup* group = nullptr): AbstractShape(object, group) {} /** @brief Shape */ - inline const T& shape() const { return _shape.shape; } + const T& shape() const { return _shape.shape; } /** * @brief Set shape @@ -134,11 +134,11 @@ template void Shape::clean(const typename DimensionTraits struct ShapeHelper { - inline static void set(Shapes::Shape& shape, const T& s) { + static void set(Shapes::Shape& shape, const T& s) { shape._shape.shape = s; } - inline static void transform(Shapes::Shape& shape, const typename DimensionTraits::MatrixType& absoluteTransformationMatrix) { + static void transform(Shapes::Shape& shape, const typename DimensionTraits::MatrixType& absoluteTransformationMatrix) { shape._transformedShape.shape = shape._shape.shape.transformed(absoluteTransformationMatrix); } }; diff --git a/src/Shapes/ShapeGroup.h b/src/Shapes/ShapeGroup.h index 86b7a22e5..b3564f372 100644 --- a/src/Shapes/ShapeGroup.h +++ b/src/Shapes/ShapeGroup.h @@ -52,13 +52,13 @@ template class MAGNUM_SHAPES_EXPORT ShapeGroup: public S * * Marks the group as dirty. */ - inline explicit ShapeGroup(): dirty(true) {} + explicit ShapeGroup(): dirty(true) {} /** * @brief Whether the group is dirty * @return True if any object in the group is dirty, false otherwise. */ - inline bool isDirty() const { return dirty; } + bool isDirty() const { return dirty; } /** * @brief Set the group as dirty @@ -69,7 +69,7 @@ template class MAGNUM_SHAPES_EXPORT ShapeGroup: public S * * @see setClean() */ - inline void setDirty() { dirty = true; } + void setDirty() { dirty = true; } /** * @brief Set the group and all bodies as clean diff --git a/src/Shapes/Sphere.h b/src/Shapes/Sphere.h index 9c473a39f..d9792109b 100644 --- a/src/Shapes/Sphere.h +++ b/src/Shapes/Sphere.h @@ -55,29 +55,29 @@ template class MAGNUM_SHAPES_EXPORT Sphere { * * Creates zero-sized sphere at origin. */ - inline constexpr /*implicit*/ Sphere(): _radius(0.0f) {} + constexpr /*implicit*/ Sphere(): _radius(0.0f) {} /** @brief Constructor */ - inline constexpr /*implicit*/ Sphere(const typename DimensionTraits::VectorType& position, Float radius): _position(position), _radius(radius) {} + constexpr /*implicit*/ Sphere(const typename DimensionTraits::VectorType& position, Float radius): _position(position), _radius(radius) {} /** @brief Transformed shape */ Sphere transformed(const typename DimensionTraits::MatrixType& matrix) const; /** @brief Position */ - inline constexpr typename DimensionTraits::VectorType position() const { + constexpr typename DimensionTraits::VectorType position() const { return _position; } /** @brief Set position */ - inline void setPosition(const typename DimensionTraits::VectorType& position) { + void setPosition(const typename DimensionTraits::VectorType& position) { _position = position; } /** @brief Radius */ - inline constexpr Float radius() const { return _radius; } + constexpr Float radius() const { return _radius; } /** @brief Set radius */ - inline void setRadius(Float radius) { _radius = radius; } + void setRadius(Float radius) { _radius = radius; } /** @brief Collision with point */ bool operator%(const Point& other) const; diff --git a/src/Shapes/shapeImplementation.h b/src/Shapes/shapeImplementation.h index 868d9215d..d90f889e5 100644 --- a/src/Shapes/shapeImplementation.h +++ b/src/Shapes/shapeImplementation.h @@ -73,47 +73,47 @@ Debug MAGNUM_SHAPES_EXPORT operator<<(Debug debug, ShapeDimensionTraits<3>::Type template struct TypeOf; template struct TypeOf> { - inline constexpr static typename ShapeDimensionTraits::Type type() { + constexpr static typename ShapeDimensionTraits::Type type() { return ShapeDimensionTraits::Type::Point; } }; template struct TypeOf> { - inline constexpr static typename ShapeDimensionTraits::Type type() { + constexpr static typename ShapeDimensionTraits::Type type() { return ShapeDimensionTraits::Type::Line; } }; template struct TypeOf> { - inline constexpr static typename ShapeDimensionTraits::Type type() { + constexpr static typename ShapeDimensionTraits::Type type() { return ShapeDimensionTraits::Type::LineSegment; } }; template struct TypeOf> { - inline constexpr static typename ShapeDimensionTraits::Type type() { + constexpr static typename ShapeDimensionTraits::Type type() { return ShapeDimensionTraits::Type::Sphere; } }; template struct TypeOf> { - inline constexpr static typename ShapeDimensionTraits::Type type() { + constexpr static typename ShapeDimensionTraits::Type type() { return ShapeDimensionTraits::Type::Capsule; } }; template struct TypeOf> { - inline constexpr static typename ShapeDimensionTraits::Type type() { + constexpr static typename ShapeDimensionTraits::Type type() { return ShapeDimensionTraits::Type::AxisAlignedBox; } }; template struct TypeOf> { - inline constexpr static typename ShapeDimensionTraits::Type type() { + constexpr static typename ShapeDimensionTraits::Type type() { return ShapeDimensionTraits::Type::Box; } }; template<> struct TypeOf { - inline constexpr static typename ShapeDimensionTraits<3>::Type type() { + constexpr static typename ShapeDimensionTraits<3>::Type type() { return ShapeDimensionTraits<3>::Type::Plane; } }; template struct TypeOf> { - inline constexpr static typename ShapeDimensionTraits::Type type() { + constexpr static typename ShapeDimensionTraits::Type type() { return ShapeDimensionTraits::Type::Composition; } };