Bullet Collision Detection & Physics Library
Classes | Macros | Typedefs | Functions
Bullet-C-Api.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plRayCastResult
 

Macros

#define PL_DECLARE_HANDLE(name)   typedef struct name##__ { int unused; } *name
 

Typedefs

typedef float plReal
 
typedef plReal plVector3 [3]
 
typedef plReal plQuaternion [4]
 
typedef void(* btBroadphaseCallback )(void *clientData, void *object1, void *object2)
 Collision World, not strictly necessary, you can also just create a Dynamics World with Rigid Bodies which internally manages the Collision World with Collision Objects. More...
 
typedef struct plRayCastResult plRayCastResult
 

Functions

 PL_DECLARE_HANDLE (plPhysicsSdkHandle)
 Particular physics SDK (C-API) More...
 
 PL_DECLARE_HANDLE (plDynamicsWorldHandle)
 Dynamics world, belonging to some physics SDK (C-API) More...
 
 PL_DECLARE_HANDLE (plRigidBodyHandle)
 Rigid Body that can be part of a Dynamics World (C-API) More...
 
 PL_DECLARE_HANDLE (plCollisionShapeHandle)
 Collision Shape/Geometry, property of a Rigid Body (C-API) More...
 
 PL_DECLARE_HANDLE (plConstraintHandle)
 Constraint for Rigid Bodies (C-API) More...
 
 PL_DECLARE_HANDLE (plMeshInterfaceHandle)
 Triangle Mesh interface (C-API) More...
 
 PL_DECLARE_HANDLE (plCollisionBroadphaseHandle)
 Broadphase Scene/Proxy Handles (C-API) More...
 
 PL_DECLARE_HANDLE (plBroadphaseProxyHandle)
 
 PL_DECLARE_HANDLE (plCollisionWorldHandle)
 
plPhysicsSdkHandle plNewBulletSdk (void)
 Create and Delete a Physics SDK. More...
 
void plDeletePhysicsSdk (plPhysicsSdkHandle physicsSdk)
 
plCollisionBroadphaseHandle plCreateSapBroadphase (btBroadphaseCallback beginCallback, btBroadphaseCallback endCallback)
 
void plDestroyBroadphase (plCollisionBroadphaseHandle bp)
 
plBroadphaseProxyHandle plCreateProxy (plCollisionBroadphaseHandle bp, void *clientData, plReal minX, plReal minY, plReal minZ, plReal maxX, plReal maxY, plReal maxZ)
 
void plDestroyProxy (plCollisionBroadphaseHandle bp, plBroadphaseProxyHandle proxyHandle)
 
void plSetBoundingBox (plBroadphaseProxyHandle proxyHandle, plReal minX, plReal minY, plReal minZ, plReal maxX, plReal maxY, plReal maxZ)
 
plCollisionWorldHandle plCreateCollisionWorld (plPhysicsSdkHandle physicsSdk)
 
plDynamicsWorldHandle plCreateDynamicsWorld (plPhysicsSdkHandle physicsSdk)
 
void plDeleteDynamicsWorld (plDynamicsWorldHandle world)
 
void plStepSimulation (plDynamicsWorldHandle, plReal timeStep)
 
void plAddRigidBody (plDynamicsWorldHandle world, plRigidBodyHandle object)
 
void plRemoveRigidBody (plDynamicsWorldHandle world, plRigidBodyHandle object)
 
plRigidBodyHandle plCreateRigidBody (void *user_data, float mass, plCollisionShapeHandle cshape)
 
void plDeleteRigidBody (plRigidBodyHandle body)
 
plCollisionShapeHandle plNewSphereShape (plReal radius)
 
plCollisionShapeHandle plNewBoxShape (plReal x, plReal y, plReal z)
 
plCollisionShapeHandle plNewCapsuleShape (plReal radius, plReal height)
 
plCollisionShapeHandle plNewConeShape (plReal radius, plReal height)
 
plCollisionShapeHandle plNewCylinderShape (plReal radius, plReal height)
 
plCollisionShapeHandle plNewCompoundShape (void)
 
void plAddChildShape (plCollisionShapeHandle compoundShape, plCollisionShapeHandle childShape, plVector3 childPos, plQuaternion childOrn)
 
void plDeleteShape (plCollisionShapeHandle shape)
 
plCollisionShapeHandle plNewConvexHullShape (void)
 
void plAddVertex (plCollisionShapeHandle convexHull, plReal x, plReal y, plReal z)
 
plMeshInterfaceHandle plNewMeshInterface (void)
 
