#include "raycast.h"
#include "irr_v3d.h"
#include "irr_aabb3d.h"
#include <quaternion.h>
#include "constants.h"
Functions | |
bool | boxLineCollision (const aabb3f &box, const v3f start, const v3f dir, v3f *collision_point, v3f *collision_normal) |
bool | boxLineCollision (const aabb3f &box, const v3f rotation, const v3f start, const v3f dir, v3f *collision_point, v3f *collision_normal, v3f *raw_collision_normal) |
bool boxLineCollision | ( | const aabb3f & | box, |
v3f | start, | ||
v3f | dir, | ||
v3f * | collision_point, | ||
v3f * | collision_normal ) |
Checks if a line and a box intersects.
[in] | box | box to test collision |
[in] | start | starting point of the line |
[in] | dir | direction and length of the line |
[out] | collision_point | first point of the collision |
[out] | collision_normal | normal vector at the collision, points outwards of the surface. If start is in the box, zero vector. |
References dir().
Referenced by boxLineCollision(), Environment::continueRaycast(), ClientEnvironment::getSelectedActiveObjects(), and ServerEnvironment::getSelectedActiveObjects().