Code: Select all
#include <windows.h>
#include <iostream>
#include "btBulletCollisionCommon.h"
int main(int argc, char** argv) {
btCollisionConfiguration* pConfig = new btDefaultCollisionConfiguration();
btDispatcher* pDispatch = new btCollisionDispatcher(pConfig);
btBroadphaseInterface* pBroadInterface = new btSimpleBroadphase();
btCollisionWorld* pWorld = new btCollisionWorld(pDispatch, pBroadInterface, pConfig);
btCollisionObject* pObj = new btCollisionObject();
btConvexShape* pCone = new btConeShape(1.0f, 1.0f);
pObj->setCollisionShape(pCone);
pWorld->addCollisionObject(pObj, 1, 1);
btMatrix3x3 iden;
iden.setIdentity();
btCollisionWorld::ClosestConvexResultCallback ret(btVector3(-5, 0, 0), btVector3(5, 0, 0));
pWorld->convexSweepTest(pCone, btTransform(iden, btVector3(-5, 0, 0)), btTransform(iden, btVector3(5, 0, 0)), ret, 1);
std::cout << ret.HasHit() << " " << ret.m_closestHitFraction << std::endl;
std::cin.get();
return 0;
}
Thanks in advance,
javadlux
EDIT: PSS: I forgot to mention... this code as it is gives an assert error, apparently it's trying to take the acos of a number greater than 1!)