|
static const bool | Intersect (const CollisionVolume &vol1, const CollisionVolume &vol2) |
| Checks for collision between two generic collision volumes.
|
|
static const bool | BSphereToBSphereCollision (const CollisionVolumeBSphere &sphere1, const CollisionVolumeBSphere &sphere2) |
| Checks for collision between two bounding spheres.
|
|
static const bool | AABBToAABBCollision (const CollisionVolumeAABB &aabb1, const CollisionVolumeAABB &aabb2) |
| Checks for collision between a bounding sphere and an axis-aligned bounding box (AABB).
|
|
static const bool | AABBToBSphereCollision (const CollisionVolumeAABB &aabb, const CollisionVolumeBSphere &sphere) |
| Checks for collision between an AABB and a bounding sphere.
|
|
static const bool | OBBToOBBCollision (const CollisionVolumeOBB &obb1, const CollisionVolumeOBB &obb2) |
| Checks for collision between two oriented bounding boxes (OBB).
|
|
static const bool | OBBToBSphereCollision (const CollisionVolumeOBB &obb, const CollisionVolumeBSphere &sphere) |
| Checks for collision between an OBB and a bounding sphere.
|
|
static const bool | OBBToAABBCollision (const CollisionVolumeOBB &obb, const CollisionVolumeAABB &aabb) |
| Checks for collision between an OBB and an AABB.
|
|
static const Vect | Project (const Vect &v, const Vect &onto) |
| Projects a vector onto another vector.
|
|
static float | ComputeOBBProjection (const CollisionVolumeOBB &obb, const Vect &axis) |
| Computes the projection of an OBB onto a given axis.
|
|
static Vect | ClampPointToAABB (const Vect &point, const Vect &min, const Vect &max) |
| Clamps a point to the bounds of an AABB.
|
|
static bool | IsAxisSeparated (const Vect &axis, const Vect ¢erDiff, const CollisionVolumeOBB &obb1, const CollisionVolumeOBB &obb2) |
| Checks if two OBBs are separated along a given axis.
|
|
static void | ComputeOBBWorldData (const Vect &minM, const Vect &maxM, const Matrix &mat, Vect &outCenter, Vect &outHalfDiagonal, Matrix &outWorldMatrix) |
| Computes the world-space center, half-diagonal, and world matrix for an OBB.
|
|
static void | EncloseAABBs (const Vect &min1, const Vect &max1, const Vect &min2, const Vect &max2, Vect &outMin, Vect &outMax) |
| Computes the local-space center and half-diagonal for an OBB.
|
|
static bool | IsPointInTriangle (const Vect &p, const Vect &a, const Vect &b, const Vect &c) |
|
static Vect | GetHeightAndNormal (const Vect &p, const Vect &a, const Vect &b, const Vect &c, Vect &normal) |
|
Provides mathematical tools for collision detection and vector operations.
The SUNENGINEMathTools class provides static utility methods for collision detection between various collision volumes (bounding spheres, AABBs, OBBs) and for performing vector operations such as projection and clamping. These methods are used throughout the engine for physics, collision, and spatial queries.
Example usage:
- See also
- CollisionVolume, CollisionVolumeBSphere, CollisionVolumeAABB, CollisionVolumeOBB, Vect