26 #define CALC_EXACT_INERTIA 1    32 #ifdef CALC_EXACT_INERTIA    41                 m_childShapes[i]->calculateLocalInertia(shapemass,temp_inertia);
    65         inertia = scaledmass * (
btVector3(y2+z2,x2+z2,x2+y2));
    78 #ifdef CALC_EXACT_INERTIA    81         int i = this->getVertexCount();
    87                 this->getVertex(i,pointintertia);
    89                 inertia+=pointintertia;
   104         inertia = scaledmass * (
btVector3(y2+z2,x2+z2,x2+y2));
   114 #ifdef CALC_EXACT_INERTIA   117         int i = this->getMeshPartCount();
   123                 getMeshPart(i)->calculateLocalInertia(partmass,partinertia);
   124                 inertia+=partinertia;
   139         inertia = scaledmass * (
btVector3(y2+z2,x2+z2,x2+y2));
   157         if(collided.
size()==0)
   163         int part = (int)getPart();
   165         int i = collided.
size();
   184         if(collided.
size()==0)
   190         int part = (int)getPart();
   192         int i = collided.
size();
   204         int i = m_mesh_parts.size();
   207                 m_mesh_parts[i]->processAllTriangles(callback,aabbMin,aabbMax);
   213         int i = m_mesh_parts.size();
   216                 m_mesh_parts[i]->processAllTrianglesRay(callback, rayFrom, rayTo);
   236         return "btGImpactMeshShapeData";
 
void setValue(const btScalar &_x, const btScalar &_y, const btScalar &_z)
virtual void rayTest(const btVector3 &rayFrom, const btVector3 &rayTo, btCollisionWorld::RayResultCallback &resultCallback) const 
virtual method for ray collision 
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const 
virtual void processTriangle(btVector3 *triangle, int partId, int triangleIndex)=0
btScalar m_collisionMargin
RayResultCallback is used to report new raycast results. 
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const 
bool rayQuery(const btVector3 &ray_dir, const btVector3 &ray_origin, btAlignedObjectArray< int > &collided_results) const 
returns the indices of the primitives in the m_primitive_manager 
btGImpactBoxSet m_box_set
virtual bool childrenHasTransform() const 
if true, then its children must get transforms. 
btVector3 & normalize()
Normalize this vector x^2 + y^2 + z^2 = 1. 
btAlignedObjectArray< btTransform > m_childTransforms
int size() const 
return the number of elements in the array 
The btTriangleCallback provides a callback for each overlapping triangle when calling processAllTrian...
virtual void processAllTrianglesRay(btTriangleCallback *callback, const btVector3 &rayFrom, const btVector3 &rayTo) const 
Function for retrieve triangles. 
virtual void processAllTriangles(btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const 
Function for retrieve triangles. 
btVector3 gim_inertia_add_transformed(const btVector3 &source_inertia, const btVector3 &added_inertia, const btTransform &transform)
virtual void lockChildShapes() const 
call when reading child shapes 
virtual void processAllTriangles(btTriangleCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const 
Function for retrieve triangles. 
btStridingMeshInterfaceData m_meshInterface
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const 
fills the dataBuffer and returns the struct name (and 0 on failure) 
virtual void unlockChildShapes() const 
void serializeFloat(struct btVector3FloatData &dataOut) const 
btCollisionShapeData m_collisionShapeData
btVector3 can be used to represent 3D points and vectors. 
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 ...
btVector3 gim_get_point_inertia(const btVector3 &point, btScalar mass)
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const 
Calculates the exact inertia tensor for this shape. 
bool boxQuery(const btAABB &box, btAlignedObjectArray< int > &collided_results) const 
returns the indices of the primitives in the m_primitive_manager 
virtual eGIMPACT_SHAPE_TYPE getGImpactShapeType() const 
Subshape member functions. 
void getPrimitiveTriangle(int index, btPrimitiveTriangle &triangle) const 
if this trimesh 
btVector3FloatData m_localScaling
btAlignedObjectArray< btCollisionShape * > m_childShapes
virtual int getNumChildShapes() const 
Gets the number of children. 
virtual void processAllTrianglesRay(btTriangleCallback *callback, const btVector3 &rayFrom, const btVector3 &rayTo) const 
Function for retrieve triangles. 
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const 
fills the dataBuffer and returns the struct name (and 0 on failure)