Bullet Collision Detection & Physics Library: btBoxCollision.h File Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

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

#define BOX_PLANE_EPSILON 0.000001f

Definition at line 226 of file btBoxCollision.h.

#define BT_GREATER | ( |  | x,
|  |  | y
| ) |  | btFabs(x) > (y)

Definition at line 41 of file btBoxCollision.h.

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

Definition at line 38 of file btBoxCollision.h.

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

Definition at line 43 of file btBoxCollision.h.

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

Definition at line 39 of file btBoxCollision.h.

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

Definition at line 44 of file btBoxCollision.h.

#define BT_SWAP_NUMBERS | ( |  | a,
|  |  | b
| ) |  |

Value:
{ \
a = a+b; \
b = a-b; \
a = a-b; \
}\

Swap numbers.

Definition at line 31 of file btBoxCollision.h.

#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;\
}\
BT_SWAP_NUMBERS
#define BT_SWAP_NUMBERS(a, b)
Swap numbers.
Definition: btBoxCollision.h:31
btScalar
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
Definition: btScalar.h:278

Definition at line 119 of file btBoxCollision.h.

#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);\
}\
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)
Definition: btBoxCollision.h:119

Definition at line 136 of file btBoxCollision.h.

#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);\
}\
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)
Definition: btBoxCollision.h:119

Definition at line 141 of file btBoxCollision.h.

#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);\
}\
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)
Definition: btBoxCollision.h:119

Definition at line 146 of file btBoxCollision.h.

## Enumeration Type Documentation

enum eBT_PLANE_INTERSECTION_TYPE

Enumerator
BT_CONST_BACK_PLANE |
BT_CONST_COLLIDE_PLANE |
BT_CONST_FRONT_PLANE |

Definition at line 51 of file btBoxCollision.h.

## Function Documentation

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

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

Compairison of transformation objects.

Definition at line 633 of file btBoxCollision.h.