Blender V2.61 - r43446
Classes | Functions

btCompoundShape.h File Reference

#include "btCollisionShape.h"
#include "LinearMath/btVector3.h"
#include "LinearMath/btTransform.h"
#include "LinearMath/btMatrix3x3.h"
#include "btCollisionMargin.h"
#include "LinearMath/btAlignedObjectArray.h"

Go to the source code of this file.

Classes

struct  btCompoundShapeChildData
 do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 More...
struct  btCompoundShapeData
 do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64 More...

Functions

 ATTRIBUTE_ALIGNED16 (struct) btCompoundShapeChild
SIMD_FORCE_INLINE bool operator== (const btCompoundShapeChild &c1, const btCompoundShapeChild &c2)
 ATTRIBUTE_ALIGNED16 (class) btCompoundShape

Function Documentation

ATTRIBUTE_ALIGNED16 ( struct  )

Definition at line 30 of file btCompoundShape.h.

References BT_DECLARE_ALIGNED_ALLOCATOR.

ATTRIBUTE_ALIGNED16 ( class  )

The btCompoundShape allows to store multiple other btCollisionShapes This allows for moving concave collision objects. This is more general then the static concave btBvhTriangleMeshShape. It has an (optional) dynamic aabb tree to accelerate early rejection tests.

Todo:
: This aabb tree can also be use to speed up ray tests on btCompoundShape, see http://code.google.com/p/bullet/issues/detail?id=25 Currently, removal of child shapes is only supported when disabling the aabb tree (pass 'false' in the constructor of btCompoundShape)

increment m_updateRevision when adding/removing/replacing child shapes, so that some caches can be updated

Remove all children shapes that contain the specified shape

set a new transform for a child, and update internal data structures (local aabb and dynamic tree)

getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version

Re-calculate the local Aabb. Is called at the end of removeChildShapes. Use this yourself if you modify the children or their transforms.

computes the exact moment of inertia and the transform from the coordinate system defined by the principal axes of the moment of inertia and the center of mass to the current coordinate system. "masses" points to an array of masses of the children. The resulting transform "principal" has to be applied inversely to all children transforms in order for the local coordinate system of the compound shape to be centered at the center of mass and to coincide with the principal axes. This also necessitates a correction of the world transform of the collision object by the principal transform.

fills the dataBuffer and returns the struct name (and 0 on failure)

Definition at line 54 of file btCompoundShape.h.

References BT_DECLARE_ALIGNED_ALLOCATOR, and btAlignedObjectArray< T >::size().

SIMD_FORCE_INLINE bool operator== ( const btCompoundShapeChild &  c1,
const btCompoundShapeChild &  c2 
)

Definition at line 41 of file btCompoundShape.h.