njCollisionCheckBC Japanese
<-|INDEX|->
Checks collision for a hexahedron and a capsule.

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.

njCollisionCheckBC
<-|INDEX|->

Copyright SEGA ENTERPRISES, LTD., 1997