FORMAT
-
#include <Ninja.h>
Int njCollisionCheckBC( *box, *capsule )
NJS_BOX *box
NJS_CAPSULE *capsule
PARAMETERS
- *box
- Hexahedron to be collision checked
- *capsule
- Capsule to be collision checked
RETURN VALUE
-
1: Hit
0: Not hit
ERROR VALUE
- None
FUNCTION
- Checks collision for a hexahedron and a capsule
EXAMPLE
- Hexahedron (box) and capsule (capsule) collision checking.
NJS_BOX box;
NJS_CAPSULE capsule;
box.v[0].x = -150.f; box.v[0].y = 100.f; box.v[0].z = 100;
box.v[1].x = -150.f; box.v[1].y = 100.f; box.v[1].z = -100;
box.v[2].x = 50.f; box.v[2].y = 100.f; box.v[2].z = -100;
box.v[3].x = 50.f; box.v[3].y = 100.f; box.v[3].z = 100;
box.v[4].x = -150.f; box.v[4].y = -100.f; box.v[4].z = 100;
box.v[5].x = -150.f; box.v[5].y = -100.f; box.v[5].z = -100;
box.v[6].x = 50.f; box.v[6].y = -100.f; box.v[6].z = -100;
box.v[7].x = 50.f; box.v[7].y = -100.f; box.v[7].z = 100;
capsule.c1.x = 100.f;
capsule.c1.y = 0.f;
capsule.c1.z = 0.f;
capsule.c2.x = 200.f;
capsule.c2.y = 0.f;
capsule.c2.z = 0.f;
capsule.r = 100.f;
njCollisionCheckBC(&box, &capsule);
Result
Return value: 1
NOTES
- Hexahedron (box) and capsule (capsule) collision checking.
NJS_BOX box;
NJS_CAPSULE capsule;
box.v[0].x = -150.f; box.v[0].y = 100.f; box.v[0].z = 100;
box.v[1].x = -150.f; box.v[1].y = 100.f; box.v[1].z = -100;
box.v[2].x = 50.f; box.v[2].y = 100.f; box.v[2].z = -100;
box.v[3].x = 50.f; box.v[3].y = 100.f; box.v[3].z = 100;
box.v[4].x = -150.f; box.v[4].y = -100.f; box.v[4].z = 100;
box.v[5].x = -150.f; box.v[5].y = -100.f; box.v[5].z = -100;
box.v[6].x = 50.f; box.v[6].y = -100.f; box.v[6].z = -100;
box.v[7].x = 50.f; box.v[7].y = -100.f; box.v[7].z = 100;
capsule.c1.x = 100.f;
capsule.c1.y = 0.f;
capsule.c1.z = 0.f;
capsule.c2.x = 200.f;
capsule.c2.y = 0.f;
capsule.c2.z = 0.f;
capsule.r = 100.f;
njCollisionCheckBC(&box, &capsule);
Result
Return value : 1
RELATED TOPICS
-
- NJS_BOX structure(box type)
typedef struct{
NJS_POINT3 v[8]; /* vertex list for hexahedron */
} NJS_BOX;
- Corresponding vertices with vertex list index
- NJS_CAPSULE structure(capsule type)
typedef struct{
NJS_POINT3 c1;
NJS_POINT3 c2;
Float r;
} NJS_CAPSULE;
- A capsule consisted of a half sphere with center coordinate = c1 and radius = r on the one side, and another half sphere with center coordinate = c2 and radius = r on the other side.