namespace
ShapesShape library.
Collision detection system.
This library is built if WITH_SHAPES
is enabled when building Magnum. To use this library with CMake, you need to request the Shapes
component of the Magnum
package and link to the Magnum::Shapes
target:
find_package(Magnum REQUIRED Shapes) # ... target_link_libraries(yourapp Magnum::Shapes)
See Downloading and building, Usage with CMake and Collision detection for more information.
Classes

template<UnsignedInt dimensions>class AbstractShape deprecated
 Base class for object shapes.

template<UnsignedInt dimensions>class AxisAlignedBox deprecated
 Axisaligned box.

template<UnsignedInt dimensions>class Box deprecated
 Unitsize box with assigned transformation matrix.

template<UnsignedInt dimensions>class Capsule deprecated
 Capsule defined by cylinder start and end point and radius.

template<UnsignedInt dimensions>class Collision deprecated
 Collision data.

template<UnsignedInt dimensions>class Composition deprecated
 Composition of shapes.

template<UnsignedInt dimensions>class Cylinder deprecated
 Infinite cylinder defined by line and radius.

template<UnsignedInt dimensions>class InvertedSphere deprecated
 Inverted sphere defined by position and radius.

template<UnsignedInt dimensions>class Line deprecated
 Infinite line, defined by two points.

template<UnsignedInt dimensions>class LineSegment deprecated
 Line segment, defined by starting and ending point.
 class Plane deprecated
 Infinite plane, defined by position and normal (3D only)

template<UnsignedInt dimensions>class Point deprecated
 Point.

template<class T>class Shape deprecated
 Object shape.

template<UnsignedInt dimensions>class ShapeGroup deprecated
 Group of shapes.

template<UnsignedInt dimensions>class Sphere deprecated
 Sphere defined by position and radius.
Enums
 enum class CompositionOperation: UnsignedByte { Not, And, Or } deprecated
 Shape operation.
Typedefs
 using AbstractShape2D = AbstractShape<2> deprecated
 Base class for twodimensional object shapes.
 using AbstractShape3D = AbstractShape<3> deprecated
 Base class for threedimensional object shapes.
 using AxisAlignedBox2D = AxisAlignedBox<2> deprecated
 Twodimensional axisaligned box.
 using AxisAlignedBox3D = AxisAlignedBox<3> deprecated
 Threedimensional axisaligned box.
 using Box2D = Box<2> deprecated
 Twodimensional box.
 using Box3D = Box<3> deprecated
 Threedimensional box.
 using Capsule2D = Capsule<2> deprecated
 Twodimensional capsule.
 using Capsule3D = Capsule<3> deprecated
 Threedimensional capsule.
 using Collision2D = Collision<2> deprecated
 Twodimensional collision data.
 using Collision3D = Collision<3> deprecated
 Threedimensional collision data.
 using Composition2D = Composition<2> deprecated
 Twodimensional shape composition.
 using Composition3D = Composition<3> deprecated
 Threedimensional shape composition.
 using Cylinder2D = Cylinder<2> deprecated
 Infinite twodimensional cylinder.
 using Cylinder3D = Cylinder<3> deprecated
 Infinite threedimensional cylinder.
 using Line2D = Line<2> deprecated
 Infinite twodimensional line.
 using Line3D = Line<3> deprecated
 Infinite threedimensional line.
 using LineSegment2D = LineSegment<2> deprecated
 Twodimensional line segment.
 using LineSegment3D = LineSegment<3> deprecated
 Threedimensional line segment.
 using Point2D = Point<2> deprecated
 Twodimensional point.
 using Point3D = Point<3> deprecated
 Threedimensional point.
 using ShapeGroup2D = ShapeGroup<2> deprecated
 Group of twodimensional shapes.
 using ShapeGroup3D = ShapeGroup<3> deprecated
 Group of threedimensional shapes.
 using Sphere2D = Sphere<2> deprecated
 Twodimensional sphere.
 using Sphere3D = Sphere<3> deprecated
 Threedimensional sphere.
 using InvertedSphere2D = InvertedSphere<2> deprecated
 Inverted twodimensional sphere.
 using InvertedSphere3D = InvertedSphere<3> deprecated
 Inverted threedimensional sphere.
Functions

template<UnsignedInt dimensions>auto operator%(const Point<dimensions>& a, const AxisAlignedBox<dimensions>& b) > bool deprecated
 Collision occurence of Point and AxisAlignedBox.

template<UnsignedInt dimensions>auto operator%(const Point<dimensions>& a, const Capsule<dimensions>& b) > bool deprecated
 Collision occurence of Point and Capsule.

template<UnsignedInt dimensions>auto operator%(const Sphere<dimensions>& a, const Capsule<dimensions>& b) > bool deprecated
 Collision occurence of Sphere and Capsule.

template<UnsignedInt dimensions>auto operator<<(Debug& debug, typename Composition<dimensions>::Type value) > Debug& deprecated
 Debug output operator.

template<UnsignedInt dimensions>auto operator%(const Point<dimensions>& a, const Cylinder<dimensions>& b) > bool deprecated
 Collision occurence of Point and Cylinder.

template<UnsignedInt dimensions>auto operator%(const Sphere<dimensions>& a, const Cylinder<dimensions>& b) > bool deprecated
 Collision occurence of Sphere and Cylinder.
 auto operator%(const Line3D& a, const Plane& b) > bool deprecated
 Collision occurence of Line and Plane.
 auto operator%(const LineSegment3D& a, const Plane& b) > bool deprecated
 Collision occurence of LineSegment and Plane.

