Blender V2.61 - r43446
|
#include "LinearMath/btTransform.h"
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. | |
ATTRIBUTE_ALIGNED16 (class) BT_BOX_BOX_TRANSFORM_CACHE | |
Class for transforming a model1 to the space of model0. | |
SIMD_FORCE_INLINE bool | btCompareTransformsEqual (const btTransform &t1, const btTransform &t2) |
Compairison of transformation objects. |
#define BOX_PLANE_EPSILON 0.000001f |
Definition at line 228 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 | |||
) |
{ \ a = a+b; \ b = a-b; \ a = a-b; \ }\
Swap numbers.
Definition at line 31 of file btBoxCollision.h.
Referenced by bt_segment_collision().
#define TEST_CROSS_EDGE_BOX_MCR | ( | edge, | |
absolute_edge, | |||
pointa, | |||
pointb, | |||
_extend, | |||
i_dir_0, | |||
i_dir_1, | |||
i_comp_0, | |||
i_comp_1 | |||
) |
{\ 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 | |||
) |
{\ 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 | |||
) |
{\ 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 | |||
) |
{\ TEST_CROSS_EDGE_BOX_MCR(edge,absolute_edge,pointa,pointb,_extend,1,0,0,1);\ }\
Definition at line 146 of file btBoxCollision.h.
Definition at line 51 of file btBoxCollision.h.
ATTRIBUTE_ALIGNED16 | ( | class | ) |
Class for transforming a model1 to the space of model0.
Axis aligned box.
< Transforms translation of model1 to model 0
< Transforms Rotation of model1 to model 0, equal to R0' * R1
< Absolute value of m_R1to0
Calc the transformation relative 1 to 0. Inverts matrics by transposing
Calcs the full invertion of the matrices. Useful for scaling matrices
Apply a transform to an AABB
Apply a transform to an AABB
Merges a Box
Merges a point
Gets the extend and center
Finds the intersecting box between this box and the other.
Finds the Ray intersection parameter.
aabb | Aligned box |
vorigin | A vec3f with the origin of the ray |
vdir | A vec3f with the direction of the ray |
transcache is the transformation cache from box to this AABB
Simple test for planes.
test for a triangle, with edges
Definition at line 161 of file btBoxCollision.h.
References btFabs(), dot(), credits_svn_gen::e, btTransform::getBasis(), btTransform::getOrigin(), i, btMatrix3x3::inverse(), btTransform::inverse(), SIMD_FORCE_INLINE, and transform().
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 | ||
) |
Compairison of transformation objects.
Definition at line 635 of file btBoxCollision.h.
References btTransform::getBasis(), btTransform::getOrigin(), and btMatrix3x3::getRow().