VoxelEngine
 
Loading...
Searching...
No Matches
engine::CollisionInfo Struct Reference

Public Attributes

glm::vec3 correction {0.f}
 The position correction that was applied during the collision resolution, so the AABB stops touching any other AABB.
 
glm::vec3 t {1.f}
 The time till the collision happens for all axis with the provided move step.
 
std::array< std::vector< glm::vec3 >, 3 > hitPositions
 The positions of the AABBs that will be hit after the move step is applied. (for each axis)
 
unsigned int axis: 3 = 0b000
 
bool grounded: 1 = false
 If the AABB is grounded, meaning it is touching the ground.
 
float stepHeight = 0.0f
 The height that was stepped up (for stairs/slabs). 0 if no step.
 

Static Public Attributes

static constexpr int AXIS_X_MASK = 1
 
static constexpr int AXIS_Y_MASK = 2
 
static constexpr int AXIS_Z_MASK = 4
 

Member Data Documentation

◆ t

glm::vec3 engine::CollisionInfo::t {1.f}

The time till the collision happens for all axis with the provided move step.

Note
If this is 1.0f for some axis, then there is no collision on that axis. If this is < 1.0f The move step was multiplied by this value to reflect the collision response. (eg. stopping movement in a obscured direction)

The documentation for this struct was generated from the following file: