Om  1.0.0
A universal framework for multimedia simulation
Classes | Typedefs | Functions
om::physics::collision Namespace Reference

A namespace that contains classes that detect for collisions between shapes. More...

Classes

class  Collider
 A class that represents moving geometry that can collide with other geometry. More...
 
class  CollisionAlgorithm
 The base class for objects that detect collisions between shapes. More...
 
class  CollisionAlgorithmFunction
 A class that detects collisions for a pair of shape types using a template function test. More...
 
class  CollisionAlgorithmGJK
 A class that detects collisions for a pair of convex shape types using the GJK and EPA algorithms. More...
 
class  CollisionAlgorithmMeshVsShape
 A class that detects collisions between a triangle mesh shape and a template shape type. More...
 
class  CollisionBroadphase
 An interface for classes that determine potentially colliding pairs of objects in a scene. More...
 
class  CollisionCallback
 A class that wraps a function callback object that receives collision events. More...
 
class  CollisionFlags
 A class that encapsulates the different boolean flags that collision detection can have. More...
 
class  CollisionListener
 An interface for objects that receive collision events. More...
 
class  CollisionNarrowphase
 A class that sorts pairs of potentially colliding shapes to the associated collision algorithms. More...
 
class  CollisionPair
 A class that represents a pair of potentially colliding objects. More...
 
class  CollisionPoint
 A class that stores information about a point of collision between two shapes. More...
 
class  CollisionRequest
 A class that contains parameters for how collision detection should be done. More...
 
class  CollisionResult
 A class that represents the result of a collision query between two objects. More...
 
class  CollisionResultSet
 A class that stores a set of results for multiple collision queries. More...
 
class  EPAResult
 A class that holds the results of the EPA algorithm. More...
 
class  EPASolver
 A class that iteratively refines a GJK simplex to approximate the shape surface at the collision point. More...
 
class  GJKSolver
 A class that iteratively refines a 4-point simplex to determine if two convex shapes intersect. More...
 
class  MeshSolver
 A class that determines the overlap between a mesh and another shape type. More...
 
class  MinkowskiVertex
 A class that represents a point on the minkowski difference between two shapes. More...
 

Typedefs

typedef CollisionAlgorithmFunction< SphereShape, SphereShape, testSphereVsSphereCollisionAlgorithmSphereVsSphere
 
typedef CollisionAlgorithmGJK< SphereShape, CapsuleShape, SphereShape::getSupportPoint, CapsuleShape::getSupportPointCollisionAlgorithmSphereVsCapsule
 A class that detects collisions between sphere and capsule shapes. More...
 
typedef CollisionAlgorithmGJK< SphereShape, CylinderShape, SphereShape::getSupportPoint, CylinderShape::getSupportPointCollisionAlgorithmSphereVsCylinder
 A class that detects collisions between sphere and cylinder shapes. More...
 
typedef CollisionAlgorithmGJK< SphereShape, BoxShape, SphereShape::getSupportPoint, BoxShape::getSupportPointCollisionAlgorithmSphereVsBox
 A class that detects collisions between sphere and box shapes. More...
 
typedef CollisionAlgorithmGJK< SphereShape, ConvexShape, SphereShape::getSupportPoint, ConvexShape::getSupportPointCollisionAlgorithmSphereVsConvex
 A class that detects collisions between sphere and convex shapes. More...
 
typedef CollisionAlgorithmGJK< CapsuleShape, SphereShape, CapsuleShape::getSupportPoint, SphereShape::getSupportPointCollisionAlgorithmCapsuleVsSphere
 A class that detects collisions between capsule and sphere shapes. More...
 
typedef CollisionAlgorithmGJK< CapsuleShape, CapsuleShape, CapsuleShape::getSupportPoint, CapsuleShape::getSupportPointCollisionAlgorithmCapsuleVsCapsule
 A class that detects collisions between two capsule shapes. More...
 
typedef CollisionAlgorithmGJK< CapsuleShape, CylinderShape, CapsuleShape::getSupportPoint, CylinderShape::getSupportPointCollisionAlgorithmCapsuleVsCylinder
 A class that detects collisions between capsule and cylinder shapes. More...
 
typedef CollisionAlgorithmGJK< CapsuleShape, BoxShape, CapsuleShape::getSupportPoint, BoxShape::getSupportPointCollisionAlgorithmCapsuleVsBox
 A class that detects collisions between capsule and box shapes. More...
 
typedef CollisionAlgorithmGJK< CapsuleShape, ConvexShape, CapsuleShape::getSupportPoint, ConvexShape::getSupportPointCollisionAlgorithmCapsuleVsConvex
 A class that detects collisions between capsule and convex shapes. More...
 
typedef CollisionAlgorithmGJK< CylinderShape, SphereShape, CylinderShape::getSupportPoint, SphereShape::getSupportPointCollisionAlgorithmCylinderVsSphere
 A class that detects collisions between cylinder and sphere shapes. More...
 
typedef CollisionAlgorithmGJK< CylinderShape, CapsuleShape, CylinderShape::getSupportPoint, CapsuleShape::getSupportPointCollisionAlgorithmCylinderVsCapsule
 A class that detects collisions between cylinder and capsule shapes. More...
 
typedef CollisionAlgorithmGJK< CylinderShape, CylinderShape, CylinderShape::getSupportPoint, CylinderShape::getSupportPointCollisionAlgorithmCylinderVsCylinder
 A class that detects collisions between two cylinder shapes. More...
 
