![]() |
Blender V2.61 - r43446
|
#include "btBoxBoxDetector.h"#include "BulletCollision/CollisionShapes/btBoxShape.h"#include <float.h>#include <string.h>Go to the source code of this file.
Defines | |
| #define | dDOTpq(a, b, p, q) ((a)[0]*(b)[0] + (a)[p]*(b)[q] + (a)[2*(p)]*(b)[2*(q)]) |
| #define | dInfinity FLT_MAX |
| #define | dMULTIPLYOP1_331(A, op, B, C) |
| #define | dMULTIPLYOP0_331(A, op, B, C) |
| #define | dMULTIPLY1_331(A, B, C) dMULTIPLYOP1_331(A,=,B,C) |
| #define | dMULTIPLY0_331(A, B, C) dMULTIPLYOP0_331(A,=,B,C) |
| #define | M__PI 3.14159265f |
| #define | TST(expr1, expr2, norm, cc) |
| #define | TST(expr1, expr2, n1, n2, n3, cc) |
Typedefs | |
| typedef btScalar | dMatrix3 [4 *3] |
Functions | |
| static btScalar | dDOT (const btScalar *a, const btScalar *b) |
| static btScalar | dDOT44 (const btScalar *a, const btScalar *b) |
| static btScalar | dDOT41 (const btScalar *a, const btScalar *b) |
| static btScalar | dDOT14 (const btScalar *a, const btScalar *b) |
| void | dLineClosestApproach (const btVector3 &pa, const btVector3 &ua, const btVector3 &pb, const btVector3 &ub, btScalar *alpha, btScalar *beta) |
| static int | intersectRectQuad2 (btScalar h[2], btScalar p[8], btScalar ret[16]) |
| void | cullPoints2 (int n, btScalar p[], int m, int i0, int iret[]) |
| int | dBoxBox2 (const btVector3 &p1, const dMatrix3 R1, const btVector3 &side1, const btVector3 &p2, const dMatrix3 R2, const btVector3 &side2, btVector3 &normal, btScalar *depth, int *return_code, int maxc, dContactGeom *, int, btDiscreteCollisionDetectorInterface::Result &output) |
| #define dInfinity FLT_MAX |
Definition at line 52 of file btBoxBoxDetector.cpp.
Referenced by dBoxBox2().
| #define dMULTIPLY0_331 | ( | A, | |
| B, | |||
| C | |||
| ) | dMULTIPLYOP0_331(A,=,B,C) |
Definition at line 79 of file btBoxBoxDetector.cpp.
Referenced by dBoxBox2().
| #define dMULTIPLY1_331 | ( | A, | |
| B, | |||
| C | |||
| ) | dMULTIPLYOP1_331(A,=,B,C) |
Definition at line 78 of file btBoxBoxDetector.cpp.
Referenced by dBoxBox2().
| #define dMULTIPLYOP0_331 | ( | A, | |
| op, | |||
| B, | |||
| C | |||
| ) |
| #define dMULTIPLYOP1_331 | ( | A, | |
| op, | |||
| B, | |||
| C | |||
| ) |
| #define M__PI 3.14159265f |
Definition at line 174 of file btBoxBoxDetector.cpp.
Referenced by cullPoints2().
| #define TST | ( | expr1, | |
| expr2, | |||
| n1, | |||
| n2, | |||
| n3, | |||
| cc | |||
| ) |
s2 = btFabs(expr1) - (expr2); \ if (s2 > SIMD_EPSILON) return 0; \ l = btSqrt((n1)*(n1) + (n2)*(n2) + (n3)*(n3)); \ if (l > SIMD_EPSILON) { \ s2 /= l; \ if (s2*fudge_factor > s) { \ s = s2; \ normalR = 0; \ normalC[0] = (n1)/l; normalC[1] = (n2)/l; normalC[2] = (n3)/l; \ invert_normal = ((expr1) < 0); \ code = (cc); \ } \ }
| #define TST | ( | expr1, | |
| expr2, | |||
| norm, | |||
| cc | |||
| ) |
s2 = btFabs(expr1) - (expr2); \ if (s2 > 0) return 0; \ if (s2 > s) { \ s = s2; \ normalR = norm; \ invert_normal = ((expr1) < 0); \ code = (cc); \ }
Referenced by dBoxBox2().
Definition at line 81 of file btBoxBoxDetector.cpp.
| void cullPoints2 | ( | int | n, |
| btScalar | p[], | ||
| int | m, | ||
| int | i0, | ||
| int | iret[] | ||
| ) |
Definition at line 185 of file btBoxBoxDetector.cpp.
References A, BT_LARGE_FLOAT, btAssert, btAtan2(), btFabs(), KDL::diff(), i, M__PI, and SIMD_EPSILON.
Referenced by dBoxBox2().
| int dBoxBox2 | ( | const btVector3 & | p1, |
| const dMatrix3 | R1, | ||
| const btVector3 & | side1, | ||
| const btVector3 & | p2, | ||
| const dMatrix3 | R2, | ||
| const btVector3 & | side2, | ||
| btVector3 & | normal, | ||
| btScalar * | depth, | ||
| int * | return_code, | ||
| int | maxc, | ||
| dContactGeom * | , | ||
| int | , | ||
| btDiscreteCollisionDetectorInterface::Result & | output | ||
| ) |
Definition at line 262 of file btBoxBoxDetector.cpp.
References A, btDiscreteCollisionDetectorInterface::Result::addContactPoint(), B, btFabs(), cullPoints2(), dDOT(), dDOT14(), dDOT41(), dDOT44(), dInfinity, dLineClosestApproach(), dMULTIPLY0_331, dMULTIPLY1_331, credits_svn_gen::e, i, intersectRectQuad2(), p, pp, TNT::sign(), and TST.
Referenced by btBoxBoxDetector::getClosestPoints().
Definition at line 60 of file btBoxBoxDetector.cpp.
References dDOTpq.
Referenced by dBoxBox2(), and dLineClosestApproach().
| void dLineClosestApproach | ( | const btVector3 & | pa, |
| const btVector3 & | ua, | ||
| const btVector3 & | pb, | ||
| const btVector3 & | ub, | ||
| btScalar * | alpha, | ||
| btScalar * | beta | ||
| ) |
Definition at line 86 of file btBoxBoxDetector.cpp.
References simple_enum_gen::d, dDOT(), and p.
Referenced by dBoxBox2().
Definition at line 120 of file btBoxBoxDetector.cpp.
References i, p, and TNT::sign().
Referenced by dBoxBox2().