25 #ifndef GIMPACT_TRIANGLE_SHAPE_EX_H    26 #define GIMPACT_TRIANGLE_SHAPE_EX_H    35 #define MAX_TRI_CLIPPING 16    89                 btVector3 normal = (m_vertices[1]-m_vertices[0]).cross(m_vertices[2]-m_vertices[0]);
    91                 m_plane.
setValue(normal[0],normal[1],normal[2],m_vertices[0].
dot(normal));
   103                 const btVector3 & e0 = m_vertices[edge_index];
   104                 const btVector3 & e1 = m_vertices[(edge_index+1)%3];
   110                 m_vertices[0] = t(m_vertices[0]);
   111                 m_vertices[1] = t(m_vertices[1]);
   112                 m_vertices[2] = t(m_vertices[2]);
   157                 btAABB trianglebox(tv0,tv1,tv2,m_collisionMargin);
   158                 aabbMin = trianglebox.
m_min;
   159                 aabbMax = trianglebox.
m_max;
   164                 m_vertices1[0] = t(m_vertices1[0]);
   165                 m_vertices1[1] = t(m_vertices1[1]);
   166                 m_vertices1[2] = t(m_vertices1[2]);
   171                 btVector3 normal = (m_vertices1[1]-m_vertices1[0]).cross(m_vertices1[2]-m_vertices1[0]);
   173                 plane.
setValue(normal[0],normal[1],normal[2],m_vertices1[0].
dot(normal));
   180 #endif //GIMPACT_TRIANGLE_MESH_SHAPE_H btTriangleShapeEx(const btVector3 &p0, const btVector3 &p1, const btVector3 &p2)
Helper class for colliding Bullet Triangle Shapes. 
void bt_edge_plane(const btVector3 &e1, const btVector3 &e2, const btVector3 &normal, btVector4 &plane)
Calc a plane from a triangle edge an a normal. plane is a vec4f. 
void applyTransform(const btTransform &t)
void buildTriPlane(btVector4 &plane) const 
#define SIMD_FORCE_INLINE
btVector3 & normalize()
Normalize this vector x^2 + y^2 + z^2 = 1. 
void get_edge_plane(int edge_index, btVector4 &plane) const 
Calcs the plane which is paralele to the edge and perpendicular to the triangle plane. 
btVector3 can be used to represent 3D points and vectors. 
virtual void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const 
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicat...
btScalar dot(const btQuaternion &q1, const btQuaternion &q2)
Calculate the dot product between two quaternions. 
btTriangleShapeEx(const btTriangleShapeEx &other)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
void applyTransform(const btTransform &t)
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z, const btScalar &_w)
Set x,y,z and zero w.