BRL-CAD
|
Functions | |
int | bg_sat_line_aabb (point_t origin, vect_t ldir, point_t aabb_center, vect_t aabb_extent) |
Implementation of Separating Axis Theorem intersection tests. More... | |
int | bg_sat_line_obb (point_t origin, vect_t ldir, point_t obb_center, vect_t obb_extent1, vect_t obb_extent2, vect_t obb_extent3) |
int | bg_sat_tri_aabb (point_t v1, point_t v2, point_t v3, point_t aabb_center, vect_t aabb_extent) |
int | bg_sat_tri_obb (point_t v1, point_t v2, point_t v3, point_t obb_center, vect_t obb_extent1, vect_t obb_extent2, vect_t obb_extent3) |
int | bg_sat_aabb_obb (point_t aabb_min, point_t aabb_max, point_t obb_center, vect_t obb_extent1, vect_t obb_extent2, vect_t obb_extent3) |
int | bg_sat_obb_obb (point_t obb1_center, vect_t obb1_extent1, vect_t obb1_extent2, vect_t obb1_extent3, point_t obb2_center, vect_t obb2_extent1, vect_t obb2_extent2, vect_t obb2_extent3) |
Implementation of Separating Axis Theorem intersection tests.
Test for an intersection between a line and an Axis-Aligned Bounding Box (AABB).
Returns 1 if they intersect, 0 otherwise.
int bg_sat_line_obb | ( | point_t | origin, |
vect_t | ldir, | ||
point_t | obb_center, | ||
vect_t | obb_extent1, | ||
vect_t | obb_extent2, | ||
vect_t | obb_extent3 | ||
) |
Test for an intersection between a line and an Oriented Bounding Box (OBB).
Returns 1 if they intersect, 0 otherwise.
Test for an intersection between a triangle and an Axis-Aligned Bounding Box (AABB).
Returns 1 if they intersect, 0 otherwise.
int bg_sat_tri_obb | ( | point_t | v1, |
point_t | v2, | ||
point_t | v3, | ||
point_t | obb_center, | ||
vect_t | obb_extent1, | ||
vect_t | obb_extent2, | ||
vect_t | obb_extent3 | ||
) |
Test for an intersection between a triangle and an Oriented Bounding Box (OBB).
Returns 1 if they intersect, 0 otherwise.
int bg_sat_aabb_obb | ( | point_t | aabb_min, |
point_t | aabb_max, | ||
point_t | obb_center, | ||
vect_t | obb_extent1, | ||
vect_t | obb_extent2, | ||
vect_t | obb_extent3 | ||
) |
Test for an intersection between an Axis-Aligned Bounding Box (AABB) and an Oriented Bounding Box (OBB). The latter is defined by a center point and three perpendicular vectors from the center to the centers of the various faces.
Returns 1 if they intersect, 0 otherwise.
int bg_sat_obb_obb | ( | point_t | obb1_center, |
vect_t | obb1_extent1, | ||
vect_t | obb1_extent2, | ||
vect_t | obb1_extent3, | ||
point_t | obb2_center, | ||
vect_t | obb2_extent1, | ||
vect_t | obb2_extent2, | ||
vect_t | obb2_extent3 | ||
) |
Test for an intersection between two Oriented Bounding Boxes (OBBs). The boxes are defined by a center point and three perpendicular vectors from the center to the centers of the various faces.
Returns 1 if they intersect, 0 otherwise.