void plAddTriangle (plMeshInterfaceHandle meshHandle, plVector3 v0, plVector3 v1, plVector3 v2)
 
plCollisionShapeHandle plNewStaticTriangleMeshShape (plMeshInterfaceHandle)
 
void plSetScaling (plCollisionShapeHandle shape, plVector3 scaling)
 
void plGetOpenGLMatrix (plRigidBodyHandle object, plReal *matrix)
 
void plGetPosition (plRigidBodyHandle object, plVector3 position)
 
void plGetOrientation (plRigidBodyHandle object, plQuaternion orientation)
 
void plSetPosition (plRigidBodyHandle object, const plVector3 position)
 
void plSetOrientation (plRigidBodyHandle object, const plQuaternion orientation)
 
void plSetEuler (plReal yaw, plReal pitch, plReal roll, plQuaternion orient)
 
void plSetOpenGLMatrix (plRigidBodyHandle object, plReal *matrix)
 
int plRayCast (plDynamicsWorldHandle world, const plVector3 rayStart, const plVector3 rayEnd, plRayCastResult res)
 
double plNearestPoints (float p1[3], float p2[3], float p3[3], float q1[3], float q2[3], float q3[3], float *pa, float *pb, float normal[3])
 

Macro Definition Documentation

#define PL_DECLARE_HANDLE (   name)    typedef struct name##__ { int unused; } *name

Definition at line 26 of file Bullet-C-Api.h.

Typedef Documentation

typedef void(* btBroadphaseCallback)(void *clientData, void *object1, void *object2)

Collision World, not strictly necessary, you can also just create a Dynamics World with Rigid Bodies which internally manages the Collision World with Collision Objects.

Definition at line 73 of file Bullet-C-Api.h.

typedef plReal plQuaternion[4]

Definition at line 35 of file Bullet-C-Api.h.

typedef float plReal

Definition at line 31 of file Bullet-C-Api.h.

typedef plReal plVector3[3]

Definition at line 34 of file Bullet-C-Api.h.

Function Documentation

PL_DECLARE_HANDLE ( plPhysicsSdkHandle  )

Particular physics SDK (C-API)

PL_DECLARE_HANDLE ( plDynamicsWorldHandle  )

Dynamics world, belonging to some physics SDK (C-API)

PL_DECLARE_HANDLE ( plRigidBodyHandle  )

Rigid Body that can be part of a Dynamics World (C-API)

PL_DECLARE_HANDLE ( plCollisionShapeHandle  )

Collision Shape/Geometry, property of a Rigid Body (C-API)

PL_DECLARE_HANDLE ( plConstraintHandle  )

Constraint for Rigid Bodies (C-API)

PL_DECLARE_HANDLE ( plMeshInterfaceHandle  )

Triangle Mesh interface (C-API)

PL_DECLARE_HANDLE ( plCollisionBroadphaseHandle  )

Broadphase Scene/Proxy Handles (C-API)

PL_DECLARE_HANDLE ( plBroadphaseProxyHandle  )
PL_DECLARE_HANDLE ( plCollisionWorldHandle  )
void plAddChildShape ( plCollisionShapeHandle  compoundShape,
plCollisionShapeHandle  childShape,
plVector3  childPos,
plQuaternion  childOrn 
)

Definition at line 223 of file Bullet-C-API.cpp.

void plAddRigidBody ( plDynamicsWorldHandle  world,
plRigidBodyHandle  object 
)

Definition at line 117 of file Bullet-C-API.cpp.

void plAddTriangle ( plMeshInterfaceHandle  meshHandle,
plVector3  v0,
plVector3  v1,
plVector3  v2 
)
void plAddVertex ( plCollisionShapeHandle  convexHull,
plReal  x,
plReal  y,
plReal  z 
)

Definition at line 252 of file Bullet-C-API.cpp.

plCollisionWorldHandle plCreateCollisionWorld ( plPhysicsSdkHandle  physicsSdk)
plDynamicsWorldHandle plCreateDynamicsWorld ( plPhysicsSdkHandle  physicsSdk)

Definition at line 88 of file Bullet-C-API.cpp.

plBroadphaseProxyHandle plCreateProxy ( plCollisionBroadphaseHandle  bp,
void *  clientData,
plReal  minX,
plReal  minY,
plReal  minZ,
plReal  maxX,
plReal  maxY,
plReal  maxZ 
)
plRigidBodyHandle plCreateRigidBody ( void *  user_data,
float  mass,
plCollisionShapeHandle  cshape 
)

Definition at line 139 of file Bullet-C-API.cpp.

