Blender V2.61 - r43446
Classes | Defines | Typedefs | Functions

Bullet-C-Api.h File Reference

Go to the source code of this file.

Classes

struct  plRayCastResult

Defines

#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)
typedef struct plRayCastResult plRayCastResult

Functions

 PL_DECLARE_HANDLE (plPhysicsSdkHandle)
 PL_DECLARE_HANDLE (plDynamicsWorldHandle)
 PL_DECLARE_HANDLE (plRigidBodyHandle)
 PL_DECLARE_HANDLE (plCollisionShapeHandle)
 PL_DECLARE_HANDLE (plConstraintHandle)
 PL_DECLARE_HANDLE (plMeshInterfaceHandle)
 PL_DECLARE_HANDLE (plCollisionBroadphaseHandle)
 PL_DECLARE_HANDLE (plBroadphaseProxyHandle)
 PL_DECLARE_HANDLE (plCollisionWorldHandle)
plPhysicsSdkHandle plNewBulletSdk (void)
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])

Define 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 ( plCollisionShapeHandle  )

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

PL_DECLARE_HANDLE ( plBroadphaseProxyHandle  )
PL_DECLARE_HANDLE ( plCollisionWorldHandle  )
PL_DECLARE_HANDLE ( plConstraintHandle  )

Constraint for Rigid Bodies (C-API)

PL_DECLARE_HANDLE ( plRigidBodyHandle  )

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

PL_DECLARE_HANDLE ( plMeshInterfaceHandle  )

Triangle Mesh interface (C-API)

PL_DECLARE_HANDLE ( plCollisionBroadphaseHandle  )

Broadphase Scene/Proxy Handles (C-API)

void plAddChildShape ( plCollisionShapeHandle  compoundShape,
plCollisionShapeHandle  childShape,
plVector3  childPos,
plQuaternion  childOrn 
)
void plAddRigidBody ( plDynamicsWorldHandle  world,
plRigidBodyHandle  object 
)

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

References btDynamicsWorld::addRigidBody(), and btAssert.

void plAddTriangle ( plMeshInterfaceHandle  meshHandle,
plVector3  v0,
plVector3  v1,
plVector3  v2 
)
void plAddVertex ( plCollisionShapeHandle  convexHull,
plReal  x,
plReal  y,
plReal  z 
)
plCollisionWorldHandle plCreateCollisionWorld ( plPhysicsSdkHandle  physicsSdk)
plDynamicsWorldHandle plCreateDynamicsWorld ( plPhysicsSdkHandle  physicsSdk)
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 
)
plCollisionBroadphaseHandle plCreateSapBroadphase ( btBroadphaseCallback  beginCallback,
btBroadphaseCallback  endCallback 
)
void plDeleteDynamicsWorld ( plDynamicsWorldHandle  world)

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

References btAlignedFree.

void plDeletePhysicsSdk ( plPhysicsSdkHandle  physicsSdk)

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

References btAlignedFree.

void plDeleteRigidBody ( plRigidBodyHandle  body)

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

References btAlignedFree, and btAssert.

void plDeleteShape ( plCollisionShapeHandle  shape)

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

References btAlignedFree, and btAssert.

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.

References btAssert.

void plGetOrientation ( plRigidBodyHandle  object,
plQuaternion  orientation 
)

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

References btAssert, and btQuaternion::getW().

void plGetPosition ( plRigidBodyHandle  object,
plVector3  position 
)

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

References btAssert.

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] 
)
plCollisionShapeHandle plNewBoxShape ( plReal  x,
plReal  y,
plReal  z 
)

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

References btAlignedAlloc.

plPhysicsSdkHandle plNewBulletSdk ( void  )

Create and Delete a Physics SDK

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

References btAlignedAlloc.

plCollisionShapeHandle plNewCapsuleShape ( plReal  radius,
plReal  height 
)

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

References btAlignedAlloc.

plCollisionShapeHandle plNewCompoundShape ( void  )

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

References btAlignedAlloc.

plCollisionShapeHandle plNewConeShape ( plReal  radius,
plReal  height 
)

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

References btAlignedAlloc.

plCollisionShapeHandle plNewConvexHullShape ( void  )

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

References btAlignedAlloc.

plCollisionShapeHandle plNewCylinderShape ( plReal  radius,
plReal  height 
)

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

References btAlignedAlloc.

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.

References btAlignedAlloc.

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.

References btAssert, and btDynamicsWorld::removeRigidBody().

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.

References btQuaternion::getW(), and btQuaternion::setEuler().

void plSetOpenGLMatrix ( plRigidBodyHandle  object,
plReal matrix 
)

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

References btAssert, and btTransform::setFromOpenGLMatrix().

void plSetOrientation ( plRigidBodyHandle  object,
const plQuaternion  orientation 
)

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

References btAssert, and btTransform::setRotation().

void plSetPosition ( plRigidBodyHandle  object,
const plVector3  position 
)

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

References btAssert, and btTransform::setOrigin().

void plSetScaling ( plCollisionShapeHandle  shape,
plVector3  scaling 
)

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

References btAssert, and btCollisionShape::setLocalScaling().

void plStepSimulation ( plDynamicsWorldHandle  ,
plReal  timeStep 
)

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

References btAssert, and btDynamicsWorld::stepSimulation().