Files
bullet3/opencl/gpu_rigidbody/host/b3GpuRigidBodyPipeline.h
erwin coumans faabffc23d bt -> b3 rename
add docs
2013-04-15 18:26:09 -07:00

40 lines
1.3 KiB
C++

#ifndef BT_GPU_RIGIDBODY_PIPELINE_H
#define BT_GPU_RIGIDBODY_PIPELINE_H
#include "../../basic_initialize/b3OpenCLInclude.h"
class b3GpuRigidBodyPipeline
{
protected:
struct b3GpuRigidBodyPipelineInternalData* m_data;
int allocateCollidable();
public:
b3GpuRigidBodyPipeline(cl_context ctx,cl_device_id device, cl_command_queue q , class b3GpuNarrowPhase* narrowphase, class b3GpuSapBroadphase* broadphaseSap);
virtual ~b3GpuRigidBodyPipeline();
void stepSimulation(float deltaTime);
void integrate(float timeStep);
void setupGpuAabbsFull();
int registerConvexPolyhedron(class b3ConvexUtility* convex);
//int registerConvexPolyhedron(const float* vertices, int strideInBytes, int numVertices, const float* scaling);
//int registerSphereShape(float radius);
//int registerPlaneShape(const btVector3& planeNormal, float planeConstant);
//int registerConcaveMesh(btAlignedObjectArray<btVector3>* vertices, btAlignedObjectArray<int>* indices, const float* scaling);
//int registerCompoundShape(btAlignedObjectArray<btGpuChildShape>* childShapes);
int registerPhysicsInstance(float mass, const float* position, const float* orientation, int collisionShapeIndex, int userData);
cl_mem getBodyBuffer();
int getNumBodies() const;
};
#endif //BT_GPU_RIGIDBODY_PIPELINE_H