LibGame v0.4.0
The LG Game Engine - Copyright (C) 2024-2026 ETMSoftware
Loading...
Searching...
No Matches
lg_collision_detect.h
1/*
2 * LibGame - Copyright (C) Emmanuel Thomas-Maurin 2011-2026
3 * All rights reserved
4 */
5
6#ifndef LG_COLLISION_DETECT_H
7#define LG_COLLISION_DETECT_H
8
9/* Axis-aligned bounding box, now defined in lg_mesh.h */
10/*typedef union {
11 struct {
12 float min_x;
13 float max_x;
14 float min_y;
15 float max_y;
16 float min_z;
17 float max_z;
18 };
19 //
20} LG_BBox;*/
21
22/* Bounding sphere */
23typedef union {
24 struct {
25 vec3_t center;
26 float radius;
27 };
28 struct {
29 float x;
30 float y;
31 float z;
32 float r;
33 };
35
36LG_BBox lg_bbox(float, float, float, float, float, float);
37
39
41
43
45
46/* Not sure about that so discarded for now
47zboolean lg_bbox_is_AA(LG_BBox *);*/
48
50
51zboolean lg_bboxes_collide(LG_BBox *, LG_BBox *);
52
53zboolean lg_bbox_sets_collide(LG_BBox **, LG_BBox **);
54
56
57void lg_bbox_info(LG_BBox *);
58
59LG_BSphere lg_bsphere(float, float, float, float);
60
62
64
66
68
70
71#endif /* LG_COLLISION_DETECT_H */
LG_BSphere lg_bsphere_from_bbox(LG_BBox bbox)
Definition lg_collision_detect.c:352
vec3_t lg_bbox_get_center(LG_BBox *bbox)
Definition lg_collision_detect.c:204
zboolean lg_bboxes_collide(LG_BBox *bbox1, LG_BBox *bbox2)
Definition lg_collision_detect.c:216
void lg_bsphere_info(LG_BSphere bsphere)
Definition lg_collision_detect.c:427
LG_BSphere lg_bsphere_from_mesh(LG_Mesh *mesh)
Definition lg_collision_detect.c:377
void lg_bbox_info(LG_BBox *bbox)
Definition lg_collision_detect.c:304
LG_BBox lg_bbox(float min_x, float max_x, float min_y, float max_y, float min_z, float max_z)
Definition lg_collision_detect.c:29
LG_BBox lg_bbox_from_mesh(LG_Mesh *mesh)
Definition lg_collision_detect.c:141
zboolean lg_bsphere_sets_collide(LG_BSphere *bsphere1[], LG_BSphere *bsphere2[])
Definition lg_collision_detect.c:405
LG_BBox lg_bbox_from_cuboid(LG_Cuboid *cuboid)
Definition lg_collision_detect.c:61
LG_Cuboid lg_cuboid_from_bbox(LG_BBox bbox, LG_Color_u c)
Definition lg_collision_detect.c:116
Lines3D_VB lg_l3d_vb_from_bbox(LG_BBox bbox, LG_Color_u c)
Definition lg_collision_detect.c:275
zboolean lg_bbox_sets_collide(LG_BBox *bbox1[], LG_BBox *bbox2[])
Definition lg_collision_detect.c:234
LG_BSphere lg_bsphere(float x_center, float y_center, float z_center, float radius)
Definition lg_collision_detect.c:328
zboolean lg_bspheres_collide(LG_BSphere *bsphere1, LG_BSphere *bsphere2)
Definition lg_collision_detect.c:389
LG_BBox lg_bbox_transform(LG_BBox bbox, mat4_t matrix)
Definition lg_collision_detect.c:153
Definition lg_vertex.h:111
Definition lg_3d_primitives.h:67
Definition lg_mesh.h:84
Definition lg_3d_primitives.h:53
Definition math_3d.h:123
Definition lg_mesh.h:45
Definition lg_collision_detect.h:23
Definition math_3d.h:179