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.

Defines

#define BT_SWAP_NUMBERS(a, b)
 Swap numbers.
#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

SIMD_FORCE_INLINE 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.
SIMD_FORCE_INLINE void calc_absolute_matrix ()
 BT_BOX_BOX_TRANSFORM_CACHE ()
SIMD_FORCE_INLINE void calc_from_homogenic (const btTransform &trans0, const btTransform &trans1)
 Calc the transformation relative 1 to 0. Inverts matrics by transposing.
SIMD_FORCE_INLINE void calc_from_full_invert (const btTransform &trans0, const btTransform &trans1)
 Calcs the full invertion of the matrices. Useful for scaling matrices.
SIMD_FORCE_INLINE btVector3 transform (const btVector3 &point) const
SIMD_FORCE_INLINE bool btCompareTransformsEqual (const btTransform &t1, const btTransform &t2)
 Axis aligned box.

Variables

btVector3 m_T1to0
 Class for transforming a model1 to the space of model0.
btMatrix3x3 m_R1to0
 Transforms Rotation of model1 to model 0, equal to R0' * R1.
btMatrix3x3 m_AR
 Absolute value of m_R1to0.

Define Documentation

#define BOX_PLANE_EPSILON   0.000001f

Definition at line 228 of file btBoxCollision.h.

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

Definition at line 41 of file btBoxCollision.h.

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

Definition at line 38 of file btBoxCollision.h.

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

Definition at line 43 of file btBoxCollision.h.

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

Definition at line 39 of file btBoxCollision.h.

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

Definition at line 44 of file btBoxCollision.h.

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

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);\
}\

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);\
}\

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);\
}\

Definition at line 146 of file btBoxCollision.h.


Enumeration Type Documentation

Enumerator:
BT_CONST_BACK_PLANE 
BT_CONST_COLLIDE_PLANE 
BT_CONST_FRONT_PLANE 

Definition at line 51 of file btBoxCollision.h.


Function Documentation

BT_BOX_BOX_TRANSFORM_CACHE (  ) 

Definition at line 187 of file btBoxCollision.h.

SIMD_FORCE_INLINE 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.

Definition at line 153 of file btBoxCollision.h.

SIMD_FORCE_INLINE bool btCompareTransformsEqual ( const btTransform t1,
const btTransform t2 
)

Axis aligned box.

Compairison of transformation objects

Definition at line 635 of file btBoxCollision.h.

SIMD_FORCE_INLINE void calc_absolute_matrix (  ) 

Definition at line 168 of file btBoxCollision.h.

SIMD_FORCE_INLINE void calc_from_full_invert ( const btTransform trans0,
const btTransform trans1 
)

Calcs the full invertion of the matrices. Useful for scaling matrices.

Definition at line 208 of file btBoxCollision.h.

SIMD_FORCE_INLINE void calc_from_homogenic ( const btTransform trans0,
const btTransform trans1 
)

Calc the transformation relative 1 to 0. Inverts matrics by transposing.

Definition at line 194 of file btBoxCollision.h.

SIMD_FORCE_INLINE btVector3 transform ( const btVector3 point  )  const

Definition at line 219 of file btBoxCollision.h.


Variable Documentation

Absolute value of m_R1to0.

Definition at line 166 of file btBoxCollision.h.

Transforms Rotation of model1 to model 0, equal to R0' * R1.

Definition at line 165 of file btBoxCollision.h.

Class for transforming a model1 to the space of model0.

Transforms translation of model1 to model 0

Definition at line 164 of file btBoxCollision.h.


Generated on Mon Feb 15 22:17:24 2010 for Bullet Collision Detection & Physics Library by  doxygen 1.6.1