group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
SweptCollision.hpp File Reference

Swept AABB and sphere collision queries against world geometry. More...

#include "SurfaceType.hpp"
#include <cstdint>
#include <glm/vec3.hpp>
#include <span>
#include <vector>
Include dependency graph for SweptCollision.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  physics::Plane
 An infinite plane dividing free space from solid geometry. More...
struct  physics::WorldAABB
 An axis-aligned box in world space, used as static collision geometry. More...
struct  physics::WorldBrush
 A convex volume defined by bounding planes (for ramps, angled walls, etc.). More...
struct  physics::WorldCylinder
 A vertical (Y-axis) cylinder in world space. More...
struct  physics::WorldSphere
 A sphere in world space. More...
struct  physics::BVHNode
 A single BVH node for spatial acceleration of triangle meshes. More...
struct  physics::WorldTriMesh
 A triangle mesh with BVH acceleration for collision queries. More...
struct  physics::WorldGeometry
 All world collision geometry for one tick. More...
struct  physics::HitResult
 Result of a swept AABB collision query. More...
struct  physics::SphereHitResult
 Result of a sphere-cast query (includes world-space hit point). More...

Namespaces

namespace  physics
 Pure physics math — no ECS types, no registry.

Functions

HitResult physics::sweepAABB (glm::vec3 halfExtents, glm::vec3 start, glm::vec3 end, std::span< const Plane > planes)
 Sweep an AABB along the path [start, end] against a list of infinite planes.
HitResult physics::sweepAABBvsBox (glm::vec3 halfExtents, glm::vec3 start, glm::vec3 end, const WorldAABB &box)
 Sweep an AABB against a static axis-aligned box.
HitResult physics::sweepAABBvsBrush (glm::vec3 halfExtents, glm::vec3 start, glm::vec3 end, const WorldBrush &brush)
 Sweep an AABB against a convex brush (set of bounding planes).
HitResult physics::sweepAABBvsCylinder (glm::vec3 halfExtents, glm::vec3 start, glm::vec3 end, const WorldCylinder &cyl)
 Sweep an AABB against a vertical cylinder.
HitResult physics::sweepAABBvsSphere (glm::vec3 halfExtents, glm::vec3 start, glm::vec3 end, const WorldSphere &sph)
 Sweep an AABB against a sphere.
HitResult physics::sweepAll (glm::vec3 halfExtents, glm::vec3 start, glm::vec3 end, const WorldGeometry &world)
 Sweep an AABB against all world geometry, returning the earliest hit.
SphereHitResult physics::sphereCast (float radius, glm::vec3 start, glm::vec3 end, const WorldGeometry &world)
 Cast a sphere along the path [start, end] against all world geometry.

Detailed Description

Swept AABB and sphere collision queries against world geometry.