typedef CollisionAlgorithmGJK< CylinderShape, BoxShape, CylinderShape::getSupportPoint, BoxShape::getSupportPointCollisionAlgorithmCylinderVsBox
 A class that detects collisions between cylinder and box shapes. More...
 
typedef CollisionAlgorithmGJK< CylinderShape, ConvexShape, CylinderShape::getSupportPoint, ConvexShape::getSupportPointCollisionAlgorithmCylinderVsConvex
 A class that detects collisions between cylinder and convex shapes. More...
 
typedef CollisionAlgorithmGJK< BoxShape, SphereShape, BoxShape::getSupportPoint, SphereShape::getSupportPointCollisionAlgorithmBoxVsSphere
 A class that detects collisions between box and sphere shapes. More...
 
typedef CollisionAlgorithmGJK< BoxShape, CapsuleShape, BoxShape::getSupportPoint, CapsuleShape::getSupportPointCollisionAlgorithmBoxVsCapsule
 A class that detects collisions between box and capsule shapes. More...
 
typedef CollisionAlgorithmGJK< BoxShape, CylinderShape, BoxShape::getSupportPoint, CylinderShape::getSupportPointCollisionAlgorithmBoxVsCylinder
 A class that detects collisions between box and cylinder shapes. More...
 
typedef CollisionAlgorithmGJK< BoxShape, BoxShape, BoxShape::getSupportPoint, BoxShape::getSupportPointCollisionAlgorithmBoxVsBox
 A class that detects collisions between two box shapes. More...
 
typedef CollisionAlgorithmGJK< BoxShape, ConvexShape, BoxShape::getSupportPoint, ConvexShape::getSupportPointCollisionAlgorithmBoxVsConvex
 A class that detects collisions between box and convex shapes. More...
 
typedef CollisionAlgorithmGJK< ConvexShape, SphereShape, ConvexShape::getSupportPoint, SphereShape::getSupportPointCollisionAlgorithmConvexVsSphere
 A class that detects collisions between convex and sphere shapes. More...
 
typedef CollisionAlgorithmGJK< ConvexShape, CapsuleShape, ConvexShape::getSupportPoint, CapsuleShape::getSupportPointCollisionAlgorithmConvexVsCapsule
 A class that detects collisions between convex and capsule shapes. More...
 
typedef CollisionAlgorithmGJK< ConvexShape, CylinderShape, ConvexShape::getSupportPoint, CylinderShape::getSupportPointCollisionAlgorithmConvexVsCylinder
 A class that detects collisions between convex and cylinder shapes. More...
 
typedef CollisionAlgorithmGJK< ConvexShape, BoxShape, ConvexShape::getSupportPoint, BoxShape::getSupportPointCollisionAlgorithmConvexVsBox
 A class that detects collisions between convex and box shapes. More...
 
typedef CollisionAlgorithmGJK< ConvexShape, ConvexShape, ConvexShape::getSupportPoint, ConvexShape::getSupportPointCollisionAlgorithmConvexVsConvex
 A class that detects collisions between convex and convex shapes. More...
 

Functions

void testSphereVsSphere (const CollisionPair &pair, const CollisionRequest &request, CollisionResultSet &results)
 Test for collisions between a pair of colliders that have sphere shapes. More...
 
void testSphereVsBox (const CollisionPair &pair, const CollisionRequest &request, CollisionResultSet &results)
 Test for collisions between a pair of colliders that have sphere and box shapes. More...
 
void testBoxVsSphere (const CollisionPair &pair, const CollisionRequest &request, CollisionResultSet &results)
 Test for collisions between a pair of colliders that have box and sphere shapes. More...
 

Detailed Description

A namespace that contains classes that detect for collisions between shapes.

Typedef Documentation

A class that detects collisions between sphere and capsule shapes.

A class that detects collisions between sphere and cylinder shapes.

A class that detects collisions between sphere and box shapes.

A class that detects collisions between sphere and convex shapes.

A class that detects collisions between capsule and sphere shapes.

A class that detects collisions between two capsule shapes.

A class that detects collisions between capsule and cylinder shapes.

A class that detects collisions between capsule and box shapes.

A class that detects collisions between capsule and convex shapes.

A class that detects collisions between cylinder and sphere shapes.

A class that detects collisions between cylinder and capsule shapes.

A class that detects collisions between two cylinder shapes.

A class that detects collisions between cylinder and box shapes.

A class that detects collisions between cylinder and convex shapes.

A class that detects collisions between box and sphere shapes.

A class that detects collisions between box and capsule shapes.

A class that detects collisions between box and cylinder shapes.

A class that detects collisions between two box shapes.

A class that detects collisions between box and convex shapes.

A class that detects collisions between convex and sphere shapes.

A class that detects collisions between convex and capsule shapes.

A class that detects collisions between convex and cylinder shapes.

A class that detects collisions between convex and box shapes.

A class that detects collisions between convex and convex shapes.

Function Documentation

void om::physics::collision::testSphereVsSphere ( const CollisionPair pair,
const CollisionRequest request,
CollisionResultSet results 
)
inline

Test for collisions between a pair of colliders that have sphere shapes.

void om::physics::collision::testSphereVsBox ( const CollisionPair pair,
const CollisionRequest request,
CollisionResultSet results 
)
inline

Test for collisions between a pair of colliders that have sphere and box shapes.

void om::physics::collision::testBoxVsSphere ( const CollisionPair pair,
const CollisionRequest request,
CollisionResultSet results 
)
inline

Test for collisions between a pair of colliders that have box and sphere shapes.