Bullet Collision Detection & Physics Library
Classes | Macros | Enumerations | Functions
btBoxCollision.h File Reference
#include "LinearMath/btTransform.h"
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. More...
 
#define BT_MAX(a, b)   (a < b ? b : a)
 
#define BT_MIN(a, b)   (a > b ? b : a)
 
#define BT_GREATER(x, y)   btFabs(x) > (y)
 
#define BT_MAX3(a, b, c)   BT_MAX(a, BT_MAX(b, c))
 
#define BT_MIN3(a, b, c)   BT_MIN(a, BT_MIN(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. More...
 
bool btCompareTransformsEqual (const btTransform &t1, const btTransform &t2)
 Compairison of transformation objects. More...
 

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,
 
)    btFabs(x) > (y)

Definition at line 40 of file btBoxCollision.h.

◆ BT_MAX

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

Definition at line 37 of file btBoxCollision.h.

◆ BT_MAX3

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

Definition at line 42 of file btBoxCollision.h.

◆ BT_MIN

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

Definition at line 38 of file btBoxCollision.h.

◆ BT_MIN3

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

Definition at line 43 of file btBoxCollision.h.

◆ BT_SWAP_NUMBERS

#define BT_SWAP_NUMBERS (   a,
 
)
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; \
}

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 610 of file btBoxCollision.h.

btScalar
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
Definition: btScalar.h:314