template<UnsignedInt dimensions>auto operator%(const Point<dimensions>& a, const Sphere<dimensions>& b) > bool deprecated
 Collision occurence of Point and Sphere.

template<UnsignedInt dimensions>auto operator%(const Point<dimensions>& a, const InvertedSphere<dimensions>& b) > bool deprecated
 Collision occurence of Point and InvertedSphere.

template<UnsignedInt dimensions>auto operator/(const Point<dimensions>& a, const Sphere<dimensions>& b) > Collision<dimensions> deprecated
 Collision of Point and Sphere.

template<UnsignedInt dimensions>auto operator/(const Point<dimensions>& a, const InvertedSphere<dimensions>& b) > Collision<dimensions> deprecated
 Collision of Point and InvertedSphere.

template<UnsignedInt dimensions>auto operator%(const Line<dimensions>& a, const Sphere<dimensions>& b) > bool deprecated
 Collision occurence of Line and Sphere.

template<UnsignedInt dimensions>auto operator%(const LineSegment<dimensions>& a, const Sphere<dimensions>& b) > bool deprecated
 Collision occurence of LineSegment and Sphere.

template<UnsignedInt dimensions>auto operator%(const Sphere<dimensions>& a, const InvertedSphere<dimensions>& b) > bool deprecated
 Collision occurence of Sphere and InvertedSphere.

template<UnsignedInt dimensions>auto operator/(const Sphere<dimensions>& a, const InvertedSphere<dimensions>& b) > Collision<dimensions> deprecated
 Collision of Sphere and InvertedSphere.
Enum documentation
enum class Magnum::Shapes::CompositionOperation: UnsignedByte
Shape operation.
Enumerators  

Not 
Boolean NOT 
And 
Boolean AND 
Or 
Boolean OR 
Typedef documentation
typedef AbstractShape<2> Magnum::Shapes::AbstractShape2D
Base class for twodimensional object shapes.
typedef AbstractShape<3> Magnum::Shapes::AbstractShape3D
Base class for threedimensional object shapes.
typedef AxisAlignedBox<2> Magnum::Shapes::AxisAlignedBox2D
Twodimensional axisaligned box.
typedef AxisAlignedBox<3> Magnum::Shapes::AxisAlignedBox3D
Threedimensional axisaligned box.
typedef Collision<2> Magnum::Shapes::Collision2D
Twodimensional collision data.
typedef Collision<3> Magnum::Shapes::Collision3D
Threedimensional collision data.
typedef Composition<2> Magnum::Shapes::Composition2D
Twodimensional shape composition.
typedef Composition<3> Magnum::Shapes::Composition3D
Threedimensional shape composition.
typedef Cylinder<2> Magnum::Shapes::Cylinder2D
Infinite twodimensional cylinder.
typedef Cylinder<3> Magnum::Shapes::Cylinder3D
Infinite threedimensional cylinder.
typedef LineSegment<2> Magnum::Shapes::LineSegment2D
Twodimensional line segment.
typedef LineSegment<3> Magnum::Shapes::LineSegment3D
Threedimensional line segment.
typedef ShapeGroup<2> Magnum::Shapes::ShapeGroup2D
Group of twodimensional shapes.
See Shape for more information.
typedef ShapeGroup<3> Magnum::Shapes::ShapeGroup3D
Group of threedimensional shapes.
See Shape for more information.
typedef InvertedSphere<2> Magnum::Shapes::InvertedSphere2D
Inverted twodimensional sphere.
typedef InvertedSphere<3> Magnum::Shapes::InvertedSphere3D
Inverted threedimensional sphere.
Function documentation
template<UnsignedInt dimensions>
bool Magnum::Shapes:: operator%(const Point<dimensions>& a,
const AxisAlignedBox<dimensions>& b)
Collision occurence of Point and AxisAlignedBox.
template<UnsignedInt dimensions>
Debug& Magnum::Shapes:: operator<<(Debug& debug,
typename Composition<dimensions>::Type value)
Debug output operator.
bool Magnum::Shapes:: operator%(const LineSegment3D& a,
const Plane& b)
Collision occurence of LineSegment and Plane.
template<UnsignedInt dimensions>
bool Magnum::Shapes:: operator%(const Point<dimensions>& a,
const InvertedSphere<dimensions>& b)
Collision occurence of Point and InvertedSphere.
template<UnsignedInt dimensions>
Collision<dimensions> Magnum::Shapes:: operator/(const Point<dimensions>& a,
const InvertedSphere<dimensions>& b)
Collision of Point and InvertedSphere.
template<UnsignedInt dimensions>
bool Magnum::Shapes:: operator%(const LineSegment<dimensions>& a,
const Sphere<dimensions>& b)
Collision occurence of LineSegment and Sphere.
template<UnsignedInt dimensions>
bool Magnum::Shapes:: operator%(const Sphere<dimensions>& a,
const InvertedSphere<dimensions>& b)
Collision occurence of Sphere and InvertedSphere.
template<UnsignedInt dimensions>
Collision<dimensions> Magnum::Shapes:: operator/(const Sphere<dimensions>& a,
const InvertedSphere<dimensions>& b)
Collision of Sphere and InvertedSphere.