bullet3/examples/Collision/Internal/CollisionSdkInterface.h
erwincoumans ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00

52 lines
2.2 KiB
C++

#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