12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef COLLISION_SDK_INTERFACE_H
- #define COLLISION_SDK_INTERFACE_H
- #include "../CollisionSdkC_Api.h"
- class CollisionSdkInterface
- {
- public:
-
- virtual ~CollisionSdkInterface()
- {
- }
-
- virtual plCollisionWorldHandle createCollisionWorld(int maxNumObjsCapacity, int maxNumShapesCapacity, int maxNumPairsCapacity) = 0;
-
- virtual void deleteCollisionWorld(plCollisionWorldHandle worldHandle) = 0;
-
- virtual plCollisionShapeHandle createSphereShape(plCollisionWorldHandle worldHandle, plReal radius) = 0;
- virtual plCollisionShapeHandle createPlaneShape(plCollisionWorldHandle worldHandle,
- plReal planeNormalX,
- plReal planeNormalY,
- plReal planeNormalZ,
- plReal planeConstant) = 0;
-
- virtual plCollisionShapeHandle createCapsuleShape(plCollisionWorldHandle worldHandle,
- plReal radius,
- plReal height,
- int capsuleAxis) = 0;
- virtual plCollisionShapeHandle createCompoundShape(plCollisionWorldHandle worldHandle) = 0;
- virtual void addChildShape(plCollisionWorldHandle worldHandle,plCollisionShapeHandle compoundShape, plCollisionShapeHandle childShape,plVector3 childPos,plQuaternion childOrn)=0;
- virtual void deleteShape(plCollisionWorldHandle worldHandle, plCollisionShapeHandle shape) = 0;
-
- virtual void addCollisionObject(plCollisionWorldHandle world, plCollisionObjectHandle object)=0;
- virtual void removeCollisionObject(plCollisionWorldHandle world, plCollisionObjectHandle object)=0;
-
- virtual plCollisionObjectHandle createCollisionObject( plCollisionWorldHandle worldHandle, void* userPointer, int userIndex, plCollisionShapeHandle cshape ,
- plVector3 startPosition,plQuaternion startOrientation )=0;
- virtual void deleteCollisionObject(plCollisionObjectHandle body)=0;
- virtual void setCollisionObjectTransform(plCollisionWorldHandle world, plCollisionObjectHandle body,
- plVector3 position,plQuaternion orientation )=0;
-
- virtual int collide(plCollisionWorldHandle world,plCollisionObjectHandle colA, plCollisionObjectHandle colB,
- lwContactPoint* pointsOut, int pointCapacity)=0;
-
- virtual void collideWorld( plCollisionWorldHandle world,
- plNearCallback filter, void* userData)=0;
-
- };
- #endif //COLLISION_SDK_INTERFACE_H
|