Bullet2CollisionSdk.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef BULLET2_COLLISION_SDK_H
  2. #define BULLET2_COLLISION_SDK_H
  3. #include "CollisionSdkInterface.h"
  4. class Bullet2CollisionSdk : public CollisionSdkInterface
  5. {
  6. struct Bullet2CollisionSdkInternalData* m_internalData;
  7. public:
  8. Bullet2CollisionSdk();
  9. virtual ~Bullet2CollisionSdk();
  10. virtual plCollisionWorldHandle createCollisionWorld(int maxNumObjsCapacity, int maxNumShapesCapacity, int maxNumPairsCapacity);
  11. virtual void deleteCollisionWorld(plCollisionWorldHandle worldHandle);
  12. virtual plCollisionShapeHandle createSphereShape(plCollisionWorldHandle worldHandle, plReal radius);
  13. virtual plCollisionShapeHandle createPlaneShape(plCollisionWorldHandle worldHandle,
  14. plReal planeNormalX,
  15. plReal planeNormalY,
  16. plReal planeNormalZ,
  17. plReal planeConstant);
  18. virtual plCollisionShapeHandle createCapsuleShape(plCollisionWorldHandle worldHandle,
  19. plReal radius,
  20. plReal height,
  21. int capsuleAxis);
  22. virtual plCollisionShapeHandle createCompoundShape(plCollisionWorldHandle worldHandle);
  23. virtual void addChildShape(plCollisionWorldHandle worldHandle,plCollisionShapeHandle compoundShape, plCollisionShapeHandle childShape,plVector3 childPos,plQuaternion childOrn);
  24. virtual void deleteShape(plCollisionWorldHandle worldHandle, plCollisionShapeHandle shape);
  25. virtual void addCollisionObject(plCollisionWorldHandle world, plCollisionObjectHandle object);
  26. virtual void removeCollisionObject(plCollisionWorldHandle world, plCollisionObjectHandle object);
  27. virtual plCollisionObjectHandle createCollisionObject( plCollisionWorldHandle worldHandle, void* userPointer, int userIndex, plCollisionShapeHandle cshape ,
  28. plVector3 startPosition,plQuaternion startOrientation );
  29. virtual void deleteCollisionObject(plCollisionObjectHandle body);
  30. virtual void setCollisionObjectTransform(plCollisionWorldHandle world, plCollisionObjectHandle body,
  31. plVector3 position,plQuaternion orientation );
  32. virtual int collide(plCollisionWorldHandle world,plCollisionObjectHandle colA, plCollisionObjectHandle colB,
  33. lwContactPoint* pointsOut, int pointCapacity);
  34. virtual void collideWorld( plCollisionWorldHandle world,
  35. plNearCallback filter, void* userData);
  36. static plCollisionSdkHandle createBullet2SdkHandle();
  37. };
  38. #endif //BULLET2_COLLISION_SDK_H