i want to add many static sphere objects (representing a point cloud) and a static triangle mesh and check for collisions.
Currently i'm doing something like this:
First, i set up my collision world:
Code: Select all
btVector3 worldAabbMin( -1000, -1000 , -1000 );
btVector3 worldAabbMax( 1000 , 1000 , 1000 );
m_collisionConfiguration = new btDefaultCollisionConfiguration();
m_collisionDispatcher = new btCollisionDispatcher( m_collisionConfiguration );
m_collisionBPI = new bt32BitAxisSweep3( worldAabbMin, worldAabbMax );
m_collisionWorld = new btCollisionWorld( m_collisionDispatcher, m_collisionBPI , m_collisionConfiguration );
Code: Select all
const unsigned int size = 50;
btCollisionShape * collisionShape = new btSphereShape( 0.45 );
btCollisionObject * collisionObjects = new btCollisionObject[size*size*size];
for ( unsigned int collisionObjectN = 0 ; collisionObjectN < size*size*size ; collisionObjectN++ )
{
collisionObjects[collisionObjectN].setCollisionShape( collisionShape );
collisionObjects[collisionObjectN].setCollisionFlags( btCollisionObject::CF_STATIC_OBJECT );
collisionObjects[collisionObjectN].getWorldTransform().setOrigin(
btVector3
(
double(collisionObjectN % size) * 5.0,
double(collisionObjectN / (size)) * 5.0,
double(collisionObjectN / (size*size)) * 5.0
)
);
m_collisionWorld->addCollisionObject( &collisionObjects[collisionObjectN] );
}
Thank you very much!
Patrick