plCollisionBroadphaseHandle plCreateSapBroadphase ( btBroadphaseCallback  beginCallback,
btBroadphaseCallback  endCallback 
)
void plDeleteDynamicsWorld ( plDynamicsWorldHandle  world)

Definition at line 103 of file Bullet-C-API.cpp.

void plDeletePhysicsSdk ( plPhysicsSdkHandle  physicsSdk)

Definition at line 80 of file Bullet-C-API.cpp.

void plDeleteRigidBody ( plRigidBodyHandle  body)

Definition at line 158 of file Bullet-C-API.cpp.

void plDeleteShape ( plCollisionShapeHandle  shape)

Definition at line 262 of file Bullet-C-API.cpp.

void plDestroyBroadphase ( plCollisionBroadphaseHandle  bp)
void plDestroyProxy ( plCollisionBroadphaseHandle  bp,
plBroadphaseProxyHandle  proxyHandle 
)
void plGetOpenGLMatrix ( plRigidBodyHandle  object,
plReal matrix 
)

Definition at line 306 of file Bullet-C-API.cpp.

void plGetOrientation ( plRigidBodyHandle  object,
plQuaternion  orientation 
)

Definition at line 324 of file Bullet-C-API.cpp.

void plGetPosition ( plRigidBodyHandle  object,
plVector3  position 
)

Definition at line 314 of file Bullet-C-API.cpp.

double plNearestPoints ( float  p1[3],
float  p2[3],
float  p3[3],
float  q1[3],
float  q2[3],
float  q3[3],
float *  pa,
float *  pb,
float  normal[3] 
)

Definition at line 341 of file Bullet-C-API.cpp.

plCollisionShapeHandle plNewBoxShape ( plReal  x,
plReal  y,
plReal  z 
)

Definition at line 175 of file Bullet-C-API.cpp.

plPhysicsSdkHandle plNewBulletSdk ( void  )

Create and Delete a Physics SDK.

Definition at line 74 of file Bullet-C-API.cpp.

plCollisionShapeHandle plNewCapsuleShape ( plReal  radius,
plReal  height 
)

Definition at line 181 of file Bullet-C-API.cpp.

plCollisionShapeHandle plNewCompoundShape ( void  )

Definition at line 217 of file Bullet-C-API.cpp.

plCollisionShapeHandle plNewConeShape ( plReal  radius,
plReal  height 
)

Definition at line 191 of file Bullet-C-API.cpp.

plCollisionShapeHandle plNewConvexHullShape ( void  )

Definition at line 204 of file Bullet-C-API.cpp.

plCollisionShapeHandle plNewCylinderShape ( plReal  radius,
plReal  height 
)

Definition at line 197 of file Bullet-C-API.cpp.

plMeshInterfaceHandle plNewMeshInterface ( void  )

Definition at line 212 of file Bullet-C-API.cpp.

plCollisionShapeHandle plNewSphereShape ( plReal  radius)

Definition at line 168 of file Bullet-C-API.cpp.

plCollisionShapeHandle plNewStaticTriangleMeshShape ( plMeshInterfaceHandle  )
int plRayCast ( plDynamicsWorldHandle  world,
const plVector3  rayStart,
const plVector3  rayEnd,
plRayCastResult  res 
)
void plRemoveRigidBody ( plDynamicsWorldHandle  world,
plRigidBodyHandle  object 
)

Definition at line 127 of file Bullet-C-API.cpp.

void plSetBoundingBox ( plBroadphaseProxyHandle  proxyHandle,
plReal  minX,
plReal  minY,
plReal  minZ,
plReal  maxX,
plReal  maxY,
plReal  maxZ 
)
void plSetEuler ( plReal  yaw,
plReal  pitch,
plReal  roll,
plQuaternion  orient 
)

Definition at line 236 of file Bullet-C-API.cpp.

void plSetOpenGLMatrix ( plRigidBodyHandle  object,
plReal matrix 
)

Definition at line 298 of file Bullet-C-API.cpp.

void plSetOrientation ( plRigidBodyHandle  object,
const plQuaternion  orientation 
)

Definition at line 288 of file Bullet-C-API.cpp.

void plSetPosition ( plRigidBodyHandle  object,
const plVector3  position 
)

Definition at line 278 of file Bullet-C-API.cpp.

void plSetScaling ( plCollisionShapeHandle  shape,
plVector3  scaling 
)

Definition at line 268 of file Bullet-C-API.cpp.

void plStepSimulation ( plDynamicsWorldHandle  ,
plReal  timeStep 
)

Definition at line 110 of file Bullet-C-API.cpp.