Nilorea Library
C utilities for networking, threading, graphics
Loading...
Searching...
No Matches
n_aabb.c
Go to the documentation of this file.
1
9#include "nilorea/n_common.h"
10#include "nilorea/n_log.h"
11#include "nilorea/n_str.h"
12#include "nilorea/n_aabb.h"
13
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 return (x >= box.xMin && x <= box.xMax &&
45 y >= box.yMin && y <= box.yMax &&
46 z >= box.zMin && z <= box.zMax);
47}
48
56 return (box1.xMin <= box2.xMax && box1.xMax >= box2.xMin &&
57 box1.yMin <= box2.yMax && box1.yMax >= box2.yMin &&
58 box1.zMin <= box2.zMax && box1.zMax >= box2.zMin);
59}
AABB_VALUE yMin
first edge y coordinate
Definition n_aabb.h:33
AABB_VALUE yMax
second edge y coordinate
Definition n_aabb.h:39
AABB_VALUE zMax
second edge z coordinate
Definition n_aabb.h:41
AABB_VALUE xMax
second edge x coordinate
Definition n_aabb.h:37
AABB_VALUE xMin
first edge x coordinate
Definition n_aabb.h:31
AABB_VALUE zMin
first edge z coordinate
Definition n_aabb.h:35
bool doAABB3DsIntersect(AABB3D box1, AABB3D box2)
check if two 3D AABBs intersect
Definition n_aabb.c:55
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 component
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:24
Axis-Aligned Bounding Box (AABB) algorithm.
Definition n_aabb.h:29
AABB3D module headers.
Common headers and low-level functions & define.
Generic log system.
N_STR and string function declaration.