Bullet Collision Detection & Physics Library
btBoxCollision.h File Reference
Include dependency graph for btBoxCollision.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BT_BOX_BOX_TRANSFORM_CACHE
 Class for transforming a model1 to the space of model0. More...
 
class  btAABB
 Axis aligned box. More...
 

Macros

#define BT_SWAP_NUMBERS(a, b)
 Swap numbers.
 
#define BT_MAX(a, b)
 
#define BT_MIN(a, b)
 
#define BT_GREATER(x, y)
 
#define BT_MAX3(a, b, c)
 
#define BT_MIN3(a, b, c)
 
#define TEST_CROSS_EDGE_BOX_MCR(edge, absolute_edge, pointa, pointb, _extend, i_dir_0, i_dir_1, i_comp_0, i_comp_1)
 
#define TEST_CROSS_EDGE_BOX_X_AXIS_MCR(edge, absolute_edge, pointa, pointb, _extend)
 
#define TEST_CROSS_EDGE_BOX_Y_AXIS_MCR(edge, absolute_edge, pointa, pointb, _extend)
 
#define TEST_CROSS_EDGE_BOX_Z_AXIS_MCR(edge, absolute_edge, pointa, pointb, _extend)
 
#define BOX_PLANE_EPSILON   0.000001f
 

Enumerations

enum  eBT_PLANE_INTERSECTION_TYPE {
  BT_CONST_BACK_PLANE = 0 ,
  BT_CONST_COLLIDE_PLANE ,
  BT_CONST_FRONT_PLANE
}
 

Functions

btScalar bt_mat3_dot_col (const btMatrix3x3 &mat, const btVector3 &vec3, int colindex)
 Returns the dot product between a vec3f and the col of a matrix.
 
bool btCompareTransformsEqual (const btTransform &t1, const btTransform &t2)
 Compairison of transformation objects.
 

Macro Definition Documentation

◆ BOX_PLANE_EPSILON

#define BOX_PLANE_EPSILON   0.000001f

Definition at line 211 of file btBoxCollision.h.

◆ BT_GREATER

#define BT_GREATER ( x,
y )
Value:
btFabs(x) > (y)
btScalar btFabs(btScalar x)
Definition btScalar.h:497

Definition at line 40 of file btBoxCollision.h.

◆ BT_MAX

#define BT_MAX ( a,
b )
Value:
(a < b ? b : a)

Definition at line 37 of file btBoxCollision.h.

◆ BT_MAX3

#define BT_MAX3 ( a,
b,
c )
Value:
BT_MAX(a, BT_MAX(b, c))
#define BT_MAX(a, b)

Definition at line 42 of file btBoxCollision.h.

◆ BT_MIN

#define BT_MIN ( a,
b )
Value:
(a > b ? b : a)

Definition at line 38 of file btBoxCollision.h.

◆ BT_MIN3

#define BT_MIN3 ( a,
b,
c )
Value:
BT_MIN(a, BT_MIN(b, c))
#define BT_MIN(a, b)

Definition at line 43 of file btBoxCollision.h.

◆ BT_SWAP_NUMBERS

#define BT_SWAP_NUMBERS ( a,
b )
Value:
{ \
a = a + b; \
b = a - b; \
a = a - b; \
}

Swap numbers.

Definition at line 30 of file btBoxCollision.h.

◆ TEST_CROSS_EDGE_BOX_MCR

#define TEST_CROSS_EDGE_BOX_MCR ( edge,
absolute_edge,
pointa,
pointb,
_extend,
i_dir_0,
i_dir_1,
i_comp_0,
i_comp_1 )
Value:
{ \
const btScalar dir0 = -edge[i_dir_0]; \
const btScalar dir1 = edge[i_dir_1]; \
btScalar pmin = pointa[i_comp_0] * dir0 + pointa[i_comp_1] * dir1; \
btScalar pmax = pointb[i_comp_0] * dir0 + pointb[i_comp_1] * dir1; \
if (pmin > pmax) \
{ \
BT_SWAP_NUMBERS(pmin, pmax); \
} \
const btScalar abs_dir0 = absolute_edge[i_dir_0]; \
const btScalar abs_dir1 = absolute_edge[i_dir_1]; \
const btScalar rad = _extend[i_comp_0] * abs_dir0 + _extend[i_comp_1] * abs_dir1; \
if (pmin > rad || -rad > pmax) return false; \
}
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
Definition btScalar.h:314

Definition at line 112 of file btBoxCollision.h.

◆ TEST_CROSS_EDGE_BOX_X_AXIS_MCR

#define TEST_CROSS_EDGE_BOX_X_AXIS_MCR ( edge,
absolute_edge,
pointa,
pointb,
_extend )
Value:
{ \
TEST_CROSS_EDGE_BOX_MCR(edge, absolute_edge, pointa, pointb, _extend, 2, 1, 1, 2); \
}

Definition at line 128 of file btBoxCollision.h.

◆ TEST_CROSS_EDGE_BOX_Y_AXIS_MCR

#define TEST_CROSS_EDGE_BOX_Y_AXIS_MCR ( edge,
absolute_edge,
pointa,
pointb,
_extend )
Value:
{ \
TEST_CROSS_EDGE_BOX_MCR(edge, absolute_edge, pointa, pointb, _extend, 0, 2, 2, 0); \
}

Definition at line 133 of file btBoxCollision.h.

◆ TEST_CROSS_EDGE_BOX_Z_AXIS_MCR

#define TEST_CROSS_EDGE_BOX_Z_AXIS_MCR ( edge,
absolute_edge,
pointa,
pointb,
_extend )
Value:
{ \
TEST_CROSS_EDGE_BOX_MCR(edge, absolute_edge, pointa, pointb, _extend, 1, 0, 0, 1); \
}

Definition at line 138 of file btBoxCollision.h.

Enumeration Type Documentation

◆ eBT_PLANE_INTERSECTION_TYPE

Enumerator
BT_CONST_BACK_PLANE 
BT_CONST_COLLIDE_PLANE 
BT_CONST_FRONT_PLANE 

Definition at line 45 of file btBoxCollision.h.

Function Documentation

◆ bt_mat3_dot_col()

btScalar bt_mat3_dot_col ( const btMatrix3x3 & mat,
const btVector3 & vec3,
int colindex )
inline

Returns the dot product between a vec3f and the col of a matrix.

Definition at line 144 of file btBoxCollision.h.

◆ btCompareTransformsEqual()

bool btCompareTransformsEqual ( const btTransform & t1,
const btTransform & t2 )
inline

Compairison of transformation objects.

Definition at line 622 of file btBoxCollision.h.