Collision

Classes

  ClassDescription
Public classCollDetectBoxBox
DetectFunctor for BoxBox Collisions.
Public classCollDetectBoxHeightmap
DetectFunctor for BoxHeightmap collison detection.
Public classCollDetectBoxPlane
DetectFunctor for BoxPlane collision detection.
Public classCollDetectBoxStaticMesh
DetectFunctor for BoxStaticMesh collison detection.
Public classCollDetectCapsuleBox
DetectFunctor for CapsuleBox collison detection.
Public classCollDetectCapsuleCapsule
DetectFunctor for CapsuleCapsule collison detection.
Public classCollDetectCapsuleHeightmap
Class CollDetectCapsuleHeightmap
Public classCollDetectCapsulePlane
Class CollDetectCapsulePlane
Public classCollDetectCapsuleStaticMesh
DetectFunctor for CapsuleStaticMesh collison detection.
Public classCollDetectSphereBox
DetectFunctor for SphereBox collison detection.
Public classCollDetectSphereCapsule
DetectFunctor for SphereCapsule collison detection.
Public classCollDetectSphereHeightmap
DetectFunctor for SphereHeightmap collison detection.
Public classCollDetectSpherePlane
DetectFunctor for SpherePlane collison detection.
Public classCollDetectSphereSphere
DetectFunctor for SphereSphere collison detection.
Public classCollDetectSphereStaticMesh
DetectFunctor for SphereStaticMesh collison detection.
Public classCollisionFunctor
The user of CollisionSystem creates an object derived from CollisionFunctor and passes it in to DetectCollisions. For every collision detected the functor gets called so that the user can decide if they want to keep the collision.
Public classCollisionInfo
Contains all the details about a collision between two skins, each of which may be associated with a tBody. Each collision can have a number of points associated with it
Public classCollisionSkin
Some skins may be owned by a physical body too.
Public classCollisionSkinPredicate1
The user can create an object derived from this and pass it in to the ray/segment intersection functions to indicate whether certain skins should be considered.
Public classCollisionSkinPredicate2
The user can create an object derived from this and pass it in to CollisionSystem.DetectCollisions to indicate whether a pair of skins should be considered.
Public classCollisionSystem
Interface to a class that will contain a list of all the collision objects in the world, and it will provide ways of detecting collisions between other objects and these collision objects.
Public classCollisionSystemBrute
CollisionSystem which checks every skin against each other. For small scenes this is as fast or even faster as CollisionSystemGrid.
Public classCollisionSystemGrid
implements a collision system by dividing the world up into a wrapping grid with a certain configurable size. If objects are evenly distributed this will reduce the number of checks that need to be made.
Public classCollisionSystemSAP
Implementing a collision system (broad-phase test) based on the sweep-and-prune algorithm
Public classCollPointInfo
Class CollPointInfo
Public classDetectFunctor
Used during setup - allow the creator to register functors to do the actual collision detection. Each functor inherits from this - has a name to help debugging! The functor has to be able to handle the primitivs being passed to it in either order.
Public classMaterialTable
This handles the properties of interactions between different materials.

Structures

  StructureDescription
Public structureCollDetectInfo
Details about which parts of the skins are colliding.
Public structureMaterialPairProperties
Struct MaterialPairProperties
Public structureMaterialProperties
Struct MaterialProperties
Public structureSmallCollPointInfo
Struct SmallCollPointInfo

Delegates

  DelegateDescription
Public delegateCollisionCallbackFn
A skin can ask to get a callback when a collision is detected this will be called if it return false, the contact points will not be generated

Enumerations

  EnumerationDescription
Public enumerationMaterialTable..::..MaterialID
Some default materials that get added automatically User materials should start at NumMaterialTypes, or else ignore this and over-ride everything. User-refined values can get used so should not assume the values come form this enum - use MaterialID