Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
n_aabb.c
Go to the documentation of this file.
1
8#include "nilorea/n_common.h"
9#include "nilorea/n_log.h"
10#include "nilorea/n_str.h"
11#include "nilorea/n_aabb.h"
12
24{
25 AABB3D box;
26 box.xMin = xMin;
27 box.yMin = yMin;
28 box.zMin = zMin;
29 box.xMax = xMax;
30 box.yMax = yMax;
31 box.zMax = zMax;
32 return box;
33}
34
44{
45 return (x >= box.xMin && x <= box.xMax &&
46 y >= box.yMin && y <= box.yMax &&
47 z >= box.zMin && z <= box.zMax);
48}
49
57{
58 return (box1.xMin <= box2.xMax && box1.xMax >= box2.xMin &&
59 box1.yMin <= box2.yMax && box1.yMax >= box2.yMin &&
60 box1.zMin <= box2.zMax && box1.zMax >= box2.zMin);
61}
AABB_VALUE yMin
first edge y coordinate
Definition n_aabb.h:34
AABB_VALUE yMax
second edge y coordinate
Definition n_aabb.h:40
AABB_VALUE zMax
second edge z coordinate
Definition n_aabb.h:42
AABB_VALUE xMax
second edge x coordinate
Definition n_aabb.h:38
AABB_VALUE xMin
first edge x coordinate
Definition n_aabb.h:32
AABB_VALUE zMin
first edge z coordinate
Definition n_aabb.h:36
bool doAABB3DsIntersect(AABB3D box1, AABB3D box2)
check if two 3D AABBs intersect
Definition n_aabb.c:56
bool isPointInsideAABB3D(AABB3D box, AABB_VALUE x, AABB_VALUE y, AABB_VALUE z)
check if a point is inside a 3D AABB
Definition n_aabb.c:43
double AABB_VALUE
type of a AABB componant
Definition n_aabb.h:26
AABB3D createAABB3D(AABB_VALUE xMin, AABB_VALUE yMin, AABB_VALUE zMin, AABB_VALUE xMax, AABB_VALUE yMax, AABB_VALUE zMax)
create a new AABB3D box
Definition n_aabb.c:23
Axis-Aligned Bounding Box (AABB) algorithm.
Definition n_aabb.h:30
AABB3D module headers.
Common headers and low-level hugly functions & define.
Generic log system.
N_STR and string function declaration.